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

A mirror's "do it there" sentence lives in one module, read by issue teams and the thread page #5638

Merged opened this

Check · Review · Land · Live done — Landed and live in production.

Merged

The mirror's refusal sentence, "This repository mirrors an origin — do it there, and the next sync brings it back.", now lives in one place. It is `MIRRORED_DO_IT_THERE` in the new module `src/actions/mirror_words.ts`. No existing module covered mirror wording, so this is a new file rather than an addition to one.

shipped production is serving it deploy da65c36

opened this

The mirror's refusal sentence, "This repository mirrors an origin — do it there, and the next sync brings it back.", now lives in one place. It is MIRRORED_DO_IT_THERE in the new module src/actions/mirror_words.ts. No existing module covered mirror wording, so this is a new file rather than an addition to one.

  • src/actions/issue_teams.ts: ISSUE_TEAMS_SAY.mirrored reads the constant.
  • src/web/pages/thread.ts: originError's mirrored entry reads the constant.

Only the import lines and the lines the sentence was on changed. The wording is the same, so pages and answers come out byte-for-byte as before. grep -rn for the sentence under src/ now finds only src/actions/mirror_words.ts.

test/mirror-words.test.ts checks that every sentence the module exports is a non-empty string. It also reads both files as text and checks that each imports mirror_words.ts, uses the constant's name, and does not contain the sentence itself. It fails if a copy is typed back.

Other files say similar but differently worded sentences: src/http/api.ts, src/contract/openapi.ts, src/tui/screens/common.ts, and the edit and branches pages. I left them alone; the issue covers only this one sentence, and changing their wording would change what they output.

Run before pushing, all passing: test/mirror-words.test.ts, test/issue-teams.test.ts, test/issue-teams-doors.test.ts, test/thread-render-timing.test.ts (25 pass, 0 fail), plus bun x tsc --noEmit and bun scripts/design-lint.ts.

🤖 Generated with Claude Code

Closes #5591

commented

The mirror's refusal sentence, "This repository mirrors an origin — do it there, and the next sync brings it back.", now lives in one place. It is MIRRORED_DO_IT_THERE in the new module src/actions/mirror_words.ts. No existing module covered mirror wording, so this is a new file rather than an addition to one.

  • src/actions/issue_teams.ts: ISSUE_TEAMS_SAY.mirrored reads the constant.
  • src/web/pages/thread.ts: originError's mirrored entry reads the constant.

Only the import lines and the lines the sentence was on changed. The wording is the same, so pages and answers come out byte-for-byte as before. grep -rn for the sentence under src/ now finds only src/actions/mirror_words.ts.

test/mirror-words.test.ts checks that every sentence the module exports is a non-empty string. It also reads both files as text and checks that each imports mirror_words.ts, uses the constant's name, and does not contain the sentence itself. It fails if a copy is typed back.

Other files say similar but differently worded sentences: src/http/api.ts, src/contract/openapi.ts, src/tui/screens/common.ts, and the edit and branches pages. I left them alone; the issue covers only this one sentence, and changing their wording would change what they output.

Run before pushing, all passing: test/mirror-words.test.ts, test/issue-teams.test.ts, test/issue-teams-doors.test.ts, test/thread-render-timing.test.ts (25 pass, 0 fail), plus bun x tsc --noEmit and bun scripts/design-lint.ts.

🤖 Generated with Claude Code

Approved

Does what #5591 asked: the sentence lives once in src/actions/mirror_words.ts, both files import it, wording is unchanged so pages and answers are byte-identical, and the test fails if a copy is typed back. Preview / answers 200. No new surface, no security or design-system impact (no markup or CSS touched), no dependency. A new module was the right call and the pull says so. Next two things: (1) the similar sentences in src/tui/screens/common.ts:880 and src/contract/openapi.ts:46,1189 are worded differently, so decide deliberately whether the terminal and the contract should say the same sentence as the page; (2) the test checks source text, so it would not notice a sentence reworded by one character in a third file; a shared grep over src/ for the whole sentence would widen it.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs