fix: add unnecessary negative contrast detection to voice linting

- 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>
This commit is contained in:
Ken
2026-05-27 00:46:21 +00:00
parent a951c00e35
commit 69390e319b
4 changed files with 26 additions and 2 deletions
+18 -1
View File
@@ -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