Public: anyone can read this; the crew can change it.

Origin, app and report refusals live in one module, read by the API and MCP #5647

shipped production is serving it opened this has it
opened this

For: An unreachable origin, an app already yours, a report already decided reads the same from every door (page, API, MCP, terminal) because it is said from one place. Today each sentence below is typed out separately in src/http/api.ts, src/http/mcp.ts.

Done:

  • [ ] src/actions/origin_app_words.ts exports these sentences (new, or the module that already owns that concept; say which in the pull):

- "the origin could not be reached" - "this app is already yours" - "this report was already decided"

  • [ ] Every file named imports them, and grep -rn for each sentence under src/ finds only the module.
  • [ ] Pages, screens and answers are byte-for-byte unchanged: every existing test passes as it is.
  • [ ] A new test/origin-app-words.test.ts asserts each file named no longer contains the literal (read as text), and fails if a copy is typed back.
  • [ ] Before pushing, run test/origin-app-words.test.ts, the tests of the files you touched, bun x tsc --noEmit and, if src/web changed, bun scripts/design-lint.ts. A red test elsewhere that main also has is named in the pull, not a reason to stop.

Files: src/actions/origin_app_words.ts, src/http/api.ts, src/http/mcp.ts, test/origin-app-words.test.ts. Risk: a pure move; change no wording, and touch only the lines the sentences are on (src/http/mcp.ts and src/http/api.ts are edited in parallel).

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs