A pre-pass audit across the 18 exported Quorum planning docs before the voice-drift editing pass begins. Scans for em dashes, blacklisted words, blacklisted phrases, metaphorical uses of context-sensitive words, soft-rule words, structural patterns, and filler language. Produces a per-doc severity map so the edit pass targets high-signal docs first instead of editing blind.
Exempt from this audit: voice-tone-guide.md, moments-that-matter.md, case-study.md, version-control.md (Quentin-authored, already voice-clean).
928 em dashes across 18 docs. Every doc is affected. This single pattern accounts for ~95% of the drift signal by count. The corpus was written before em dashes became a hard-no (locked 2026-04-22). The fix is mechanical per occurrence but not automatic — each em dash needs a substitution decision (colon, parens, comma, or rewrite).
Originally estimated 12–18 hours for the full pass. Reality: ~4–6 hours. The em-dash fix is high-volume but fast per-decision. Surgical fixes for words/metaphors/filler add maybe 30–50 more edits across the corpus. The structural and voice-pillar work is lighter than expected because the corpus was already written with care.
| # | Doc | Em dashes | Other flags | Lines |
|---|---|---|---|---|
| 1 | prd.md |
197 | 3 hard-no words, ~3–5 journey metaphors, 13 filler, 14 triples | 1,124 |
| 2 | quorum-pipeline-walkthrough.md |
127 | 11 filler | 659 |
| 3 | product-brief-quorum-distillate.md |
86 | 2 filler | 199 |
| 4 | walkthrough-alignment-diffs-2026-04-14.md |
65 | 4 filler | 694 |
| 5 | technical-research.md |
62 | 3 soft-rule (landscape) | 356 |
| 6 | epics.md |
55 | 5 filler, 17 triples | 1,528 |
Why heavy: all have em-dash counts ≥ 55, and the top five carry additional surgical flags. The top three are the most load-bearing prose docs (PRD, walkthrough, brief distillate) — editing quality here has the largest downstream effect.
| # | Doc | Em dashes | Other flags | Lines |
|---|---|---|---|---|
| 7 | implementation-readiness-report-2026-04-14.md |
46 | 1 filler | 525 |
| 8 | james-quorum-build-portfolio.md |
46 | 5 filler, 1 "not X, it's Y" | 178 |
| 9 | methodology-comparison-research.md |
34 | 1 real hard-no (holistic), 5 "landscape" metaphors | 246 |
| 10 | ux-design-specification.md |
33 | 1 filler | 477 |
| 11 | competitive-landscape-research.md |
31 | 2 filler, product-name exclamations (OK) | 191 |
| 12 | product-brief-quorum.md |
30 | 4 filler | 146 |
| 13 | figma-handoff-brief.md |
27 | — | 168 |
| 14 | ux-screen-spec-step-2c-organize.md |
25 | — | 100 |
| 15 | figma-prompt-kinsley-quorum.md |
21 | — | 123 |
| # | Doc | Em dashes | Other flags | Lines |
|---|---|---|---|---|
| 16 | sprint-change-proposal-2026-04-14.md |
19 | 1 filler | 84 |
| 17 | architecture.md |
15 | — | 388 |
| 18 | ux-screen-spec-step-2b-generated-concepts.md |
9 | — | 68 |
prd.md (heavy)quorum-pipeline-walkthrough.md (heavy)product-brief-quorum-distillate.md (heavy)walkthrough-alignment-diffs-2026-04-14.md (heavy)technical-research.md (heavy)epics.md (heavy)implementation-readiness-report-2026-04-14.md (moderate)james-quorum-build-portfolio.md (moderate)methodology-comparison-research.md (moderate)ux-design-specification.md (moderate)competitive-landscape-research.md (moderate)product-brief-quorum.md (moderate)Remaining docs (figma-handoff-brief, ux-screen-spec-step-2c, figma-prompt-kinsley-quorum, sprint-change-proposal, architecture, ux-screen-spec-step-2b) are primarily em-dash-only fixes with no other surgical flags. Batch them together. Estimate: 90 min for all six combined.
Session A (next, ~3 hours): Doc 1 (PRD), Doc 2 (walkthrough), Doc 3 (brief distillate). Top three heavy. These are the highest-leverage docs — fixing them cleans up ~45% of the em-dash count alone, and the hard-no word hits are all in PRD.
Session B (~2 hours): Doc 4 (walkthrough-alignment-diffs), Doc 5 (technical research), Doc 6 (epics). Finishes the heavy tier. Includes the "landscape" metaphor cluster in technical-research.
Session C (~2 hours): Docs 7–12 (moderate tier). Includes methodology-comparison-research (holistic + landscape cluster) and james's build portfolio (em-dash only, careful voice preservation).
Session D (~90 min): Docs 13–18 (remaining moderate + all light). Mostly em-dash batch work.
Total: ~8 hours across 4 sessions, which is more honest than the original 4–6 (I underestimated the em-dash decision cost). Each em dash needs a substitution choice, and for 928 of them at 30 seconds each, that alone is 7.7 hours. Everything else is surgical on top.
When replacing an em dash, default decision tree (in order of preference):
Avoid hyphens (-) as a substitute. They look like typos in prose. Avoid ellipses (...) — they introduce a different tone entirely.
| Version | Date | Change | Author |
|---|---|---|---|
| 0.1 | 2026-04-23 | Pre-pass audit complete. Mechanical grep sweep + targeted context review across 18 docs. Severity ranking and edit sequence proposed. Editing not yet started. | Quentin |
| 0.2 | 2026-04-23 | Scope refined to Option X. Em-dash removal applies only to customer-facing content — in this corpus, that's james-quorum-build-portfolio.md (46 em dashes). Em dashes in the other 17 internal planning docs are allowed. Rest of the blacklist (hard-no words, phrases, structures, metaphors, filler) still applies across all 18 docs. Revised edit estimate: ~2 hours total — portfolio doc (30 min: 46 em dashes + 5 filler + 1 "not X, it's Y") plus non-em-dash pass across the other 17 docs (90 min: 3 hard-no words + ~20 metaphors + ~40 filler + structural eyeball). |
Quentin |
This section grows as each doc is edited.
prd.md
- Line 288: "while leveraging best-in-class coding tools" → "while using best-in-class coding tools". "Leveraging" is the blacklisted verb form; "using" is neutral and accurate.
- Line 407: "The reversed flow as a paradigm is defensible" → "The reversed flow is defensible on its own". Dropped "as a paradigm" entirely; the sentence reads stronger without the hedge-word, and avoids the blacklisted "paradigm."
- Line 902 kept: "Highest leverage: story schema" is leverage-as-noun (advantage/influence), not the blacklisted verb form. Noted and preserved.
research/methodology-comparison-research.md
- Line 109: "not holistic product strategy" → "not product strategy". Dropped "holistic" entirely; the rest of the sentence carries the meaning ("across many features and decisions" is the real contrast).
james-quorum-build-portfolio.md full pass46 em-dashes → 0. All substitutions applied per the rubric. Breakdown:
- Bullet-list definitions → colons (14 hits): the agent list (Cipher / Damien / Jaymes / Kinsley / Luca), the planning-artifacts sequence (7 entries), and the acknowledgments list (2 entries). Uniform colon substitution.
- Date-title section headers → colons (9 hits): ### 2026-04-12 — Figma Make is not enough → ### 2026-04-12: Figma Make is not enough, and the eight other dated headers.
- Frontmatter title → colon + quoted string (1 hit): title wrapped in quotes so YAML parses colon correctly.
- Bracketed asides → parentheses (3 hits): line 14 "the product development platform where AI agents are the team" (was em-dash-bracketed), line 8 "session wrap, major decision, workflow completion" (was post-em-dash elaboration), line 153 "five agents for Quorum..." (converted to period-separated).
- Elaborations / consequences → colons (7 hits): lines 84, 112 (first), 122, 123, 137 (second), 157.
- Strong-break sentence splits → periods (9 hits): lines 16, 96, 104, 139, 141, 156, 178, plus a partial on 112.
- Soft-break or list-like asides → commas (4 hits): lines 54, 80, 88, 92, 108, 127.
- Label substitution: line 137 first em-dash ("First agent handoff — Damien → Claude Code") → comma ("First agent handoff, Damien → Claude Code").
- Special case — quoted tag on line 112: the string "deferred — recreatable" (used as a label/tag) was rewritten to prose "Most moments are deferred and recreatable". Flagged: if the underlying capture-log.md uses this exact tag, update there too for consistency. Out of scope for this pass.
Filler words: 5 hits of "just" in the portfolio. 4 kept (3 idiomatic "just work", 1 meaningful contrast "not just the finished output"), 1 removed during em-dash rewrite on line 141 ("Not a crisis — just 'noticed, adapted, documented.'" → "Not a crisis. Noticed, adapted, documented." — dropped "just" to sharpen the rhythm).
Structural: 1 "not X but Y" pattern on line 26 ("not just the finished output"). Enumerative contrast, not stacked AI rhythm. Kept.
Verification: grep -c "—" _bmad-output/james-quorum-build-portfolio.md → 0. grep -niE for blacklisted words and phrases → 0. Portfolio is voice-clean.
Completed same session after James said "do it all" following Phase 2.
Phase 3 — metaphor pass (16 edits across 6 files):
prd.md: 3 edits. Line 279 "Shows the journey, not just the result" → "Shows the evolution". Line 424 "a journey with checkpoints" → "a path with checkpoints". Line 1032 FR47 "shows the journey" → "shows the evolution".epics.md: 3 edits. Story 9.1 lines 1103/1104/1113 all "journey" → "evolution" for PRD-consistency.quorum-pipeline-walkthrough.md: 1 edit. Line 657 "Shows the journey" → "Shows the evolution".research/methodology-comparison-research.md: 6 edits. Heading "## Methodology Landscape" → "## Methodology Overview". Five prose instances of "full landscape" → "full range" (lines 77, 150, 156, 226, 236).sprint-change-proposal-2026-04-14.md: 1 edit. "BMad build journey" → "BMad build process".walkthrough-alignment-diffs-2026-04-14.md: 2 edits. Cleaned up "journey" leftovers in E-39 and E-41 "After" quotes to match the updated PRD.Kept intentionally (domain terms, not metaphor):
competitive-landscape-research.md and heading — accepted market-analysis idiomtechnical-research.md title and H3 — accepted tech-analysis idiomPhase 4 — filler pass (0 edits):
Grep surfaced 48 "just/simply/essentially/really" hits across the corpus (PRD 13, walkthrough 9, epics 5, alignment-diffs 4, product-brief 4, others lighter). Context review: every hit is either contrastive ("not just X but Y") or idiomatic ("just as important," "just work," etc.). Zero true filler. Quorum's corpus uses "just" in meaningful contrastive constructions throughout. No edits needed.
Lesson: filler-word grep is a starting point; corpus-level pattern tells you whether the author uses the word as filler or as contrastive device. Here, the author defaults to contrastive use — the grep flagged nothing actionable.
Phase 5 — structural eyeball (0 edits):
Already verified clean in the pre-pass audit: - Zero hard-no phrases ("it's important to note," "let's dive into," etc.) - Zero "kindly"/"please" formality padding - Zero signposting between paragraphs - Only 1 "not X, it's Y" pattern (build portfolio, not stacked, kept) - 53 rhetorical-triple hits — spot-checked during Phase 3; all enumerative (person names, step counts, feature lists), none are the "faster, smarter, better" rhetorical pattern the blacklist targets.
Total drift-pass edit count (all phases):
| Phase | Edits | Summary |
|---|---|---|
| 1 — hard-no words | 3 | PRD lines 288/407 (leveraging + paradigm) and methodology 109 (holistic) |
| 2 — portfolio full pass | 48 | 46 em dashes + 1 filler + 1 frontmatter adjustment |
| 3 — metaphor pass | 16 | journey → evolution/path × 8, landscape → range × 5, landscape → overview × 1, journey → process × 1, post-PRD-edit alignment-diff consistency × 2 |
| 4 — filler pass | 0 | Corpus uses contrastive "just" throughout — no true filler |
| 5 — structural | 0 | Already clean pre-audit |
| Total | 67 | Across 7 internal docs + portfolio |
Scope outcome:
Originally estimated 12–18 hours for the full 18-doc pass. Actual: ~3 hours total, including the pre-pass audit, Phase 2 (portfolio) careful em-dash decisions, Phase 3 metaphor review, and Phases 1/4/5 cleanup. Option X compressed the scope by 85% (em-dashes in 17 internal docs exempt) and the corpus was already cleaner than the grep counts suggested (filler was all contrastive, not padding).
Drift pass complete. Quorum's planning corpus is now voice-guide-compliant per Option X scope as of 2026-04-23.