Skip to content

text: no em dashes in code, output or the registry - #81

Merged
krishhgg merged 2 commits into
mainfrom
chore/no-em-dashes
Oct 6, 2026
Merged

krishhgg merged 2 commits into
mainfrom
chore/no-em-dashes

Conversation

@krishhgg

@krishhgg krishhgg commented Oct 6, 2026 •

Copy link
Copy Markdown
Owner

Removes every em dash from the code, CLI output, inbox pages, MCP texts, the provider registry and the scripts. The docs, README, changelog, SECURITY, CONTRIBUTING and issue templates are left out because another PR covers them. Each sentence is rewritten to read without the dash: a period where two thoughts meet, a comma for an aside or a list, or "because", "so" or "and" where that is the real relation.

Count. 303 em dashes in 40 files. 294 are rewritten. The other 9 sit in SHIPPED_SECTIONS in crates/cli/src/cmd/init.rs. Undo matches those AGENTS.md sections byte for byte against what earlier releases wrote, so their text can't change. They are now written as "\u{2014}" escapes inside concat!, with the same bytes, and I checked them against main. After this PR, git grep "—" finds nothing outside the excluded docs.

User-visible strings that changed

  • CLI output: trust add, workspaces, rotate, report-bad, answer, doctor, ask/tasks status lines, run, the multi-key summary from need, the port-squatter messages, the inbox_links deprecation note, export/import prompts and table notes, and init's failure lines, which now read left <file> untouched. <error>.
  • The import --from-env scan notes now read <path> is not owned by you, skipped and so on.
  • Inbox HTML: the paste placeholder, the approval-kind labels, and the text-answer warning.
  • MCP: the server instructions, the human_request and secrets_report_invalid descriptions, and several next texts.
  • providers.json: the OpenAI "Copy it" step and the five "Generated locally" steps.
  • The insecure-file stash warning now reads tokenstash: WARNING: using insecure-file stash .... The gitignore comment tokenstash adds now reads # added by tokenstash. Never commit injected secrets. Coverage is decided by the rule line, not the comment, so existing repos are unaffected.

Tests and scripts updated to match

  • scripts/leak-test.sh and scripts/agent-conformance.sh had sed filters keyed on the old stash warning. Both now match the new text.
  • Nothing in the Rust tests, the skill files or the docs quoted a changed string across the dash. The one inbox test that checks the text-answer warning (returned to the agent word for word, as the reason if you press Can't do this) still matches.

Checks run. cargo fmt --all -- --check (formatting is disabled repo-wide), cargo clippy --workspace --all-targets --locked -- -D warnings, cargo test --workspace --locked, bash scripts/leak-test.sh, bash -n on the changed scripts, and node --check on the launcher. All pass.

Edits stay on the lines that held a dash, so this should rebase cleanly over the open work in inbox.rs, notify.rs, the test helpers and the two scripts. The one exception is the opening line of each SHIPPED_SECTIONS entry, which gained concat!(.

🤖 Generated with Claude Code

RetriggerConfidence Score: 5/5 Tier: apex

This text cleanup appears safe to merge.

What we checked:

  • Older sections still match: The Unicode escapes preserve the original dash characters and surrounding text. The existing exact-match check therefore sees the same strings.
  • Warnings stay out of JSON: Both helpers remove lines beginning with the exact prefix emitted by the stash.
  • Ignore protection stays intact: gitignore_covers skips comments and reads the unchanged rule line. Git still checks whether the file is ignored before the secret is written.
Summary

Removes literal em dashes from comments, CLI messages, inbox pages, MCP text, provider steps, and scripts.

  • krishhgg intentionally preserves historical SHIPPED_SECTIONS bytes through Unicode escapes so undo still recognizes older files. Documentation is intentionally left for another PR.
  • Both shell helpers match the revised stash warning. Generated ignore comments do not affect coverage.
  • No actionable issues found. Review was static; tests were not rerun. Live inbox capture was blocked by the lack of a built binary and unavailable access to inspect the Rust tool wrappers.

Reviews (1) · Last reviewed commit: "text: a colon after WARNING, and init's ..."

krishhgg and others added 2 commits October 6, 2026 05:00
Every em dash outside the docs is gone from the Rust sources, CLI output,
inbox pages, MCP instructions and tool texts, providers.json and the
scripts. Each sentence is rewritten to read without one: a period, a
comma, or "because", "so" or "and" where that is the relation.

The insecure-file stash warning now reads "WARNING, using", so the sed
filters in leak-test.sh and agent-conformance.sh match the new text.
envcrawl problems read "<path> is ...". SHIPPED_SECTIONS in init.rs keeps
its bytes, because undo recognizes those AGENTS.md sections by exact
match; the dashes there are spelled as "\u{2014}" escapes in concat!.

Co-Authored-By: Claude <noreply@anthropic.com>
The insecure-file stash warning reads "tokenstash: WARNING: using
insecure-file stash", and the sed filters in leak-test.sh and
agent-conformance.sh match it. init's "left <file> untouched" line ends
with a period before the error. The errors that reach it start with a
path, "writing", "refusing to write" or an OS message, so a period reads
right for all of them where "because" does not.

Co-Authored-By: Claude <noreply@anthropic.com>
@krishhgg
krishhgg merged commit b69c923 into main Oct 6, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant