Description
The architect ADR tooling emits U+2014 (em-dash) in its generated markdown, which conflicts with any consumer project that enforces a no-em-dash prose policy via a pre-commit hook. Two sources: (1) the /wr-architect:capture-adr (and /wr-architect:create-adr) skeleton template emits em-dashes in the frontmatter sentinel ([unspecified (em-dash) fill at canonical review]) and the deferred-section pointers, which land in the ADR BODY; (2) wr-architect-generate-decisions-compendium (per ADR-077) emits em-dashes in its summary lines (e.g. "5 ADRs total (em-dash) 5 in-force") in the generated docs/decisions/README.md.
Symptoms
- A consumer project's em-dash pre-commit hook flags 12+ em-dashes in the ADR skeleton body and 9+ in the generated compendium on every
/wr-architect:capture-adr invocation.
- The commit is blocked until the em-dashes are manually replaced (e.g.
perl -CSD -i -pe 's/U+2014/-/g'), or git commit --no-verify is used (bypassing all other staged-file checks).
- This recurs on EVERY ADR capture / create / compendium refresh because the em-dashes are hardcoded in the tooling output.
Workaround
Run perl -CSD -i -pe 's/\x{2014}/-/g' on the generated ADR + compendium before committing, OR add a hook skip-list entry for the auto-generated compendium (partial - does not cover the hand-authored ADR skeleton body).
Affected plugin or component
@windyroad/architect - the capture-adr / create-adr skeleton templates AND wr-architect-generate-decisions-compendium.
Frequency
Every /wr-architect:capture-adr, /wr-architect:create-adr, and compendium refresh, for any consumer project with a no-em-dash prose policy.
Versions
- Local plugin:
@windyroad/architect@0.13.0
- Upstream package:
@windyroad/architect@0.13.0
- Claude Code CLI: 2.1.150 (Claude Code)
- Node: v22.17.1
- OS: Darwin 25.3.0 x86_64
Evidence
Hit 2026-06-03 committing a new ADR in a consumer project: the skeleton body carried em-dashes in the frontmatter sentinel + deferred pointers, and the regenerated compendium carried em-dashes in its summary line; the consumer's em-dash hook flagged 12 + 9 and blocked the commit. Suggested fix: default the templates + compendium generator to hyphens (or make the punctuation respect a project prose policy), so consumer projects with a no-em-dash policy are not blocked on every ADR operation.
Cross-reference
Reported from https://github.com/mountain-pass/addressr-mcp docs/problems/open/016-em-dash-hook-blocks-architect-tooling-output.md
Tracked locally as P016 in the downstream project's docs/problems/ directory.
Description
The architect ADR tooling emits U+2014 (em-dash) in its generated markdown, which conflicts with any consumer project that enforces a no-em-dash prose policy via a pre-commit hook. Two sources: (1) the
/wr-architect:capture-adr(and/wr-architect:create-adr) skeleton template emits em-dashes in the frontmatter sentinel ([unspecified (em-dash) fill at canonical review]) and the deferred-section pointers, which land in the ADR BODY; (2)wr-architect-generate-decisions-compendium(per ADR-077) emits em-dashes in its summary lines (e.g. "5 ADRs total (em-dash) 5 in-force") in the generateddocs/decisions/README.md.Symptoms
/wr-architect:capture-adrinvocation.perl -CSD -i -pe 's/U+2014/-/g'), orgit commit --no-verifyis used (bypassing all other staged-file checks).Workaround
Run
perl -CSD -i -pe 's/\x{2014}/-/g'on the generated ADR + compendium before committing, OR add a hook skip-list entry for the auto-generated compendium (partial - does not cover the hand-authored ADR skeleton body).Affected plugin or component
@windyroad/architect- thecapture-adr/create-adrskeleton templates ANDwr-architect-generate-decisions-compendium.Frequency
Every
/wr-architect:capture-adr,/wr-architect:create-adr, and compendium refresh, for any consumer project with a no-em-dash prose policy.Versions
@windyroad/architect@0.13.0@windyroad/architect@0.13.0Evidence
Hit 2026-06-03 committing a new ADR in a consumer project: the skeleton body carried em-dashes in the frontmatter sentinel + deferred pointers, and the regenerated compendium carried em-dashes in its summary line; the consumer's em-dash hook flagged 12 + 9 and blocked the commit. Suggested fix: default the templates + compendium generator to hyphens (or make the punctuation respect a project prose policy), so consumer projects with a no-em-dash policy are not blocked on every ADR operation.
Cross-reference
Reported from https://github.com/mountain-pass/addressr-mcp docs/problems/open/016-em-dash-hook-blocks-architect-tooling-output.md
Tracked locally as P016 in the downstream project's
docs/problems/directory.