Repository navigation
codex-claude-loop v0.5.0 — the lock stops trusting a pid
Four items from a landscape scan, each shipped in the smaller form its own skeptic argued for. Five other proposals were killed on doctrine grounds, including a PreToolUse deny hook whose rule could not match the forgery it was named after and which allowed on timeout.
A dead holder pid does not mean the writer is gone. Kill the shell and its codex exec child keeps writing the tree, so reclaiming the lock on the pid alone let a second writer in beside a live orphan. The lock now records the phase log its holder is about to write, and a dead holder is reclaimed only once that log goes quiet (CL_LOCK_QUIET_MIN, default 5 minutes). While it is still growing the loop waits and then refuses. A lock that recorded no log falls back to pid-only reclaim and says UNVERIFIED.
Findings are data, not instructions. A blocking item comes from a reviewer that read arbitrary repo content and is replayed verbatim into every later judge. One starting a line with =====, the fence this harness uses for its own sections, could close the block early and write instructions into a workspace-write thread. Refused at the door; a fence inside a sentence stays legal.
cl_status exits 3 when an implementation stands with no review approval covering the current tree, and 0 when nothing waits on you.
cl_doctor stops overstating itself: three-state auth (logged in / not logged in / UNKNOWN on a codex without login status), and a closing line saying no turn was taken, so green is not read as proof that quota and models are fine.
62 → 72 assertions.