selbst-inventur: Diff-Filter warf alle Bullet-Zeilen weg (immer "0 Aenderungen")

Steckbrief-Zeilen sind Bullets ("- ..."), im Diff also "+- "/"-- " — der alte
Filter ^[+-][^+-] (gedacht gegen +++/----Kopfzeilen) verschluckte damit jede
echte Aenderung. Jetzt werden nur die Datei-Kopfzeilen ausgefiltert.
Beweis 16.07.: realer Nacht-Diff hatte 7 Aenderungen, Meldung sagte 0.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
Hitonabi
2026-07-16 11:04:58 +02:00
parent fa22435d7c
commit 77dfac79ee
+5 -2
View File
@@ -121,9 +121,12 @@ mv "$STECK.tmp" "$STECK"
if [ -f "$PREV" ]; then if [ -f "$PREV" ]; then
if ! diff -u "$PREV" "$STECK" > "$DIFFOUT.tmp" 2>/dev/null; then if ! diff -u "$PREV" "$STECK" > "$DIFFOUT.tmp" 2>/dev/null; then
# Nur echte Inhaltszeilen behalten (kein +++/---/@@-Rauschen fuer die Meldung). # Nur echte Inhaltszeilen behalten (kein +++/---/@@-Rauschen fuer die Meldung).
# Steckbrief-Zeilen sind Bullets ("- ...") und stehen im Diff als "+- "/"-- " —
# deshalb NUR die Datei-Kopfzeilen ausfiltern, nie aufs zweite Zeichen pruefen
# (alter Filter '^[+-][^+-]' warf jede Bullet-Aenderung weg -> immer "0 Aenderungen").
mv "$DIFFOUT.tmp" "$DIFFOUT" mv "$DIFFOUT.tmp" "$DIFFOUT"
KURZ="$(grep -E '^[+-][^+-]' "$DIFFOUT" | head -12)" KURZ="$(grep -E '^[+-]' "$DIFFOUT" | grep -vE '^(\+\+\+ |--- )' | head -12)"
N="$(grep -cE '^[+-][^+-]' "$DIFFOUT" || true)" N="$(grep -E '^[+-]' "$DIFFOUT" | grep -vcE '^(\+\+\+ |--- )' || true)"
briefkasten "Selbst-Inventur" "Mein Selbstbild hat sich geaendert (${N:-?} Zeilen): briefkasten "Selbst-Inventur" "Mein Selbstbild hat sich geaendert (${N:-?} Zeilen):
${KURZ} ${KURZ}
(Vollstaendiger Steckbrief: ~/.hermes/state/selbst-steckbrief.md)" (Vollstaendiger Steckbrief: ~/.hermes/state/selbst-steckbrief.md)"