Revision · added 2026‑07‑14
Update: the rig caught itself — and the honest production numbers
Going back to re‑verify the numbers above, we found something humbling. Our Layer‑3 harness had been writing its test conversations to the wrong place, so the scanner's own security guard refused to load them and every scan silently returned "normal." The model was never consulted. A green harness had been proving nothing — the ~4‑second runs should have tipped us off. So the measurement rig earned its keep a fourth time by catching itself.
What "production" really means. A second harness — the barrage — had been scoring the raw model only, never applying the deterministic safety floor that actually ships. Fixed, we now report every number at two levels: the raw classifier, and production = what a parent actually gets (model ∪ floor).
Shipped detection, raw‑LLM → +floor, both tiers. On the calibrated model the LLM solves self‑harm on its own (99.2%); harm‑to‑others stays floor‑only on both tiers.
| Axis | N | E2B: raw → +floor | E4B: raw → +floor |
| Harm‑to‑others | 211 | 0% → 5.2% | 0% → 0.9% |
| Self‑harm (crisis) | 124 | 70.2% → 71.0% | 99.2% → 99.2% |
| Cry‑wolf resistance | 209 | 98.6% → 98.6% | 97.6% → 97.6% |
| Benign kept clean | 141 | 100% → 100% | 100% → 100% |
| Child de‑escalation | 440 | ~98% | 100% |
The honest headline for what ships today: harm‑to‑others detection is ~5% on E2B and ~1% on E4B. The shipped prompt has no dedicated harm label, so all of it is the blunt‑idiom keyword floor; on the larger model the floor's harm catches are even masked, because E4B labels most outward threats as a self‑harm crisis — the parent is still alerted, just with the wrong words on it. The release's real, narrower win: the alert now fires where it was previously computed and silently thrown away.
The label that hurt self‑harm
The earlier 20.4% / 99.1% harm figures were measured with a prompt that carried a fourth harm_to_others label. We removed it — and the small model got better at the axis that matters most:
E2B self‑harm recall — a controlled same‑battery A/B, prompt the only variable. Removing the 4th label bought back ~17 points on the safety‑critical axis; adding it bought only ~2 points of harm detection in return.
| E2B self‑harm recall (of N=124) | prompt shape |
| 53.2% | 4‑way (with harm label) |
| 70.2% | 3‑way (label removed) |
It's the same one‑shot‑degeneration effect from the top of this log — now measured directly on the safety axis with a controlled A/B: adding a label to the one‑shot classify made the weak model ~17 points worse at catching self‑harm, while buying only ~2 points of harm detection. A stark trade, and an easy call: we ship the leaner prompt (protecting self‑harm) plus a deterministic harm floor, and leave real harm detection to the deferred focused cascade. (The controlled 17pp corrected our own earlier cross‑session estimate of ~24pp — the honest number is the one where only the prompt changed.) And the instant that floor was measured honestly, it caught a bug of our own making: the crisis word‑list was matching "kys" inside "skyscraper" — a kid recounting a movie was raised to a crisis alert — now fixed to match on word boundaries. An accurate rig doesn't just grade the model; it audits your own detectors.
The cascade, measured — the arc's honest ending
The two‑stage cascade (detect → validate) is no longer a hypothesis. Pre‑registered (v2, then v3 with self‑harm bypassing the validator), held‑out test split, validity‑gated 7/7. This is where the 20%→95.7% method meets the product — and the ending is honest, not a banner.
Cascade on the held‑out test split (E2B). "Net" = after the validator drops clear false alarms. The deliverable is the operating point, not clearing a model‑bound bar.
| Axis | N | Stage‑1 label alone | Cascade net (v3) | note |
| Violence recall | 110 | ~95.7% | 91.8% (expl. 93.8%) | held |
| Violence precision | 101 | 42% | ~76% | safe ceiling |
| Self‑harm recall | 63 | ~85% | 84.1% | model‑bound |
Violence is the real win: detect→validate recovers precision 42% → ~76% while holding recall at ~92% — a usable, safe operating point (nearly every real threat caught; ~3 of 4 alerts real). 76% is the deliberate safe ceiling: we keep venting‑anger (a venting kid may act), so we never reach 90% without risking real threats.
Self‑harm belongs to the floor and the capable tier, not the cascade. v3 bypassed the validator for self‑harm (never dropped): recall rose 81% → 84%, which proves the residual gap is the model, not the cascade — nothing can drop a self‑harm flag now, yet the weak model still tops ~84%. That axis is covered by the deterministic floor and E4B (99.2%), never the weak‑model label alone. And the safe rule has a disclosed cost: never‑dropping‑self‑harm also keeps the false self‑harm flags ("this homework is killing me"), which cost ~5 points of cry‑wolf precision. Deliberate, safe, named.
Decomposition genuinely unlocks a weak model — but the honest product ending isn't one number. It's a usable violence operating point, a self‑harm gap that's model‑bound and layered over, and a precision/recall trade we made on the safe side and disclosed.