From 9b0532afae61037b6baa0f5db90f7588e7366752 Mon Sep 17 00:00:00 2001 From: oskar Date: Mon, 20 Jul 2026 19:41:42 +0200 Subject: [PATCH] =?UTF-8?q?docs(sesja):=202026-07-17/18=20=E2=80=94=20KB?= =?UTF-8?q?=20faza=203=20kroki=202-5=20done=20(pilot=20A/B=20=E2=86=92=20H?= =?UTF-8?q?aiku,=20kaskada=20PASS=20N=3D10,=20cykliczny=20ingest=20live=20?= =?UTF-8?q?na=20PIHA)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sessions/2026-07-18.md | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 docs/sessions/2026-07-18.md diff --git a/docs/sessions/2026-07-18.md b/docs/sessions/2026-07-18.md new file mode 100644 index 0000000..98a909d --- /dev/null +++ b/docs/sessions/2026-07-18.md @@ -0,0 +1,24 @@ +# 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).