Repository navigation
Spec: Deepen Command execution for Git and GitHub - #470
Merged
Merged
Conversation
Share Command execution ownership for capture and streaming
Make Git execution interruptible with completion views
Make GitHub execution interruptible and preserve finishing workflows
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
Parent-only interruption now stops ordinary Git and GitHub CLI work through the same Command execution owner used by Harness sessions. Explicit completion views let existing finishing operations complete while the recorded interrupt still prevents new work.
The three Tickets deliver the complete Spec:
Closes #465
Evidence
mainat1fbb06brecorded parent-only SIGTERM, but GitHub capture remained blocked after 500 ms on a fixture waiting 20 seconds.After:
a_parent_only_signal_stops_active_git_and_propagates_through_probesandparent_only_interruption_stops_active_githubverify interrupted errors and owned-child cleanup for SIGINT, SIGTERM, and SIGHUP.After: one shared runner executes the same behavior tests in isolated subprocesses; all 33 execution tests passed before the extraction.
cargo fmt --checkandcargo clippy --all-targets -- -D warningspassed. The fullcargo testsuite passed 1,282 tests across 39 binaries; its one ignored local probe also passed when run separately withcargo test --bin thirdshift process::tests::representative_short_captures -- --exact --ignored --nocapture. Mean short-capture times were 1.1 ms fortrueand 3.2 ms forbash, with no timing assertion added to CI.Merge Danger
Door: two-way
Reversible execution refactor; no persistent-state migration.
Blast Radius: execution
All Harness, Git, and GitHub CLI lifetimes and their finishing workflows. Native lock waits, HTTP notification transport, timeouts, process-tree discovery guarantees, and the child Run protocol keep their existing behavior.
Unaddressed findings
Standards
None. The one finding, duplicated signal-test isolation, is addressed by shared test support.
Spec
None. The whole-Spec review found no missing, incorrect, or extra behavior.
Tickets
Built with codex · gpt-6.1-sol · xhigh