From e2a6df590038f616c47794803d8da50707f3dc8d Mon Sep 17 00:00:00 2001 From: "glm-5.3-flash" Date: Wed, 4 Nov 2026 19:32:25 +0000 Subject: [PATCH] docs(agents): adopt the family no-em-dash prose rule (convention 14) --- AGENTS.md | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/AGENTS.md b/AGENTS.md index b98a244..7e3ef3e 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -154,6 +154,21 @@ session, not just spawned implementation agents. the feature graph is independent and flat until architecture says otherwise. +14. **No em dashes in prose.** Do not use the em dash (U+2014) in source + doc comments, markdown docs (`docs/`, `README.md`, `CHANGELOG.md`, + `AGENTS.md`), agent prompts under `.opencode/agents/`, or commit + messages. Restructure instead: split the sentence, use parentheses, + commas, a colon, or a semicolon, whichever reads + naturally, and vary the choice rather than converting every instance + the same way. A spaced hyphen (` - `) is not an acceptable + substitute; it reads as a different but equally recognizable writing + tell. The same rule covers en dashes used as clause separators, + though en dashes inside numeric ranges keep their normal meaning. + Hyphens in compound words (`fail-closed`, `client-side`) are + untouched. In test fixtures and scripts the rule applies to prose-y + content only: comment lines are rewritten too, while fixture data, + wire examples, and tool transcripts survive verbatim. + ## Verification Commands Run these before committing. All must pass. @@ -164,6 +179,9 @@ cargo clippy --all-targets -- -D warnings cargo fmt --check cargo doc --no-deps # if docs changed cargo publish --dry-run --allow-dirty # before a release +grep -rn '—' src/ docs/ README.md CHANGELOG.md AGENTS.md \ + .opencode/agents/ tests/ scripts/ # must be zero hits; + # see convention 14 scripts/matrix.sh # the decline-matrix runner: the full suite per # feature build (none / git / session / tunnel / # sftp / --all-features), clippy ×2, fmt, doc