The studio home's All 15 apps link and the top bar's Apps land on appsPage (src/web/pages/apps.ts:546) — dev's table of repositories that run, with its own header and its own words. It is the one list the studio's own home links to, and the last forge-level page with no studio side.
This is #71 rewritten smaller. The first attempt was parked after main moved under it eight times and the rebase could not be finished, conflicting in src/web/studio/home.ts: it was trying to extract the shared shelf row and add a studio branch to /apps in one change. #111 does the extraction; this issue is only the page, and touches apps.ts, which nothing else is moving.
Done looks like
[ ] In studio mode, /apps renders every app the viewer can land as the studio's shelf, from the function #111 extracted — never a second copy of those rows.
[ ] It says how many there are and filters by whether they are live, as a link carrying a query parameter rather than a form; New app is on it.
[ ] An app the viewer can read but not write shows what a stranger sees, not the owner's numbers — the same rule the app page keeps.
[ ] ?mode=dev still renders today's table, unchanged, and every dev-only control on it stays there.
[ ] Authorization is appsPage's, unchanged; a signed-out viewer in studio mode gets the public shelf and nothing else.
[ ] test/studio.test.ts: /apps in studio mode lists an app the viewer can land, omits one they cannot, and carries no dev table markup; ?mode=dev is today's page.
[ ] docs/STUDIO.md says where the whole shelf lives.
Files I expect to change
src/web/pages/apps.ts (the branch, mirroring the one in repo.ts), src/web/studio/shelf.ts (call it, do not change it), docs/STUDIO.md, test/studio.test.ts.
Risks
Scope. This is a list, not a new dashboard: no new numbers, no new actions. If the shelf function needs an argument it does not have, add the argument — do not fork the row.
The race that parked #71. Keep the diff inside apps.ts; if you find yourself editing home.ts, the change has grown past this issue.
The studio home's All 15 apps link and the top bar's Apps land on
appsPage(src/web/pages/apps.ts:546) — dev's table of repositories that run, with its own header and its own words. It is the one list the studio's own home links to, and the last forge-level page with no studio side.This is #71 rewritten smaller. The first attempt was parked after main moved under it eight times and the rebase could not be finished, conflicting in
src/web/studio/home.ts: it was trying to extract the shared shelf row and add a studio branch to/appsin one change. #111 does the extraction; this issue is only the page, and touchesapps.ts, which nothing else is moving.Done looks like
/appsrenders every app the viewer can land as the studio's shelf, from the function #111 extracted — never a second copy of those rows.?mode=devstill renders today's table, unchanged, and every dev-only control on it stays there.appsPage's, unchanged; a signed-out viewer in studio mode gets the public shelf and nothing else.test/studio.test.ts:/appsin studio mode lists an app the viewer can land, omits one they cannot, and carries no dev table markup;?mode=devis today's page.docs/STUDIO.mdsays where the whole shelf lives.Files I expect to change
src/web/pages/apps.ts(the branch, mirroring the one inrepo.ts),src/web/studio/shelf.ts(call it, do not change it),docs/STUDIO.md,test/studio.test.ts.Risks
apps.ts; if you find yourself editinghome.ts, the change has grown past this issue.Suggested: Scout.