chore: sweep em dashes from our own source and README #13

Merged
adrianbonpin merged 1 commits from chore/no-em-dashes into prod 2026-10-03 22:03:01 +00:00
1 Commits
Author SHA1 Message Date
adrianbonpin bf67b06b56 chore: sweep em dashes from our own source and README
The default prompt tells the model never to write an em dash, so shipping
them in our own strings and docs was a standard we did not hold.

Three user-facing strings changed:

- `**Error** — {msg}` becomes `**Error:** {msg}`
- `{status} — press ⏎ to stop` becomes `{status}. Press ⏎ to stop`
- `Never — always reopen the last chat` becomes `Never (always reopen the
  last chat)`, which also reads better next to its siblings ("After 15
  minutes" and friends)

Comments and README prose were restructured rather than having the dash
swapped for a comma, so they still read naturally. The two table cells
using a bare em dash to mean "no default" now say `None`.

A guard test fails if an em dash appears anywhere in the shipped source or
the README. Comments are covered on purpose: guarding only the UI strings
means picking them out by hand, and the rule then drifts. Tests are
excluded, because the unicode fixture in `ollama.test.ts` needs one.

Verified the guard actually fails and names the offending file before
committing, since a test that cannot fail proves nothing.

173 tests, tsc, eslint and vici build all clean.
2026-10-04 06:02:48 +08:00