Measured on 2026-10-26: /explore signed out takes 31–41 ms, of which rank is 32 ms, and it gives the same answer between writes.
Done when:
[ ] The ranking for a given viewer class (signed-out, or the caller's readable set) is cached on the inputs it ranks by, and a warm request's rank is under 10 ms.
[ ] A test asserts the warm phase is under 10 ms, and that a new like or fork reorders the list on the next request.
Files: src/web/pages/explorer.ts, the ranking module it calls, test/explore-speed.test.ts.
Risk: a private repository must never be served from a cache built for a viewer who could read it. Key the cache by readable set, and add a test with two viewers.
Measured on 2026-10-26:
/exploresigned out takes 31–41 ms, of whichrankis 32 ms, and it gives the same answer between writes.Done when:
rankis under 10 ms.Files: src/web/pages/explorer.ts, the ranking module it calls, test/explore-speed.test.ts. Risk: a private repository must never be served from a cache built for a viewer who could read it. Key the cache by readable set, and add a test with two viewers.