# Anti-Patterns -- Volume-Floor Regression Catalog

**Scope:** Regex-catchable failure phrases. Positive operational definitions live elsewhere: math in `probabilistic_recall_miss.md`, scope in `charter_lock_protocol.md`, contradictions in `contradiction_partial_reset.md`, framing in `saturation_typology.md`.

**Read this file before releasing every Warrant.** If any phrase below appears in the warrant rationale or render, the Warrant is defective.

## 1. The THROWN Librarian floor

RAM was commissioned because the predecessor Librarian stopped at a 45-source floor, 20-search minimum, and 5-claim verification minimum (Phase 0 THROW list). Every anti-pattern here is phrasing that reintroduces that failure class.

## 2. Regex-catchable STOP-verdict failure phrases

### 2.1 Source-count floors

- `"STOP -- 45 sources collected"`
- `/STOP.*\d+\s+sources?\s+(collected|reviewed|cited|accepted)/i`
- `/source[- ]?count\s+(met|reached|satisfied)/i`
- `/sufficient\s+sources/i` (as STOP justification)
- `"STOP -- source quota"`, `"STOP -- source threshold"`

### 2.2 Search-count floors

- `"STOP -- 20 searches executed"`
- `/STOP.*\d+\s+searches?\s+(executed|run|completed)/i`
- `/search[- ]?count\s+(met|reached|satisfied)/i`
- `/N-searches-no-new-claims/i` (deterministic proxy without pragmatic_proxy label)

### 2.3 Time floors

- `/STOP.*\d+\s+(minutes?|hours?)\s+(elapsed|spent|runtime)/i`
- `/time\s+budget\s+(met|reached|exhausted)/i`
- `"STOP -- elapsed time"`

### 2.4 Coverage floors

- `"STOP -- all 11 disciplines invoked"`
- `/STOP.*\d+\s+disciplines?\s+(covered|invoked|run)/i`
- `/discipline\s+coverage\s+(met|satisfied)/i`
- `/method[- ]?count\s+(met|reached)/i`

### 2.5 Authority deferral

- `"STOP -- operator approved"`
- `/operator\s+(said|approved|accepted)\s+(it|this|the answer)/i`
- `/good\s+enough/i` (as STOP justification)

### 2.6 Suppressed contradiction

- `"STOP -- contradiction noted but inquiry sufficient"`
- `/contradiction.*ignored/i`
- `/despite\s+contradiction/i` (in STOP context)

### 2.7 Masked drift

- `"STOP -- scope expanded organically"`
- `/scope.*expanded.*without.*amendment/i`
- `/envelope\s+(stretched|grew)\s+to\s+fit/i`

### 2.8 No-new-sources (sources are not claims)

- `"STOP -- no new sources in last batch"`
- `/no\s+new\s+sources?/i` (as primary STOP justification)
- `/dry\s+batch/i` (without pragmatic_proxy label)

## 3. Evaluator action on match

Phase 8.5 evaluator emits build defect class F1 (Volume-floor regression). Warrant is rejected. Skill re-executes Phase 2 with the proper estimator, or -- if genuinely unavailable -- emits CONTINUE. A matched-pattern Warrant never ships.

## 4. What is NOT an anti-pattern

Legitimate phrasings that MUST pass:

- "STOP -- per-claim recall-miss posteriors below alpha=0.05; scope gate closed; contradiction gate closed."
- "CONTINUE -- yield gate open on clm_002 (posterior 0.18 > alpha 0.05)."
- "CONTINUE -- pragmatic proxy active; proxy_method=no_novel_claims_for_K_batches; proxy_K=5; proxy_rationale=<operational reason>."
- References to yield-curve BATCHES as the X-axis of the CLAIMS function (structural, not count-based).

## 5. Self-check before release

1. Any phrasing match Section 2?
2. STOP justification reduce to count, clock, or authority?
3. Any `sub_inquiry_open` in the Surprise Register?
4. Any `pending` amendment in the Surprise Register?

If ANY answer is yes, discard. Return to SKILL.md Section 0. Restart Phase 5.
