Repository navigation
Retry transient CI check reads with bounded interruptible backoff - #761
Merged
Merged
Conversation
Merged
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
Retry transient read-only CI observations on the same repository and full commit across the watch, Base comparison, and Check re-run reconciliation.
Closes #731
Evidence
cargo test --bin thirdshift ci::tests::a_truncated_initial_check_read_recovers_without_losing_pending_or_red_checks -- --exactfailed withEOF while parsing a value.After: the regression passes; all 36 CI seam tests, 14 GitHub executable-seam tests, and 23 CI integration tests pass. Coverage includes exhaustion at three attempts, cancellation, permanent errors, real pending/red states, and preserved Check re-run protections.
cargo testpassed (1864 tests passed, 2 ignored). The final EOF regression also passes.cargo check --all-targets,cargo fmt --check, andcargo clippy --all-targets -- -D warningspass.Merge Danger
Door: two-way
Revert to restore immediate failure on CI read errors; no persisted state or configuration changes.
Blast Radius: CI
Transient check-read failures can delay an observation by up to three seconds of backoff. Workflow mutations and Repair allowances are unchanged.
Test seams
watch_through/rerun_throughthrough the existingOutsideobservation, wait, and progress seam: deterministic recovery, exhaustion, cancellation, and preserved CI facts and Check re-run protections.checks_onthrough the existing executable seam: classify realghexit/JSON failures while retaining diagnostics and interruption behavior.Unaddressed findings
Standards
None. The independent Standards review found no violations or actionable smells.
Spec
None. The one P2 finding (ordinary transport
EOFwas not retried) was reproduced with the reviewer's exact command,python3 /tmp/issue-731-eof-repro.py(exit 101), fixed in e1e1028, and verified with the unchanged reproduction (pass). URL-prefixed EOF, bare EOF, and permanent HTTP 401 plus EOF remain incheck_reads_classify_transport_and_api_failures_without_hiding_diagnosticsas regression coverage. The Spec reviewer confirmed the fix.Security
None. Reviewed all six changed files in
ed01f04b742bd94ab8637478fa08bb51c50932b5...HEAD(HEADe1e1028) and supporting CI, GitHub, polling, process interruption and Delivery code. No introduced security findings. All 36 CI seam tests and 14 GitHub executable-seam tests passed in an offline, network-isolated, resource-limited local sandbox.Security review outcome
No unaddressed introduced findings.
Review coverage
Standards and Spec each read all six changed files, including the final patch. Unread changed files: none. Both reports, including each axis's final files-read list, are preserved in
.thirdshift-review-PelNE4/standards.mdand.thirdshift-review-PelNE4/spec.mdin the session worktree.Built with codex · gpt-6.1-sol · high