# Sesja 2026-07-17/18 — KB faza 3: kroki 2-5 DOMKNIĘTE ## Krok 2 — migracja 004 + pilot streszczeń A/B (17.07) - `document_summary` (UNIQUE z model od razu) na żywej bazie; job summarize (map-reduce >200k znaków, słownik tagów kontrolowany, izolacja błędów). - **Bug krytyczny znaleziony w pilocie**: brak `options.num_ctx` → gemma3:12b cicho ucinała 45% dokumentów do ~2048 tok (zweryfikowane prompt_eval_count). Fix + pełny re-run toru lokalnego. Dwutorowość D3 zwróciła się natychmiast. - Wynik: haiku-4-5 157/157 (0 JSON-faili, 100% dyscypliny słownika), gemma3 155/157 (2 JSON-faile, dryf tagów — na FLL komplet tagów z kosmosu). - **Decyzja D3 (ocena A/B Oskara, 18.07... 17.07)**: tor kompilacyjny = claude-haiku-4-5; gemma3 w odwodzie; model fazy mailowej — przy jej reconie (prywatność/koszt). ## Krok 3 — kaskada summary→chunk (17.07) - `retrieval.py`: flat_query (baseline) + cascade_query (stage1 summary → stage2 chunk, jeden embed/zapytanie). Eval przepisany do wersjonowanego `eval/queries.yaml` + `retrieval_eval.py`. - **Bramka PASS at N=10, k=5** (N-sweep {1..20}: N=5 zmierzona podłoga, N=10 z 2× marginesem). Kaskada nie poprawia rankingu na 186 dok (top-1 identyczne z flat przy N≥5) — zgodnie z przewidywaniem planu: to test architektury pod 225k, nie optymalizacja pilotowa. Kaskada = domyślna ścieżka kb-query. ## Kroki 4-5 — cykliczny ingest + timer (17-18.07) - Wrapper 4-etapowy (adapter→chunk_embed→summarize→embed-summaries; 4. etap dołożony po pytaniu CC — bez niego nowe summaries niewidzialne dla kaskady). Tolerancja Ollama-offline, metryki textfile (.prom), reguły alertów fleet-prometheus. - **node_exporter@PIHA wciągnięty do GitOps** (owner_node: per-host — domyka pół paczki B inwentaryzacji). - Test na żywo: dry-run wykrył **5 dokumentów pominiętych przy imporcie 13.07** (race z OCR — Paperless miał 191, envelope 186); --apply przemieliło je end-to-end (82 chunki, 2 junk-flagged przez nowy filtr, 5 summaries), drugi run w pełni idempotentny. 202/202 testów. - Deploy: timer na PIHA enabled (03:30 daily), venv /opt/homelab/kb/venv, KB_DSN+ANTHROPIC_API_KEY w .env; trigger ręczny: exit 0, liczniki 0. Incydenty po drodze: sekwencja instalacyjna omyłkowo odpalona też na SOLARII (posprzątane: timer disabled, venv/DSN usunięte); deploy-node.sh na SOLARII rozebrał node-agenta przy ghost-recreate (dokończony, agent wstał). ## Stan bazy: 191 kopert paperless / 225 030 gmail; 2765 chunków (2545+82 aktywne...); 162 summaries haiku. KB samo-aktualizująca się. ## Otwarte - **Rotacja ANTHROPIC_API_KEY** — klucz świecił w transkrypcie 17.07; Oskar świadomie odłożył (limit $200/mies. ogranicza ryzyko). Zrobić przy okazji. - **Wiki proof-of-concept** — ostatni element fazy 3 (repo kb-wiki, konwencje, 3-5 stron przez CC). Świeża sesja. - Follow-upy CC: stability-agent owner_node single→per-host (druga połowa paczki B).