The regression suite is the system's institutional memory
Every fixed bug deserves a regression test. Every reported failure deserves a case in the dataset. Over months, the regression suite becomes a record of every mistake the system has made — and a guarantee none of them will silently come back.
The eval-improvement cycle
- Eval flags failure — pre-release suite catches a regression, or a production sample shows a new failure mode.
- Failure becomes a case — added to the regression dataset with the right tag.
- Fix the system — prompt, retrieval, model upgrade, whatever the diagnosis suggests.
- Eval confirms fix — the new case passes, no other cases regress.
- Ship + monitor — production sampling watches for the same failure pattern recurring.
The regression suite never shrinks
It grows with every shipped fix. Cases that have been "easy passes" for six months don't get retired — that's exactly the moment a model upgrade silently regresses on them. Retire only when the underlying behavior is no longer relevant (a feature is removed).
Diff against baseline, not against ideal
The right CI gate is "did pass rate drop vs the previous release?" not "did pass rate clear an absolute threshold?" Absolute thresholds drift. Diff-against-baseline naturally tightens as the system improves.