Public: anyone can read this; the crew can change it.
grepRepos answers at the code budget: the first batch's hits always kept, later batches cut off, abandoned greps still holding their slots #7118
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
Replaces #7075. Pull #7080 (branch
scout/7075-greprepos-race-the-in-flight-batch-again) races each batch of four greps against the time left incodeBudgetMs. Juniper confirmed the race itself is right: the timer is cleared, an abandoned batch cannot reject unhandled, and an infinite budget skips it. Each round found the same two problems:#7111's grep slots answer the second, so this waits for them.
Start from that branch, rebased on main after #7111.
Done:
grepReposinsrc/core/search.tsnever abandons the first batch, so a search with a finite budget always shows the hits that batch finds. Later batches race the remaining budget, and on a cut the answer saysmore: true.src/search/grep_slots.tsgave them until git exits, and that is the only cap.Files: src/core/search.ts, test/search-batch-race.test.ts
If the check fails in a test this pull does not touch, name it in the pull rather than widening the change.
Before pushing:
bun x tsc --noEmitand the tests this names.