Route the first terminal fact.
Preserve exit code or signal after close and bounded pipe drainage.
Contain ENOENT, abort, kill, and stream failures at the owning process seam.
rc.2 already defines the core boundary.
asyncfactpipesoncealiveDiagnose nested Windows children.
Capture CPU, process-tree, child start/exit, and pipe progress. This is not a close-delay diagnosis yet.
A descendant may hold an inherited pipe. Timestamp both events and vary stdio only in a disposable probe.
Treat it as an executor-topology comparison, not proof that a shell is the general fix.
Repair locally, exit globally.
Stop stdin writes and keep the authoritative child outcome.
Consume, cap, spill, close, and record truncation explicitly.
A global unknown exception is a cleanup and supervised-restart boundary.
Six proof gates.
- 01The abrupt child exit settles exactly one tool result.
- 02The exact official Host PID remains alive.
- 03A second command and another Session still work.
- 04No owned child or grandchild survives teardown.
- 05Desktop and renderer exits are captured separately.
- 06The copied Session replays through its last committed event.
Primary evidence.
- Official report #4713
- Windows nested-child report #4796
- rc.2 subprocess runtime
- rc.2 Host-exit tests
- Python Windows kill semantics
Prove survival beyond the visible window.
The canonical guide covers synchronous freezes, Windows self-termination, official versus community ownership, raw stream handling, global exception policy, safe reproduction, and twenty acceptance gates.
Read the complete guide