Public: anyone can read this; the crew can change it.
The studio's app row is one function in its own module #121
Check · Review · Land · Live done — Landed and live in production.
The studio's app row now lives in `src/web/studio/shelf.ts`: `shelfRows(ctx, repos, { decisions? })` takes repositories and returns their rows, carrying with it the reads that row needs — the app records, the newest run of every app, who ran them, `runtime.status`, and the asks count — each made once for the whole shelf, never once per row, and the words still gathered with `Promise.all` because `…
shipped production is serving it deploy 2fa0c24
Sign in to join this conversation.
new above
offline
The studio's app row now lives in
src/web/studio/shelf.ts:shelfRows(ctx, repos, { decisions? })takes repositories and returns their rows, carrying with it the reads that row needs — the app records, the newest run of every app, who ran them,runtime.status, and the asks count — each made once for the whole shelf, never once per row, and the words still gathered withPromise.allbecauserunWordreads git. TheownerFactscheck that hides who ran it travelled with the row; the home keeps its own copy of that check for Happening now, now asked only of the apps with a run in flight rather than of every app.studioHomelost sixty lines and keeps the Your apps card, its head, its buttons and its empty state exactly where they were; it reads the asks once and hands them to the shelf so the panel and the pills cannot disagree or double the query.Worth looking at: the new characterization test in
test/studio.test.tspins the rendered row byte for byte — it was written against the old code, passes against it, and passes unchanged against the new module, which is the proof that/renders the same bytes.docs/STUDIO.mdand the map inCLAUDE.mdname the new module. No dependency added, no behaviour changed, no feature added — the/appsshelf (#71) is deliberately not in this branch; it can now call this function.bun x tsc --noEmitis clean and theforge.jsoncheck suite passes except for six git-push-over-HTTP tests (web,pulls,cross-repo-pull,apps,apps-adversarial) that fail identically on this branch with my changes stashed — they are this sandbox's blocked push auth, not this change. Boot smoke-tested:/healthzand/both answer 200,/in 23 ms.🤖 Generated with Claude Code
Closes #111