# Mechanical Quality Gate Report

Patterns loaded: 209 (BANNED 102, CAP 8, WATCH 99)

Allowlist format: `relative/path.md|pattern-id|line`. Every allowlisted hit must be defended on the chapter card or in style_and_voice.md (dialogue hits may instead cite the speaking character's voice card).

| file | line | pattern | tier | status | evidence |
|---|---:|---|---|---|---|
| `output/drafts/claude/chapter_22.round_01.md` | 0 | reddit1-repeated-descriptor | WATCH | WATCH | 27 occurrence(s); first: scene 1: deleted x3 |
| `output/drafts/claude/chapter_22.round_01.md` | 1 | wp-aititlecase-headings | WATCH | WATCH | 1 occurrence(s); first: # Chapter Twenty-Two: The Booth |
| `output/drafts/claude/chapter_22.round_01.md` | 3 | aiisms-2.6-gaze-look-descriptors | WATCH | WATCH | 1 occurrence(s); first: cataloguing |
| `output/drafts/claude/chapter_22.round_01.md` | 5 | tells-2.1-hands-body-watch | WATCH | WATCH | 7 occurrence(s); first: hand |
| `output/drafts/claude/chapter_22.round_01.md` | 7 | fieldguide-one-sentence-paragraph-gravity | CAP | OPEN | scene 1: 3 > cap 2; first: The phone was face down beside the cards, where it had been since Friday night, except for the eleve |
| `output/drafts/claude/chapter_22.round_01.md` | 15 | ruleset-three-part-cadence | WATCH | WATCH | 1 occurrence(s); first: words, actually, and she |
| `output/drafts/claude/chapter_22.round_01.md` | 17 | banned-1.10-echo-line-poetics | BANNED | OPEN | She typed *Fine* and deleted it because it wasn't. She typed |
| `output/drafts/claude/chapter_22.round_01.md` | 25 | watch-qs-trailing-participle | WATCH | WATCH | 5 occurrence(s); first: , telling |
| `output/drafts/claude/chapter_22.round_01.md` | 31 | fieldguide-one-sentence-paragraph-gravity | CAP | OPEN | scene 2: 4 > cap 2; first: She went in. |
| `output/drafts/claude/chapter_22.round_01.md` | 43 | legacy-uncontracted-casual-dialogue | WATCH | WATCH | 4 occurrence(s); first: did not |
| `output/drafts/claude/chapter_22.round_01.md` | 45 | legacy-the-way-stock-explanation | BANNED | OPEN | the way it does when |
| `output/drafts/claude/chapter_22.round_01.md` | 51 | watch-qs-and-but-start | WATCH | WATCH | 6 occurrence(s); first: And |
| `output/drafts/claude/chapter_22.round_01.md` | 87 | reddit2-emdash-dialogue-good | WATCH | WATCH | 2 occurrence(s); first: — |
| `output/drafts/claude/chapter_22.round_01.md` | 97 | banned-1.1-sequential-action-pairs | BANNED | OPEN | , then turned |
| `output/drafts/claude/chapter_22.round_01.md` | 97 | banned-qs-comma-then | BANNED | OPEN | , then |
| `output/drafts/claude/chapter_22.round_01.md` | 115 | qscan-09-for-a-moment-beat | WATCH | WATCH | 1 occurrence(s); first: for a moment |
| `output/drafts/claude/chapter_22.round_01.md` | 125 | banned-qs-comma-then | BANNED | OPEN | , then |
| `output/drafts/claude/chapter_22.round_01.md` | 135 | qscan-14-doesnt-move | WATCH | WATCH | 1 occurrence(s); first: doesn't move |
| `output/drafts/claude/chapter_22.round_01.md` | 157 | tells-2.1-throat-breath-watch | WATCH | WATCH | 1 occurrence(s); first: breath |
| `output/drafts/claude/chapter_22.round_01.md` | 165 | aiisms-2.10-temperature-watch | WATCH | WATCH | 2 occurrence(s); first: cold |

Open findings: 7
Allowlisted: 0
WATCH hits (non-blocking, feed the judgment audits and tics tracker): 59
