diff --git a/docs/architecture/ARCHITEKTURA.md b/docs/architecture/ARCHITEKTURA.md new file mode 100644 index 0000000..30f270f --- /dev/null +++ b/docs/architecture/ARCHITEKTURA.md @@ -0,0 +1,42 @@ +# Architektura — decyzje obowiązujące + +Stan decyzji na 2026-07-28. Podstawa dowodowa: +[RECON-multiagent-2026-07-27.md](RECON-multiagent-2026-07-27.md); plan wykonawczy: +[PLAN-subsystem-a-2026-07-28.md](PLAN-subsystem-a-2026-07-28.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).