Commit graph

53 commits

Author SHA1 Message Date
oskar 89be9b9780 feat(kb): SPLIT backlog.md (72 KB) -> 19 dokumentow + cienki indeks
Rozstrzygniecie 1. Monolit mieszal cztery typy OKF. Rozbity PER TYP po
granicy sekcji `##`:

  10 x decision  — pozycje backlogu (w tym backlog-aktywne 28 KB
                   i backlog-zamkniete 12 KB, ktore zostaja calosciami)
   7 x incident  — bugi/awarie dotad wtopione w backlog: cutover HA ken,
                   checkpoint observera, ha-diag-agent node=unknown,
                   deploy-local ghost-kontenery, paperless-worker config,
                   deploy-node nie przebudowuje obrazu, ollama bez sterownika
   2 x phase     — HA configs-as-code, monitoring floty Prometheus

kb/phases/backlog.md zostaje jako cienki indeks (type: phase, status: active):
oryginalna preambula + wygenerowany spis linkow do wszystkich 19 elementow.
23 przychodzace odwolania zostaja przepiete na ta sciezke w grupie 7.

NIE rozbijano po `###` (38 pozycji w "Aktywne" + 13 w "Zamkniete" = 51
plikow). Rozstrzygniecie mowi "rozbij per typ", a nie per pozycja;
rozdrobnienie do 51 plikow rozerwaloby czytelnosc backlogu.

Kontrola: preambula + 19 sekcji == oryginal z HEAD (multizbior niepustych
linii). Tresc pozycji nietknieta.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:58:46 +02:00
oskar 510fe0b600 feat(kb): frontmatter OKF dla 39 session logow
Session logi zostaja w docs/sessions/ (decyzja z etapu 1). Dodany wylacznie
blok frontmattera: type: session-log, visibility: private, status: active,
updated = data ostatniego commita pliku.

Tresc nietknieta — kazdy plik to +9/-0 linii.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 16:58:04 +02:00
oskar e619c00874 docs: session log 2026-07-31 — KB faza 4 zamknieta + pilot narty27
Uzupelnia log o fakty brakujace w pierwszej wersji:
- OKF v0.2: migracja = jedna zamiana pola (timestamp -> generated {by,at})
- upstream bug: GoogleCloudPlatform/knowledge-catalog, generator grafu
  pomija linki od / wbrew §5.1 wlasnej spec
- landing w lancuchu generatorow (bylo: "strona linkow")
- nowa sekcja "Otwarte po sesji": expected_envelope w mail_queries,
  brak hosts/solaria/runtime/ollama/docker-compose.override.yml,
  R1-R3 node-agent (incydent 2026-07-30-ollama-solaria-vanish)

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-08-04 14:39:52 +02:00
oskar 45fc21e18a docs(kb): session log F4 final + pilot narty27 2026-08-04 14:39:52 +02:00
oskar f0f426ef55 docs(sessions): 2026-07-30 legacy final, MCP faza 2a, druga fala awarii 2026-07-30 20:19:46 +02:00
oskar 4b92924332 docs(sessions): wciągnięcie loga 2026-07-27 kb-f4-fallback z porzucanego brancha (salvage S2)
Implementacja kodu z tej sesji porzucona na rzecz e7625cd (dopisek redakcyjny
na górze pliku), ale log jest jedynym zapisem faktów operacyjnych: osierocony
natywny ollama.service na PIHA wyłączony 2026-07-27 (backlog odinstalowania
≈2026-08-10), kalibracja live ollama-piha z werdyktem GO (peak ~983 MiB,
~4.2–5.3 s/embed) i baseline bramki §9 (HTTP-equivalence 0 rozbieżności,
sol-down Δ~3e-4 — do powtórki na masterze, raport dedup follow-up (b)).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-30 16:40:24 +02:00
oskar e02c925ffb docs: session 2026-07-28 21:59 2026-07-28 21:59:26 +02:00
oskar 50c4b2024a docs(sessions): zigbee.kapala.org przez tailnet/LAN, okit.pl sprzatniete 2026-07-27 18:52:15 +02:00
oskar 25fca9e29e docs(sessions): 2026-07-27 legacy rm, kasacje, pimirror, sonda Zigbee (routery bez pradu) 2026-07-27 18:28:22 +02:00
oskar b7fe813576 docs(kb-query): confirm Cloudflare A-record for kb.kapala.org is live
Operator added the A-record manually; verified against Cloudflare's own
authoritative NS (which briefly still returned NXDOMAIN — not a propagation
lag, the record simply wasn't saved yet on first check) plus 8.8.8.8/1.1.1.1.
Both DNS layers (Cloudflare public/Tailscale + Pi-hole LAN override) and the
vhost now confirmed working end-to-end.
2026-07-23 18:38:34 +02:00
oskar fbe81f9bf5 docs(kb-query): ingress kb.kapala.org live — npm vhost + Pi-hole DNS, OIDC deferred
Runtime steps (not in Git, logged here): npm@PIHA proxy host #35
(kb.kapala.org -> 192.168.31.5:8230, cert #49 *.kapala.org wildcard, same
pattern as paper./vikunja.kapala.org); Pi-hole custom.list split-horizon
entry added and verified (first kapala.org entry in that file — the other
kapala.org vhosts turned out to have no LAN override at all, a plan
assumption that didn't hold). Cloudflare A-record left for the operator (no
API token available here). OIDC intentionally not built: confirmed no
forward-auth pattern exists anywhere in this repo, and building authlib
OIDC into kb-query is real service code out of scope for an infra-only
task — operator decided to leave kb.kapala.org without auth for now.
2026-07-23 18:38:34 +02:00
oskar 8f307f45aa docs(sessions): 2026-07-23 klima E2E, audyt Fable, fix-pack 1 2026-07-23 18:11:51 +02:00
oskar cbce8a1b48 docs(sessions): 2026-07-22/23 control-plane — dziura operator_ui + pierwszy pełny cykl remediacji bez SSH
Zamknięcie wątku "czemu mózg nie leczy floty": fix publicznego bindu 18180
bez autoryzacji (9a5c160), remediacja pull-based przez node-agent bez SSH
(2dac154), fix uprawnień actions/ na PIHA, pierwszy udany cykl E2E (31s).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-23 15:10:20 +02:00
oskar 3e7e99629f docs(sessions): 2026-07-22/23 HA — adapter api, deploy.sh, otwarcie fazy 1 2026-07-23 12:48:20 +02:00
oskar 6626a5bf8f docs(sessions): 2026-07-22 HA dwa mozgi — cutover ken, archiwum legacy, stop kontenera 2026-07-22 16:51:53 +02:00
oskar c6b186eca7 docs(sesja): 2026-07-22 — faza 4 kroki 1-2 done, kb-query LIVE (pierwszy HTTP do KB); wzorzec incydentów Ollama do backlogu 2026-07-22 16:21:10 +02:00
oskar 9a553c335a docs(sesja): wiki proof-of-concept done — FAZA 3 modułu 5 domknięta w całości; lekcje do automatyzacji kompilacji (faza 5) 2026-07-22 15:07:01 +02:00
oskar 1dffe330a6 docs(sesja): 2026-07-17..21 — KB faza 3 kroki 3-5 done (kaskada PASS, werdykt Haiku, timer live) + incydent node-exporter :9100 2026-07-21 15:22:30 +02:00
oskar 9b0532afae docs(sesja): 2026-07-17/18 — KB faza 3 kroki 2-5 done (pilot A/B → Haiku, kaskada PASS N=10, cykliczny ingest live na PIHA) 2026-07-20 19:41:42 +02:00
oskar 8eaf993ea1 docs(sesja): 2026-07-16 cd.2 — KB faza 3 krok 2 w toku (migracja 004, pilot streszczeń dwutorowy, bug num_ctx naprawiony) 2026-07-16 22:11:50 +02:00
oskar 893a0de862 docs(sesja): 2026-07-16 control-plane — dopisanie 4 fixow (recon lustro, deploy-node --build, supervisor freeze, event flood) + aktualizacja backlogu
Sesja odkryla i naprawila wielowarstwowa awarie warstwy decyzyjnej: pusta kolejka
akcji byla skutkiem zamrozonej petli supervisora (glob 358k eventow > timeout) i
martwej retencji (cichy efekt uboczny fixu checkpointu z 07-15). Backlog: oznaczone
ZROBIONE (deploy-node --build, supervisor frozen, event flood/retencja), dodane
OTWARTE (ghost world_state, shadow_mode decyzja, drift->action, gokapi .env).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-16 21:30:01 +02:00
oskar 509b9056c6 docs(sesja): 2026-07-16 — KB krok 7 done, faza 2 modułu 5 DOMKNIĘTA (retrieval zweryfikowany, progi skalibrowane, GPU 207ms/embed) 2026-07-16 15:11:07 +02:00
oskar 3b88c6c0fe docs(sesja): 2026-07-15 — KB moduł 5 kroki 3-6 done (backfill 225k, cross-source, embed 2683 chunków), Ollama deklaratywnie + odkrycie braku sterownika NVIDII, decyzja fazy 3 (Karpathy llm-wiki) 2026-07-15 20:47:55 +02:00
oskar 5218925408 docs(sesja): 2026-07-15 — cutover Etap 2 GO + domknięcie checkpoint/shadow-log/ha-diag
Sesja: analiza Etapu 2 (Fable) rekomenduje GO dla wszystkich 4 węzłów; 165
mismatchy solaria/lustro wyjaśnione jako detection-lag TTL vs scrape, nie bug.
Trwały log SHADOW_LIVENESS_MISMATCH zweryfikowany testem kontrolowanym na
lustro. Backlog: ha-diag-agent node=unknown oznaczone ZROBIONE (f2ba81b).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-15 20:19:54 +02:00
oskar f135365da5 docs(sesja): 2026-07-12 Deploy 2 OCR-worker DZIALA (split-host NFS) + backlog: nowe serwisy KB poza monitoringiem 2026-07-12 21:15:38 +02:00
oskar 07a0fe097b docs(sesja): 2026-07-10 Deploy 1 Paperless LIVE (OCR+OIDC dziala) + swap PIHA 8Gi + npm-API w akcji + lekcje 2026-07-10 18:29:10 +02:00
Oskar Kapala 5db6ffa1f3 docs(sesja): 2026-07-09 KB configi 9 decyzji (NC->PIHA) + wzorzec Nextcloud-twierdza + Gokapi public share 2026-07-09 18:34:19 +02:00
oskar 4965866644 docs: session log 2026-07-07 immich upload fix + pimain backup retention 2026-07-07 23:01:48 +02:00
oskar 7d6fd7df37 docs(sesja): 2026-07-07 okit.pl faza 1 (wildcard *.okit.pl) + przepiecie 9 hostow bulk-SQL + lekcja npm cert regeneracja 2026-07-07 22:39:23 +02:00
oskar 3d437976b1 docs(sesja): 2026-07-06 — recon cutoveru wmergowany + Etap 0 udowodniony end-to-end (AlertTestEtap0)
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 18:34:32 +02:00
oskar 8ccd58b8a1 docs(sesja): modul 0 wykonany (+1Gi PIHA) + migracja forgejo/vikunja na kapala.org (OIDC gotcha) 2026-07-02 17:37:07 +02:00
oskar 0bcf5e505f docs(sessions): sesja 2026-07-02 — recon-weryfikacja inwentaryzacji, trzy miny rozbrojone
Recon Fable (57a6dff): bilans 23 rozjazdow (20 aktualnych / 2 zmienione /
1 wyjasniony), dwa pendingi domkniete (poll Prometheus w brain-watchdog
potwierdzony; ghost kontenery B zniknely). Miny: #1 PIHA checkout
(lekcja checkout-vs-reset), #2 slepy control-plane na SATURN (compose down),
#3 owner_node (886bc85).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-02 17:30:48 +02:00
Oskar Kapala 727cb999ef docs(sesja): inwentaryzacja floty 2026-06-30 + dysk SATURN + safeclean; backlog 23 rozjazdy 2026-06-30 19:56:50 +02:00
Oskar Kapala 0656635793 docs(sesja): fleet-prometheus liveness — reguły NodeDown + watchdog→Prometheus poll
Sesja 2026-06-30: commits d417000 (rules/liveness.yml, NodeDown inactive=OK) i 62d6fc0
(brain-watchdog/check_prometheus_alerts, architektura A, 12 testów). Incydent PIHA
divergent branches — praca uratowana verify-before-reset. PENDING: end-to-end firing.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-30 19:29:20 +02:00
Oskar Kapala 831bbedffa docs(sesja): kapala.org → Cloudflare wildcard DNS-01, HA i Immich na mesh
Sesja 2026-06-30: migracja DNS kapala.org z 42.pl na Cloudflare, wildcard
*.kapala.org przez DNS-01, ha/immich.kapala.org przez NPM@PIHA mesh-only.

- nowy session log z root-cause buga "unrecognized name" (NPM duplikuje
  proxy_http_version przy Websockets ON) + wzorzec migracji usługi na mesh
- backlog: gotchas (NPM WS config, CF auto-proxy DKIM) + TODO (migracja
  okit.pl, foty renew, cleanup ha-ken add-on, stale ha.okit.pl)
- topology: nowa sekcja ingress (ha/immich → NPM@PIHA, wildcard cert)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-30 16:23:57 +02:00
Oskar Kapala 39ab34643d docs(kb): sesja 2026-06-26 — fleet-prometheus targety floty + zamknięcie buga deploy.sh vps
- targety node_exporter floty (piha/solaria/lustro) wdrożone (7d4014e)
- fix deploy.sh vps↔control-plane potwierdzony w boju (3b71707)
- PENDING: health-verify targetów w /api/v1/targets nie potwierdzony
- lekcja: nie commitować na master równolegle gdy CC pracuje na wątku (potrójny rebase)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-26 17:30:19 +02:00
oskar 7a95ab2fff docs(kb): sesja 2026-06-25 — bulk import Gmail uruchomiony (225k kopert na PIHA) 2026-06-26 16:33:17 +02:00
oskar c0ffb6abf7 docs(kb): sesja 2026-06-22 — spine relokowany na PIHA + przygotowanie hosta
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-25 18:52:35 +02:00
oskar c32e050d56 docs(kb): sesja 2026-06-24 — importer Gmail gotowy + konwencja jobs/ 2026-06-25 17:41:01 +02:00
oskar 2655b4c6f4 docs(sessions): add 2026-06-25 session log (fleet-prometheus etap 1 domknięty + incydent mózgu)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-25 16:30:47 +02:00
oskar a55c0928e6 docs(sessions): add 2026-06-24 session log (fleet-prometheus etap 1)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-24 23:37:49 +02:00
oskar 1136a48222 docs(session): 2026-06-22 — decyzja Prometheus-as-truth dla liveness floty
Osobny fleet-Prometheus (pull, up{}) zastępuje warstwę wykrywania
node-agent->rsync->observer. Bez Alertmanagera (brain-watchdog drugie wejście).
Placement VPS. Swap 4G done. Plan kroków OTWARTE.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-22 22:15:16 +02:00
oskar bbfbb698f8 docs(kb): etap 1 fundament done + session log 2026-06-17
- kb-00-overview.md: etap 1 oznaczony jako DONE (kb-postgres + koperta +
  packages/kb-mail), następny krok = etap 2 bulk Gmail; dodana sekcja
  konwencji packages/
- CLAUDE.md: sekcja "Shared Python Libraries (packages/)" — konwencja,
  layout, instalacja w Dockerfile
- docs/sessions/2026-06-17-kb-foundations.md: pełny log sesji (architektura
  KB, decyzje, etap 1 zbudowany, poprawki spójności, następny krok)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-19 20:02:25 +02:00
oskar 643ca209f4 docs(session): 2026-06-17 — vikunja OIDC+gitops, observer heartbeat-TTL, panel-source finding + backlog 2026-06-17 22:10:52 +02:00
Oskar Kapala 31b5981174 docs: session 2026-06-11 20:35 2026-06-11 20:35:23 +02:00
Oskar Kapala c1acee7acf docs: session 2026-06-11 20:19 2026-06-11 20:19:26 +02:00
Oskar Kapala a0bfd96870 docs: session 2026-06-11 — lustro ssh shipping fix + ha-diag-agent piha + backlog/flota-bomba
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:18:00 +02:00
Oskar Kapala 5c2516d097 docs: session 2026-06-09 + skill/backlog update
- docs/sessions/2026-06-09-flota-recovery-lustro-register.md: flota
  recovery (root cause aerbot group, 3 warstwy maskujące), lustro register
  stan+plan, fix-event-bloat i OOM pending, worktree gotcha
- docs/backlog.md: nowy plik — tech-debt tracker; wpisy: --omit-dir-times,
  oskar∈aerbot deklaratywnie, worktree per task, observer staleness
- .claude/skills/node-onboarding/SKILL.md: step table aktualizacja (PROVEN:
  20-base, 30-node-agent; WRITTEN: 40-register, 50-verify), 3 nowe gotchas
  (rsync perm, observer restart, worktree branch)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-09 20:38:35 +02:00
Oskar Kapala 9b2a1b4e9a docs(backlog): observer staleness — dead node shows NOMINAL (heartbeat TTL) 2026-06-09 12:16:59 +02:00
Oskar Kapala 85e056046c docs(session): worktree hygiene update + marker gap note 2026-06-09 11:38:41 +02:00