docs(architecture): ai-cluster decommission decision (legacy, not migrated)

Bus codex/* dead since 2026-06-09 (recon C9). Records what survives into
subsystem B (patterns only: task bus, worker roles, enforced command
allowlists, preview mode), that task/ai-cluster-solaria stays unmerged
as documentation, and that the vps containers get stopped in a separate
supervised session.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
oskar 2026-07-29 18:49:18 +02:00
parent d03288e5b3
commit d7d9c0f6f7

View file

@ -0,0 +1,43 @@
# ai-cluster — LEGACY, wygaszany (decyzja 2026-07-28)
## Decyzja
Stack **ai-cluster** działający na vps (`ai-cluster-openclaw-1`, `codex-worker`,
`planner-worker`, `service-ops-worker`, `redis`, `mosquitto`) jest **wygaszany,
nie migrowany**. Podstawa (recon
[RECON-multiagent-2026-07-27.md](RECON-multiagent-2026-07-27.md), C9):
bus `codex/*` jest martwy od **2026-06-09** — zero nowych połączeń przez ~7 tygodni,
workery trzymają tylko puste długożyjące połączenia.
Konsekwencje:
- **Migracja na solarię NIE wchodzi.** Branch `task/ai-cluster-solaria`
(@ `b124e54`) zostaje **niezmergowany** — pełni rolę dokumentacji stanu prac
i reconu; nie kasować.
- ai-cluster nie ma katalogu w `services/` na masterze i **nie dostanie go**
nie wciągamy legacy do GitOps.
- `planner-agent` na solarii (ta sama rodzina) ma w
`hosts/solaria/services.yaml` `monitor: false` — decyzja o jego losie osobno.
- Kontenery na vps **zostaną zatrzymane w osobnej, nadzorowanej sesji**
(stop stacka, obserwacja `free -m`, rollback = start) — poza tym taskiem;
do tego czasu działają dalej pod hard mem_limitami.
## Co przeżywa w subsystemie B (wzorce, nie kod)
Subsystem B (dyspozytor + KB + HA + homelab-ops; osobny projekt) dziedziczy
z ai-clustra **wzorce projektowe**:
- bus zadań z routingiem po polu `target` (`role:*` / `AGENT_ID`) i wąskim ACL,
- podział na wyspecjalizowane workery-role (dev / planner / service-ops),
- allowlisty kształtu komend przed wykonaniem czegokolwiek na hoście — z lekcją
z reconu (A2): allowlist musi być **egzekwowana i celowana** (martwa stała
`SERVICE_NAMES` + substring-match po `docker ps` to antywzorzec),
- tryb preview/diagnose przed wykonaniem.
Kod ai-clustra **nie jest** przenoszony.
## Czego NIE robić
- Nie deployować, nie restartować i nie "naprawiać" stacka ai-cluster na vps.
- Nie mergować `task/ai-cluster-solaria`.
- Nie podpinać nowych klientów pod `codex/*` na brokerze ai-clustra.