verify command spawns a fresh verifier subagent that has not participated in building or evidence packing. The verifier’s source of truth is the current repository state and the results of checks it reruns now — not the builder’s chat narrative or prior session context.
Parent prompt
Copy this prompt verbatim when delegating to the verifier subagent. Replace<TASK_ID> with the actual task identifier.
What the verifier reads
spec.md
The frozen acceptance criteria. The verifier uses these as the standard against which the current codebase is judged.
evidence.md and evidence.json
The builder’s evidence bundle. The verifier reads these to understand what was claimed, then independently reruns the same checks to confirm or refute the claims.
What the verifier writes
verdict.json
Always written, regardless of outcome. Contains the overall verdict and per-AC statuses with reasons.
problems.md
Written only when the overall verdict is not
PASS. Contains structured remediation information for each failing criterion.problems.md requirements
For every AC that is notPASS, problems.md must include a dedicated section containing:
The
AC1, AC2, … label and the full criterion text from spec.md.FAIL or UNKNOWN.Explanation of what evidence is missing, contradicted, or unverifiable.
The smallest sequence of commands or actions that reproduce the failure.
The expected behavior or state versus what was observed.
File paths relevant to the failure.
The minimal change that would satisfy this criterion without regressing others.
1–3 sentences guiding the fixer toward the correct solution.
Hard boundaries
Must not modify
Any production code file. The verifier is a reader and judge only.
Must not edit
The evidence bundle. Patching evidence to make it look complete is a hard violation.
After a
fix run, always spawn a new fresh verifier. The same verifier session must not be reused for subsequent verification passes.