Repository navigation
Go prototype: deliver Ticket runs and repair failing heads - #1849
Merged
Merged
Conversation
A passing check during the registration grace was treated as green, so Delivery marked the pull request ready before a check that registers a moment later could fail. Keep polling through that grace for an empty or passing listing.
A fast successful check was enough to mark the pull request ready while a workflow run on that same commit was still open, or had finished failed without publishing a job. Pending wins until that run completes, and a completed failure stays red.
A fork pull request with the same head branch name was treated as this repository's pull request, so Delivery and salvage stopped before pushing. Skip cross-repository results and open or reuse the same-repository pull request.
Combine Pickup reservations and atomic Claim label updates with Delivery and bounded Repairs. Pass the Repair limit through shared Ticket runs and retain one Harness fixture record per session. Cover Pickup Delivery, CI and conflict Repairs, salvage, and Repair limits with CLI regressions.
This was referenced Nov 6, 2026
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
Extend the isolated Go prototype through Delivery and bounded Repairs. Closes #1833.
Run outcomes, Claim transitions, Delivery states and CI states use typed enums;
go testrejects incomplete switches, including ones with a default.--repair-limitcan lower the maximum. The Rust runner's Check re-run and Abandoned job policies remain outside this prototype slice, as documented in its README.Evidence
Execution evidence
From
prototype/go, with/usr/local/go/binonPATH:go test ./... -run '^TestDeliveryPublishesGreenHead$' -count=1failed:Delivery did not publish a PR/pr.json: no such file or directory.After: the same command passed (
ok, 1.534s).go test ./... -count=1 -run 'TestSpecDelayedCIRegistration|TestSpecFailedPushStillDraftsExistingPR'failed both regressions:ready PR contains "broken"; delayed failing CI was never repairedandwant issue-7 -> main, draft=truewithisDraft:false(3.500s).After: the same command passed (
ok, 8.610s). Both tests are retained.go test ./... -count=1 -run '^TestSpecSalvageStillPushesWhenDraftFails$'failed:salvage did not push committed work after draft failed(3.163s).After: the same command passed (
ok, 4.056s); the test is retained.PATH=/usr/local/go/bin:$PATH scripts/affected-tests 6a7038d1passed the complete Go suite in 68.63s, including static Linux binary checks, all Delivery/Repair/salvage CLI scenarios and exhaustiveness positive/negative cases. This selects all changes after the initial implementation commit.python3 -m unittest discover -s scripts -p 'test_*.py': 37 passed.go vet ./...,gofmtcheck,git diff --check, andpython3 bundle-skills.py --check: passed.PATH=/usr/local/go/bin:$PATH scripts/affected-tests origin/issue-1830passed (0.36s, cached Go results). The current remote Base branch is1bbcc4fc; this PR's diff against it contains only Go paths.experiments::stop_and_resume_preserve_finished_trials_and_refuse_a_changed_barattests/experiments.rs:1682(retained Trial repository assertion). The exact local commandcargo test --test experiments stop_and_resume_preserve_finished_trials_and_refuse_a_changed_bar -- --exactpassed (10.21s).git diff --exit-code issue-1830...HEAD -- src tests Cargo.toml Cargo.lock rust-toolchain.toml .config/nextest.tomlconfirms those inputs are unchanged. The failed CI job was re-run; that retry remains pending. Go prototype, site and Console CI passed.Testing seams: the compiled CLI against temporary Git repositories and fake
gh/Harness executables; the automated exhaustiveness checker against production syntax and incomplete/complete enum fixtures. CLI assertions inspect published commits, PR state, Claim labels, output and exit status.Review coverage
Independent Standards and Spec reviews used
git diff issue-1830...HEAD, pinned to base305923a8e93a286b6fa546ddfc02fa30abc23f64, including the preceding #1832 work. Standards raised 1 finding; Spec raised 3. All four are addressed. Every behavioral finding was reproduced before fixing it, and its test is retained. Reports and final files-read lists are saved in.thirdshift-review-vbnuLi/{standards.md,spec.md,summary.json}in the worktree.prototype/go/review_spec_draft_failure_test.go, retained after its single coverage follow-up. Spec authored and exercised this regression.prototype/go/factory-skills.json, intentionally not read. Reviewers inspected the literal-snapshot generator, materializer, source declarations and representative unchangedskills/inputs; snapshot freshness and the live embedded-skills CLI test passed independently.Unaddressed findings
Security review outcome
No unaddressed introduced findings.
Merge Danger
Door: two-way
Revert the isolated prototype changes to roll back. Real prototype runs can push branches and change draft/readiness state on GitHub.
Blast Radius: prototype
Production Rust behavior is unchanged. The PR targets
issue-1830.Built with codex codex-cli 0.164.0 · gpt-6.1-sol · xhigh