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.