# 2026-07-23 (cd.) — HA: klima E2E, audyt Fable, fix-pack 1

## Klima salonowa — pierwsza automatyzacja LLM przez repo (E2E)

Intencja po polsku → helpers w UI → CC (Sonnet): discovery encji z fixtures,
3 pliki (ON+sync, OFF, skrypt suszenia parownika fan_only 5 min), wykrył brak
fan_mode w encji gree_ir i dostosował. Trzy iteracje:
1. Przegląd operatorski: znaleziony martwy punkt po suszeniu + dodana
   15-min karencja balkonowa (CC follow-up; commit prawie wszedł
   niezacommitowany — lekcja: git status przed push z worktree CC).
2. Odbiór na żywo: naturalny start z triggera balkonowego (23.7>23.6),
   Cool 14:57 → Fan only 15:00 → Off 15:05 — pełny cykl potwierdzony.
3. Bug z obserwacji produkcji: próg temperatury istniał tylko jako trigger,
   triggery brzegowe go omijały (start przy salonie 23.6 < próg 27).
   Fix faa2e2a: lustrzany warunek w gałęzi start. Wzorzec nazwany i użyty
   w audycie jako klasa błędu.

## Audyt automatyzacji (Fable 5, read-only, 502 linie)

docs/audyt-automatyzacji-2026-07-23.md. Krytyczne: kalibracje TRV liczące
unavailable jako 0°C (wynik -5.0, pętla co 40s); klaster ~15 automatyzacji
cicho martwych przez 6 padłych czujników ruchu; alerty wodne z odwróconym
triggerem i literówką mesaage. Diagnoza CC przy fix-packu: wspólna awaria
2026-07-17 15:07 (restart HA/update Supervisora) — czujniki ruchu + pilot
4button + cała integracja xiaomi_miot naraz; podejrzenie na integrację/
koordynator, nie baterie.

## Decyzje operatora (checklista 17 pytań — pełny zapis w DESIGN.md)

Fix-pack 1 (wdrożony, f09dcbf, deploy 5/5): alerty wodne, respekt ręcznego
"Disable AUTO off" w kuchni, 3am z time_pattern (60x/noc) na punktowe 03:00,
klima OFF za warunkiem auto=on (sunset/balkon nie ruszają ręcznego chłodzenia;
zgaszenie przełącznika nadal robi graceful dry-off — osobna gałąź choose).
Świadomie bez zmian: OwnTracks (wróci przy fazie KB), symulacja obecności
batch 02, porządki on_leave. Choinki: disable w UI (sezonowe).
Nowe projekty w backlogu: architektura night_mode (konsolidacja sleep/night,
enforcer, 4 nocne wyłączniki, ostateczny wyłącznik nocny), diagnoza awarii
2026-07-17, guard TRV przed sezonem (~09), przycisk graceful shutdown klimy.

## Meta

- Round-trip repo→API→repo zwalidowany na produkcji (re-import po deployach:
  zero diffu na automatyzacjach).
- Drift helpers wykryty przez audyt i domknięty importem (f3328d2) — model
  sync działa zgodnie z projektem.
- Incydent tokenowy przy setupie deploy_agent (2x kompromitacja w historii
  shella) — procedura naprawcza zadziałała; zasada: read -rs do pliku,
  w komendach $tokenha z pliku.
- Fable 5 do audytu: trafny dobór — klasa znalezisk poza zasięgiem szybkiego
  przeglądu.
