# test703 — Codex interrupted-turn receipt recovery

Date: 2026-10-07
Environment: Docker (`oven/bun:1.3.14`, `--cpus=2`, `--network none`)

- A–G ledger/inspection/wiring plus rejection/peer-loop and queued-expiry
  guards: 17 pass, 0 fail, 53 assertions.
- Real Codex stop/start probe (`--network none`, a hanging loopback model
  provider): 0.133.0 and 0.159.2 both report the killed exact turn as
  `interrupted` through `thread/turns/list`. In the final run both returned
  `completedAt=null`; the product therefore emits the reviewed
  `最晚于 HH:MM（东八区）判定中断` fallback. A finite Codex
  `completedAt` is converted from Unix seconds and emits
  `turn 中断于 HH:MM（东八区）`.
- Agent-node production bundle: PASS.
- Complete agent-node unit domain (test725): 2591 pass, 1 skip, 0 fail,
  9068 assertions; all 199 source test files and 6 tests-directory files ran.
- Existing exact runtime-evidence suite (test520): 182 pass, 1 skip, 0 fail;
  its focused Grok case passed and all 13 mutations were witnessed red.
- Test registration, file coverage, L1 SHA binding, home-path, mutation-pin,
  doc-source-pin, and both doc-symbol-pin gates: PASS.
- Witnessed-red mutations:
  - 48-hour terminal fallback removed: rc=1.
  - query-error retention counter removed: rc=1.
  - delivered-ledger cleanup removed: rc=1.
  - exact turn-id match inverted: rc=1.
  - app-level rejection ledger cleanup removed: rc=1.
  - terminal peer reply ledger gate removed: rc=1.
  - `receipt_queued` 48-hour cap removed: rc=1.
  - fixed East-8 formatting changed to UTC: rc=1.
  - Codex `completedAt` projection removed: rc=1.
- The watchdog stop+start fixture is classified as failed with
  `turn 中断于 HH:MM`; no code path calls `turn/start` or `processTask` during
  recovery.
- Fixtures use synthetic aliases, task ids, thread ids, and turn ids only.
