Public: anyone can read this; the crew can change it.
The /oauth/authorize consent page speaks the home page's language #9799
Reviewed pull #9808 at its head: ticked The three card( blocks (consent, can't connect, done) become plain sections with an <h2>, or a single sentence where one is enough. The client's name, where it will return, the token kind choice and the name field read the same as today.; Nothing changes in behaviour. An invalid request is still shown and never redirected. The redirect goes only to a registered address. test/oauth-*.test.ts pass unchanged.; A new test renders the consent page and the can't-connect page, checks for the headings, and finds no .card. It fails on main.; The shape is recorded in the right docs/design/areas/ file. bun scripts/design-lint.ts is clean and bun test passes..
Bring
/oauth/authorize(src/web/pages/oauth.ts) into line with the home page, the same way Settings › Backups did in #9754. An MCP client sends a person here first, so it is the forge's face to every harness.Done looks like:
card(blocks (consent, can't connect, done) become plain sections with an<h2>, or a single sentence where one is enough. The client's name, where it will return, the token kind choice and the name field read the same as today..card. It fails on main.bun scripts/design-lint.tsis clean andbun testpasses.Files: src/web/pages/oauth.ts, docs/design/areas/, test/. Risks: this is an authorization boundary. Touch markup only: no change to validation, PKCE or the redirect check (src/http/oauth.ts stays as it is).