Installed files
- Codex
- Claude Code
init and may be refreshed by re-running init.
In Claude Code, if
init just created or refreshed .claude/agents/* during a running session, start a new Claude Code session before relying on the updated agents. Use /agents to inspect what is currently available.Role definitions
task-spec-freezer
task-spec-freezer
Purpose: Freeze the task into
.agent/tasks/<TASK_ID>/spec.md.Hard boundaries:- May read repo guidance (
AGENTS.md,CLAUDE.md,.claude/CLAUDE.md,.claude/rules/**/*.md) and the minimum relevant code needed to clarify the spec - Must not change production code
- Must not write
verdict.json,problems.md,evidence.md, orevidence.json
task-builder
task-builder
Purpose: Implement the task and later pack evidence.Modes:
BUILD and EVIDENCEHard boundaries:- In
BUILDmode: implement against the spec; must not writeverdict.jsonorproblems.md - In
EVIDENCEmode: do not change production code; pack artifacts only
task-verifier
task-verifier
Purpose: Fresh-session verification against the current codebase.Hard boundaries:
- Must not edit production code
- Must not patch the evidence bundle to make it look complete
- Must write
verdict.json - Must write
problems.mdonly when the overall verdict is notPASS
task-fixer
task-fixer
Purpose: Repair only what the verifier identified.Hard boundaries:
- Must reread
spec.md,verdict.json, andproblems.mdbefore editing - Must reconfirm each listed problem in the live codebase before applying a fix
- Must regenerate
evidence.md,evidence.json, and raw artifacts after the fix - Must not write
verdict.jsonor claim final sign-off
Invocation patterns
- Codex
- Claude Code
Use explicit delegation language. The parent asks Codex to spawn exactly one named child, waits for it to complete, then continues to the next step. Never spawn a child before Repeat the same pattern for
init <TASK_ID> has finished and .agent/tasks/<TASK_ID>/spec.md exists.Suggested delegation shape:task-builder, task-verifier, and task-fixer.In Codex, explicitly ask for subagents. Do not assume they spawn automatically.
Same-session evidence packing
The preferred pattern for the build and evidence phases is:Let it implement
The builder implements the task against the frozen spec and returns files changed, checks run, and open risks.
task-builder child with an explicit EVIDENCE-ONLY prompt if the original builder session is unavailable or you intentionally discarded it.
Why roles stay separate
The workflow is designed to keep three concerns apart:Implementation
The builder makes changes to production code. It is the only role permitted to do so.
Judgment
The verifier independently assesses whether the implementation satisfies the spec. A fresh session prevents it from being influenced by the builder’s narrative.
Correction
The fixer applies targeted repairs identified by the verifier. Reading only the verifier’s output keeps the fix scope minimal.
Flat delegation principle
The parent orchestrator should select each role directly, one at a time:- Spawn spec-freezer → wait → spawn builder → wait → (evidence in same session) → spawn verifier → wait → (if not PASS) spawn fixer → wait → spawn verifier again → repeat