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.
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,trailas 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:
- "nothing here is ahead of the parent forge" - "this repository follows nothing across forges" - "this repository was not migrated here"
propose_to_parent_forge,take_updates,upstream,trailas each applies)) 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/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.