Repository navigation
Collect external lifecycle and termination evidence for the actual Python runtime - #18
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Problem and resulting behavior
The proxy repeatedly disappears without a Python exception or exit event. A launcher-only Silent Process Exit configuration captured the wrapper's later self-exit but missed the actual interpreter. This change adds independent lifecycle observation and a validated dedicated real CPython runtime, so supported user-mode exits of the actual proxy and its observer can produce Windows events and dumps.
This is an evidence-collection change. The incident initiator and root cause remain unknown. Actual interpreter/observer exits were close together in the 20:38 and 21:02 incidents; that is a lead, not proof of a particular cleanup tool or caller.
Implementation
Validation and review
Limits
Silent Process Exit does not cover every kernel/Job/last-thread termination path. Dedicated image names, prefix, ancestry and console behavior are diagnostic variables; stability alone cannot establish the previous cause. Mini dumps may contain sensitive memory and count limits are not a byte quota. Native stdout/stderr files do not rotate. The earlier independent observers were preserved during implementation, but were absent in the 21:21 snapshot; their exit source is unresolved. The user's current launch observer and real runtime are alive and health checks pass. No observer has reboot autostart.