fix(track-a): retain lease lock after normal launcher exit - #317
Conversation
|
Coordinator merge-order note: this is the foundational remediation for the currently active supervisor PR #316. Because both branches touch the same canonical-live lease task/paths, do not merge concurrently. Complete #317 semantic + exact-head CI first; if independently accepted, promote #317 to |
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: d765f2d73b
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
|
Final audit note: current head |
Post-merge remediation for
OTC-20260815-track-a-live-runtime-lease-manager, based onmain@f6fa2264904c6ffb3734d4a63e1edbb29260fcc1.Material finding
Final review on PR #311 reproduced a remaining P1 serialization defect:
guard-run -- bash -c 'sleep 8 &'allowed the immediate launcher to return normally, after whichLeaseManager.locked()explicitly issuedLOCK_UN. Because Linuxflockis associated with the shared open file description, that explicit unlock released the lock even though the background mutation child still held an inherited descriptor.Fix
LOCK_UNfrom the production lock context and close only the manager's descriptor copy;guard-runretains the flock until the last surviving inherited mutation descendant closes its descriptor, including normal immediate-launcher return;MODULE_CATALOG.mdandCHANGELOG.mddocument the changed public guard-run contract.Validation
Semantic run
31910656040on code/test headc11921267a1f7306d61046c4922b30d35c258703:95075082947SUCCESS, 14/14 tests includingtest_guard_normal_launcher_exit_keeps_lock_in_background_child;95075082997SUCCESS withCONCURRENT_SERIALIZATION_PROVEN,SELFTEST_COMPLETE, andCANONICAL_STATE_UNTOUCHED.Final exact-head repository CI
31911020207on250e347b7177e737bd8be56eda785b827b605efc:CI / RequiredSUCCESS. Final review has zero unresolved material threads.Final changed paths are limited to the manager implementation, deterministic tests, durable task record, module catalogue and changelog. The temporary branch-only semantic trigger is absent from the final diff.
Safety
No Tibia process/session/display/input/instrumentation or production canonical-live state is mutated. PR #303 runtime paths/processes and Track B remain untouched.
:98remains NOT_PROVEN/NOT_REGISTERED as canonical. No owner-funded Codex/OpenAI API or paid AI quota was used.