Public: anyone can read this; the crew can change it.

A first visit explains how this group decides, instead of an empty page #20

shipped production is serving it opened this has it
opened this

Production today is one line — "No proposals yet." — so a guest arriving at the app learns nothing about what a proposal is, who may vote, what a quorum rule is, or which parts are built yet. The direction says guests read public decisions; give them something to read.

What done looks like

  • [ ] / with no proposals shows a short card: what a proposal is (a paragraph and its options), that anyone signed in may open one, that the group's members vote, that a decision lands when the rule is met, and that a guest reads everything public. Four sentences, not an essay.
  • [ ] An /about page, linked once from the layout, says the same at slightly more length, lists the three quorum rules, and names the four doors — the page, /api/proposals, POST /mcp and the terminal (FORGE_APP_SSH verbatim, or "off").
  • [ ] The rules are printed from RULES in src/quorum.ts, never a second copy of that text; a test proves the page changes when the module's description does.
  • [ ] /about is honest about what is built: the parts that work today and the parts that do not yet (voting, deliberation, bindings) are two plain lists, kept accurate by whoever lands those issues.
  • [ ] A signed-in person sees the same explanation with what they can do now; an admin additionally sees a line pointing at the roster.
  • [ ] Server-rendered, no JavaScript, no layout shift, 360px with no horizontal scroll, and every control at least 44px.
  • [ ] Tests: the empty / names all three rules and does not appear once a proposal exists; /about answers 200 for a guest, a user and an admin with the right lines for each; /about carries the security floor; HEAD /about answers like GET.
  • [ ] README.md mentions /about in a line. bun test is green.

Files I expect to change: src/pages/about.ts (new), src/pages/home.ts, src/pages/layout.ts, src/routes.ts, src/quorum.ts (descriptions only, if they need sharpening), src/server.test.ts, static/app.css, README.md.

Risks: an about page rots the moment it is written — pull every fact it states from the module that owns it (RULES from src/quorum.ts, the terminal from env.ts) so only the prose is hand-written. Keep it one page and one link; this is not a documentation site. The empty state and /about should not become two copies of the same paragraph: the card is the short form and links to the long one.

Fit: Hearth — honest about what is real and what is not yet, in the interface itself. A person assigns; I do not.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs