docs: normalize em dashes to double hyphens across the documentation - #66
Merged
Conversation
The README uses double hyphens as sentence punctuation. Align the rest of
the Markdown tree with that convention: 573 em dashes (U+2014) inventoried
across 45 files, 539 substituted, 3 reformulated, 31 deliberately kept.
Kept, because they are not sentence punctuation:
- 15 table placeholder cells, where a bare em dash is the whole cell and
means "not applicable" (RACI matrix, OIDC defaults, SIEM endpoint,
NullSiemExporter, PUBLIC data class, PostgreSQL role)
- 15 occurrences inside fenced code blocks: shell comments, doctor output,
the SIEM exporter ASCII tree, a JSON sample, a PR-body example
- 1 inside an inline code span, in the post-mortem template placeholder
Reformulated rather than substituted, because a double hyphen would have
sat next to a CLI flag written with the same characters: a comma in
AI_DEPLOYMENT.md ("--build", not "make quickstart"), a semicolon in
AI_DEPLOYMENT.md (after "--generate"), a colon in QUICKSTART.md (after
"--build").
Punctuation only. Every file except those two was verified identical to
its previous version once both punctuation forms are normalized to a
single token, so no sentence changed meaning, no wording was improved and
nothing was restructured. En dashes and existing hyphens were left alone;
only U+2014 was in scope. README.md is unchanged. Every internal link and
heading anchor in the 44 edited files still resolves.
Documentation only. No application code, no configuration, no migration;
no non-Markdown file appears in the diff.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Pipeline: chore
Spec: n/a — documentation only
Gates: G1 (content review) — the file list with before/after counts and the justification for every kept occurrence is in this body
Deploy-impact: none — Markdown files only; no infra/docker/**, no docker-compose*.yml, no .env.dist
Summary
#65 gave the README double hyphens as sentence punctuation. This aligns the rest of the Markdown tree with that convention.
573 em dashes (U+2014) were inventoried across 45 files: 539 substituted, 3 reformulated, 31 deliberately kept. 44 files changed, 514 insertions / 514 deletions — one for one, as a punctuation change should be.
README.mdis untouched.No global
sedwas run. Every occurrence was classified in context first (fenced code block, inline code span, table placeholder cell, or prose), and only prose was substituted.Kept, with the reason for each
Table placeholder cells (15). A bare em dash as the entire cell content, meaning "not applicable":
docs/runbooks/RACI.md:13,14,15,21,23docs/20_enterprise_sso.md:46,51,52,53,54,55docs/QUICKSTART.md:197docs/15_siem_integration.md:97SIEM_ENDPOINTdocs/03_high_level_architecture.md:371NullSiemExporter, no endpointdocs/compliance/data-classification.md:14Fenced code blocks (15). Shell comments, CLI output, an ASCII tree, a JSON sample, a PR-body example:
docs/15_siem_integration.md:20,21,22,50,197,docs/QUICKSTART.md:45,141,142,143,207,docs/25_prompt_customization.md:53,230,docs/11_opencti_integration.md:159,docs/16_taxii_server.md:306,docs/factory/README.md:45.Inline code span (1).
docs/runbooks/post-mortem-template.md:29, inside the template placeholder text.Reformulated rather than substituted (3)
A double hyphen would have sat next to a CLI flag spelled with the same characters, so these were repunctuated instead:
docs/AI_DEPLOYMENT.md:196— **not**make quickstart```docs/AI_DEPLOYMENT.md:224--admin --generate` — see runbook §6docs/QUICKSTART.md:293up -d --build` — nginx + php-fpmBefore / after per file
CHANGELOG.mddocs/25_prompt_customization.mddocs/26_reading_the_ttp_screens.mddocs/23_reading_the_threat_actor_screen.mddocs/factory/pipelines.mddocs/06_roadmap.mddocs/runbooks/production-deployment.mddocs/AI_DEPLOYMENT.mddocs/16_taxii_server.mddocs/factory/README.mddocs/QUICKSTART.mddocs/11_opencti_integration.mddocs/21_threat_actor_profiling.mddocs/24_analyst_feedback.mddocs/15_siem_integration.mddocs/17_email_provider_setup.mddocs/20_enterprise_sso.mddocs/standards-track.mddocs/03_high_level_architecture.mddocs/08_getting_started.mddocs/runbooks/incident-response-plan.mddocs/compliance/gdpr-record-of-processing.mddocs/factory/templates/gate-report.mddocs/DEMO.mddocs/compliance/data-classification.mddocs/compliance/mule-victim-account-policy.mddocs/runbooks/RACI.mddocs/runbooks/n8n-credentials.mdDISCLAIMER.mddocs/05_evaluation_methodology.mddocs/12_api_quick_reference.mddocs/27_ttp_intelligence.mddocs/compliance/breach-notification-procedure.mddocs/compliance/data-processing-agreements.mdGOVERNANCE.mddocs/07_faq.mddocs/13_misp_integration.mddocs/README.mddocs/compliance/README.mdCONTRIBUTING.mddocs/02_value_proposition.mddocs/04_security_guardrails.mddocs/09_dpia_template.mddocs/22_metrics_catalog.mddocs/runbooks/post-mortem-template.mddocs/runbooks/post-mortem-template.mdis inventoried but unmodified: its only occurrence is inside a code span.Type of Change
Checklist
make testpasses — n/a, no application code changedmake stanpasses — n/a, no PHP changedmake cs-fixerapplied and left the worktree unchanged — n/a, no PHP changedFactory gates
Gates:line above — G1 is this body: the file table and the justification for all 31 kept occurrencesVerification
grep -r '—' docs/ *.mdreturns exactly the 31 occurrences listed above, each named and justified.docs/AI_DEPLOYMENT.mdanddocs/QUICKSTART.mddiffer — precisely the three reformulations. The other 42 files are provably identical outside punctuation, so no sentence changed meaning, no wording was improved, and nothing was restructured.README.mdis unchanged.../../security/advisories/newindocs/04_security_guardrails.md, is a pre-existing GitHub relative link (same convention as../../issues) and was not touched.Generated by Claude Code