aboutsummaryrefslogtreecommitdiff
path: root/voice/references/voice-profile.org
diff options
context:
space:
mode:
Diffstat (limited to 'voice/references/voice-profile.org')
-rw-r--r--voice/references/voice-profile.org81
1 files changed, 80 insertions, 1 deletions
diff --git a/voice/references/voice-profile.org b/voice/references/voice-profile.org
index 765d513..3dfddf2 100644
--- a/voice/references/voice-profile.org
+++ b/voice/references/voice-profile.org
@@ -1444,11 +1444,13 @@ In a PR review finding: a sentence carrying more than one claim (chained through
Prose and personal modes. General mode skips because third-party registers legitimately prefer multi-sentence paragraphs.
*** Rule
-A one-sentence paragraph is a finished thought, not a fragment. Break paragraphs after one complete thought when the next thought shifts angle, even if both are short. Never merge short paragraphs into multi-sentence ones in a "clean prose" pass.
+A one-sentence paragraph is a finished thought, not a fragment. "Shifts angle" means shifts *topic*: break paragraphs at a topic boundary, even when both sides are one sentence. Within a single topic, consolidate its sentences into one paragraph even when each is complete, up to a ceiling of about five or six sentences, past which find a natural break. The never-merge instruction protects the break *between* topics; it never licenses fragmenting one topic across several paragraphs.
*** Problem
Most prose-style guides advise multi-sentence paragraphs, so a generic cleanup pass merges Craig's short paragraphs and erases a distinctive feature of his voice. This is a protective pattern: it guards an existing trait rather than correcting a defect.
+The 2026-07-23 boundary refinement addresses the opposite failure, discovered the same day: reading "angle" at *sentence* granularity, so that three sentences all about one topic (a baking run, a mixer, tortillas) got split into three paragraphs as if each were a new angle. That fragments one topic and reads as a checklist rather than a person talking. Angle means topic. #43 governs the break between topics; consolidation fills in what happens within one, which the original rule never specified. The two are one rule seen from both sides, not a rule in tension with #47.
+
*** Basis
Corpus-measured (2026-05-29). Single-sentence-paragraph rate: git commits 41.1%, personal email 57.4%, work email 44.5%, PR descriptions 74.4%, PR review comments 50.0%. Between 41% and 74% of Craig's paragraphs are exactly one sentence, depending on register.
@@ -1470,6 +1472,7 @@ An edit pass that merged short paragraphs, or a draft whose paragraphs each stac
*** History
- 2026-05-29: surfaced by the Phase 1-2 corpus measurement as a "worth adding" trait; filed as suggested delta 4.
- 2026-06-10: promoted from the suggested-deltas list into a numbered pattern. Craig's call, from the work-project session.
+- 2026-07-23: boundary refined (angle means topic; within-topic consolidation to a ~5-6 sentence ceiling; never-merge reframed as across-topic protection). From a home session drafting a Signal reply, where the original rule was misread at sentence granularity. Paired with the new §47.
** §44 Parenthetical Asides Are Part of the Voice
@@ -1532,3 +1535,79 @@ A question mark in a draft in Craig's voice. Flag it; keep genuine questions to
*** History
- 2026-05-29: surfaced by the Phase 1-2 corpus measurement as a register marker; filed as suggested delta 6.
- 2026-06-10: promoted from the suggested-deltas list into a numbered advisory pattern. Craig's call, from the work-project session.
+
+** §46 Comma Budget — Max Two Per Sentence
+
+*** Modes
+Personal mode only. Prose and general modes skip.
+
+*** Rule
+No sentence carries more than two commas. Rewrite the third comma away: split the sentence, move a clause into a parenthetical (§44) or behind a colon, or break an inline serial list into bullets or its own sentence. Count prose commas only — commas inside code spans, quoted log lines, and literal strings (version numbers, paths) don't count toward the budget.
+
+*** Problem
+Three or more commas in one sentence almost always mark stacked clauses or an inline list doing a paragraph's work. The sentence reads fine to its author and lands as a pileup on the reader. The comma count is a mechanical proxy the walk can enforce, where "don't stack clauses" is prose advice that gets skipped.
+
+*** Basis
+Craig's directive, 2026-07-20 (archsetup session, while gating a Hyprland issue draft): "no more than two commas per sentence. we should add that to the /voice personal pass."
+
+*** Before (spec-sheet line with three commas, from the draft that prompted the rule)
+#+begin_example
+System: Arch Linux, kernel 6.18.25-lts, AMD Strix Halo (Radeon 8060S), no plugins loaded.
+#+end_example
+
+*** After
+#+begin_example
+System: Arch Linux, kernel 6.18.25-lts. GPU: AMD Strix Halo (Radeon 8060S). No plugins loaded.
+#+end_example
+
+*** Detection
+Count commas per sentence on the final text. A sentence at three or more gets restructured, not trimmed to exactly the budget — the third comma is the symptom, the stacked structure is the target.
+
+*** History
+- 2026-07-20: added at Craig's direction from the archsetup session. Scoped to personal mode; broaden to prose only if he asks. Added to the attestation high-recurrence set at birth — a mechanical count is cheap to receipt, and new discipline fails silently without one.
+
+** §47 Recipient-Priority Ordering
+
+*** Modes
+Prose mode, and only when the piece is correspondence (email, Signal, a letter). It needs a recipient, so it has no referent in a journal, a working note, or any document addressed to nobody, and it does not carry into personal mode — a commit or PR review is not a reply to someone's news. General mode skips it with the rest of Craig's voice patterns. This is the one pattern narrower than a whole mode, and the only prose pattern personal mode does not also walk.
+
+*** Rule
+In a reply, lead with what matters most to the recipient, not with what's easiest to answer or the order they wrote it. Their news outranks your logistics. A direct question they asked can sort below personal news they shared, because the news is what they care about.
+
+*** Problem
+The easy draft answers the explicit question first and orders the rest as it arrived. That reads as transactional — logistics before the person. Ordering by what the recipient cares about is what makes a reply read as one person talking to another rather than a ticket being closed. Nothing else in the skill governs the *order* of a reply's contents; the other patterns act within a paragraph or a sentence.
+
+*** Basis
+Craig's edit of a Signal reply to his sister, 2026-07-23 (home session). His framing: "start with what would be the most important things to her."
+
+*** Before (first draft — opens with the only explicit question, cooking split across three paragraphs)
+#+begin_example
+Yes, I do subscribe to MasterClass — happy to share what I've watched.
+
+That's amazing about the sourdough. English muffins from scratch is no joke.
+
+The home-roasted deli meat sounds incredible.
+
+A stand mixer would make the bread a lot easier — worth it if you're baking this much.
+
+And 30 pounds — that's huge. So happy for you.
+#+end_example
+
+*** After (Craig's order — weight first, one cooking paragraph, then the question, then the close)
+#+begin_example
+Thirty-plus pounds — that is huge, and I'm so happy for you. That's real work.
+
+And the cooking. Sourdough, English muffins, tortillas, home-roasted deli meat from scratch — that's a whole kitchen you've built, and a stand mixer would make the bread much easier if you're baking at this volume, so I say go for it. I want to hear how the tortillas come out.
+
+Yes, I subscribe to MasterClass — I'll send you what I've been watching.
+
+I miss you and I love you. Send me a few times that work for a call.
+#+end_example
+
+The cooking paragraph runs seven sentences, a hair over the §43 ceiling. Craig called it an exception rather than re-cut a message that had already gone out. The guard is the rule; this paragraph is one sentence over it; both facts stay in the record, because a real example at the boundary teaches it better than a clean one.
+
+*** Detection
+A reply whose opening answers a logistical or yes/no question while the recipient's substantive news sits lower. Reorder so the news they'd most want acknowledged leads.
+
+*** History
+- 2026-07-23: added from the home session drafting a Signal reply. The first handoff proposed two new patterns and flagged a conflict with §43; the superseding design resolved that the conflict was a misreading of §43 (angle = topic), leaving one genuinely new pattern here and a calibration to §43. Prose/correspondence-scoped per Craig — email and Signal are prose, not publish artifacts.