feat: Laientauglichkeit — Auto-Modus, Klartext-Ausgabe, einfachere Doku

Ziel: ein einziger täglicher Befehl genügt, jede Meldung ist auch ohne
IT-Wissen verständlich.

Auto-Modus (ein Cron-Job genügt für alles):
- data/state.json merkt sich, wann die Wochen-Prüfungen zuletzt liefen
  (baseline.py: load_state/save_state/is_check_due/mark_check_run)
- `scan` führt fällige Zusatzprüfungen (Tarnung/externe Links/Dateien)
  automatisch mit aus; Gesamt-Ampel = schlechtestes Teilergebnis;
  EIN kombinierter Report + EIN Alert
- neuer Config-Abschnitt periodic_checks (Default: wöchentlich, an)

Klartext (scanner/plain.py):
- Ampel 🟢/🟡/🔴 + Sätze ohne Fachbegriffe, aus den strukturierten Befunden
- Report: Klartext oben, "Technische Details (für Ihren Dienstleister)" unten
- Terminal-Ausgabe und E-Mail (alerter.py) ebenso umgestellt

Komfort:
- approve --all/--rebuild legt die Datei-Überwachung automatisch mit an
  (Opt-out: --skip-assets); approve-assets bleibt für den Sonderfall
- status zeigt Ampel zuoberst + wann die Wochen-Prüfungen zuletzt liefen
- Onboarding-Text in einfacher Sprache, wenn noch kein Vergleichsstand existiert

Doku: README + BEDIENUNGSANLEITUNG mit "In 3 Schritten"-Einstieg.

Tests: test_state.py, test_plain.py (Fachbegriff-Assertion), Auto-Asset-
Baseline-Test. 165 Tests grün.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
Your Name 2026-06-12 11:14:05 +02:00
commit bed20db8bd
11 changed files with 856 additions and 202 deletions

View file

@ -60,6 +60,15 @@ thresholds:
red: 60 # ab diesem Score: Alarm (rot)
large_text_block_chars: 200 # Textblock ab dieser Länge wird als „groß" gewertet
# Wöchentliche Zusatzprüfungen laufen automatisch beim täglichen `scan` mit.
# So genügt EIN Cron-Job für alles — kein separater Aufruf nötig.
periodic_checks:
enabled: true # Zusatzprüfungen automatisch mitlaufen lassen
interval_days: 7 # wie oft (in Tagen) die Zusatzprüfungen fällig werden
cloak_check: true # Tarnungs-Prüfung (sieht Google einen anderen Inhalt?)
ext_links: true # externe Links auf Erreichbarkeit prüfen
assets: true # Bilder/Skripte/Stylesheets auf Veränderung prüfen
alerting:
min_level: "yellow" # "yellow" oder "red"
email: