aboutsummaryrefslogtreecommitdiff
path: root/todo.org
diff options
context:
space:
mode:
authorCraig Jennings <c@cjennings.net>2026-06-11 01:37:55 -0500
committerCraig Jennings <c@cjennings.net>2026-06-11 01:37:55 -0500
commitcf957630668be9b8a51fba5a42aea5829ff4bcc4 (patch)
tree33be19f12944cddef8196573986d875f7852d1d1 /todo.org
parent63b9a5f6b451f63e7f18381c47f4464bda993ead (diff)
downloadrulesets-cf957630668be9b8a51fba5a42aea5829ff4bcc4.tar.gz
rulesets-cf957630668be9b8a51fba5a42aea5829ff4bcc4.zip
chore(ai): archive session record
Diffstat (limited to 'todo.org')
-rw-r--r--todo.org107
1 files changed, 53 insertions, 54 deletions
diff --git a/todo.org b/todo.org
index 47243e3..30fd7e0 100644
--- a/todo.org
+++ b/todo.org
@@ -1123,60 +1123,6 @@ Before any implementation: needs a real review pass on the spec, and a decision
*** 2026-06-10 Wed @ 14:13:55 -0500 Noted Phase 1 already shipped; narrowed scope to the phases 2-6 decision
Phase 1 (the correctness fix) is live: protocols.org documents the AI_AGENT_ID-scoped session-context path (=.ai/session-context.d/<id>.org=) and =.ai/scripts/session-context-path= resolves it. The singleton race Codex flagged is closed. What remains is the spec review plus a go/no-go on the broader runtime-neutral refactor: runtimes/ adapter manifests, generic install commands, language-bundle split, launcher refactor, local model service.
-** DONE [#C] Build Craig's writing voice profile from real corpora :spec:
-CLOSED: [2026-06-10 Wed]
-:PROPERTIES:
-:CREATED: [2026-05-29 Fri]
-:LAST_REVIEWED: 2026-05-29
-:END:
-Shipped across 2026-05-29 → 2026-06-10. =voice/references/voice-profile.org= is the canonical paired file: Phases 1-2 corpora measured (commit bodies 128k words + email/PR/review registers), all 45 patterns carry entries with basis and history, and every reconciliation delta landed in =voice/SKILL.md= (#13/#33 self-discipline reframing, #7 soft flag, new corpus-derived #43-#45). Extension corpora (Slack, long-form, syntactic fragment detection) deliberately not pursued.
-
-Build a grounded profile of Craig's actual writing voice by mining the corpora he's produced over time. The =voice/SKILL.md= patterns today are observation-derived (em-dash zero-tolerance, semicolon → period, contractions kept, sentence-fragment rewrite, felt-experience cut, etc.). Some are spot-on; others are intuition. A real corpus pass would tell us which patterns are genuinely Craig's voice and which were guesses, plus surface idioms, sentence structures, and vocabulary the current ruleset misses.
-
-*** Sources to mine
-
-- *Email* — sent folders across all three accounts (=gmail=, =dmail/DeepSat=, =cmail/Proton=). Filter to Craig-authored (not forwards or replies-just-quoting). Separate work voice (=dmail=) from personal voice (=gmail=, =cmail=) since they're likely distinct registers.
-- *Commit messages* — =git log --author= across his repos. Captures terse-imperative voice.
-- *PR descriptions and review comments* — same corpora. More deliberate prose than commits.
-- *Org files he authored* — =notes.org=, todo bodies he typed, design docs in =docs/design/=, journal entries. Heavier on first-person voice than emails.
-- *Slack/messages* — DeepSat work slack, family group, friends. Casual register.
-- *Long-form artifacts* — résumé, proposals, white papers, blog posts (if any).
-
-Skip session-context files, which are Claude-co-written and would muddy the signal.
-
-*** Output
-
-- =voice/references/voice-profile.org= (or =.md=) — the canonical reference doc:
- - Vocabulary tendencies (preferred verbs, avoided cliché classes, technical-vs-plain word choice).
- - Sentence structures (typical length, conjunction patterns, parenthetical use).
- - Punctuation patterns (em-dash actual frequency, semicolon vs period split, contraction rate).
- - Register markers (signs of formal vs casual mode, work vs personal).
- - Idioms and recurring phrasings.
- - "Anti-patterns" — phrasings Craig consistently avoids that show up in AI-generated prose.
-- Updated =voice/SKILL.md= patterns grounded in evidence rather than intuition. Patterns that the corpus confirms get strengthened; patterns the corpus contradicts get rewritten or removed.
-
-Each finding should cite at least two evidence samples from the corpora so the basis for a rule is reviewable.
-
-*** Approach
-
-Phase 1 (corpus assembly) — pull the relevant slices: sent-mail dumps, =git log --author --no-merges --pretty=format:'%B'=, =gh pr list --author= bodies, org-file extracts. Strip headers, replies-quoted blocks, signatures. Land in =voice/corpus/= (gitignored if the project's =.ai/= is gitignored, tracked if private repo with private remote).
-
-Phase 2 (analysis) — pass over the corpus with focused queries: distribution of em-dashes per 1000 words, semicolon count, contraction frequency by register, sentence-length histogram, top-N adjectives/adverbs, etc. Subagent dispatch fits here.
-
-Phase 3 (draft profile) — write =voice-profile.org= with findings + evidence. Surface contradictions with the current ruleset.
-
-Phase 4 (reconcile with voice/SKILL.md) — present the deltas to Craig. Each delta is one of: confirm existing rule with evidence, strengthen rule, weaken rule, add new pattern, remove unsupported pattern. Apply approved deltas.
-
-*** Privacy
-
-Email and Slack content is private. The corpus must NOT enter any commit unless rulesets stays on the private cjennings.net remote (which it does today). If a future move to a public remote is on the table, the corpus and any direct quotes have to go before that happens. The profile doc itself can stay (it's analysis, not raw content), but cite by pattern not by verbatim quote.
-
-*** Why this matters
-
-The voice skill earns its place when Craig sees the rewrite and recognizes it as his own voice rather than a "clean" AI voice that approximates him. Today the skill catches common AI tells (em-dashes, semicolons, the felt-experience tic), which is useful. Corpus-grounding would make it catch the absence of *Craig-specific positive traits* — the phrasings he actually reaches for — not just the AI traits he doesn't.
-
-Likely improves =/voice personal= output quality on PR bodies, commit messages, and email drafts. Compound interest over the long run.
-
* Rulesets Resolved
** DONE [#C] Fix =cj-scan= false positives on cj fences nested inside other =#+begin_*= blocks :bug:
CLOSED: [2026-05-15 Fri]
@@ -2592,3 +2538,56 @@ CLOSED: [2026-06-10 Wed]
meeting-prep lives in the work project's =project-workflows/= and is general-purpose — it builds a per-meeting prep doc — but its body carries project-specific references: =deepsat/assets/= transcript paths, Linear as the tracker, =knowledge.org=. Promoting to =claude-templates= means generalizing those to project-neutral terms (the project's transcript home, the project's tracker), adding it plus its =meeting-prep.pre-wire.org= supporting doc to the =.ai/= mirror and INDEX.org, and a workflow-integrity pass. Once promoted, the daily-prep 5-Day Look-Ahead's conditional "where the project has one" reference can become a direct link.
Out of the 2026-06-10 daily-prep handoff from the work project.
+** DONE [#C] Build Craig's writing voice profile from real corpora :spec:
+CLOSED: [2026-06-10 Wed]
+:PROPERTIES:
+:CREATED: [2026-05-29 Fri]
+:LAST_REVIEWED: 2026-05-29
+:END:
+Shipped across 2026-05-29 → 2026-06-10. =voice/references/voice-profile.org= is the canonical paired file: Phases 1-2 corpora measured (commit bodies 128k words + email/PR/review registers), all 45 patterns carry entries with basis and history, and every reconciliation delta landed in =voice/SKILL.md= (#13/#33 self-discipline reframing, #7 soft flag, new corpus-derived #43-#45). Extension corpora (Slack, long-form, syntactic fragment detection) deliberately not pursued.
+
+Build a grounded profile of Craig's actual writing voice by mining the corpora he's produced over time. The =voice/SKILL.md= patterns today are observation-derived (em-dash zero-tolerance, semicolon → period, contractions kept, sentence-fragment rewrite, felt-experience cut, etc.). Some are spot-on; others are intuition. A real corpus pass would tell us which patterns are genuinely Craig's voice and which were guesses, plus surface idioms, sentence structures, and vocabulary the current ruleset misses.
+
+*** Sources to mine
+
+- *Email* — sent folders across all three accounts (=gmail=, =dmail/DeepSat=, =cmail/Proton=). Filter to Craig-authored (not forwards or replies-just-quoting). Separate work voice (=dmail=) from personal voice (=gmail=, =cmail=) since they're likely distinct registers.
+- *Commit messages* — =git log --author= across his repos. Captures terse-imperative voice.
+- *PR descriptions and review comments* — same corpora. More deliberate prose than commits.
+- *Org files he authored* — =notes.org=, todo bodies he typed, design docs in =docs/design/=, journal entries. Heavier on first-person voice than emails.
+- *Slack/messages* — DeepSat work slack, family group, friends. Casual register.
+- *Long-form artifacts* — résumé, proposals, white papers, blog posts (if any).
+
+Skip session-context files, which are Claude-co-written and would muddy the signal.
+
+*** Output
+
+- =voice/references/voice-profile.org= (or =.md=) — the canonical reference doc:
+ - Vocabulary tendencies (preferred verbs, avoided cliché classes, technical-vs-plain word choice).
+ - Sentence structures (typical length, conjunction patterns, parenthetical use).
+ - Punctuation patterns (em-dash actual frequency, semicolon vs period split, contraction rate).
+ - Register markers (signs of formal vs casual mode, work vs personal).
+ - Idioms and recurring phrasings.
+ - "Anti-patterns" — phrasings Craig consistently avoids that show up in AI-generated prose.
+- Updated =voice/SKILL.md= patterns grounded in evidence rather than intuition. Patterns that the corpus confirms get strengthened; patterns the corpus contradicts get rewritten or removed.
+
+Each finding should cite at least two evidence samples from the corpora so the basis for a rule is reviewable.
+
+*** Approach
+
+Phase 1 (corpus assembly) — pull the relevant slices: sent-mail dumps, =git log --author --no-merges --pretty=format:'%B'=, =gh pr list --author= bodies, org-file extracts. Strip headers, replies-quoted blocks, signatures. Land in =voice/corpus/= (gitignored if the project's =.ai/= is gitignored, tracked if private repo with private remote).
+
+Phase 2 (analysis) — pass over the corpus with focused queries: distribution of em-dashes per 1000 words, semicolon count, contraction frequency by register, sentence-length histogram, top-N adjectives/adverbs, etc. Subagent dispatch fits here.
+
+Phase 3 (draft profile) — write =voice-profile.org= with findings + evidence. Surface contradictions with the current ruleset.
+
+Phase 4 (reconcile with voice/SKILL.md) — present the deltas to Craig. Each delta is one of: confirm existing rule with evidence, strengthen rule, weaken rule, add new pattern, remove unsupported pattern. Apply approved deltas.
+
+*** Privacy
+
+Email and Slack content is private. The corpus must NOT enter any commit unless rulesets stays on the private cjennings.net remote (which it does today). If a future move to a public remote is on the table, the corpus and any direct quotes have to go before that happens. The profile doc itself can stay (it's analysis, not raw content), but cite by pattern not by verbatim quote.
+
+*** Why this matters
+
+The voice skill earns its place when Craig sees the rewrite and recognizes it as his own voice rather than a "clean" AI voice that approximates him. Today the skill catches common AI tells (em-dashes, semicolons, the felt-experience tic), which is useful. Corpus-grounding would make it catch the absence of *Craig-specific positive traits* — the phrasings he actually reaches for — not just the AI traits he doesn't.
+
+Likely improves =/voice personal= output quality on PR bodies, commit messages, and email drafts. Compound interest over the long run.