maboto/tests
Jeuner 077a877480 Produkt->Kategorie-Cache: bekannte Produkte ohne LLM (SQLite, modellübergreifend)
Neuer produktcache.py (Stufe 2): speichert pro Produkt (Titel+Marke, mengen-
invariant) die einmal ermittelte Gruppe in SQLite, bulk-load ins dict -> O(1).
Schnitt gewahrt: kein LLM-Import, nur Gruppe (nie Angebotsdaten), Whitelist
beim Lesen+Schreiben, nur SICHERE Zuordnungen gecacht.

kategorisiere(cache=, statistik=): Lookup vor dem LLM, Dedup im Lauf (ein
Produkt = ein Posten), Write-Back danach. Parallel-/id-Logik unverändert.
als_struktur/web/cli verdrahtet (Statistik 'X aus Cache · Y neu', --no-cache).

Live verifiziert (1903 Angebote PLZ 60487): Lauf 1 (gemini) 1551 neu; Lauf 2
(deepseek, anderes Modell) nur 110 neu, 1765 aus Cache -> ~93% weniger LLM-Calls,
modellübergreifend. +12 Tests (Round-Trip, Whitelist, Hit-vermeidet-Call, Dedup,
nur-sichere, Schnitt). 70 Tests grün.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-03 18:37:12 +02:00
..
__init__.py Initiale Implementierung: Angebots-Übersicht (Fetch + Kategorisierung + Web-UI) 2026-06-03 09:29:59 +02:00
fakes.py Produkt->Kategorie-Cache: bekannte Produkte ohne LLM (SQLite, modellübergreifend) 2026-06-03 18:37:12 +02:00
test_fetch_abbruch_ort.py Initiale Implementierung: Angebots-Übersicht (Fetch + Kategorisierung + Web-UI) 2026-06-03 09:29:59 +02:00
test_fetch_kein_auffuellen.py Initiale Implementierung: Angebots-Übersicht (Fetch + Kategorisierung + Web-UI) 2026-06-03 09:29:59 +02:00
test_kategorisieren_cache.py Produkt->Kategorie-Cache: bekannte Produkte ohne LLM (SQLite, modellübergreifend) 2026-06-03 18:37:12 +02:00
test_kategorisieren_geschlossene_liste.py Initiale Implementierung: Angebots-Übersicht (Fetch + Kategorisierung + Web-UI) 2026-06-03 09:29:59 +02:00
test_kategorisieren_integritaet.py Kategorisierung parallelisieren (bis zu 8 Batches gleichzeitig) 2026-06-03 18:15:14 +02:00
test_kategorisieren_unsicherheit.py Initiale Implementierung: Angebots-Übersicht (Fetch + Kategorisierung + Web-UI) 2026-06-03 09:29:59 +02:00
test_kategorisierer_anbieter.py Ollama-Konfig: Persistenz (localStorage) + E2E-Test, ehrliche Modell-Grenze 2026-06-03 17:34:34 +02:00
test_modelle.py Ollama als lokaler Anbieter + gewähltes LLM dauerhaft sichtbar 2026-06-03 14:54:32 +02:00
test_produktcache.py Produkt->Kategorie-Cache: bekannte Produkte ohne LLM (SQLite, modellübergreifend) 2026-06-03 18:37:12 +02:00
test_schnitt.py Initiale Implementierung: Angebots-Übersicht (Fetch + Kategorisierung + Web-UI) 2026-06-03 09:29:59 +02:00
test_speicher.py Web-UI: zweistufiger Flow (Rohdaten holen+speichern / Kategorisieren) 2026-06-03 09:44:14 +02:00
test_ui_persistenz.py Ollama-Konfig: Persistenz (localStorage) + E2E-Test, ehrliche Modell-Grenze 2026-06-03 17:34:34 +02:00
test_web.py Ollama als lokaler Anbieter + gewähltes LLM dauerhaft sichtbar 2026-06-03 14:54:32 +02:00