126 plikow (md, yaml, sh, py) odwolywalo sie do sciezek sprzed migracji.
15 markdown-linkow [..](..) -> policzona sciezka WZGLEDNA wobec pliku
odsylajacego (wczesniej czesc z nich byla repo-root-relative i nie
rozwiazywala sie z katalogu, w ktorym lezala)
200 odwolan tekstowych (backticki, proza, yaml, importy w kodzie)
-> nowa sciezka repo-root-relative, zgodnie z konwencja repo
5 linkow rodzenstwa (gole nazwy plikow, np. "](DEPLOY.md)") — dzialaly
tylko w starym katalogu; przeliczone recznie
Objete m.in.: CLAUDE.md (scripts/onboard/README.md -> kb/runbooks/
node-onboarding-tool.md, docs/backlog.md -> kb/phases/backlog.md),
README.md, .claude/skills/, 20 session logow, kod jobow.
Ostatnie 5 odwolan pochodzi z tresci wciagnietej rebasem z origin/master
(session log 2026-07-31, override node-agenta na SOLARII, dwie pozycje
backlogu) — wskazywaly na docs/incidents/, docs/kb/modules/ i
services/narty27/README.md sprzed migracji.
Dodany wzajemny link miedzy kb/services/control-plane.md (stub kodu)
a kb/subsystems/control-plane.md (opis, deprecated) — dwa dokumenty o tym
samym systemie, latwe do pomylenia.
Weryfikacja na 790 plikach: 0 odwolan do starych sciezek,
0 martwych linkow markdown. Lint OKF: 190/190 plikow ZGODNE.
Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
4.8 KiB
| okf | type | visibility | status | updated | links |
|---|---|---|---|---|---|
| 0.1 | session-log | private | active | 2026-07-02 |
Sesja 2026-07-02 — recon-weryfikacja inwentaryzacji + rozbrojenie trzech min
Cel
Weryfikacja stanu faktycznego floty względem audytu inwentaryzacji 2026-06-30 (recon read-only, CC/Fable) + rozbrojenie najpilniejszych min z raportu. Sesja tylko-recon + minimalne fixy; bez deployów nowych feature'ów.
ZROBIONE
Recon-weryfikacja inwentaryzacji floty (commit 57a6dff, read-only)
Wynik: kb/subsystems/fleet-inventory-verify.md.
Bilans 23 rozjazdów z audytu 2026-06-30:
- 20 wciąż aktualnych — nic się samo nie naprawiło.
- 2 zmienione: dysk SATURN 91%→83% (po safeclean, poza strefą ryzyka);
ocena joplin-db
postgres:18zdezaktualizowana — PG18 jest GA od 09/2025, to już nie pre-release. - 1 wyjaśniony: storage SOLARIA — 1.9T zgodne z capabilities; "brakujący" 1TB to partycja Windows dual-boot, nie rozjazd.
- 0 naprawionych repo-side (przed tą sesją).
Dwa pendingi z poprzednich sesji DOMKNIĘTE przez recon:
- Poll Prometheus w brain-watchdog POTWIERDZONY — obraz zbudowany po
62d6fc0,PROMETHEUS_URLobecny w.envI w env kontenera, zeropoll failedw logach. Pending z 2026-06-30 zamknięty. - Ghost hash-prefixed kontenery control-plane na VPS ZNIKNĘŁY — 24 kontenery na VPS, zero hash-prefixed. Bug B z backlogu rozwiązany (prawdopodobnie recreate'y z kolejnych deployów je zmiotły).
Bonus reconu:
- fleet-prometheus 100% zgodny z repo; WSZYSTKIE 4 targety up (vps / piha / solaria / lustro).
- lustro żyje (pimirror2, node-agent healthy), ale
pi-watchtower-1w restart-loopie — nowy drobiazg do backlogu. - chelsty-* UNREACHABLE (LTE) — zgodnie z oczekiwaniem.
Trzy miny z raportu rozbrojone
Mina #1 — PIHA checkout: gałąź wciąż task/kb-gmail-import
HEAD był na commicie mastera, ale gałąź wciąż task/kb-gmail-import —
niedokończony reset z 2026-06-30: reset --hard przesunął wskaźnik gałęzi
taska na commit mastera, ale NIE przełączył gałęzi.
FIX: git checkout master && git pull na PIHA — 30 commitów nadrobione,
node teraz naprawdę na master.
LEKCJA: naprawa błędnej gałęzi na nodzie to checkout + pull,
NIE reset --hard — reset przesuwa bieżącą gałąź, nie przełącza na inną.
Mina #2 — zapomniany control-plane stack na SATURN
4 kontenery Up 3 days (ui unhealthy) obok produkcyjnego mózgu na VPS.
Logi supervisora pokazały, że był ŚLEPY: pętla WARNING
Hosts directory /repo/hosts does not exist co 30s — brak mountu repo,
zero możliwości akcji przez całe 3 dni. Czyli zero ryzyka zdublowanych
remediacji w tym czasie; NIE ma związku z bugiem C (supervisor-no-action
na produkcji).
FIX: docker compose down (wolumeny zachowane). Jedyny control-plane
= produkcyjny na VPS.
Mina #3 — owner_node kłamał (commit 886bc85)
- forgejo:
owner_nodesaturn → piha (biega na PIHA always-on) - mosquitto:
owner_nodepiha → vps (biega na VPS)
Po jednej linii per plik; owner_node nie występował nigdzie indziej w repo.
DO BACKLOGU (zgłoszone, świadomie NIE ruszone — osobne decyzje)
- forgejo brak wpisu w
hosts/piha/services.yaml; mosquitto brak whosts/vps/services.yaml(schemat hostowy wymaga role/exposure/depends_on — miny #2/#3/#16 z audytu). - mosquitto na VPS bez mem_limit override w
hosts/vps/runtime/(narusza konwencję CLAUDE.md). - drugi mosquitto na chelsty-infra (offline'owa instancja) — pojedyncze
owner_nodejej nie opisuje; wzorzec per-host jak stability-agent/node_exporter (miny #17/#18). - topology deklaruje mosquitto też jako komponent ai-cluster
(
topology.yaml:75) — rozstrzygnąć czyj jest broker :1883. - (nowe z reconu)
pi-watchtower-1na LUSTRO w restart-loopie; aliaslustronie rezolwuje z SOLARII; brak formalnego override mem_limit fleet-prometheus whosts/vps/runtime/(siedzi w bazowym compose — kosmetyka).
Wpisy dodane do kb/phases/backlog.md w tej sesji.
Wnioski
- Recon-before-fix działa: dwa pendingi zamknięte bez dotykania czegokolwiek (poll watchdoga potwierdzony, ghosty B same zniknęły) — oszczędzone dwa niepotrzebne taski naprawcze.
reset --hardto niecheckout: mina #1 to bezpośrednia konsekwencja fixa z 2026-06-30 — reset przesunął gałąź taska zamiast przełączyć na master. Wzorzec na nody deploy-only: zawszecheckout master && pull.- Ślepy supervisor = cichy supervisor: stack na SATURN wyglądał groźnie (możliwe zdublowane remediacje), ale brak mountu repo czynił go bezzębnym. Weryfikacja logów PRZED oceną ryzyka oszczędziła fałszywy alarm.
- Hashe sesji:
57a6dff(recon-weryfikacja),886bc85(owner_node fix).