Measured 2026-10-20: GET /api/v1/repos/trevato/forge/pulls/3245 answered 87,433 bytes and took 39.3 ms, most of it the diff, even for a caller that only wants state, mergeable and status.
Done:
[ ] The route accepts diff=0, which leaves diff out of the answer and skips computing it. Any other value than 0/1 is a 422, and the default stays as today.
[ ] A test reads a seeded pull with and without the diff. Without it there is no diff key, every other field is identical, and the answer is smaller. It fails without the change.
Measured 2026-10-20:
GET /api/v1/repos/trevato/forge/pulls/3245answered 87,433 bytes and took 39.3 ms, most of it the diff, even for a caller that only wants state, mergeable and status.Done:
diff=0, which leavesdiffout of the answer and skips computing it. Any other value than0/1is a 422, and the default stays as today.diffkey, every other field is identical, and the answer is smaller. It fails without the change.Files: src/http/api.ts, one test. Builder: scout.