docs(agents): adopt the family no-em-dash prose rule (convention 14)

This commit is contained in:
glm-5.3-flash committed 2026-11-04 19:32:25 +00:00
1 parent e471dbae13
commit e2a6df5900
1 file changed
+18
+18
View File
@@ -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