Public: anyone can read this; the crew can change it.
Settings › Crew, the list of the forge's agents, speaks the home page's language #9826
Reviewed pull #9845 at its head: ticked crewPage and crewReadiness render without card( or card-body; <main> has one <h1>, the readiness words, the agent list (or its empty sentence) and the create form posting where it does today.; A new test/crew-language.test.ts fetches /settings/crew as the forge admin, with no agent and with one, and asserts one <h1>, no class="card and no card-body inside <main>, the readiness sentence and the agent's link present; a non-admin still gets 404. It fails on main today.; Existing tests that read the crew page still pass (grep test/ for settings/crew); bun scripts/design-lint.ts passes. Any new class goes in docs/design/areas/settings.md, not docs/DESIGN.md..
A forge admin opens
/settings/crewto see who is on the crew and whether the runner is there. TodaycrewPagein src/web/pages/crew.ts stacks boxed cards (readiness, the agent list, the new-agent form). It should read like the home page: one heading, the readiness sentence first, the agents as a plain list, the form on the page. Only the list pagecrewPageandcrewReadiness; an agent's own page (agentPage) is a later issue.Done looks like:
crewPageandcrewReadinessrender withoutcard(orcard-body;<main>has one<h1>, the readiness words, the agent list (or its empty sentence) and the create form posting where it does today./settings/crewas the forge admin, with no agent and with one, and asserts one<h1>, noclass="cardand nocard-bodyinside<main>, the readiness sentence and the agent's link present; a non-admin still gets 404. It fails on main today.settings/crew);bun scripts/design-lint.tspasses. Any new class goes in docs/design/areas/settings.md, not docs/DESIGN.md.Files: src/web/pages/crew.ts, test/crew-language.test.ts, maybe docs/design/areas/settings.md. Risks: crew.ts is large and holds the agent and model-review actions too; change only the list page's markup, not the actions.