homelab-codex-ws/docs/sessions/2026-07-31-kb-f4-final-narty27.md

43 lines
2.7 KiB
Markdown
Raw Normal View History

# Session log 2026-07-31 — KB Faza 4: zamknięcie + pilot narty27
## Zakres
Finalne domknięcie fazy 4 subsystemu B (KB) oraz podsumowanie pilota fazy 5 (narty27).
## Faza 4 — zamknięcie (na twardo)
### Dedup podwójnej implementacji fallbacku embed
- Rozstrzygnięcie: master (`e7625cd`, `app/embed_router.py`) = źródło prawdy.
- Z porzuconego brancha uratowano S1S4 (`cb8a19d`):
- `retrieval_eval.py --transport http`
- session log 27.07
- testy luk T1T3
- komentarz kalibracji progów dist.
### Deploy na PIHA (z mastera)
- `ollama-piha`: named volume `ollama_piha_models`, model bge-m3, `KEEP_ALIVE=0`.
- `kb-query`: port 8230, bind 192.168.31.5, `EMBED_FALLBACK_URL` ustawione.
### Test sol-down — PASS na żywej produkcji
Przebieg: pause ollama@SOLARIA → cache 30 s trzyma `up` → zapytanie przełącza się one-shot na PIHA (`embed_backend: piha`, wyniki poprawne) → `sol_status: down` → unpause → powrót `up` w ≤35 s.
Dodatkowo zaobserwowano samoistne jednorazowe zadziałanie breakera na produkcji — przyczyna nieustalona, zachowanie zgodne z projektem.
### Progi dist (skalibrowane, obowiązują)
`<0.45` hit / `0.450.55` szara strefa / `>0.55` brak odpowiedzi.
## Pilot fazy 5 — narty27 (POC, zostaje na stałe)
Publiczna wystawka `narty27.kapala.org` zbudowana pełnym wzorcem docelowym fazy 5 w miniaturze:
markdown+frontmatter (OKF v0.1) → walidator konformancji (`check_okf.py`) → generatory (graf cytoscape, karty HTML, tabela porównawcza, zdjęcia z filtrem percepcyjnym, strona linków) → statyczny hosting (PIHA nginx + named volume) → publiczny ingress (NPM VPS + LE).
Źródło: `~/narty-2027/saalbach-kb` (lokalny git na SOLARII, celowo poza repo infry). Infra: `services/narty27`.
### Wnioski do przeniesienia na fazę 5 (wiki-kompilat)
1. OKF v0.1 działa w praktyce; spec ewoluuje (v0.2: `timestamp``generated: {by, at}`, provenance first-class) — przy implementacji fazy 5 rozważyć start na v0.2 albo pin v0.1 z zaplanowaną migracją.
2. Walidator-lint jako stały element pipeline'u wiki.
3. Bug upstreamu knowledge-catalog: generator grafu pomija linki od `/` wbrew §5.1 — własny generator; kandydat na issue/PR (backlog).
4. Reserved files: `index.md` bez frontmattera (poza `okf_version` w root) — walidator łapie.
5. Warstwa prezentacji z generatorów — tani, użyteczny wzorzec do reużycia nad wiki-kompilatem KB.
6. Każdy artefakt ma mieć dom w gicie; sesje mają logi.
## Następne kroki
1. Faza mailowa: batching Ollamy → backfill ~225k kopert → IMAP przyrostówka → PDF-y (~336) → GDrive Takeout.
2. Blokada/ryzyko: node-agent R1R3 (unfiltered prune) — eskalacja do subsystemu A; mitygacja M1 na SOLARII na czas backfillu.