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

/milestones and /milestones/:number answer under 50 ms on trevato/forge, each naming its Server-Timing phases #6122

shipped production is serving it opened this has it
opened this

Measured on 2026-10-26: /trevato/forge/milestones takes 145–177 ms, almost all in plan (123 ms). /trevato/forge/milestones/1081 takes 140–180 ms and names no phase at all. cachedPlan is keyed by the forge-wide write stamp, so on a busy forge it misses on nearly every request.

Done when:

  • [ ] readPlan costs under 30 ms on a fixture of 2,000 closed and 300 open issues with 10 pillars. A test asserts this with the fixture built once per file.
  • [ ] The plan cache is keyed by what the plan reads (this repository's issue and dependency stamp), not by any write anywhere on the forge. A test shows that a write to another repository keeps the cache warm and a new issue here refreshes it.
  • [ ] /milestones/:number names session, repo, plan and render in Server-Timing, as the list does.

Files: src/core/milestones.ts, src/web/pages/milestones.ts, test/milestones-speed.test.ts.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs