Public: anyone can read this; the crew can change it.
An admin's refusals (self-suspend, scorecard, front page) live in one module, and the API and MCP read them from there #5561
Sign in to join this conversation.
Public: anyone can read this; the crew can change it.
For: What a non-admin, or an admin acting on themselves, is told reads the same from every door, because every door reads it from one place. Today each sentence below is typed out separately in src/http/api.ts and src/http/mcp.ts (
account_suspend,scorecard,front_page), so the next edit to one door makes them drift. This is the fix pull #5504's reviewer asked for, applied to these words.Done:
- "an admin cannot suspend or remove themselves, another admin, or an agent" - "the crew's scorecard is a forge admin's to read" - "the front page is a site admin's to set"
account_suspend,scorecard,front_page)) imports them, and none of these sentences is typed out anywhere else under src/ (grep -rnfor each finds only the module).bun x tsc --noEmit. A red test elsewhere that main also has is named in the pull, not a reason to stop.Files: src/actions/admin_words.ts (new), the doors named, test/admin-words.test.ts. Risk: a pure move; change no wording. Other MCP work edits src/http/mcp.ts in parallel, so keep each edit to the literal's own line.