From 3e7e99629f8f35dbfd1c5bcd3b2ae55a682226d7 Mon Sep 17 00:00:00 2001 From: oskar Date: Thu, 23 Jul 2026 12:48:20 +0200 Subject: [PATCH] =?UTF-8?q?docs(sessions):=202026-07-22/23=20HA=20?= =?UTF-8?q?=E2=80=94=20adapter=20api,=20deploy.sh,=20otwarcie=20fazy=201?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/sessions/2026-07-23-ha-faza1-otwarta.md | 57 ++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 docs/sessions/2026-07-23-ha-faza1-otwarta.md diff --git a/docs/sessions/2026-07-23-ha-faza1-otwarta.md b/docs/sessions/2026-07-23-ha-faza1-otwarta.md new file mode 100644 index 0000000..368f7b9 --- /dev/null +++ b/docs/sessions/2026-07-23-ha-faza1-otwarta.md @@ -0,0 +1,57 @@ +# 2026-07-22/23 — HA: adapter api, import ken, deploy.sh, otwarcie fazy 1 + +## Wykonane + +1. `task/ha-adapter-api`: adapter api w import.sh (REST: automations/scripts/ + scenes; WS: dashboardy, rejestry, input_*). Pierwszy import ken: 118 + automatyzacji, 5 skryptów, 3 sceny, 7 dashboardów (lovelace_admin: + config_not_found — zarejestrowany, nigdy nieskonfigurowany, do sprawdzenia + w UI). Token nigdy w argv (ha_api.py czyta plik sam). +2. `task/ha-deploy`: deploy.sh — drift-check → walidacja lokalna + + check_config → zapis per obiekt → verify. Testy offline 22/22, dry-run + na żywym ken czysty. ken-legacy/chelsty odrzucane (status != active). +3. Pierwszy pełny przebieg LIVE (nieplanowany, patrz Lessons): 126 targetów, + 105 written, 21 "verify errors" = HA znormalizował legacy schema + (trigger→triggers, condition→conditions, action→actions, service→action). + Dom niezaburzony (118 automatyzacji, 0 unavailable). Drift domknięty + re-importem, commit 4366cdb. +4. Ceremonia otwarcia fazy 1 (2026-07-23): fix aliasu "Gniadka→Gniazdka" + (1664715283066) pełnym cyklem repo→dry-run→deploy→verify. 1 written, + 0 errors. Commit 57a5f66. +5. Noc 22/23.07 na jednym mózgu: nocne automatyzacje (1:00, Mirror 4:30, + Gniazdka 5:00, night mode, TRV) strzelały normalnie — legacy nie zabrał + ze sobą niczego zauważalnego. + +## Lessons learned + +- Token HA dwukrotnie skompromitowany przy setupie (raz wklejony w czat/ + terminal, raz komenda zamiast tokenu w read -rs; 4 wpisy w zsh_history). + Procedura naprawcza: rewokacja w HA, sed na ~/.zsh_history, świeża sesja. + Zasada: token tylko przez read -rs do pliku chmod 600; w komendach + ad-hoc `tokenha=$(cat ~/.config/ha-deploy/ken.token)`. +- Prompt CC wklejony do zsh zamiast do sesji CC — nieszkodliwe (same parse + errors), ale sekwencja musi być: najpierw claude w worktree, prompt + dopiero w interfejsie CC. +- Deploy bez listy plików = "wszystko w scope" — odpalony na żywo bez + dry-runu (sklejone kroki + niedokończony merge wcześniej = deploy.sh + jeszcze nie istniał na masterze przy pierwszej próbie, a przy drugiej + poszedł full-scope). Skutek niegroźny (no-op semantycznie + normalizacja + schematu), ale dwa wnioski w backlogu poniżej. +- agent.sh merge: 3x z rzędu rozjazd master/branch wymagający rebase — + papier-cut do naprawienia. + +## Backlog (dopisane) + +- deploy.sh: skip niezmienionych obiektów (porównanie z live przed POST) + — wtedy full-scope deploy jest bezpiecznym no-opem. +- Zasada operacyjna do czasu skip-unchanged: deploy ZAWSZE z jawną listą + plików. +- agent.sh: pull --ff-only przy new; komunikat "REBASE NEEDED" przy merge. +- ha-diag-agent nadal celuje w martwy localhost:8123 (kontener zgaszony) — + przepięcie na 31.7 czeka; sprawdzić czy/jak zaalertował. + +## Stan + +Faza 1 otwarta: repo = źródło prawdy dla automations/scripts/scenes ken, +tor odczytu i zapisu działa E2E. Dashboardy/helpers: import tak, deploy +jeszcze nie (WS write — osobny task). Obserwacja legacy do 2026-07-29.