diff --git a/src/agents/atlas/default-prompt-sections.ts b/src/agents/atlas/default-prompt-sections.ts index 572986e9f..d24ad3fbf 100644 --- a/src/agents/atlas/default-prompt-sections.ts +++ b/src/agents/atlas/default-prompt-sections.ts @@ -133,7 +133,7 @@ Count remaining **top-level task** checkboxes. Ignore nested verification/eviden [ ] Plan: Read plan file, confirmed current progress \`\`\` -**If verification fails**: Resume the SAME session with the ACTUAL error output: +**If verification fails**: Resume the SAME task with the ACTUAL error output: \`\`\`typescript task( task_id="ses_xyz789", @@ -150,7 +150,7 @@ Every \`task()\` output includes a task_id. STORE IT. When a task fails: 1. Diagnose what actually broke. Read the error, read the file, do not guess. -2. **Resume the SAME session** so the subagent keeps its full context: +2. **Resume the SAME task via \`task_id\`** so the subagent keeps its full context: \`\`\`typescript task( task_id="ses_xyz789", diff --git a/src/agents/hephaestus/gpt-5-3-codex.ts b/src/agents/hephaestus/gpt-5-3-codex.ts index 869614bf6..0b6070011 100644 --- a/src/agents/hephaestus/gpt-5-3-codex.ts +++ b/src/agents/hephaestus/gpt-5-3-codex.ts @@ -408,7 +408,7 @@ After delegation, ALWAYS verify: works as expected? follows codebase pattern? MU ### Session Continuity -Every \`task()\` output includes a continuation ID (\`ses_...\`). **USE IT for follow-ups.** +Every \`task()\` output includes a task_id. **USE IT for follow-ups.** - **Task failed/incomplete** - \`task(task_id="ses_...", prompt="Fix: {error}")\` - **Follow-up on result** - \`task(task_id="ses_...", prompt="Also: {question}")\` diff --git a/src/hooks/atlas/index.test.ts b/src/hooks/atlas/index.test.ts index 1dfa0743e..f1cb782ab 100644 --- a/src/hooks/atlas/index.test.ts +++ b/src/hooks/atlas/index.test.ts @@ -507,7 +507,7 @@ session_id: ses_standalone_def cleanupMessageStorage(sessionID) }) - test("should include session_id and checkbox instructions in reminder", async () => { + test("should include task_id and checkbox instructions in reminder", async () => { // given - boulder state, Atlas caller const sessionID = "session-resume-test" setupMessageStorage(sessionID, "atlas") @@ -536,10 +536,11 @@ session_id: ses_standalone_def output ) - // then - should include verification instructions + // then - should include verification instructions and task_id guidance expect(output.output).toContain("LYING") - expect(output.output).toContain("PHASE 1") - expect(output.output).toContain("PHASE 2") + expect(output.output).toContain("PHASE 1") + expect(output.output).toContain("PHASE 2") + expect(output.output).toContain("task_id") cleanupMessageStorage(sessionID) }) diff --git a/src/hooks/atlas/system-reminder-templates.ts b/src/hooks/atlas/system-reminder-templates.ts index 4df66990d..6aa9cd319 100644 --- a/src/hooks/atlas/system-reminder-templates.ts +++ b/src/hooks/atlas/system-reminder-templates.ts @@ -104,7 +104,7 @@ Answer honestly: ALL three must be YES. "Probably" = NO. "I think so" = NO. Investigate until CERTAIN. - **All 3 YES** - Proceed: mark task complete, move to next. -- **Any NO** - Reject: resume session with \`session_id\`, fix the specific issue. +- **Any NO** - Reject: resume with \`task_id\`, fix the specific issue. - **Unsure** - Reject: "unsure" = "no". Investigate until you have a definitive answer. **DO NOT proceed to the next task until all 4 phases are complete and the gate passes.**` diff --git a/src/hooks/compaction-context-injector/compaction-context-prompt.ts b/src/hooks/compaction-context-injector/compaction-context-prompt.ts index 11bc25747..9439ca8d4 100644 --- a/src/hooks/compaction-context-injector/compaction-context-prompt.ts +++ b/src/hooks/compaction-context-injector/compaction-context-prompt.ts @@ -49,8 +49,8 @@ This section is CRITICAL for reviewer agents (momus, oracle) to maintain continu ## 8. Delegated Agent Sessions - List ALL background agent tasks spawned during this session -- For each: agent name, category, status, description, and **session_id** -- **RESUME, DON'T RESTART.** Each listed session retains full context. After compaction, use \`session_id\` to continue existing agent sessions instead of spawning new ones. This saves tokens, preserves learned context, and prevents duplicate work. +- For each: agent name, category, status, description, and **task_id** +- **RESUME, DON'T RESTART.** Each listed delegated task retains full context. After compaction, use \`task_id\` to continue existing delegated work instead of spawning new tasks. This saves tokens, preserves learned context, and prevents duplicate work. This context is critical for maintaining continuity after compaction. ` diff --git a/src/hooks/compaction-context-injector/index.test.ts b/src/hooks/compaction-context-injector/index.test.ts index fc74ea00b..635d17eae 100644 --- a/src/hooks/compaction-context-injector/index.test.ts +++ b/src/hooks/compaction-context-injector/index.test.ts @@ -130,7 +130,7 @@ describe("createCompactionContextInjector", () => { //#then expect(prompt).toContain("Delegated Agent Sessions") expect(prompt).toContain("RESUME, DON'T RESTART") - expect(prompt).toContain("session_id") + expect(prompt).toContain("task_id") }) it("injects actual task history when backgroundManager and sessionID provided", async () => {