Repository navigation
The Claim limit, and taking in-progress off closed issues - #297
Merged
Merged
Conversation
…imit open Claims, and takes in-progress off closed issues Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…label, one error for a whole number from 1 up, the Claim limit over 3 and a Sweep that can't list Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Conflicts: both sides added github::remove_label and the fake gh's label DELETE. The Claim keeps issue-284's has and spelling helpers, with the release and removal from issue-212; the README keeps When the Claim ends and points to the Sweep for an issue closed some other way. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…m limit before a search that says why it passed an issue over The Claim's is_on and its ready-for-agent test use github::has_label, the one home for a label whatever its case; the Sweep keeps its own spelling helper, since it needs the label as the closed issue spells it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…m limit beside a Pickup run's one Run notification The notification's checks stay first, then the pass is run with pickup.limit. A pass skipped for the Claim limit sends no notification: the case #298 left for this branch is tested here. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This was referenced Oct 1, 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
Closes #284
A Pickup run now makes the Sweep and holds the repository against its Claim limit before it looks for a Ready issue:
Seams tested at: the
thirdshift pickupcommand (tests/pickup_run.rs),thirdshift setup(tests/setup.rs),thirdshift help(tests/command_surface.rs), andUserConfig::parse(unit tests insrc/config.rs).Evidence
in-progress, the pass took Numbered Issue branches after a merged or closed PR #7 and started a session:cargo test: all 30 test binaries pass, 0 failed;cargo clippy --all-targets -- -D warningsandcargo fmt --checkclean. New end-to-end cases intests/pickup_run.rs:setup_writes_pickup_limit_at_3_with_its_comment_and_keeps_one_already_thereandhelp_documents_the_claim_limit_and_taking_in_progress_off_closed_issues.Unaddressed findings
Standards
3written inUserConfig::defaults,DEFAULTS, the help and the README: skipped. It is howspec.parallelalready writes its default, and a unit test holdsDEFAULTStoUserConfig::defaults. The part I agreed with is fixed: the help and README no longer state 3 as a fixed fact.claim::IN_PROGRESSmadepub: skipped.READY_FOR_AGENTispubfor the same reason, and the skip reason should spell the label from the one constant rather than a second literal.issues_labelled(.., state: &str): skipped. It is private and reached only throughopen_issues_labelledandclosed_issues_labelled; the reviewer recommended leaving it too.Spec
taking in-progress off #<n>, which is closedbefore a skipped pass's reason: skipped. A pass that changes labels on GitHub should say so, as the Claim does; Pickup runs: thirdshift takes ready-for-agent issues on its own #212 already allows lines before the reason ("after any passed-over lines"), and the reason is still the last line.1: skipped. The spec is silent; without a count the Claim limit can't be held, and it matches how a failed listing of Ready issues ends the pass.claimalready treats them so; one test covers it.whole_number_from_1shared withspec.parallel, and the fakegh'sfailstaking a longer prefix: skipped. Both serve the ticket: the first avoids a second copy of the parse, the second is what lets a test fail the Sweep without failing the Claim.--limit 1000: skipped. Immaterial at any realistic Claim limit, and the same cap the Ready issue listing has.Merge Danger
Door: two-way
Reverting restores the old pass. Labels the Sweep took off closed issues stay off, which is the state they should be in.
Blast Radius: Pickup runs
Only
thirdshift pickupchanges behaviour: with 3 or more openin-progressissues in a repository, scheduled passes now skip until one is closed orpickup.limitis raised, and each pass makes up to oneDELETEper closedin-progressissue. A User config with a[pickup]typo now stops every command that reads it, as other unknown keys do.gh issue listgets--statebefore--repo, with no change in what it returns.🤖 Generated with Claude Code