PYR0D-394: Fix away-mode worker ceiling and Codex session-lock anchor #45
Loading…
Reference in a new issue
No description provided.
Delete branch "fm/fm-dispatch-fix"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Story: PYR0D-394 - Fix away-mode worker ceiling and Codex session-lock anchor
What was wrong (the Oct-9/12 outage)
Two firstmate defects compounded overnight: (1) the away-mode worker ceiling counted stale in-flight records - 14 dead windows against a cap of 4 - so nothing dispatched; (2) the session lock anchored to the immortal
codex app-server --managed-daemonpid, so every new session was refused for 15+ hours until the stale anchor was reclaimed by hand.What changed
17613fea, fix024b83ec; incident reproduction 14 -> 4).ccb1f6c5, fix4bc4b5b8; live daemons verified reclaimable).abb4e570,a7ea9469.Known trade-off (accepted in review)
A daemon-anchored lock is reclaimable even while its conversation may still be live: the displaced session fails its next ownership/Stop check and stays read-only. Codex conversations have no process of their own, so conversation liveness is not checkable without coupling the lock library to codex internals, which the accepted intent does not require.
Validation
no-mistakes run
01M4SA9HC3CRVAKPZC39BWGZ3Bpassed (one review finding accepted as the documented trade-off above; the pipeline PR/CI steps skip on Forgejo). Full local suite: the 18 failures reproduce identically on clean main bins (environmental, pre-existing); both incident reproductions proven red before and green after.REQUEST CHANGES. Standalone review:
data/review-45-sol/report.md. P1: conversations sharing a Codex app-server PID can both pass lock ownership despite different session IDs, so the displaced session does not fail closed. P2:landed-failedworkers are freed from the away cap even thoughfm-land.shleaves them uncleared for recovery. The report includes reproductions, gates, and the red forge CI status at5c1791a3.Closed by captain order 2026-10-13: the Claude-first routing change makes this PR not worth its fix cycle (the P1 same-daemon lock ownership hole needs a real rework). The branch fm/fm-dispatch-fix preserves both fixes (away-cap live-worker counting; codex daemon never anchors a lock) and the Sol review (data/review-45-sol/report.md) for whoever picks the work up. The underlying outage defects remain real - this only closes the PR.
Pull request closed