Skip to content

Finish unreviewed Fix Pass repairs ready for review - #2088

Merged
JacobStephens2 merged 2 commits into
mainfrom
issue-2020
Nov 12, 2026
Merged

JacobStephens2 merged 2 commits into
mainfrom
issue-2020

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fix Passes and targeted Fix runs using only merge.always now repair unreviewed PRs and finish successfully Ready for review. The hold and exact adopted-head review gate remain in place; explicit targeted merge requests still fail when that gate is unmet.

unreviewed adopted head → repair conflict / red CI → wait for green CI
- merge goal → MergeHold → Failed
+ Fix Pass or config-only merge → Ready for review (exit 0)
+ explicit fix <PR> merge → MergeHold (exit 1)

Updates the Fix run glossary, manual and three hand-written site descriptions. Closes #2020.

Evidence

Execution evidence

Regression command:

cargo test --test fix_review_hold merge_pass_repairs_an_unreviewed_head_and_finishes_ready_for_review -- --exact --nocapture

Before: On unpatched commit 1e486787, the repair pushed a fixed head and CI passed, then the merge hold failed the command:

thirdshift: CI passed on 433ef5d
thirdshift: Stopped at: Self-merge
  left: Some(1)
 right: Some(0)
test merge_pass_repairs_an_unreviewed_head_and_finishes_ready_for_review ... FAILED

After: The same command passes:

test merge_pass_repairs_an_unreviewed_head_and_finishes_ready_for_review ... ok
test result: ok. 1 passed; 0 failed

Confirmed cause: the review hold retained Delivery's Goal::Merged, so a successful repair ended with MergeHold. Fix now chooses Goal::ReadyForReview for a Pass or config-only merge request while preserving the hold. The test asserts the pushed repair, open/ready PR, success record, logs and notification, reservation cleanup, and a subsequent Pass skipping the green PR.

Focused validation: 33 tests passed across fix_pass, fix_review_hold, fix_run and standards_1795. Coverage includes merge defaults, explicit no-merge, explicit targeted merge refusal, authored/reviewed/pushed evidence, conflicts, and an acquired-head race.

Final local validation passed:

NEXTEST_TEST_THREADS=3 RUST_TEST_THREADS=3 scripts/affected-tests main
  • npm test --prefix site: 68 passed, including npm run docs:check --prefix site.
  • cargo nextest run: 4,405 passed (13 slow), 102 skipped.

Visual evidence

Static documentation text, paired at identical viewports and scroll anchors. Before captures use unpatched commit 1e486787 in a temporary detached worktree; After captures use this branch after regeneration. Relevant disclosures are open in both states. Media lives in a secret Gist.

Manual · Fix runs

1440×900 · desktop

Before

After

390×844 · mobile

Before

After

Home · Fix command

1440×900 · desktop

Before

After

390×844 · mobile

Before

After

How it works · Fix run

1440×900 · desktop

Before

After

390×844 · mobile

Before

After

Architecture · Fix Pass

1440×900 · desktop

Before

After

390×844 · mobile

Before

After

Seams under test

  • The thirdshift fix CLI against real fixture Git repositories and fake external GitHub/Harness services: exit status, pushed repair, PR state, logs, Command outcome, reservation release and subsequent Pass selection.
  • Rendered static documentation at the Fix runs section and the command descriptions, checked with Playwright at desktop and mobile viewports.

Unaddressed findings

  • Standards: None (0 findings).
  • Spec: None (0 findings).
  • Security: None (0 findings).

Security review outcome

No unaddressed introduced findings.

Review coverage

Both independent reviewers inspected all eight changed files, including the generated manual hunk. No changed file was left unread; no generated output was excluded. Reports and the two-axis summary are saved with this Session.

Merge Danger

Door: two-way

Revert restores the previous failed-run outcome; no stored-data migration.

Blast Radius: Fix

Changes existing-PR Fix runs with missing adopted-head review evidence. Explicit targeted merge failures and accepted exact-head authorship/review evidence retain their behavior.

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

@JacobStephens2
JacobStephens2 merged commit 11ebc9e into main Nov 12, 2026
24 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-2020 branch November 12, 2026 11:46
@JacobStephens2 JacobStephens2 mentioned this pull request Nov 12, 2026
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.

A Fix Pass records a failure for every ready pull request whose head has no agent review

1 participant