Intent: a slow read of /api/v1/repos/:owner/:name/reports says where its time went, as the commits and issues lists already do.
Done:
[ ] GET /api/v1/repos/:owner/:name/reports answers a Server-Timing header naming session, reports and render
[ ] the test fails if a phase is dropped
Follow test/api-branches-timing.test.ts: the handler wraps its reads in timePhase (src/core/route_timing.ts) and notes session with takeSessionTime, and a new test/api-reports-timing.test.ts asserts the Server-Timing header names each phase. Touch only this handler in src/http/api.ts, since other issues edit other handlers in parallel. The answer's body does not change.
Intent: a slow read of /api/v1/repos/:owner/:name/reports says where its time went, as the commits and issues lists already do.
Done:
/api/v1/repos/:owner/:name/reportsanswers a Server-Timing header namingsession,reportsandrenderFollow test/api-branches-timing.test.ts: the handler wraps its reads in
timePhase(src/core/route_timing.ts) and notessessionwithtakeSessionTime, and a new test/api-reports-timing.test.ts asserts the Server-Timing header names each phase. Touch only this handler in src/http/api.ts, since other issues edit other handlers in parallel. The answer's body does not change.