diff --git a/specs/audit-data/mlb-grade-degradation.md b/specs/audit-data/mlb-grade-degradation.md index b07bc51..892231f 100644 --- a/specs/audit-data/mlb-grade-degradation.md +++ b/specs/audit-data/mlb-grade-degradation.md @@ -64,3 +64,21 @@ PASS criteria: projection==0 count → 0; edge_pct no longer contains 100 and is not the four-value cluster; grade↔confidence agreement 25/25. The before-state (this file's "Before") is the diff baseline; the script's output is the fingerprint. + +## AFTER — VALIDATED LIVE (2026-07-17 14:00:53 UTC regrade, fingerprint) +Ran `scripts/validate-grade-fix.js` against the first post-deploy snapshot. + +| Signal | Before (03:00 UTC) | After (14:00 UTC) | +|---|---|---| +| projection == 0 | **9 / 25** | **0 / 25** ✅ | +| grade ↔ confidence agree | 15 / 25 (4-letter); 0/25 vs 11-step | **25 / 25** ✅ | +| edge_pct distinct values | 4 — {20, 60, 100, 140} | 7 — {20, 60, 70, 76, 78, 82, 100} ✅ | +| projection distribution | contained 0 | all positive (min 0.09, no zeros) ✅ | + +The nine projection-0 grades vanished (those props now refuse). Grade and +confidence agree on every row. Edges are continuous, not the degenerate cluster. +The single remaining 100 is NOT the old bug: Wilyer Abreu · hits · line 0.5 · +**projection 1.0** · over → `(1.0 − 0.5)/0.5 = 100%`, a real model call of double +a small line. The `(model − line)/line` metric inherently produces large % on +0.5-step lines — the frontend `|edge| > 40` guard is the intended safety net for +exactly that, and it stays. **All three bugs resolved; validated in production.**