From 69390e319b4830478f94bfb071b325fca5063ff8 Mon Sep 17 00:00:00 2001 From: Ken Date: Wed, 27 May 2026 00:46:21 +0000 Subject: [PATCH] fix: add unnecessary negative contrast detection to voice linting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - New lint check: 'doesn't just X. They Y' pattern (Claude rhetorical crutch) - Fixed last instance in judgment essay: 'doesn't just lose income. They lose' → 'loses the acknowledgment... The income is secondary.' - Updated voice-check skill dimension 2 with the pattern description - Updated AGENTS.md with the new check - Tightened regex to avoid false positives on legitimate 'isn't only' framing 🤖 Generated with Amplifier Co-Authored-By: Amplifier <240397093+microsoft-amplifier@users.noreply.github.com> --- .amplifier/AGENTS.md | 1 + .amplifier/skills/voice-check/SKILL.md | 6 ++++++ scripts/lint-voice.sh | 19 ++++++++++++++++++- ...ditizes-features-but-judgment-compounds.md | 2 +- 4 files changed, 26 insertions(+), 2 deletions(-) diff --git a/.amplifier/AGENTS.md b/.amplifier/AGENTS.md index 3846fe9..e674748 100644 --- a/.amplifier/AGENTS.md +++ b/.amplifier/AGENTS.md @@ -33,6 +33,7 @@ with full awareness of what's wrong. - Em-dash density (>5 per post = FAIL, Claude fingerprint) - AI trigger words (delve, tapestry, nuanced, landscape, etc.) - Hedging phrases ("it's worth noting", "one might argue") +- Unnecessary negative contrast ("doesn't just X. They Y" -- Claude crutch) - Filler transitions ("in conclusion", "that being said") - Resolution closers ("the key takeaway", "at the end of the day") - Missing receipts (0 links + 0 code + 0 URLs in 500+ words = WARN) diff --git a/.amplifier/skills/voice-check/SKILL.md b/.amplifier/skills/voice-check/SKILL.md index e5bd109..1b0c484 100644 --- a/.amplifier/skills/voice-check/SKILL.md +++ b/.amplifier/skills/voice-check/SKILL.md @@ -61,6 +61,12 @@ Does the writing hedge when it should assert? Look for: clearly believes - Passive constructions that hide the actor ("it was found" vs "I found") - False balance ("on the other hand" when there IS no valid other hand) +- **Unnecessary negative contrast**: the "doesn't just X. They Y" or "isn't + only X. It's Y" pattern. This is a Claude rhetorical crutch that creates + the *appearance* of depth through contrast without saying anything the + second clause didn't already imply. Example: "A doctor doesn't just lose + income. They lose the acknowledgment that..." Fix: state Y directly. + "A doctor loses the acknowledgment that..." The voice profile says: "High, earned. States opinions as conclusions from experience, not as positions to defend." diff --git a/scripts/lint-voice.sh b/scripts/lint-voice.sh index a07c44b..ab6d729 100755 --- a/scripts/lint-voice.sh +++ b/scripts/lint-voice.sh @@ -94,7 +94,24 @@ else echo "" fi -# --- CHECK 5: Resolution closers --- +# --- CHECK 5: Unnecessary negative contrast ("doesn't just X, they Y") --- +NEGCONTRAST_PATTERNS="doesn.t just .{1,40}\. (They|It|She|He|We)|isn.t just .{1,40}\. (It|They)|doesn.t just .{1,40}, (but|it.s|they)|not just about .{1,40}\. (It|They)|more than just .{1,40}\. (It|They)" +NEGCONTRASTS=$(echo "$BODY" | grep -oiP "$NEGCONTRAST_PATTERNS" | sort | uniq -c | sort -rn) +if [[ -n "$NEGCONTRASTS" ]]; then + echo "WARN Unnecessary negative contrast patterns found:" + echo "$NEGCONTRASTS" | sed 's/^/ /' + echo " Pattern: \"doesn't just X. They Y\" -- Claude rhetorical crutch." + echo " Fix: State Y directly. The contrast adds nothing." + echo " Lines:" + grep -niP "$NEGCONTRAST_PATTERNS" "$FILE" | head -10 | sed 's/^/ /' + echo "" + WARNINGS=$((WARNINGS + 1)) +else + echo "OK No unnecessary negative contrast" + echo "" +fi + +# --- CHECK 6: Resolution closers --- CLOSER_PATTERNS="the key takeaway|the takeaway here|at the end of the day|what this means is|the bottom line|the real question is" CLOSERS=$(echo "$BODY" | grep -oiP "$CLOSER_PATTERNS" | sort | uniq -c | sort -rn) if [[ -n "$CLOSERS" ]]; then diff --git a/src/content/posts/ai-commoditizes-features-but-judgment-compounds.md b/src/content/posts/ai-commoditizes-features-but-judgment-compounds.md index 9c4c59e..650130c 100644 --- a/src/content/posts/ai-commoditizes-features-but-judgment-compounds.md +++ b/src/content/posts/ai-commoditizes-features-but-judgment-compounds.md @@ -14,7 +14,7 @@ AI raises the floor dramatically. It does not flatten the ceiling. ## The Dignity Problem (Most Underappreciated) -The threat to engineers isn't only economic. When expert judgment stops being consulted, something human is lost: the social recognition that hard-won expertise deserves. A doctor who loses clinical judgment to AI doesn't just lose income. They lose the acknowledgment that fifteen years of intuition was worth something. +The threat to engineers isn't only economic. When expert judgment stops being consulted, something human is lost: the social recognition that hard-won expertise deserves. A doctor who loses clinical judgment to AI loses the acknowledgment that fifteen years of intuition was worth something. The income is secondary. This is a different kind of harm than job displacement and deserves its own conversation.