Skip to content

feat: a bumped pull request is prepared at once, alongside whatever the daemon is already preparing - #103

Merged
fiddur merged 1 commit into
developfrom
feat/bump-prepares-now
Sep 8, 2026
Merged

feat: a bumped pull request is prepared at once, alongside whatever the daemon is already preparing#103
fiddur merged 1 commit into
developfrom
feat/bump-prepares-now

Conversation

@fiddur

@fiddur fiddur commented Sep 8, 2026

Copy link
Copy Markdown
Collaborator

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 same reconcile (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.
  • prepareWorktree fetches into refs/diffity/pull/<n> and refs/diffity/base/<branch> and reads those back, rather than FETCH_HEAD, so two preparations can share one clone.
  • An in-flight set, owned by the daemon and shared with the tick, keeps a row an agent is on from being re-queued or given a second agent.
  • Shutdown stops every server and agent still running (Inflight holds a set), not one of each.
  • The queue card reads preparing (or preparing · bumped) and pulses while it runs, with the animation behind prefers-reduced-motion: no-preference; a bumped row reads bumped only 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, runTick leaving an in-flight row alone, each prepareBumped branch, 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

…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
@fiddur
fiddur marked this pull request as ready for review September 8, 2026 12:05
@fiddur
fiddur merged commit 7a17a92 into develop Sep 8, 2026
2 checks passed
@fiddur
fiddur deleted the feat/bump-prepares-now branch September 8, 2026 12:05
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.

1 participant