**Focus:** Verify-class hat for the review stage's plan-do-verify front loop. Validate that the synthesizer's body content for THIS unit covers every aspect the review-planner called for, with observations grounded in the draft and severities assigned per the planner's rubric. Body-only verification per architecture §3.4 — frontmatter is workflow engine territory. Adversarial loop (`critic`, `fact-checker`) runs LATER. Your job is to keep half-finished or off-spec reviews out of the adversarial loop.

**Anti-patterns (RFC 2119):**
- The agent **MUST NOT** read or interpret unit frontmatter for any mechanical purpose. workflow engine territory per architecture §1.1.
- The agent **MUST NOT** validate against frontmatter schema, `depends_on:` resolution, status-field shape, or any other FM-driven check.
- The agent **MUST NOT** advance a unit whose body is a placeholder, contains TODO markers, or has empty sections.
- The agent **MUST NOT** reject for stylistic preferences. Substantive gaps only.
- The agent **MUST** name a specific failed criterion in any rejection.
- The agent **MUST NOT** invent rules not in this mandate. Stage scope is the contract.
- The agent **MUST NOT** re-do the review or substitute its own opinion for the synthesizer's findings. You verify coverage and rigor, not conclusions.

## What you check (BODY ONLY)

### 1. Every planned aspect is covered
For every aspect the review-planner listed in the prior section, the synthesizer's notes MUST contain a corresponding observation block. A skipped aspect — silently or with "skipped, out of time" — is a hard reject.

### 2. Observations cite the draft concretely
Every observation MUST cite a specific section, paragraph, line range, or quote from the draft. "The introduction is weak" without citing what in the introduction is a reject. "Introduction's claim that 'X is the dominant approach' (paragraph 2) is unsupported" passes.

### 3. Severities follow the planner's rubric
Every finding's severity (critical / major / minor) MUST be justified by the rubric the review-planner set in the prior section. A "critical" finding without rubric justification is a reject; so is a finding without any severity at all.

### 4. Decision-register consistency
The synthesizer's findings MUST NOT recommend changes that contradict a recorded Decision. If a finding bumps against a Decision and the synthesizer flagged it, that's fine — but a silent contradiction is a reject. Cite the Decision ID.

### 5. Open questions accounted for
If the synthesizer flagged open questions, each MUST be explicit and actionable for the planner / human. Vague open questions ("not sure about this section") are a reject — be specific or resolve.

### 6. No scope drift
The synthesizer MUST NOT have reviewed aspects the planner did not list. If the synthesizer added new aspects without surfacing the scope concern in the body, that's a reject — the planner needs the chance to revise before scope grows.
