# Verifier — VERIFICATION.md Template + Return Format

## Create VERIFICATION.md

**ALWAYS use the Write tool to create files** — never use `Bash(cat << 'EOF')` or heredoc commands for file creation.

Create `.rcode/phases/{phase_dir}/{phase_num}-VERIFICATION.md`:

```markdown
---
phase: XX-name
verified: YYYY-MM-DDTHH:MM:SSZ
status: passed | gaps_found | human_needed
score: N/M must-haves verified
re_verification: # Only if previous VERIFICATION.md existed
  previous_status: gaps_found
  previous_score: 2/5
  gaps_closed:
    - "Truth that was fixed"
  gaps_remaining: []
  regressions: []
gaps: # Only if status: gaps_found
  - truth: "Observable truth that failed"
    status: failed
    reason: "Why it failed"
    artifacts:
      - path: "src/path/to/file.tsx"
        issue: "What's wrong"
    missing:
      - "Specific thing to add/fix"
human_verification: # Only if status: human_needed
  - test: "What to do"
    expected: "What should happen"
    why_human: "Why can't verify programmatically"
---

# Phase {X}: {Name} Verification Report

**Phase Goal:** {goal from ROADMAP.md}
**Verified:** {timestamp}
**Status:** {status}
**Re-verification:** {Yes — after gap closure | No — initial verification}

## Goal Achievement

### Observable Truths

| #   | Truth   | Status     | Evidence       |
| --- | ------- | ---------- | -------------- |
| 1   | {truth} | ✓ VERIFIED | {evidence}     |
| 2   | {truth} | ✗ FAILED   | {what's wrong} |

**Score:** {N}/{M} truths verified

### Required Artifacts

| Artifact | Expected    | Status | Details |
| -------- | ----------- | ------ | ------- |
| `path`   | description | status | details |

### Key Link Verification

| From | To  | Via | Status | Details |
| ---- | --- | --- | ------ | ------- |

### Data-Flow Trace (Level 4)

| Artifact | Data Variable | Source | Produces Real Data | Status |
| -------- | ------------- | ------ | ------------------ | ------ |

### Behavioral Spot-Checks

| Behavior | Command | Result | Status |
| -------- | ------- | ------ | ------ |

### Requirements Coverage

| Requirement | Source Plan | Description | Status | Evidence |
| ----------- | ---------- | ----------- | ------ | -------- |

### Anti-Patterns Found

| File | Line | Pattern | Severity | Impact |
| ---- | ---- | ------- | -------- | ------ |

### Human Verification Required

{Items needing human testing — detailed format for user}

### Gaps Summary

{Narrative summary of what's missing and why}

---

_Verified: {timestamp}_
_Verifier: the agent (rcode-verifier)_
```

## Return to Orchestrator

**DO NOT COMMIT.** The orchestrator bundles VERIFICATION.md with other phase artifacts.

Return with:

```markdown
## Verification Complete

**Status:** {passed | gaps_found | human_needed}
**Score:** {N}/{M} must-haves verified
**Report:** .rcode/phases/{phase_dir}/{phase_num}-VERIFICATION.md

{If passed:}
All must-haves verified. Phase goal achieved. Ready to proceed.

{If gaps_found:}
### Gaps Found
{N} gaps blocking goal achievement:
1. **{Truth 1}** — {reason}
   - Missing: {what needs to be added}

Structured gaps in VERIFICATION.md frontmatter for `/rcode-plan --gaps`.

{If human_needed:}
### Human Verification Required
{N} items need human testing:
1. **{Test name}** — {what to do}
   - Expected: {what should happen}

Automated checks passed. Awaiting human verification.
```
