feat: a bumped pull request is prepared at once, alongside whatever the daemon is already preparing - #103
Merged
Merged
Conversation
…he daemon is already preparing The ↑ marked the row and asked for a tick, so a bump behind a running preparation waited out the whole tick — five to thirty minutes of another pull request's agent — before its own started. It now prepares that one straight away, beside the tick's own work: the fetches land in refs of their own so two preparations can share one clone, an in-flight set keeps the tick and the bumps from touching a row an agent is on, and the shutdown stops every server and agent still running rather than one of each. The queue card says `preparing` and pulses while it runs, instead of still reading as bumped. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Bwp5QefjsjMFeq6CK6cT6w
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.
What
The ↑ on a queue row now prepares that pull request immediately, in parallel with whatever the daemon is already preparing, instead of marking it and asking for a tick.
prepareBumped(tick.ts) does one row's work without a poll:viewPr,observe, the samereconcile(so a draft or one merged since it was queued is not handed an agent), then the preparation — respecting a pause and an already-running preparation for that row.prepareWorktreefetches intorefs/diffity/pull/<n>andrefs/diffity/base/<branch>and reads those back, rather thanFETCH_HEAD, so two preparations can share one clone.Inflightholds a set), not one of each.preparing(orpreparing · bumped) and pulses while it runs, with the animation behindprefers-reduced-motion: no-preference; a bumped row readsbumpedonly while it is still waiting.Why
A preparation is 5–30 minutes of agent. With
onBump= a tick, a bump behind a running tick waited for the whole tick before its own row started — the opposite of what ↑ means.Verified
npm run build,npm run typecheck,npm test— 588 cli tests (64 files), 433 in the other packages, 38 script tests, all green; the concurrency-sensitive ones repeated three times. New tests cover two concurrent worktree cuts from one clone,runTickleaving an in-flight row alone, eachprepareBumpedbranch, a bumped preparation starting while a tick's own is pending on a deferred promise, and a shutdown stopping several in-flight prepares.🤖 Generated with Claude Code
https://claude.ai/code/session_01Bwp5QefjsjMFeq6CK6cT6w