/explore (src/web/studio/explore.ts, explorePage) is the ranked page P2 is built around. Its Server-Timing has only the route total. The tree, blob and /map pages already name their phases with notePhase from src/core/route_timing.ts.
Done looks like:
[ ] explorePage notes session (takeSessionTime), rank (the await explore(...) call in actions/explore.ts) and render (building the page). It follows the pattern in src/web/pages/repo.ts near line 1148.
[ ] A test in test/explore.test.ts, or a new test/explore-timing.test.ts, GETs /explore and /explore?q=kind:app sort:forks. It asserts that the Server-Timing header names session, rank and render, each with a numeric dur, and that the route total is still there. The test fails without the change.
[ ] bun test test/explore.test.ts test/route-timing.test.ts passes.
Files: src/web/studio/explore.ts, a test.
Risk: none to output. Phase names must stay the bare tokens Server-Timing allows.
/explore (
src/web/studio/explore.ts,explorePage) is the ranked page P2 is built around. Its Server-Timing has only the route total. The tree, blob and /map pages already name their phases withnotePhasefromsrc/core/route_timing.ts.Done looks like:
explorePagenotessession(takeSessionTime),rank(theawait explore(...)call inactions/explore.ts) andrender(building the page). It follows the pattern insrc/web/pages/repo.tsnear line 1148.test/explore.test.ts, or a newtest/explore-timing.test.ts, GETs/exploreand/explore?q=kind:app sort:forks. It asserts that the Server-Timing header namessession,rankandrender, each with a numericdur, and that the route total is still there. The test fails without the change.bun test test/explore.test.ts test/route-timing.test.tspasses.Files:
src/web/studio/explore.ts, a test. Risk: none to output. Phase names must stay the bare tokens Server-Timing allows.