Skip to content

Add targeted Fix runs for existing pull requests - #1799

Merged
JacobStephens2 merged 6 commits into
issue-1784from
issue-1794
Nov 5, 2026
Merged

JacobStephens2 merged 6 commits into
issue-1784from
issue-1794

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 5, 2026 •

Copy link
Copy Markdown
Owner

Summary

Add thirdshift fix <PR URL or number> to take a Trusted account's open PR directly through Delivery against its own Base branch.

fix <PR>
  validate → reserve on origin + in-progress → head-branch Worktree
  fix-run: delivery → self-merge (when requested)
    merge base → conflict/CI/Foreign-commit Repairs → push → CI watch
  release reservation + label; preserve failed work and offer fix retry

Ready and draft PRs, linked closing issues, merge/Base fix/Harness/email defaults, Fix run logs and notifications are supported. Repairs receive refreshed trusted PR context. The glossary, manual, site pages and generated prompts describe the Command.

Closes #1794

Evidence

Execution evidence

  • Seams tested: the public CLI and Built-in process catalogue, using real Git repositories and the existing GitHub/Harness adapters. Browser checks cover the rendered documentation.
  • Before: cargo test --test fix_run draft_without_closing_issue_finishes_ready_without_an_agent_session failed with not a GitHub issue URL: fix (1 failed).
    After: the same command passes (1 passed).
  • Reviewer reproductions: cargo test --test review_spec_1794 -- --nocapture initially failed both tests: the unfinished resolution was feature instead of resolved, and the merged head branch remained on origin. The same command now passes both tests; both regressions are retained.
  • cargo test --test fix_run --test review_run --test review_pass --test review_spec_1794: 57 passed; four fixture entry points ignored. Coverage includes trusted context, reservation exclusion, eligibility, Base fixes, interruption, recovery, merge policy and both reviewer regressions.
  • Generated prompts: UPDATE_PROMPTS=1 cargo test --bin thirdshift prompts_page, followed by cargo test --bin thirdshift prompts_page: 14 passed. npm run docs:check --prefix site passed.
  • The first full run caught the existing 68-line help limit (got 70 lines). After compacting the help text, cargo test --test command_surface passes all 20 tests (one fixture entry point ignored).
  • CI exposed a catalogue expectation missing the intentional fix-run entry. cargo test --test process process_lists_custom_processes_with_their_descriptions -- --exact reproduced the mismatch, then passed after both expected listings were updated.
  • The full run exposed compatibility with existing Review reservations. cargo test --test review_pass author_pass_skips_an_origin_reservation_before_its_label_is_visible -- --exact failed before the fix and now passes unchanged: Review and Fix runs acquire the previous refs/heads/thirdshift/pickup/<PR> ref as well as refs/thirdshift/reservations/<PR>, releasing both after cleanup.
  • cargo clippy --all-targets --all-features -- -D warnings passed on the final code.
  • /usr/bin/time -p scripts/affected-tests issue-1784: PASS. Site checks took 67.99s; the full Rust suite (cargo test, nextest unavailable locally) took 2037.90s including compilation. Total wall time: 2106.05s. Full output is retained in the local .affected-tests/ logs.

Visual evidence

Homepage “Skills and Processes in detail,” expanded at the same scroll anchor.

Desktop, 1440×900:

Before desktop
After desktop

Mobile, 390×844:

Before mobile
After mobile

Review

Fixed point: issue-1784 (31e2e33d). Standards raised 2 type-design findings; Spec raised 2 behavior findings. All four are addressed, and both follow-up reviews found nothing further. Both axes read all 42 changed files through d0945e3c, including generated output. Later hunks in src/main.rs (compact help) and src/review/reservation.rs (previous reservation compatibility) were not re-read by either axis; their Command surface and reservation tests passed. The expected-listing update in tests/process.rs is unread by both axes; its exact catalogue test passed. These are the remaining coverage gaps among the final 43 changed files. Generated exclusions: none.

Unaddressed findings

Standards

None.

Spec

None.

Security

None.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

The implementation can be reverted. When invoked, Fix runs publish Repairs and can merge a PR and delete its remote head branch when merging is requested.

Blast Radius: moderate

Reuses Delivery's merge, CI, Base fix and failure paths. Review and Fix runs share the new PR reservation namespace and retain the previous Review reservation for compatibility; the Fix, Review run and Review Pass regression suites pass. After a crash, confirm the owner stopped before releasing either reservation ref.

Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh

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