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>
52 lines
2.5 KiB
Markdown
52 lines
2.5 KiB
Markdown
---
|
|
okf: "0.1"
|
|
type: decision
|
|
visibility: private
|
|
status: active
|
|
updated: 2026-07-29
|
|
links: []
|
|
---
|
|
|
|
# Architektura — decyzje obowiązujące
|
|
|
|
Stan decyzji na 2026-07-28. Podstawa dowodowa:
|
|
[RECON-multiagent-2026-07-27.md](../subsystems/recon-multiagent.md); plan wykonawczy:
|
|
[PLAN-subsystem-a-2026-07-28.md](../phases/subsystem-a-naprawa.md). Zmiana którejkolwiek
|
|
decyzji wymaga aktualizacji tego pliku z nową datą.
|
|
|
|
## Dwa subsystemy (2026-07-28)
|
|
|
|
- **A — keep-it-running**: control-plane (observer, supervisor, executor, operator-ui),
|
|
node-agenty, stability-agenty, self-healing floty. **To jest fokus tego repo.**
|
|
- **B — do-the-work**: dyspozytor zadań (agent) + nogi KB / Home Assistant /
|
|
homelab-ops. Osobny wysiłek, osobny projekt. Z ai-clustra dziedziczy **wzorce**
|
|
(bus zadań, role workerów, allowlisty komend) — **nie kod**.
|
|
|
|
## Role node'ów (2026-07-28)
|
|
|
|
| Node | Rola | Status |
|
|
|---|---|---|
|
|
| **vps** | ingress publiczny + control-plane, nic więcej (4 GB RAM, publiczny) | active |
|
|
| **piha** | serwer domowy 24/7 — dom wszystkiego, co musi zawsze działać; przyszły dom dyspozytora subsystemu B | active |
|
|
| **solaria** | desktop obliczeniowy on-demand; wyłączany ~16 h/dobę **z założenia** — dobowe eventy offline/online to oczekiwany cykl pracy, nie awaria; nic wymagającego 24/7 nie może tu mieszkać | active |
|
|
| **lustro** | Raspberry Pi z MagicMirror; pełnoprawny monitorowany node (node-agent, eventy) | active |
|
|
| **chelsty-infra** | druga lokalizacja: hypervisor LTE, Zigbee/MQTT | dormant (sprzęt padł ~2026-06-01; reanimacja później) |
|
|
| **chelsty-ha** | druga lokalizacja: VM Home Assistant | dormant (jak wyżej) |
|
|
|
|
Node'y `dormant`: observer trzyma ostatni znany stan, ale nie emituje eventów
|
|
liveness; supervisor nie generuje dla nich żadnych akcji.
|
|
|
|
## ai-cluster = LEGACY (2026-07-28)
|
|
|
|
Stack ai-cluster na vps (openclaw, codex-worker, planner-worker, service-ops-worker,
|
|
redis, mosquitto) jest **wygaszany, nie migrowany**. Bus `codex/*` martwy od
|
|
2026-06-09 (zero nowych połączeń). Branch `task/ai-cluster-solaria` zostaje
|
|
**niezmergowany** — pełni rolę dokumentacji. Kontenery na vps zostaną zatrzymane w
|
|
osobnej, nadzorowanej sesji. Szczegóły: [ai-cluster-LEGACY.md](ai-cluster-legacy.md).
|
|
|
|
## Approvale zostają HITL (2026-07-28)
|
|
|
|
Human-in-the-loop obowiązuje. Restarty kontenerów mogą w przyszłości przejść na
|
|
autonomię, ale `redeploy` i `disk_cleanup` zawsze wymagają zgody człowieka.
|
|
Kanałem powiadomień i approvali będzie **Telegram** (etap 2 planu).
|