v3.8.22
Fixed (GH#18804 final containment)
Final fix for the silent dispatch failure. The diagnostic logging in PR #18823 (since reverted by PR #18824 for complexity reasons) proved the silent abort happens INSIDE dispatch_with_dedup, even when called via the set-e-safe || rc=$? idiom.
- Wrapped the
dispatch_with_dedupcall in an explicit subshell(...). The new subshell isolates any internal abort from the parentdispatch_deterministic_fill_floorsubshell. dispatch_with_deduphas no shared-variable contract with the caller — it only mutates GitHub state viaghAPI and fork-execs the worker via nohup, both of which survive subshell isolation cleanly.- Same defensive pattern as GH#18770/GH#18794.
This is a containment fix, not a root-cause fix. The actual silent-abort source inside dispatch_with_dedup remains undiagnosed and should be tracked in a follow-up. But this lets the pulse loop survive iter=1 and dispatch the rest of the candidates, which is the operational priority.