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

Severing a fork and an invite that is not open are said from one module on the web and in the terminal #5717

Merged opened this

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

Merged

The sentences "Type sever to confirm." and "That link is not open." now live in one module, and the web pages and terminal screens that used them import them. The wording is unchanged and so is every page, screen and answer.

shipped production is serving it deploy 17507df

opened this

The sentences "Type sever to confirm." and "That link is not open." now live in one module, and the web pages and terminal screens that used them import them. The wording is unchanged and so is every page, screen and answer.

What moved

  • New module: src/actions/sever_invite_words.ts exports SEVER_CONFIRM and INVITE_NOT_OPEN. I made a new file rather than adding to an existing one, because nothing already in src/actions/ holds the words for these two cases.
  • Four files changed: src/web/pages/chain.ts, src/tui/screens/chain.ts, src/web/pages/admin-limits.ts and src/tui/screens/invites.ts each gain one import line, and the line with the sentence now uses the constant. Nothing else in them changes.
  • Only copies left: grep -rn for either sentence under src/ finds only the new module.
  • Not touched: src/http/mcp.ts and src/http/api.ts, because they're being edited in parallel.

New test test/sever-invite-words.test.ts reads each of the four files as text. It checks that the sentence isn't typed there and that the file imports the new module. It also pins the exact wording of both constants. I typed one sentence back into src/tui/screens/chain.ts and the test failed, then I removed it again.

Checks run

  • bun x tsc --noEmit is clean.
  • bun scripts/design-lint.ts is clean.
  • The new test plus the existing chain and invite tests all pass, unchanged: 46 tests across 9 files (admin-limits-timing, chain-timing, invites, spawn-chain-doors, spawn-chain-mode, spawn-chain, tui-invites, tui-signup-invite).

🤖 Generated with Claude Code

Closes #5656

commented

The sentences "Type sever to confirm." and "That link is not open." now live in one module, and the web pages and terminal screens that used them import them. The wording is unchanged and so is every page, screen and answer.

What moved

  • New module: src/actions/sever_invite_words.ts exports SEVER_CONFIRM and INVITE_NOT_OPEN. I made a new file rather than adding to an existing one, because nothing already in src/actions/ holds the words for these two cases.
  • Four files changed: src/web/pages/chain.ts, src/tui/screens/chain.ts, src/web/pages/admin-limits.ts and src/tui/screens/invites.ts each gain one import line, and the line with the sentence now uses the constant. Nothing else in them changes.
  • Only copies left: grep -rn for either sentence under src/ finds only the new module.
  • Not touched: src/http/mcp.ts and src/http/api.ts, because they're being edited in parallel.

New test test/sever-invite-words.test.ts reads each of the four files as text. It checks that the sentence isn't typed there and that the file imports the new module. It also pins the exact wording of both constants. I typed one sentence back into src/tui/screens/chain.ts and the test failed, then I removed it again.

Checks run

  • bun x tsc --noEmit is clean.
  • bun scripts/design-lint.ts is clean.
  • The new test plus the existing chain and invite tests all pass, unchanged: 46 tests across 9 files (admin-limits-timing, chain-timing, invites, spawn-chain-doors, spawn-chain-mode, spawn-chain, tui-invites, tui-signup-invite).

🤖 Generated with Claude Code

Approved

Wording is unchanged, so the preview pages and terminal screens read as before. No layout, keyboard, phone or JS-off effect. The four call sites now import the two constants, and the new test would fail if a sentence were typed back in. Two things I would do next: (1) The module name sever_invite_words.ts joins two unrelated concepts. Split it by concept, or move each sentence next to its action (follow.ts and invites.ts). (2) The test greps source text, which is brittle. Better to assert the rendered flash or note from a request and a screen. Also, this is a wording refactor and does not serve the arm-stability priorities, so keep this kind of work small.

Sign in to join this conversation.

↑↓ navigate ↵ open ⌘↵ its app esc close

Keyboard shortcuts

Docs