From 7135042752c1a56d37c09f3d80e8aa26e8a68f7a Mon Sep 17 00:00:00 2001 From: Hitonabi Date: Wed, 23 Sep 2026 21:58:44 +0200 Subject: [PATCH] boxwart: Update-Verlauf zeigt je Meldung nur den ersten Satz, Einzahl bei einer Aenderung Co-Authored-By: Claude Opus 5.5 --- backend/services/update_verlauf.py | 4 +++- backend/tests/test_update_verlauf.py | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/backend/services/update_verlauf.py b/backend/services/update_verlauf.py index 4e0874c..d796f5b 100644 --- a/backend/services/update_verlauf.py +++ b/backend/services/update_verlauf.py @@ -100,8 +100,10 @@ def _lesbar(text: str) -> str: text = re.sub(r"\s*\+\s*GEPINNT", " und festgehalten", text) text = re.sub(r"gepinnt, übersprungen", "festgehalten, übersprungen", text, flags=re.IGNORECASE) text = text.replace("GEPINNT", "festgehalten").replace("FEHLGESCHLAGEN", "fehlgeschlagen") + text = re.sub(r"\b1 Commits\b", "1 Änderung", text) text = re.sub(r"\b(\d+) Commits\b", r"\1 Änderungen", text) - return text.strip()[:240] + # Nur der erste Satz: der Rest der Meldungen ist Begleittext für Telegram. + return re.split(r"(?<=[.!])\s", text.strip(), maxsplit=1)[0][:240] def _zeile(baustein: str, text: str) -> dict: diff --git a/backend/tests/test_update_verlauf.py b/backend/tests/test_update_verlauf.py index c332fbf..2850968 100644 --- a/backend/tests/test_update_verlauf.py +++ b/backend/tests/test_update_verlauf.py @@ -29,7 +29,7 @@ PROTOKOLL = """\ • Router (llama-swap): 253 → 255 eingespielt, Stack-Check grün. • Engine (llama.cpp): 10936 FEHLGESCHLAGEN → zurückgerollt auf 10819 + GEPINNT. • Hermes-Agent: gepinnt, übersprungen. -2026-09-13 04:31:07 QUEUED für Morgen-Digest: Die Box startet jetzt neu — das OS verlangt es nach dem Update (libc6 ). +2026-09-13 04:31:07 QUEUED für Morgen-Digest: Die Box startet jetzt neu — das OS verlangt es nach dem Update (libc6 ). Sie ist ein paar Minuten weg. 2026-09-20 04:30:39 QUEUED für Morgen-Digest: Router (llama-swap) aktualisiert: 255 → 256. Stack-Check grün, alles läuft. 2026-09-20 04:35:33 QUEUED für Morgen-Digest: Commander, die Wochenpflege der Box ist durch — kurz für dich: • Router (llama-swap): 255 → 256 eingespielt, Stack-Check grün. @@ -66,6 +66,7 @@ def test_rueckbau_und_festhalten_werden_gelb_und_lesbar(): assert zeilen["Motor"]["text"] == "10936 fehlgeschlagen → zurückgerollt auf 10819 und festgehalten." assert zeilen["Hermes"]["ergebnis"] == "festgehalten" assert zeilen["Neustart"]["ergebnis"] == "neustart" + assert zeilen["Neustart"]["text"] == "Die Box startet jetzt neu — das OS verlangt es nach dem Update (libc6 )." def test_abgebrochener_lauf_ohne_zusammenfassung_ist_rot(): @@ -80,6 +81,7 @@ def test_lauf_von_hand_mit_neustart_danach(): assert lauf["anlass"] == "Update von Hand" assert lauf["titel"] == "Eingespielt" assert lauf["zeilen"][-1]["baustein"] == "Neustart" + assert lauf["zeilen"][2]["text"] == "1 Änderung eingespielt, Gehirn-Check grün." def test_alles_aktuell_ist_grau():