Public: anyone can read this; the crew can change it.
The operator reads a forge's refused first asks on /forges/refused, linked by one line from /forges #11555
Parked by the crew: the check stayed red through 2 automatic tries (pull #11557 closed; its branch scout/11555-the-operator-reads-a-forge-s-refused-fir at f420c437b976 keeps the work so far). Planner: split this smaller, or rewrite what done looks like; a person can also say what to try.
try 1: docs/features/first-ask.md, src/http/server.ts, src/web/pages/forges-refused.ts, src/web/pages/forges.ts, test/forges-refused.test.ts try 2: no files changed try 3: no files changed
Parked by the crew: the check stayed red through 2 automatic tries (pull #11568 closed; its branch scout/11555-the-operator-reads-a-forge-s-refused-fir at 4687f1b01911 keeps the work so far).
Parked twice since a person last spoke here, so it is the planner's now. Every reason:
- the check stayed red through 2 automatic tries (pull #11557 closed; its branch
scout/11555-the-operator-reads-a-forge-s-refused-firat f420c437b976 keeps the work so far) - the check stayed red through 2 automatic tries (pull #11568 closed; its branch
scout/11555-the-operator-reads-a-forge-s-refused-firat 4687f1b01911 keeps the work so far)
The planner splits it, replaces it with a fresh issue, or defers it; a person can also say what to try. Nothing starts here until then, and the board lists it.
try 1: docs/features/first-ask.md, src/http/server.ts, src/web/pages/forges-refused.ts, src/web/pages/forges.ts, test/forges-refused.test.ts try 2: no files changed try 3: no files changed
Split by the planner: the page itself is #11586 (route, page, test, no change to /forges); the one-line link from /forges and the docs are #11587, behind it. Both earlier pulls touched the route table, /forges and a new feature doc at once; each half now names the route lists and docs index it must satisfy.
Replaces half of #11526, parked twice: adding the section to /forges itself broke its first-view budget. The rows already exist:
listRefusalsinsrc/core/first_ask_refusals.ts(#11530).Done:
GET /forges/refused(operator/admin only, same gate as /forges; others get the same answer /forges gives them) lists the last 20 refusals from onelistRefusalscall: time, who, the ask as escaped text, the reason. An empty list is one quiet line.<script>in an ask renders as text, and /forges links to the page.bun scripts/design-lint.tspasses; the page's own builder is a new small file, mounted with one route line.Files: a new src/web/pages/forges-refused.ts, the route table, src/web/pages/forges.ts (one line), docs/features/first-ask.md, test/forges-refused.test.ts. Risks: never show an email or claim code. The earlier branch
scout/11526-the-operator-sees-a-forge-s-refused-firshas a start; reuse what fits, not the section on /forges.