Goal drift
The objective is still in the window. The run completes against a different target. Detection without a corrective stronger than the drive is theater. Commitment (quit the goal) and binding (break the rules) are two channels — one “drift” bit applies the wrong fix.
Start: “ship the auth refactor, never force-push.” End: a drive-by lint cleanup, force-push included, tests skipped. Nothing aborted. Distill will promote the wrong pattern.
Watch — same drive, change the stack
commitment (goal deviation)
binding (constraint violation)
tolerance
detect
Outcome
—
Commitment Δ
—
Binding Δ
—
Correctives fired
0
Mechanism — P25 inventory, not a vibe
| Remedy | Does | Does not | Evidence |
|---|---|---|---|
| T6 measure | Per-constraint decay curves | Steer anything | 2603.03456 |
| T2 isolate + maxTurns | Keep exploration out of the goal window | Fix main-thread drift | Claude Code / Cursor subagents |
| T3 re-anchor | Inject goal or rules (lifecycle or every call) | Know when; mutates prefix if early | hooks; Agents SDK input filter |
| T1 executive-disposes | Split commitment vs binding; admit iff prediction matches | Run on open-ended noisy observations | 2608.04066 · 0→1 vs flat 0 |
| T5 verify vs original | End-gate against the first ask | Survive a weak checker | 2608.05013 · 0.821 |
| T4 activation Δ | Flag before the transcript lies | Work on closed APIs | 2406.00799 trend |
Ablating the commitment mechanism in the executive instrument flips goal-abandonment 0.00→1.00 while binding error stays 0.00. They are two control channels. The field still has no production detect-then-steer loop with headline numbers — that is the gap, not a missing slider.
What to try
- Detect only (default). Amber detect fires. Both lines still leave the band. Detection is not the fix.
- Turn on Re-anchor goal only. Teal (commitment) comes back; orange (binding) does not. Force-push still happens.
- Turn on Restate rules only. Orange recovers; teal still walks off. You kept the constraints and abandoned the ask.
- Isolate lowers the drive (flood never arrives). It will not save a main thread that is already tangential.
- Verify vs original yanks teal in the last stretch. If you skip it, completion can pass on the drifted target.
- Stack T2+T3+T5 at the same drive. Then peel one off and watch which hole re-opens.
Stack in this order: isolate noisy work (T2), echo goal and rules as two injects (T3), gate completion against the original instruction (T5). Measure the two rates separately (T1 vocabulary) or you will apply the wrong echo. T4 is not available on API models. Adapter inject + end-of-session verify are the cheap harness moves; do not auto-promote patterns from high-commitment-drift sessions.