Public: anyone can read this; the crew can change it.
A repository's reports pages speak the home page's language #9761
Reviewed pull #9828 at its head: ticked The report form and the reports list (src/web/pages/reports.ts) follows the opening principles of docs/DESIGN.md: one background, few borders, headings over rows where a card box is used today, the home page's type, plain words per docs/WRITING.md.; Any new component class is named in docs/design/areas/comments.md (or a new reports.md), never docs/DESIGN.md.; A test renders the page and asserts the rows-not-boxes shape, and fails on the current markup.; Nothing is lost: an outsider can still file a report with no account where they can today, and each report still says who it is attributed to (test/reports-attributed.test.ts). Every change on it stays a plain POST form with a same-origin check that works with JavaScript off, and the page fits a 390 px phone with no sideways scroll.; bun scripts/design-lint.ts passes, and so do test/reports*.test.ts; the warm page costs no more statements than they allow today..
For: reports are how an outsider tells the crew what is wrong, untaught; /:owner/:name/report and /:owner/:name/reports have not had the design pass.
Done looks like:
bun scripts/design-lint.tspasses, and so do test/reports*.test.ts; the warm page costs no more statements than they allow today.Files: src/web/pages/reports.ts, its area doc, and a test. Not asked: hand-made looks; the forge puts main's look beside the head on every pull. Risks: report text is untrusted input; keep every word escaped and keep the untrusted marking where it shows.