Hook Enforcement — 20260719T120000000Z-codex-run2
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.
Provenance
- Harness: OpenAI Codex
- Version: codex-cli 0.144.5
- Model: gpt-5.6-luna (reasoning effort low)
- Gate integration: hook
- Gate source: RobinOppenstam/sema@feat/sema-check
- Records path: experiments/codex-hook/records/2026-07-19-luna/
Deviations
- Frozen boundary prompts delivered via per-trial AGENTS.md (no system-prompt flag in codex exec)
- Neutral harness note appended to AGENTS.md stating artifacts are inline (codex agents otherwise audit the empty filesystem and halt every trial)
- Hop counts as gate-blocked only when codex reports the hook block and no final message was produced (codex retries transient hook failures internally)
| Condition | Trials | Drift detection | Silent divergence | Drift halted | Task success | False halts | Malformed | Hop failed |
|---|---|---|---|---|---|---|---|---|
off |
48 | 10/32 | 22/32 | 10/32 | 25/48 | 1 | 0 | 0 |
warn |
48 | 32/32 | 0/32 | 23/32 | 35/48 | 4 | 0 | 0 |
enforce |
48 | 32/32 | 0/32 | 32/32 | 48/48 | 0 | 0 | 0 |
Drift-conditioned columns use drift-injected trials as the denominator; task success uses all trials in the condition.