aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.ai/notes.org2
-rw-r--r--todo.org57
2 files changed, 58 insertions, 1 deletions
diff --git a/.ai/notes.org b/.ai/notes.org
index 828fde3..b6c85f8 100644
--- a/.ai/notes.org
+++ b/.ai/notes.org
@@ -85,6 +85,6 @@ Format:
Markers maintained by workflows to record when they last ran. Read by other workflows that gate their behavior on freshness.
:LAST_AUDIT: 2026-07-20 (open set current — this session's shipped work (working/temp, triage-source-activation, silent-until-signal, suspend detach) closed as it went; sentry cluster consolidated (merged the /schedule tasks, added cross-host-coordination); nothing shipped-but-open per git reconcile. Live finding: the Polyglot + Subprojects scouting tasks are SCHEDULED 2026-07-20 and due.)
-:LAST_INBOX_PROCESS: 2026-07-25 (consolidated home + work Claude-to-Codex MCP registry proposals into one [#B] parked spec decision; memory auditor split from the registry work)
+:LAST_INBOX_PROCESS: 2026-07-31 (four work handoffs: standup-scripts proposal accepted with four changes and shipped as a212eeb; voice pattern #48 filed [#B], then its interaction.md mirror folded in on Craig's approval; a correction FYI acknowledged — my project-workflows fork claim was wrong, Phase 11 composes rather than shadows)
Format: one =:MARKER: YYYY-MM-DD= line per workflow. Workflows overwrite their own marker on completion.
diff --git a/todo.org b/todo.org
index 9d47566..6750eed 100644
--- a/todo.org
+++ b/todo.org
@@ -39,6 +39,63 @@ Tags are assigned and refreshed by =task-audit=; =task-review= keeps them honest
* Rulesets Open Work
+** TODO [#B] Voice pattern #48 — corrective antithesis :feature:
+:PROPERTIES:
+:LAST_REVIEWED: 2026-07-31
+:END:
+Work proposed a new voice pattern for the corrective form of antithesis: "X
+rather than Y", "not X but Y", "X, not Y". Distinct from #9, which catches the
+additive form ("not only X but Y"). My ruling, quoted in the handoff: I don't
+mind it occasionally, but it has to be for emphasis and it can't be overused.
+So it's a frequency rule, not a ban. Proposed cap: about one per 150 words,
+never twice in adjacent sentences, mode tags prose + personal.
+
+Evidence is strong. A four-sentence Slack draft fired it four times in a
+hundred words, and I noticed it across messages, which is the tell that it had
+stopped being a device.
+
+Two additions I'd make before applying:
+
+1. Put it straight into the attestation high-recurrence set. That set is for
+ patterns with documented failure history, and this one arrived with its
+ failure history attached.
+
+2. The frequency rule needs a home outside the voice skill. I noticed this in
+ conversation, and the skill only runs on publish artifacts, so as proposed
+ it can't touch the surface where the complaint originated. Mirroring the cap
+ into =interaction.md= (always loaded) is what would make it bite in chat.
+ That second half is the part worth deciding on.
+
+Per the paired-files rule, any change lands in both =voice/SKILL.md= and
+=voice/references/voice-profile.org=. The handoff already names what the profile
+entry wants: problem statement, the verbatim ruling, the four-in-one-draft
+before/after, and a note that #9 is adjacent-but-different so the two don't get
+merged.
+
+Source: inbox/2026-07-31-1312-from-work-new-voice-pattern-proposal-48.org
+
+*** 2026-07-31 Fri @ 13:32:00 -0500 Craig approved the interaction.md mirror
+So the open half of this task is settled and the work is now fully specified.
+Both homes get the rule, with a cross-reference line in each so an edit to one
+prompts a look at the other. Work argued the duplication is right here because
+the two fire on different surfaces and neither subsumes the other, and I agree:
+a single home leaves one surface uncovered.
+
+Placement: a short subsection under =interaction.md='s existing chat-output
+rules, beside "No Reverse-Video Highlighting in Chat Output". Those rules
+constrain how the agent writes to Craig rather than what it decides, which is
+the same shape.
+
+Work sent suggested text for both files. It needs the em-dashes stripped before
+it lands, since it uses them freely while describing a rule that ships into a
+zero-tolerance context.
+
+Remaining work: the =voice/SKILL.md= rule line, the paired
+=voice/references/voice-profile.org= entry, the =interaction.md= subsection, the
+two cross-reference lines, and adding #48 to the attestation high-recurrence set.
+
+Source: inbox/2026-07-31-1328-from-work-craig-approved-mirroring-the-48.org
+
** DOING [#B] Hostile subagent review before every agent commit :feature:
:PROPERTIES:
:LAST_REVIEWED: 2026-07-28