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

The forge family's refusals live in one module, and the API and MCP read them from there #5562

shipped production is serving it opened this has it
opened this

For: What a repository outside the fork tree's rules 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 (propose_to_parent_forge, take_updates, upstream, trail as each applies), 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:

  • [ ] A new src/actions/family_words.ts exports these sentences (a const object or small functions, plain data):

- "nothing here is ahead of the parent forge" - "this repository follows nothing across forges" - "this repository was not migrated here"

  • [ ] Each door (src/http/api.ts and src/http/mcp.ts (propose_to_parent_forge, take_updates, upstream, trail as each applies)) imports them, and none of these sentences is typed out anywhere else under src/ (grep -rn for each finds only the module).
  • [ ] Answers are byte-for-byte unchanged: every existing test passes as it is.
  • [ ] A new test/family-words.test.ts triggers one of the refusals through each door and asserts each answers the module's sentence. It fails if a door retypes the words.
  • [ ] Before pushing, run test/family-words.test.ts, the tests of each door you touched and 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/family_words.ts (new), the doors named, test/family-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.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs