homelab-codex-ws/docs/sessions/2026-07-21.md

22 lines
3.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Sesja 2026-07-17…21 — wątek KB: faza 3 kroki 3-5 DONE (+ incydenty)
**Krok 3 — kaskada summary→chunk:** bramka **PASS at N=10, k=5** (N-sweep {1..20}: N=5 to zmierzona podłoga, N=10 niesie 2× margines); kaskada nie degraduje niczego, na 186 dok nie poprawia (test architektury pod skalę mailową, zgodnie z przewidywaniem planu); koszt +1 SQL, zero dodatkowych embedów. cascade_query = domyślna ścieżka kb-query; flat_query zostaje jako baseline. Eval przepisany do wersjonowanego eval/queries.yaml + retrieval_eval.py.
**Krok 2 finał — werdykt A/B (D3 rozstrzygnięta):** kompilacja = **claude-haiku-4-5** (157/157, zero JSON-faili, 100% dyscypliny słownika tagów, lepsza hierarchia na długich dokumentach); gemma3:12b w odwodzie (tor lokalny w bazie, job wspiera oba backendy); model fazy mailowej odłożony do jej reconu (privacy/cost flag). Bug num_ctx (gemma cicho ucinała 45% dokumentów do ~2048 tok) znaleziony i naprawiony w pilocie — dwutorowość D3 zwróciła się natychmiast.
**Krok 5 — cykliczny ingest LIVE:** systemd-timer kb-ingest na PIHA (03:30), wrapper 4-etapowy (adapter→chunk_embed→summarize→embed-summaries; 4. etap dodany po pytaniu CC — bez niego nowe summaries byłyby niewidzialne dla kaskady), tolerancja Ollama-offline, metryki przez textfile→node_exporter→fleet-prometheus (reguły KbIngestStale, KbEmbedBacklogGrowing). Test live złapał 5 realnych dokumentów pominiętych przy imporcie 07-13 (race z OCR) — pipeline domknął zaległość: 5 docs → 82 chunki (2 junk-flagged przez nowy filtr) → 5 summaries, drugi run w pełni idempotentny. Baza: 191 kopert paperless. Bonus: node_exporter PIHA wciągnięty do GitOps (owner_node: per-host — pół pozycji paczki B).
**Incydenty sesji:** (1) deploy-node.sh odpalony omyłkowo na SOLARII rozebrał node-agenta (No such container przy Recreate) — dokończony deploy naprawił; (2) stary out-of-band node-exporter na PIHA trzymał :9100 → nowy GitOps-owy kręcił się w restart-loopie ~4h niezauważony (Prometheus scrape'ował starego, up=1, brak alertu — luka klasy "podmiana bytu pod tym samym portem") — stary ubity, cutover czysty, 8 metryk kb_ingest serwowanych; (3) klucz Anthropic API zapisany na stałe w /opt/homelab/kb/.env (timer go używa) — rotowany po ekspozycji w transkrypcie.
**Następne:** wiki proof-of-concept (ostatni element fazy 3; repo kb-wiki + konwencje + 3-5 stron ręcznie sesją CC) → faza 4 (kb-query+UI) wg roadmapy.
---
## Wiki proof-of-concept — FAZA 3 MODUŁU 5 DOMKNIĘTA W CAŁOŚCI
Repo kb-wiki na Forgejo (osobne, D7): konwencje (_meta/conventions.md, frontmatter z sources[].chunks), 5 stron-encji (pzu, warta, ubezpieczenie-auto-porównanie, fll-2025-26, wspólnota-targowa-2a) — 73 przypisy inline [^envelope_id#chunk], 86 wpisów sources, wszystkie automatycznie zweryfikowane przeciwko bazie. Pierwszy lint: 1 sierota (fll), lista brakujących pojęć = kandydaci na strony. Ocena operatora: na pierwszy rzut oka zgodne (głębsza weryfikacja merytoryczna = użycie w praktyce).
Lekcje do automatyzacji kompilacji (faza 5): (1) streszczenia bywają nieprecyzyjne na gęstych dokumentach prawnych (summary pomyliło próg 300 zł) — kompilator MUSI cross-checkować z chunkami, nie ufać summary; (2) mojibake ogranicza weryfikowalność liczb — oznaczać pochodzenie; (3) podobne encje wymagają rozróżnienia (dwie wspólnoty, jeden właściciel); (4) taksonomia "duplikacji": binarny duplikat vs wersje produktu (OWU 2023/2026) vs draft-vs-przyjęta uchwała — każde inne traktowanie. Warsztatowo: kaskada do odkrywania, SQL po envelope_id do cytowania — kompilator potrzebuje obu trybów. Incydent po drodze: ollama na SOLARII odłączona od sieci dockerowej (infra glitch, naprawione restartem) — backlog: konsument healthcheck.sh Ollamy w monitoringu.
**Faza 3: kroki 1-5 + wiki-proof = komplet.** Następne: FAZA 4 — kb-query (FastAPI na PIHA, cascade_query jako silnik, aktywny fallback embed) + UI kb.kapala.org.