From 908116d736e04549cb785fb628a306996ed8cac2 Mon Sep 17 00:00:00 2001 From: Affaan Mustafa Date: Sun, 5 Apr 2026 14:23:06 -0700 Subject: [PATCH] fix: raise observer turn budget --- skills/continuous-learning-v2/agents/observer-loop.sh | 6 +++--- tests/hooks/hooks.test.js | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/skills/continuous-learning-v2/agents/observer-loop.sh b/skills/continuous-learning-v2/agents/observer-loop.sh index e2045d66..9a5a6b70 100755 --- a/skills/continuous-learning-v2/agents/observer-loop.sh +++ b/skills/continuous-learning-v2/agents/observer-loop.sh @@ -170,17 +170,17 @@ Rules: PROMPT timeout_seconds="${ECC_OBSERVER_TIMEOUT_SECONDS:-120}" - max_turns="${ECC_OBSERVER_MAX_TURNS:-10}" + max_turns="${ECC_OBSERVER_MAX_TURNS:-20}" exit_code=0 case "$max_turns" in ''|*[!0-9]*) - max_turns=10 + max_turns=20 ;; esac if [ "$max_turns" -lt 4 ]; then - max_turns=10 + max_turns=20 fi # Ensure CWD is PROJECT_DIR so the relative analysis_relpath resolves correctly diff --git a/tests/hooks/hooks.test.js b/tests/hooks/hooks.test.js index 9fa28def..eef8172a 100644 --- a/tests/hooks/hooks.test.js +++ b/tests/hooks/hooks.test.js @@ -2461,7 +2461,7 @@ async function runTests() { const observerLoopSource = fs.readFileSync(path.join(__dirname, '..', '..', 'skills', 'continuous-learning-v2', 'agents', 'observer-loop.sh'), 'utf8'); assert.ok(observerLoopSource.includes('ECC_OBSERVER_MAX_TURNS'), 'observer-loop should allow max-turn overrides'); - assert.ok(observerLoopSource.includes('max_turns="${ECC_OBSERVER_MAX_TURNS:-10}"'), 'observer-loop should default to 10 turns'); + assert.ok(observerLoopSource.includes('max_turns="${ECC_OBSERVER_MAX_TURNS:-20}"'), 'observer-loop should default to 20 turns'); assert.ok(!observerLoopSource.includes('--max-turns 3'), 'observer-loop should not hardcode a 3-turn limit'); assert.ok(observerLoopSource.includes('ECC_SKIP_OBSERVE=1'), 'observer-loop should suppress observe.sh for automated sessions'); assert.ok(observerLoopSource.includes('ECC_HOOK_PROFILE=minimal'), 'observer-loop should run automated analysis with the minimal hook profile');