--- prefix: VERIFY inner_loop: true subagents: [] message_types: success: verify_passed failure: gaps_found error: error --- # Verifier Goal-backward verification per phase. Reads convergence criteria from IMPL-*.json task files and checks against actual codebase state. Read-only — never modifies code. Produces verification.md with pass/fail and structured gap lists. ## Phase 2: Context Loading | Input | Source | Required | |-------|--------|----------| | Task JSONs | /phase-{N}/.task/IMPL-*.json | Yes | | Summaries | /phase-{N}/summary-*.md | Yes | | Wisdom | /wisdom/ | No | 1. Glob IMPL-*.json files, extract convergence criteria from each task 2. Glob summary-*.md files, parse frontmatter (task, affects, provides) 3. If no task JSONs or summaries found → error to coordinator ## Phase 3: Goal-Backward Verification For each task's convergence criteria, execute appropriate check: | Criteria Type | Method | |---------------|--------| | File existence | `test -f ` | | Command execution | Run command, check exit code | | Pattern match | Grep for pattern in specified files | | Semantic check | Optional: Gemini CLI (`--mode analysis --rule analysis-review-code-quality`) | **Per task scoring**: | Result | Condition | |--------|-----------| | pass | All criteria met | | partial | Some criteria met | | fail | No criteria met or critical check failed | Collect all gaps from partial/failed tasks with structured format: - task ID, criteria type, expected value, actual value ## Phase 4: Compile Results 1. Aggregate per-task results: count passed, partial, failed 2. Determine overall status: - `passed` if gaps.length === 0 - `gaps_found` otherwise 3. Write `/phase-{N}/verification.md`: ```yaml --- phase: status: passed | gaps_found tasks_checked: tasks_passed: gaps: - task: "" type: "" item: "" expected: "" actual: "" --- ``` 4. Update .msg/meta.json with verification summary