The number
Why drift is the more operationally consequential finding
A 42% drift rate is not a model-quality problem. It is an architectural property of long-context LLM conversations. Every constraint stated once will eventually be forgotten by some model on some turn.The follow-up prompts that most often cause drift are the ones that expand the surface area of the plan. "Add cardio twice a week" gives the model permission to insert exercises that the turn-1 contraindication had excluded but the turn-4 prompt did not. "Push the volume up in weeks 4–8" reopens prescription decisions the model already made under the constraint. Drift happens at the seam where new instructions interact with old constraints, and the model can't tell which old constraints still apply.
What the contract does that the model cannot
Why this scales the safety property correctly
The drift the contract doesn't catch yet
- The contract makes structural drift visible. A raw-LLM product shipping multi-turn short plans is silently degrading them, and no prose-level check will catch it. The compiled form is what surfaces the failure.
- The contract doesn't yet prevent it. Today the rule evaluator's only action is "strip a forbidden exercise." It reports the rest-day and progression failures but doesn't repair them. That's the next thing to build — and the benchmark now measures exactly what "done" looks like.
What I'd encourage other AI builders to measure
- State the constraint clearly in turn 1.
- Run 6–8 follow-up turns that don't restate it.
- Score each turn's output against the original constraint.
- The drift number is fresh violations — things absent at turn 1 that appear at turn N > 1.
A note on the multi-turn protocol's limitations
The next post
The series continues → I Audited My Own AI-Safety Benchmark and Made the Numbers Look Worse (how I de-circularized my own evals) and My Safety Layer Had a Blind Spot in Production (the catalog drift that hid rehab clients from the safety layer).