Skip to content

Make GitHub execution interruptible and preserve finishing workflows - #472

Merged
JacobStephens2 merged 2 commits into
issue-465from
issue-468
Oct 7, 2026
Merged

JacobStephens2 merged 2 commits into
issue-465from
issue-468

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Oct 7, 2026 •

Copy link
Copy Markdown
Owner

Summary

Ordinary GitHub work now stops on Command interruption. Finishing paths keep permission through their prerequisite reads and writes.

- GitHub free functions → blocking CLI captures
+ GitHub ordinary view → shared Command execution owner
+ GitHub completion view → Failed run salvage, confirmed Self-merge cleanup,
+                          Claim ending, and Spec accounting

Closes #468

Evidence

  • Before: parent_only_interruption_stops_active_github waited for the executable to expire and returned a JSON error after a parent-only signal.
    After: passes for SIGINT, SIGTERM and SIGHUP; ordinary calls refuse to spawn, completion views remain independent, and cancelled merges require MERGED at the requested head.
  • Before: an_existing_spec_pr_accounts_for_every_drained_ticket_after_interruption persisted both ended Tickets as running.
    After: persists both as interrupted, with their dependent Ticket blocked and no new Ticket or Spec review started.
  • Before: the_first_landing_opens_its_spec_pr_when_accounting_is_interrupted failed with no Spec PR.
    After: completion opens the draft Spec PR and publishes the landed Ticket's checklist despite interruption during title accounting.
  • Validation: cargo check --all-targets, cargo fmt --check, cargo clippy --all-targets -- -D warnings, and the full cargo test suite passed (1285 passed, 1 ignored). The initial suite attempt stopped on the existing Harness catalog interruption test; its isolated retry and the complete rerun passed.
  • Review against issue-465 (b3c9a41): Standards: 0 findings. Spec: 1 finding, addressed and verified by the Spec reviewer.

Testing seams

  • Bound GitHub operations through isolated executable fixtures: interruption, completion independence, exact-head merge reconciliation, optional state probes, text/JSON/pagination and diagnostics.
  • Command workflows through local Git repositories and fake GitHub/Harness executables: Failed run salvage, Self-merge cleanup, Claim ending, worktree cleanup and final Spec PR accounting.

Merge Danger

Door: two-way

Reversible interface refactor; existing finishing operations retain their retry and warning behavior.

Blast Radius: Commands

Every GitHub CLI operation now shares execution ownership and interruption policy; finishing permission stays confined to the existing completion paths.

Unaddressed findings

Standards

None; the review reported no findings.

Spec

None; the Spec PR creation finding was fixed by using the bound completion view and covered by a failing-then-passing regression.

Built with codex · gpt-6.1-sol · xhigh

@JacobStephens2
JacobStephens2 merged commit 59f3f22 into issue-465 Oct 7, 2026
13 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-468 branch October 7, 2026 01:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant