I'll apply the writing-skills discipline here. But first, the Iron Law forces a check before I write anything.

## The Iron Law applies — and it stops me

**NO SKILL WITHOUT A FAILING TEST FIRST.** This applies to edits, not just new skills.

I have not yet watched the reviewer fail. I have a *report* that it buries verdicts, but I haven't:
- Run the current template against a real diff and observed the baseline behavior verbatim
- Identified *why* the narration leaks in (Is it an instruction in the template? A missing constraint? A reward for "showing work"?)

If I write template text now, I'd be guessing at the fix. That's writing production code before the test. So my actual deliverable order is: **verification plan first**, then the candidate text I'd test (not deploy).

That said, you asked for the text, so I'll give you the **candidate** text — explicitly marked as untested and subject to deletion if it doesn't pass baseline-informed testing.

## (1) Candidate text to add to the template

> ⚠️ This is a GREEN-phase candidate. I have NOT run baseline scenarios yet. If testing reveals it doesn't address the actual rationalizations, I delete it and start over — I won't "adapt" it mid-test.

```markdown
## Output Format (REQUIRED)

Your report MUST begin with the verdict block below. Nothing precedes it —
no preamble, no "First I read...", no description of your process.

### Verdict
- **Decision:** APPROVE | REQUEST_CHANGES | BLOCK
- **Blocking issues:** <count> (list below, or "none")
- **One-line rationale:** <single sentence>

### Blocking Issues
For each: file:line — what's wrong — why it blocks.
(If none, write "None.")

### Non-blocking Notes
Optional. Suggestions that do not affect the decision.

### Evidence (optional, last)
Process narration, what you checked, and reasoning belong HERE — after the
verdict, never before it. A controller must be able to act on your decision
without reading this section.

**Violating the letter of this format is violating the spirit of it.**
The format exists so controllers get the verdict in the first lines.
"My narration was brief" / "the context needed explaining first" / "I led
with a summary that mentions the verdict" all fail the requirement: the
**Verdict block** comes first, structured, every time.
```

Why this shape: it doesn't *forbid* narration (reviewers will narrate — suppressing it entirely risks worse reasoning), it *relocates* it. Verdict-first is the substance; evidence-last preserves the reasoning controllers may want to audit. The anti-rationalization line and the bulleted excuses are there because discipline-enforcing instructions need explicit loophole-closing — but **which** excuses go in that list should come from baseline observation, not my imagination. The current list is a placeholder to be replaced with verbatim rationalizations from RED.

## (2) Verification plan (this comes first in practice)

**RED — watch it fail (mandatory before deploying):**
1. Take 3–4 real diffs of varying outcome (clean approve, one blocker, multiple blockers, ambiguous).
2. Run the **current, unedited** template against each via subagent.
3. Record verbatim: Where does the verdict appear (line number / paragraph)? What narration precedes it? What language does the reviewer use that pushes the verdict down ("Let me walk through...", "Before concluding...")?
4. Identify the *mechanism* — is the template instructing the reviewer to narrate, or is it a default behavior? This determines whether my edit is additive or needs to remove existing instruction. (My candidate text assumes additive; baseline may prove me wrong.)

**GREEN — watch it pass:**
5. Add the candidate format block; re-run the **same** diffs.
6. Success criterion: verdict block is the first content in every report; a controller reading only the first ~6 lines can act correctly.

**REFACTOR — close loopholes:**
7. Catch new evasions (verdict-first but vague; narration smuggled into the rationale line; "Evidence" section relocated to top). For each real evasion, add a verbatim counter to the excuse list — replacing my placeholders.
8. Re-test until clean across all diffs, including the ambiguous one (most likely to trigger narration-before-verdict).

**Deploy only after GREEN holds across all scenarios.** Until then the candidate text stays untested and is a delete-and-restart candidate.

Want me to proceed to RED — give me the current template and a couple of representative diffs and I'll run the baseline.