Source: AUDIT-product-pages-2026-05-13.md fleet audit · finding: 74+ em-dash hits across FEATURES.md (66), intro.md (8), and ARCHITECTURE.md
The design-system writing rules (design-system/CLAUDE.md):
No em-dashes (—). Replace with a period, comma, colon, or parenthesis. A short follow-up sentence is almost always better than an em-dashed aside.
Em-dashes are also the dead giveaway of LLM-generated copy. Conduction copy reads like a person wrote it.
Scope
Refactor every em-dash in the migrated files (which the migration PR moves into Features/ and Technical/):
Features/features.md (was FEATURES.md) — 66 hits
intro.md — 8 hits, and the 48-word sentence describing four audiences must be split
Technical/architecture.md (was ARCHITECTURE.md) — multiple hits, esp. the "All persistent state — ... — lives in OpenRegister" pattern
Replacement rules
- Em-dash separating two sentences → period.
- Em-dash as parenthetical → comma + comma, or parentheses.
- Em-dash as list separator → split into proper bullet list.
- Long sentence with em-dash → split into two sentences under 16 words each.
Acceptance
Source: AUDIT-product-pages-2026-05-13.md fleet audit · finding: 74+ em-dash hits across
FEATURES.md(66),intro.md(8), andARCHITECTURE.mdThe design-system writing rules (design-system/CLAUDE.md):
Em-dashes are also the dead giveaway of LLM-generated copy. Conduction copy reads like a person wrote it.
Scope
Refactor every em-dash in the migrated files (which the migration PR moves into
Features/andTechnical/):Features/features.md(wasFEATURES.md) — 66 hitsintro.md— 8 hits, and the 48-word sentence describing four audiences must be splitTechnical/architecture.md(wasARCHITECTURE.md) — multiple hits, esp. the "All persistent state — ... — lives in OpenRegister" patternReplacement rules
Acceptance
grep -c "—" docs/returns0(or only counts em-dashes inside<code>blocks if any).