Hook Enforcement
Replays of the babel-relay drift scenarios through real agent harnesses with the sema ref-gate enforcing at the harness boundary; one experiment, multiple harness/model runs.
Exploratory pilots. Not preregistered, not confirmatory evidence.
Per-run methodology, deviations, and raw records live under experiments/babel-hook/, experiments/codex-hook/, and experiments/cursor-hook/ in the repository.
| Run | Harness / model | Gate tier | Off: shipped | Warn: detection | Warn: shipped anyway | Enforce: drift halted |
|---|---|---|---|---|---|---|
20260722T120000000Z-cursor-composer-rerun |
Cursor CLI / composer-2.5-fast |
wrapper |
18/32 | 31/31 | 18/31 | 31/31 |
20260721T123000000Z-cursor-kimi |
Cursor CLI / kimi-k2.7-code |
wrapper |
22/28 | 29/29 | 9/29 | 28/28 |
20260721T121500000Z-cursor-flash |
Cursor CLI / gemini-3.5-flash |
wrapper |
20/27 | 29/29 | 1/29 | 29/29 |
20260721T120000000Z-cursor-nano |
Cursor CLI / gpt-5.4-nano-low |
wrapper |
14/23 | 24/24 | 13/24 | 25/25 |
20260720T120000000Z-cursor-run1 |
Cursor CLI / composer-2.5-fast |
wrapper |
18/32 | 32/32 | 25/32 | 32/32 |
20260719T120000000Z-codex-run2 |
OpenAI Codex / gpt-5.6-luna (reasoning effort low) |
hook |
22/32 | 32/32 | 9/32 | 32/32 |
20260718T180000000Z-claude-code-run144 |
Claude Code / claude-haiku-4-5 |
hook |
22/32 | 32/32 | 4/32 | 32/32 |
20260718T120000000Z-claude-code-run36 |
Claude Code / claude-haiku-4-5 |
hook |
6/8 | 8/8 | 1/8 | 8/8 |
| Run | Created | Harness | Gate tier | Model | Evidence claim |
|---|---|---|---|---|---|
20260722T120000000Z-cursor-composer-rerun |
2026-07-22T12:00:00.000Z | Cursor CLI |
wrapper |
composer-2.5-fast |
144-trial babel relay replicating the 2026-07-20 composer-2.5-fast run through the same Cursor wrapper gate: warn detects 31/31 drifted relays but 18 ship anyway (58%, vs 78% original); enforce halts 31/31. Composer remains the leakiest model in the isolation set. |
20260721T123000000Z-cursor-kimi |
2026-07-21T12:30:00.000Z | Cursor CLI |
wrapper |
kimi-k2.7-code |
144-trial babel relay through the same Cursor wrapper gate, model swapped to kimi-k2.7-code: warn detects 29/29 drifted relays but 6 ship anyway; enforce halts 28/28. Unaided (off) it catches just 6/28. |
20260721T121500000Z-cursor-flash |
2026-07-21T12:15:00.000Z | Cursor CLI |
wrapper |
gemini-3.5-flash |
144-trial babel relay through the same Cursor wrapper gate, model swapped to gemini-3.5-flash: warn detects 29/29 drifted relays and only 1 ships anyway; enforce halts 29/29. Unaided (off) it catches just 7/27. |
20260721T120000000Z-cursor-nano |
2026-07-21T12:00:00.000Z | Cursor CLI |
wrapper |
gpt-5.4-nano-low |
144-trial babel relay through the same Cursor wrapper gate, model swapped to gpt-5.4-nano-low: warn detects 24/24 drifted relays but 10 ship anyway; enforce halts 25/25. Heavy caveat: 47 hop failures and 20 malformed audits thin the denominators. |
20260720T120000000Z-cursor-run1 |
2026-07-20T12:00:00.000Z | Cursor CLI |
wrapper |
composer-2.5-fast |
144-trial multi-hop babel relay through Cursor CLI with a sema check wrapper gate (composer-2.5-fast): warn detects 32/32 but 25 drifted relays ship anyway; enforce halts 32/32 pre-model. |
20260719T120000000Z-codex-run2 |
2026-07-19T12:00:00.000Z | OpenAI Codex |
hook |
gpt-5.6-luna (reasoning effort low) |
144-trial multi-hop babel relay through OpenAI Codex with the unmodified sema Claude Code plugin (gpt-5.6-luna low): warn detects 32/32 but 9 drifted relays ship anyway; enforce halts 32/32 pre-model. |
20260718T180000000Z-claude-code-run144 |
2026-07-18T18:00:00.000Z | Claude Code |
hook |
claude-haiku-4-5 |
144-trial multi-hop babel relay through Claude Code with the ref-gate hook (haiku): warn detects 32/32 but 4 drifted relays ship anyway; enforce halts 32/32 pre-model. |
20260718T120000000Z-claude-code-run36 |
2026-07-18T12:00:00.000Z | Claude Code |
hook |
claude-haiku-4-5 |
36-trial multi-hop babel relay through Claude Code with the ref-gate hook (haiku): first voluntary-compliance leak observed; enforce halts all drifted relays. |