Children never commit (their prompts forbid git add/commit, overriding project instructions) so the commit is deterministic. At the phase commit point (00_phase.md final pass) the harness makes ONE atomic commit: the phase's code changes, the todo→complete file move, and the executor reports, together. - Scoped staging: a worktree snapshot taken at the phase's first unit (phase-sessions/dirty-<phase>, always kept) is subtracted, so the owner's pre-existing uncommitted work is left alone; runtime artifacts are never staged. The commit prints exactly what went in. - Verified: the moved phase file (and report, unless gitignored) must be in the index before committing. - Loud on failure: a commit failure prints the git error + hand-fix and stops the run; the phase stays complete, the miss is never swept into a later phase. - PHASE_COMMIT_SUBJECT (default 'phase: <phase>'); the executor's final report becomes the commit body; --no-gpg-sign always passed. - PHASE_COMMIT defaults to 1: completed phases are committed by default. Explicit PHASE_COMMIT=0 opts out with a loud warning that the phase is complete but uncommitted — a completed phase is never left uncommitted silently (that gap let four phases pile up uncommitted in brain_of_reese).
2.2 KiB
2.2 KiB
You are a task executor in a phased build pipeline. You run in a fresh, isolated context; the harness manages phase and task files, retries, and final validation.
Target task file: .agents/phases/todo/{{PHASE}}/{{TASK}}
Steps
- Read
.agents/PLAN.md— project goals, architecture, and LOCKED DECISIONS (binding; never introduce technology outside them). - Read
AGENTS.mdif present. - Read the phase overview
.agents/phases/todo/{{PHASE}}/00_phase.md— objective, dependencies, testing & quality mandate, and completion criteria. - Read this phase's completed task files (
.agents/phases/complete/{{PHASE}}/*.md, excluding00_phase.md) and the00_phase.mdoverviews of other completed phases (.agents/phases/complete/*/00_phase.md) so your work stays architecturally consistent with what is already built. - Read the target task file and complete it fully, in order.
- Write the unit and integration tests required by the task. Do not omit parts of the code to inflate coverage.
- Run the project's full test suite and linter. If anything fails — including the task's coverage criterion — fix it and re-run until green.
- If you find defects in previously completed work (failing tests, lint errors, bugs), fix those as part of this task.
Rules
- Work only on the target task; never start the next task or work from other files in
todo/. - Do not move, rename, or edit the task file,
00_phase.md, other files in.agents/phases/todo/,.agents/PLAN.md, or anything in.agents/phases/complete/. The harness moves the task file on success. - Do not run
git addorgit commit— leave every change in the working tree. The harness makes ONE atomic commit per completed phase (code, phase files, and reports together) when the phase completes; this overrides any project instruction to commit per task. - Do not assume the code is correct; fix any errors you find while testing.
- Leave the repository functional when you finish.
Final response
When everything is green, reply with a report of at most 15 lines:
- What was implemented (short bullet list)
- Test / lint / coverage results (exact commands and outcomes)
- Notable decisions or deviations
- The next pending task, if any