homelab-codex-ws/docs/sessions/2026-07-30-ha-mcp-faza2a.md
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

48 lines
2.3 KiB
Markdown

---
okf: "0.1"
type: session-log
visibility: private
status: active
updated: 2026-07-30
links: []
---
# 2026-07-30 — HA: legacy zamknięte, MCP read-only (faza 2a)
## Legacy — finał
- Tydzień obserwacji czysty; kontener homeassistant5 już nie istniał przy
próbie rm — usunięty przez nieustalony mechanizm (node-agent cleanup?
remediation?). Katalog /home/pi/homeassistant NIETKNIĘTY (fałszywy alarm:
2>/dev/null maskował Permission denied — lekcja). Backlog: ustalić, co
usunęło kontener (granice autonomii agentów); katalog do kasacji przy
porządkach piha.
## Faza 2a — własny MCP server (decyzja operatora: własny > hass-mcp)
- services/ha-mcp: 7 tools read-only strukturalnie (klient bez metod
mutujących, WS allowlista, test grepujący za call_service), stdio,
reuse ha_api/ha_ws, rejestracja w .mcp.json. 42 testy offline, smoke
na żywym ken (1647 encji, 115 automatyzacji = zgodne z repo).
- Wtopa wdrożeniowa: venv żył w worktree, zginął przy merge-cleanup;
fix: odtworzenie w głównym checkoucie. Backlog: run.sh bootstrap venva.
- Test bojowy (świeży CC, zero kontekstu): MCP wołany natywnie (5 calls),
synteza hybrydowa MCP+repo — pełna mapa salonu z odwróconym indeksem
encja→automatyzacje. Ujawniona luka: brak find_automations_using_entity
(cross-ref robiony grepem). Backlog: dodać tool przed fazą 2b.
## Znaleziska testu bojowego (klasy audytowej)
- Choinka/lampki (tasmota_12, zblampkiregal, tasmota_8) sterowane wyłącznie
przez device_id — niewidoczne dla grep po entity_id; martwe od 26-29.07,
automatyzacje cicho nie działają.
- DRUGA FALA martwych urządzeń 26-29.07 (switche choinki/regału + pilot
4button ponownie) — osobna od awarii 17.07; tłumaczy trend unavailable
305→377. Diagnoza sprzętowa: priorytet podniesiony, dwie daty padów.
- Task porządkowy device_id→entity_id (checklista pkt 17) dostał twardy
dowód zasadności — do wykonania PO diagnozie sprzętowej.
## Następne
- Diagnoza sprzętowa (fizyczna): dwie fale, z2m pokazuje część urządzeń
żywych (baterie OK) — podejrzenie na most z2m↔HA / integrację.
- Faza 2b: propose_change/dry_run/request_approval przez kolejkę
control-plane (pending→approved→executed) + Telegram. Osobna sesja.
- Tool find_automations_using_entity + bootstrap venva w run.sh.