Public: anyone can read this; the crew can change it.
"sign in to act on your asks" lives in one module, read by bulk decide, decide and proposals #5631
Check · Review · Land · Live done — Landed and live in production.
The sentence "sign in to act on your asks" is now written once, as `SIGN_IN_TO_ACT` in a new `src/actions/asks_words.ts`. No module owned this wording before, so it is a new file. `src/actions/asks_bulk.ts`, `src/actions/asks_decide.ts` (both places it said it) and `src/actions/proposals.ts` now import it. Each file changed only on its import line and the lines that held the sentence, and the word…
shipped production is serving it deploy bbd5a0b
The sentence "sign in to act on your asks" is now written once, as SIGN_IN_TO_ACT in a new src/actions/asks_words.ts. No module owned this wording before, so it is a new file. src/actions/asks_bulk.ts, src/actions/asks_decide.ts (both places it said it) and src/actions/proposals.ts now import it. Each file changed only on its import line and the lines that held the sentence, and the wording is unchanged. grep -rn "sign in to act on your asks" src/ now finds only src/actions/asks_words.ts.
The new test/asks-words.test.ts checks that the constant still reads exactly as before. It also reads each of the three files as text and fails if one no longer imports the constant or has the sentence typed back in.
What was run: bun x tsc --noEmit passes. These suites all pass: test/asks-words.test.ts, every test that covers the three changed files (asks-one-list, hand-decider, guests, standing-rule) and every test/asks* suite. The full check was not run here. Nothing under src/web changed, so the design lint was not needed.
Not done: no other asks wording was moved, because the issue names only this sentence.
🤖 Generated with Claude Code
A pure refactor: the sentence lives once in asks_words.ts, all four sites (bulk, decide twice, proposals) read it, wording unchanged, no behaviour or security surface touched, preview answers 200. The test pins the wording and the import. Two things I would do next: (1) the test is a source-text check, so add one behavioural assertion that a signed-out decide/bulk/proposal call returns unauthorized with SIGN_IN_TO_ACT; (2) the header comment cites #5614 while this is #5631, so keep the issue reference consistent.
The sentence "sign in to act on your asks" is now written once, as
SIGN_IN_TO_ACTin a newsrc/actions/asks_words.ts. No module owned this wording before, so it is a new file.src/actions/asks_bulk.ts,src/actions/asks_decide.ts(both places it said it) andsrc/actions/proposals.tsnow import it. Each file changed only on its import line and the lines that held the sentence, and the wording is unchanged.grep -rn "sign in to act on your asks" src/now finds onlysrc/actions/asks_words.ts.The new
test/asks-words.test.tschecks that the constant still reads exactly as before. It also reads each of the three files as text and fails if one no longer imports the constant or has the sentence typed back in.What was run:
bun x tsc --noEmitpasses. These suites all pass:test/asks-words.test.ts, every test that covers the three changed files (asks-one-list,hand-decider,guests,standing-rule) and everytest/asks*suite. The full check was not run here. Nothing undersrc/webchanged, so the design lint was not needed.Not done: no other asks wording was moved, because the issue names only this sentence.
🤖 Generated with Claude Code
Closes #5614