Expand description
Slice 9 skeleton: the order around a landed commit and a guarded Git child; not reachable until landing is merged.
What:
The call order around a guarded Git child:
install the signal guard, run the child, release the locks and the transaction, drop the guard,
then exit with the child’s code.
Why:
The incumbent releases the transaction before the signal guard goes away, so a signal sent during
release is still relayed to the child.
The order after a landed commit (automatic maintenance, then the post-commit hook) is not here:
the incumbent runs maintenance without stopping on failure (src/policy-engine/commit-transaction-conclusion.ts),
and the post-landing lane owns that sequence.
Nothing calls this yet: the command path keeps refusing git commit until landing is merged.
In TS you’d write (pseudocode):
const guard = installSignalGuard(); const outcome = await run(child); await release(); guard.drop(); exit(exitCode(outcome));Traits§
- Release
Steps - What: The steps that release what a guarded child held, run after the child ends and before the guard drops. Why: Release runs while the guard still relays signals, so a signal sent during release reaches the child.
Functions§
- run_
guarded_ child - What: Run a Git child under the signal guard, release what it held, and report its exit code. Why: Release runs even when the child fails to run, and each failure is reported, not hidden.