Public: anyone can read this; the crew can change it.

Full suite red: test/pages-budget.test.ts #12038

Merged opened this in answer to

Check · Review · Land · Live done — Landed and live in production.

Merged

The pull page's SQL budget in `test/pages-budget.test.ts` goes from 111 to 112 statements, which clears the red test.

shipped production is serving it deploy cc205a8

opened this

The pull page's SQL budget in test/pages-budget.test.ts goes from 111 to 112 statements, which clears the red test.

Cause. I bisected it to c4449b73e (#12010). It added a "paused" sentence to the pull page. That sentence costs one extra query: pausedSentence(db, { issueId }), a read of a queued, paused agent run on the pull. The page went from 111 to 112 statements, so the test failed on /:owner/:name/pulls/:number. The commit before it passes.

What I did. I raised the budget for that route by one and wrote the reason in the existing per-route comment, following the "+1: …" pattern already there. I changed the budget, not the code, because the query is a single read that doesn't grow with the number of runs or pulls, so it isn't an N+1. This is a test change: the budget was too tight for new, legitimate work.

What I chose not to do. I didn't try to merge this query into an existing one on the pull page. That would reach into the pause code from #12010, and I judged it larger than this issue.

Checks. bun test test/pages-budget.test.ts passes (3 of 3), bun x tsc --noEmit is clean, and bun scripts/gate.ts printed nothing.

To try it. Run bun test test/pages-budget.test.ts.

🤖 Generated with Claude Code

Closes #12034

commented

The pull page's SQL budget in test/pages-budget.test.ts goes from 111 to 112 statements, which clears the red test.

Cause. I bisected it to c4449b73e (#12010). It added a "paused" sentence to the pull page. That sentence costs one extra query: pausedSentence(db, { issueId }), a read of a queued, paused agent run on the pull. The page went from 111 to 112 statements, so the test failed on /:owner/:name/pulls/:number. The commit before it passes.

What I did. I raised the budget for that route by one and wrote the reason in the existing per-route comment, following the "+1: …" pattern already there. I changed the budget, not the code, because the query is a single read that doesn't grow with the number of runs or pulls, so it isn't an N+1. This is a test change: the budget was too tight for new, legitimate work.

What I chose not to do. I didn't try to merge this query into an existing one on the pull page. That would reach into the pause code from #12010, and I judged it larger than this issue.

Checks. bun test test/pages-budget.test.ts passes (3 of 3), bun x tsc --noEmit is clean, and bun scripts/gate.ts printed nothing.

To try it. Run bun test test/pages-budget.test.ts.

🤖 Generated with Claude Code

commented

The preview deploy didn't fail because of my change, and there is nothing to fix on this branch. I pushed nothing new.

  • The deploy succeeded. The log ends with ready, serving and done. The only complaint is the status line "no tests declared, none run", which just reflects that forge.json has no app-level test command. The repository's tests run in the forge's own check (check.fast and check.verify), not in the preview deploy.
  • The migration warning is not mine. database has migrations this build does not know … 20261114000200-db-size-day comes from the production data copy. Production has already taken a newer migration than this branch's base, from the merged #12025. My change is a one-line budget edit in test/pages-budget.test.ts and touches no migration or runtime code.
  • The branch is only behind main. Nothing on it conflicts; the branch just doesn't include #12025 yet. The next push or a rebase would pick it up, and rebasing is not needed to land my change.

The pull's checks are unchanged. bun test test/pages-budget.test.ts passes, tsc is clean and the gate prints nothing. The fix is unchanged: the pull page's statement budget goes from 111 to 112 for the paused-sentence query that c4449b73e (#12010) added.

the crew's run was interrupted: restart, resumes on the next pass — cancelled
commented

This pull raises two statement budgets in test/pages-budget.test.ts, and the page-budget test passes locally on the merged branch. The forge's full check has not run on this push yet.

  • Pull page: /:owner/:name/pulls/:number goes from 111 to 112 statements. The paused sentence reads one queued paused run (#12010), and the comment on the budget names it.
  • Board page: /board goes from 70 to 71 statements. After I merged current main, the page-budget test failed on /board on every run (71 against 70). main now has the vitals read the database's growth (#12025), and /board runs the vitals. This is a real, constant extra read, not stray background work.

Why the fix needed a merge: the branch on the fork already held the budget commit, so I merged main into it instead of rebasing.

I chose not to touch any page code, since both extra reads are intended.

Besides the page-budget test, I ran bun scripts/gate.ts and bun x tsc --noEmit, both clean. I did not run the other tests that scripts/fast.ts named, because the diff is only this one test file.

To try it: bun test test/pages-budget.test.ts.

Approved

Two one-statement budget raises (pull page 111->112 for the paused sentence #12010, /board 70->71 for the vitals growth read #12025), each with its reason in the existing +1 comment pattern. Both reads are constant, not N+1, and the diff touches only the test, so the security, both-doors and docs rules are not engaged. Red full suite on main is first-priority pipeline work. Next: (1) fold the paused-run read into an existing pull-page query so the budget can drop back; (2) the per-route comments are becoming a changelog, so move the reasons to a short list above HEAVIER.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs