champion-challenger
Champion / Challenger
A self-improvement loop where the current known-good version (champion) keeps serving the real consequence while exactly one candidate change (challenger) is evaluated against it on a bounded slice. The challenger is promoted only when it clears a pre-registered gate. The whole discipline exists to answer one question safely: is this new version actually better — and is it safe to ship?
The same skeleton fits very different systems — a live trading strategy, an ML model in production, a web product. The five parts below are identical across them; only the instruments and constants differ. See EXAMPLES.md for all three worked side-by-side.
The five parts — every C/C system needs all of them
- Champion — current known-good, serving the real consequence (money / users / the baseline answer).
- Challenger — exactly one isolated candidate, run on a bounded slice of the consequence (or offline replay first).
- Eval substrate — the instrument(s) producing the comparison signal. Every instrument has a blind spot; name it and cover it with a second instrument.
- Promotion gate — pre-registered, an AND of independent conjuncts (not one score), immutable-downward, decision collapsed to an enum verdict.
- Kill / rollback — unconditional, instant, automatic; asymmetric to promotion (toward-risk is slow/gated, toward-known-good is fast/automatic).
Missing one of the five is the gap to close — not a new metric. See EXAMPLES.md for how three different systems fill them in and which mechanics transplant between them.