integrity_scanner_fuer_stat.../tests
Dieter Schlüter 989f5a933f feat: Inhaltsinventar in SQLite — KI-Inhaltsangabe je Objekt (URL + Hash)
Vereinheitlicht den bisherigen JSON-Ledger zu EINEM abfragbaren SQLite-Store
pro Site (data/content_inventory.db): jedes geprüfte Objekt mit Inhalts-Hash,
URL(s), Sicherheits-Verdikt UND neutraler KI-Inhaltsangabe.

- baseline.py: load/save_ai_ledger jetzt SQLite-gestützt (Dict-Schnittstelle
  bleibt → Analyzer unverändert). Tabellen objects + object_urls. Einmalige
  Migration eines vorhandenen ai_ledger.json → SQLite (.migrated). UPSERT mit
  first_seen-Erhalt; object_urls transaktional ersetzt. Neu: query_inventory,
  export_inventory_csv (beide migrieren failsafe).
- ai_analyzer.py: Antwort-Schema + Prompt um neutrales Feld 'description'
  erweitert (im selben Call, keine Extrakosten); _make_entry speichert es.
- __main__.py: neues Kommando 'inventory' (Übersicht, --search, --kind, --csv).
- Doku: README + Bedienungsanleitung.

Audio/Video sind im Schema (kind) vorbereitet (Phase 2: Extractor + Modalitäten).
bredelar.info real migriert: 245 Objekte (200 Bilder, 45 Texte).

Tests: 266 grün (+6: Round-Trip mit description, Migration, first_seen-Erhalt,
invalidate, Suche/CSV-Export, description landet im Ledger).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-13 05:12:19 +02:00
..
__init__.py feat: initial implementation of website integrity scanner 2026-06-12 00:51:41 +02:00
test_ai_analyzer.py feat: Inhaltsinventar in SQLite — KI-Inhaltsangabe je Objekt (URL + Hash) 2026-06-13 05:12:19 +02:00
test_alerter.py fix: Report und Alarm-Mail konsistent (gemeinsamer Renderer) 2026-06-13 03:35:05 +02:00
test_assets.py feat: Laientauglichkeit — Auto-Modus, Klartext-Ausgabe, einfachere Doku 2026-06-12 11:14:05 +02:00
test_baseline.py feat: Inhaltsinventar in SQLite — KI-Inhaltsangabe je Objekt (URL + Hash) 2026-06-13 05:12:19 +02:00
test_checker.py fix: Bugfixes, toten Code entfernt, Cache-Normalisierung & Session 2026-06-12 03:20:32 +02:00
test_cloak.py feat: Cloaking-Erkennung per Doppel-Crawl (Browser-UA vs. Googlebot-UA) 2026-06-12 04:02:24 +02:00
test_crawler.py feat: exclude_paths — skip dynamic areas (RSS feeds, news archives) from scan 2026-06-12 13:14:06 +02:00
test_differ.py feat: exclude_paths — skip dynamic areas (RSS feeds, news archives) from scan 2026-06-12 13:14:06 +02:00
test_ext_links.py fix: retry external link check with browser UA on 403 2026-06-12 11:40:27 +02:00
test_extractor.py fix: Bugfixes, toten Code entfernt, Cache-Normalisierung & Session 2026-06-12 03:20:32 +02:00
test_plain.py fix: always report broken internal links + show source pages 2026-06-12 12:18:38 +02:00
test_state.py feat: Laientauglichkeit — Auto-Modus, Klartext-Ausgabe, einfachere Doku 2026-06-12 11:14:05 +02:00