Repository navigation
Own concurrent child Runs through collective teardown - #476
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.
Summary
Keep concurrent Ticket Runs owned through delivery and teardown, with child salvage finished before Spec worktree cleanup.
Ticket scheduling, Spec PR accounting, progress, and standalone Base fix waiting keep their existing owners.
Closes #475
Evidence
dropping_a_collection_stops_all_siblings_before_waiting_and_saves_their_workfailed with sequential shutdown: sibling salvage never completed within the finite fixture's lifetime.After: Ordinary drop and caught unwinding save both siblings' work, deliver one TERM per live child, reap every owned child, and preserve the Command interruption flag.
duplicate_start_is_refused_before_launch_and_keeps_the_original_child_ownedfailed because the original handle was replaced.After: Active and queued duplicates are refused before launch; delivered identities can be reused.
cargo fmt --check,cargo clippy --all-targets -- -D warnings, and fullcargo testpass (one existing ignored test). The full suite was rerun after a transientETXTBSYfixture launch failure; the affected test also passed in isolation.Test seams
child_run::Runs: construction, owned launch registration, next numbered ending, and collective cleanup on drop or unwinding, with finite local executables at the existing private launch seam.Merge Danger
Door: two-way
No persistent data or command-policy changes; reverting restores the previous supervision implementation.
Blast Radius: Spec
Concurrent Ticket Run supervision and Spec owner teardown. Standalone Base fix execution continues its existing blocking wait.
Unaddressed findings
Standards
None. The repeated cleanup assertions were consolidated into a fixture helper.
Spec
None. Completed-child setup now waits for process and reader completion at the private launch seam, removing the queue tests' scheduling assumption.
Built with codex · gpt-6.1-sol · xhigh