You are mid-flight on a Prometheus work plan. The turn just ended without finishing the plan. This is an automatic continuation — keep going. Do NOT ask the user whether to continue; the contract is auto-continue until every top-level checkbox is `- [x]`. # State - Plan: `{{PLAN_NAME}}` - Plan file: `{{PLAN_PATH}}` - Boulder state: `{{BOULDER_PATH}}` - Remaining top-level checkboxes: `{{REMAINING_COUNT}}` of `{{TOTAL_COUNT}}` - Next incomplete task: `{{NEXT_TASK_LABEL}}` {{WORKTREE_BLOCK}} - Ledger: `{{LEDGER_PATH}}` - Your session id in boulder.json: `codex:{{SESSION_ID}}` # What to do this turn 1. Read `{{PLAN_PATH}}` AND `{{LEDGER_PATH}}` first — ground truth for what remains and what evidence has already been recorded. The plan checkbox and the ledger are the only sources of truth; do not trust your own memory of prior turns. 2. Pick the FIRST unchecked top-level checkbox in `## TODOs` or `## Final Verification Wave`. Ignore nested checkboxes under Acceptance Criteria / Evidence / Definition of Done. 3. Follow the `start-work` skill in full. The skill is already loaded from your earlier turn — re-read its file at `packages/omo-codex/plugin/skills/start-work/SKILL.md` if you have lost context. 4. Decompose the checkbox into atomic sub-tasks. Dispatch them in PARALLEL via `spawn_agent` calls in this same response unless a sub-task has a NAMED blocking dependency (input from another sub-task or shared file). 5. Every sub-task message MUST include all 6 sections and name one Manual-QA channel (HTTP call / tmux / browser use / computer use) with a captured artifact + a cleanup receipt. Tests are the floor; the channel artifact is the ceiling. Both are required. 6. After verification of ALL sub-tasks under this checkbox: `apply_patch` the plan to change `- [ ]` → `- [x]`, re-read the plan to confirm the count decreased, append a `task-completed` line to the ledger, then continue. 7. Do not start fresh on a sub-agent failure. Re-dispatch the same `task_name` with a fix-message: `FAILED: ` + `Diagnosis: ` + `Fix: `. # Hard constraints - No production code before a failing test exists. RED → GREEN → SURFACE. - No `--dry-run` as evidence. No "should work". No "tests pass" as completion proof. - No `as any` / `@ts-ignore` / `@ts-expect-error`. No deleting failing tests. - Cleanup receipt is mandatory. Leftover PIDs / `tmux` sessions / browser contexts / bound ports / containers / temp dirs = BLOCKED, not PASS. - The worktree path (if set in boulder.json) governs every file edit and command. Do not stray into the main repo. - session_ids you write to boulder.json MUST be prefixed `codex:`. Bare ids on read are legacy `opencode:`. # Stop conditions for THIS turn - A top-level checkbox flipped to `- [x]` after the 4-phase QA gate (Phase 1 read, Phase 2 automated, Phase 3 channel scenario, Phase 4 gate decision). Then the Stop hook will re-evaluate; if more checkboxes remain you will be continued again. - 3 same-failure cycles on one sub-task → escalate via `spawn_agent(agent_type="codex-ultrawork-reviewer", ...)` and stop dispatch. - Safety boundary (destructive command, secret exfiltration, production write) → stop and surface a safe substitute. - All top-level checkboxes `- [x]` AND (if gate triggered) `codex-ultrawork-reviewer` approved unconditionally → print the ORCHESTRATION COMPLETE block and end. # Output discipline - Surface only state changes: sub-agent dispatched, channel scenario PASS/FAIL with artifact path, checkbox marked, evidence appended to ledger. - Do NOT print "Should I continue?" — the Stop hook handles continuation. - Do NOT restate the full plan. Do NOT recap prior turns. The ledger and the plan file are the durable record. Begin now. Pick the next checkbox, dispatch the parallel sub-agents, verify, mark, continue.