Skip to content

v3.8.22

Choose a tag to compare

@marcusquinn marcusquinn released this 14 Apr 03:35
· 10637 commits to main since this release

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_dedup call in an explicit subshell (...). The new subshell isolates any internal abort from the parent dispatch_deterministic_fill_floor subshell.
  • dispatch_with_dedup has no shared-variable contract with the caller — it only mutates GitHub state via gh API 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.