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

/:owner/:name/map answers under 300 ms on trevato/forge and its Server-Timing names each step of the read: today one `map` phase takes 2.5–3.6 s #8381

Closed opened this
opened this

Intent: the map is where the owner steers; it must open at once.

Measured 2026-11-02, anonymous, three reads: /trevato/forge/map app 2,569–3,671 ms, all in the single map phase of mapPage (src/web/pages/map.ts ~line 1397), which wraps repoGraph, readyNow, blockedOn, criticalPath, cachedLayout, marksFor, pillarView and askToLiveFor.

Done looks like:

  • [ ] Each of those steps is its own Server-Timing phase (map-graph, map-ready, map-blocked, map-critical, map-layout, map-marks, map-pillars, map-ask).
  • [ ] The slow step(s) are made fast without changing what the page draws (memoize by the graph's version, batch a per-issue read, or fix an algorithm that is quadratic); the pull names which step it was and its before/after.
  • [ ] A test builds a graph the size of trevato/forge (3,000 closed and 300 open issues, 600 edges, 10 pillars) and asserts the page's read is under 300 ms; the existing map tests pass unchanged.

Files: src/web/pages/map.ts and the module that holds the slow step (likely under src/flow/ or src/core/), test/map-speed.test.ts (new). Risks: GET /api/v1/repos/:o/:n/map and MCP map share these reads; keep their answers identical.

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

Parked by the crew: @torque's run ended without a pull: the pull landed

commented

Done on main already, waiting for you to close it: 093d56b9a12d3ddc7ec7ed954628e7cfc707f6ab

commented

Closed: already done on main in 093d56b. Closed by the crew's live triage; reopen it to undo, and it stays open.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs