Skip to content

Keep Fix run validation logs local and scope Review PR checks - #2101

Merged
JacobStephens2 merged 6 commits into
mainfrom
issue-2050
Nov 12, 2026
Merged

JacobStephens2 merged 6 commits into
mainfrom
issue-2050

Conversation

@JacobStephens2

@JacobStephens2 JacobStephens2 commented Nov 12, 2026 •

Copy link
Copy Markdown
Owner

Summary

Fix CI sessions now keep validation logs inside their Worktree and reproduce failures with targeted tests. Review sessions check PR state at most once immediately before a multi-minute suite.

Delivery session
  exclude .validation-logs/ from Git
  reproduce the failing test file or filter
  run validation in the foreground
  discard logs during owned Worktree cleanup

Review session
  check PR open state once before a multi-minute suite

Regenerates the prompt catalogue and updates the hand-written site guidance.

Closes #2050

Evidence

Execution evidence

  • cargo test --test fix_run ci_fix_discards_validation_logs_without_committing_them
    • Before: FAILED; validation logs were published (failed session: false), left: Some("test output"), right: None.
    • After: test result: ok. 1 passed; 0 failed. Exercises ordinary commits and Failed run preservation, retaining the repair while discarding leftover logs.
  • cargo test --bin thirdshift prompt::tests::ci_fix_validation_keeps_logs_local_and_reproduces_with_targeted_tests
    • Before: FAILED with this missing instruction:

      missing Keep disposable command/test logs inside `.validation-logs/` in this worktree, never in `/tmp`
      
    • After: test result: ok. 1 passed; 0 failed across Base branch, issue and pull-request CI-fix contexts.

  • cargo test --bin thirdshift prompt::tests::review_checks_pr_state_once_before_a_multi_minute_suite
    • Before: FAILED; the scoped instruction was absent and the Address prompt also inherited Before additional validation.
    • After: test result: ok. 1 passed; 0 failed for Address and Recommend-only modes.
  • cargo test --test fix_base_ci unchanged_base_ci_fix_publishes_nothing_and_is_not_repeated: passed with validation logs left behind.
  • Refreshed both existing CI-fix prompt expectations in tests/ci.rs; the ordinary and mixed/inherited failure tests pass directly.
  • UPDATE_PROMPTS=1 cargo test prompts_page and cargo test prompts_page: 14 passed each. cargo fmt --check: passed.
  • CARGO_BUILD_JOBS=2 NEXTEST_TEST_THREADS=4 RUST_TEST_THREADS=4 /usr/bin/time -p scripts/affected-tests main: passed. Site: 68 tests, 97.21s. Full Rust suite (cargo nextest run): 4,409 passed, 102 skipped, 3385.49s; compilation included with a warm build cache. Total entry-point wall time: 3482.95s.

Visual evidence

CI-fix prompt catalogue, desktop 1440×900:

Before desktop
After desktop

Same flow, mobile 390×844:

Before mobile
After mobile

Playwright also verified the rendered Fix guidance, the scoped check in both Review modes, and no horizontal overflow at both viewports.

Test seams

  • Session prompt builders: CI-fix validation instructions and Review run lifecycle checks.
  • Public thirdshift fix command with real Git and fake services: leftover validation logs are discarded without publication on successful Delivery or Failed run preservation, including an unchanged Base branch CI fix.

Review coverage

Independent Standards and Spec reviews against refs/remotes/origin/main: 0 Standards findings; 0 Spec findings across the initial review and coverage follow-up. Both reviewers read all 15 changed files, including generated output. Generated exclusions: none. Unread changed files: none.

Unaddressed findings

  • Standards: none.
  • Spec: none.

Security review outcome

No unaddressed introduced findings.

Merge Danger

Door: two-way

Blast Radius: Sessions

Delivery registers .validation-logs/ in the repository's local Git exclude file. Existing owned Worktree cleanup removes those logs; prompt changes guide subsequent CI-fix and Review sessions.

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

@JacobStephens2 JacobStephens2 added the in-progress A Claim: thirdshift has taken this issue label Nov 12, 2026
# Conflicts:
#	prompts/pull-request-address.md
#	prompts/pull-request-ci-fix-repair.md
#	prompts/pull-request-review.md
#	prompts/pull-request-validation.md
#	site/prompts/index.html
@JacobStephens2 JacobStephens2 removed the in-progress A Claim: thirdshift has taken this issue label Nov 12, 2026
A branch .gitignore that re-includes /.validation-logs/ outranks Delivery's info/exclude line, and a tracked path under that directory ignores the line. Failed-run preservation's git add -A then publishes the local log.

Write an inner * gitignore without following a symlink, and drop any already tracked path from the index unless a merge, cherry-pick, rebase, or revert is in progress.
@JacobStephens2
JacobStephens2 merged commit f7f345a into main Nov 12, 2026
24 checks passed
@JacobStephens2
JacobStephens2 deleted the issue-2050 branch November 12, 2026 15:20
@JacobStephens2 JacobStephens2 mentioned this pull request Nov 13, 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.

Keep Fix run validation logs inside the worktree and avoid repeated gh pr view polling in Review runs

1 participant