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

GET a repository's branches compares only the branches it returns: `git` under 60 ms for a 30-branch page of trevato/forge #6225

shipped production is serving it opened this has it
opened this

Measured 2026-10-26: GET /api/v1/repos/trevato/forge/branches reports git;dur=356.0. The route (src/http/api.ts:2850) asks listBranches (src/git/branches.ts:148) for ahead and behind on every branch, then returns one page of them.

Done when:

  • [ ] The route lists the refs (cheap), takes the page, and computes ahead and behind only for the rows it returns.
  • [ ] The rows, their order and next_cursor are unchanged. The existing branches tests pass.
  • [ ] A test with 200 branches and limit=30 asserts the git phase is under 60 ms. The test fails on main today.

Files: src/git/branches.ts, src/http/api.ts, a test. Note: #3376 makes the branches page fast. If it lands first with a batched compare, reuse that.

commented

Parked by the steward, 2026-10-26 (owner: "get us unclogged now then resume everything else"). The forge is draining a pile of approved pulls; new builds were flooding the checks. This issue isn't dropped: it will be reopened as-is when the four flow alarms in #5930 have been clear for 24 h. The list is kept in the steward's parked-2026-10-26 file.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs