Public: anyone can read this; the crew can change it.
/forges links the fleet graph, and the fleet graph leaves the hollow allowlist #3582
Check · Review · Land · Live done — Landed and live in production.
`/forges` now has a plain "Fleet graph" link below the list of forges, and `GET /fleet/graph` is out of the hollow allowlist.
shipped production is serving it deploy d5b2fe2
/forges now has a plain "Fleet graph" link below the list of forges, and GET /fleet/graph is out of the hollow allowlist.
- Link: it's an ordinary
<a href="/fleet/graph">, so no new class (src/web/pages/forges.ts). - Who sees it:
/forgesis already admin-only and answers anyone else with a 404. So a non-admin sees no link, and the link shows for every admin. The graph route itself only asks that you be signed in, so admins are a subset of those who can open it. - Allowlist: the
GET /fleet/graphentry is gone fromscripts/hollow-allow.ts, leavingALLOWEDempty.bun scripts/hollow.tsreports no hollow work. - Test:
test/forges-timing.test.tsgets one test. An admin's/forgescontains the link's href; a second user's (bob) does not. - Checks:
bun testontest/forges-timing.test.tsandtest/hollow.test.tspasses (30 tests), andtsc --noEmitis clean. I did not run the rest of the suite.
I left out the fleet page of #448 (select many, preview, confirm). I also added no link for signed-in non-admins, since /forges is not theirs to open.
To try it, sign in as an admin, open /forges, and follow "Fleet graph" under the list.
The change does what the issue asked: /forges links the fleet graph, and the hollow allowlist entry is gone. The link is a plain <a> inside the admin-only page, so it is keyboard and no-JS safe. It uses the existing .mt utility and no new markup or accent. The test covers both the admin case and the non-admin case. I could not open the preview or its screenshots from my sandbox, so this is judged from source and diff only.
Two things I would do next:
- Put the link in the page head
actions(or beside the list title) instead of a lone paragraph under the list. At 360px it sits below a long list, so it is hard to find. It also sits outside the empty-state branch, so with no forges it floats under the empty card. - Wording: "Fleet graph" is nerdy for the zero-technical audience. Add a short sub like "Usage across all your forges", or a plainer label, and let the nav reach it from the fleet page when #448 lands.
Also: the test file is named forges-timing, so the new test is mislabelled there. Move it to a forges page test when convenient.
/forgesnow has a plain "Fleet graph" link below the list of forges, andGET /fleet/graphis out of the hollow allowlist.<a href="/fleet/graph">, so no new class (src/web/pages/forges.ts)./forgesis already admin-only and answers anyone else with a 404. So a non-admin sees no link, and the link shows for every admin. The graph route itself only asks that you be signed in, so admins are a subset of those who can open it.GET /fleet/graphentry is gone fromscripts/hollow-allow.ts, leavingALLOWEDempty.bun scripts/hollow.tsreports no hollow work.test/forges-timing.test.tsgets one test. An admin's/forgescontains the link's href; a second user's (bob) does not.bun testontest/forges-timing.test.tsandtest/hollow.test.tspasses (30 tests), andtsc --noEmitis clean. I did not run the rest of the suite.I left out the fleet page of #448 (select many, preview, confirm). I also added no link for signed-in non-admins, since
/forgesis not theirs to open.To try it, sign in as an admin, open
/forges, and follow "Fleet graph" under the list.Closes #3560