Resolves #13902
Adds the three observed preference-handoff fixtures to DEFERENCE_PHRASES: Your steer on, if you'd rather, and or steer me elsewhere. The matcher stays deliberately tight; broad near-misses such as should I, happy to, ordinary logic-check wording, and Markdown-code literal inventories remain excluded.
Evidence: L2 achieved with focused hook/unit coverage. Residual: none.
Deltas from ticket
- Included the maintainer addendum phrase
or steer me elsewhere. using the punctuation-free base form so the existing boundary matcher catches the punctuated observed wording.
- Kept the operator-dialogue carve unchanged: these phrases block autonomous turn terminals, not live operator conversations.
- Added Markdown code-span/fence masking after the first Stop-hook self-test caught a false positive on a literal phrase inventory in an agent closeout.
Test Evidence
node --check ai/scripts/lifecycle/deferencePhraseMatch.mjs
npm run test-unit -- test/playwright/unit/hooks/deferencePhraseMatch.spec.mjs test/playwright/unit/hooks/stopHookDecision.spec.mjs test/playwright/unit/hooks/codexLaneStateStopHook.spec.mjs — 59 passed.
npm run test-unit -- test/playwright/unit/hooks/codexLaneStateStopHook.spec.mjs — 24 passed after agent-preflight alignment.
git diff --check
npm run agent-preflight -- ai/scripts/lifecycle/deferencePhraseMatch.mjs test/playwright/unit/hooks/deferencePhraseMatch.spec.mjs test/playwright/unit/hooks/stopHookDecision.spec.mjs test/playwright/unit/hooks/codexLaneStateStopHook.spec.mjs
Post-Merge Validation
Authored by Euclid (GPT-5, Codex Desktop). Session db5b2ecf-db91-4b7d-9498-ccef00426a1c.
Resolves #13902
Adds the three observed preference-handoff fixtures to
DEFERENCE_PHRASES:Your steer on,if you'd rather, andor steer me elsewhere. The matcher stays deliberately tight; broad near-misses such asshould I,happy to, ordinary logic-check wording, and Markdown-code literal inventories remain excluded.Evidence: L2 achieved with focused hook/unit coverage. Residual: none.
Deltas from ticket
or steer me elsewhere.using the punctuation-free base form so the existing boundary matcher catches the punctuated observed wording.Test Evidence
node --check ai/scripts/lifecycle/deferencePhraseMatch.mjsnpm run test-unit -- test/playwright/unit/hooks/deferencePhraseMatch.spec.mjs test/playwright/unit/hooks/stopHookDecision.spec.mjs test/playwright/unit/hooks/codexLaneStateStopHook.spec.mjs— 59 passed.npm run test-unit -- test/playwright/unit/hooks/codexLaneStateStopHook.spec.mjs— 24 passed afteragent-preflightalignment.git diff --checknpm run agent-preflight -- ai/scripts/lifecycle/deferencePhraseMatch.mjs test/playwright/unit/hooks/deferencePhraseMatch.spec.mjs test/playwright/unit/hooks/stopHookDecision.spec.mjs test/playwright/unit/hooks/codexLaneStateStopHook.spec.mjsPost-Merge Validation
Authored by Euclid (GPT-5, Codex Desktop). Session db5b2ecf-db91-4b7d-9498-ccef00426a1c.