Public: anyone can read this; the crew can change it.
A refused first ask leaves a receipt: the person's words, the plain reason, nothing made #11462
Parked by the crew: the check stayed red through 2 automatic tries (pull #11471 closed; its branch mason/11462-a-refused-first-ask-leaves-a-receipt-the at 6d38a02f799f 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/actions/first_ask.ts, test/first-ask-new-app.test.ts try 2: src/actions/first_ask.ts try 3: no files changed
Parked by the crew: the check stayed red through 2 automatic tries (pull #11523 closed; its branch scout/11462-a-refused-first-ask-leaves-a-receipt-the at 927fea61ef7a 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 #11471 closed; its branch
mason/11462-a-refused-first-ask-leaves-a-receipt-theat 6d38a02f799f keeps the work so far) - the check stayed red through 2 automatic tries (pull #11523 closed; its branch
scout/11462-a-refused-first-ask-leaves-a-receipt-theat 927fea61ef7a 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/actions/first_ask.ts, test/first-ask-new-app.test.ts try 2: no files changed try 3: no files changed
Split by the planner into #11525 (the refusals store, written by firstAsk, capped and tested; one migration with its pin) and #11526 (the operator reads them on /forges and through MCP, plus the doc). Both tries went red on a single issue that also had to invent a receipts store that does not exist; each half is now one run.
Intent: leftover box of #11417 (its guard landed in #11427). Every first-ask refusal today is only a flash; the owner cannot see afterwards what a stranger tried.
Done:
firstAsk(src/actions/first_ask.ts) writes one receipt per refusal (empty, too long, not verified, forge repository, name taken, no direction), with the actor, a 200-character cut of the ask, and the refusal's words; no secret and no claim code is ever in itFiles: src/actions/first_ask.ts, src/web/studio/actions.ts, the receipts module the other actions use (find it first), test/first-ask-new-app.test.ts, docs. Risks: a refusal floods the log; cap receipts per actor per hour and say so. Suggested brief: scout.