diff --git a/SKILL.md b/SKILL.md
index df4284e..79cb48c 100644
--- a/SKILL.md
+++ b/SKILL.md
@@ -39,7 +39,7 @@ user-invocable: true
diff --git a/reference/home-assistant.md b/reference/home-assistant.md
index f56a604..c277ae9 100644
--- a/reference/home-assistant.md
+++ b/reference/home-assistant.md
@@ -70,36 +70,39 @@ Then re-point dashboard climate tiles back to `climate.*_nest` if local control
is wanted (see dashboard note).
-
-## Matter re-commissioning blocked (2026-07-05)
+
+## Matter re-commissioning (2026-07-05, in progress)
-Addon `core_matter_server` is now 9.0.4 = matter.js server (`matter-server/1.1.7`,
-schema 11) — the 9.0.0 update REPLACED the Python Matter Server; the migration
-left an EMPTY fabric (now `fabric_id: 2`, new compressed id — the pre-June
-fabric `1E5211CA4C7B5275` is gone for good; nodes must be re-commissioned).
+Addon `core_matter_server` 9.0.4 = matter.js server (schema 11). The 9.0.0
+migration from the Python server lost the fabric — new fabric_id 2; the old
+fabric `1E5211CA4C7B5275` is gone. All 8 Nest thermostats need re-commissioning
+onto the new fabric. DONE: Lodge Kitchen (node 16, `climate.lodge_kitchen_nest`,
+device labeled `matter_nest`+`matter_hvac`, bridged temp sensor "Kitchen").
+REMAINING: Office, Primary Bathroom, Bunkhouse Kitchen, Eat-in Kitchen,
+Basement Bedroom, Tub Room, Basement Living Room. All stale old-fabric devices
+deleted from the registry.
-Re-commissioning FAILS: server discovers the Nest via mDNS but PASE dials only
-ONE candidate — the Nest's IPv6 link-local (`fe80::…%enp6s18`) — which is
-"Address unreachable"; 3-min timeout, then
-`Commission failed: … (1 of 1 started attempt(s) failed, 1 discovered)`.
-NOT a pairing-code problem (wrong-pin tests fail identically at the same spot).
+Procedure (works fully remotely):
+1. Google Home app (lodge account) → thermostat → Settings → Linked Matter
+ apps & services → Link apps & services → 11-digit code (single-use, ~5 min).
+2. WS `{"type":"matter/commission","code":""}` (or HA UI Add device).
+3. Rename device to " Nest", label `matter_nest` + `matter_hvac`
+ (Office, Kitchen, Bunkhouse Kitchen) or `matter_in_floor_heat` (the 5
+ in-floor zones), rename climate entity to `climate._nest`.
-Facts: HA VM `enp6s18` = 172.24.24.50/24, IPv6 fe80-only (no RA/GUA on vino).
-Nests are WIRELESS on the SAME `vino` network (172.24.24.80-99); UniFi SSID has
-l2_isolation/mcastenhance/proxy_arp all OFF. So either fe80→wireless NDP fails,
-the advertised fe80 belongs to a non-WiFi Nest interface (Thread/BLE MAC
-EUI-64), or matter.js ignores an IPv4 A record candidate.
-matterjs-server has NO documented IPv4/interface knob (only --primary-interface);
-addon passthroughs exist: `matter_server_args`, `matter_server_env_vars`,
-`matter_server_version` (npm pin), `beta`.
+GOTCHA — "Address unreachable" / commission timeout: the matter.js server's
+sockets can wedge when the addon starts at host boot (observed: fe80 dial to
+the Nest unreachable for hours, `1 of 1 attempt(s) failed, 1 discovered`).
+FIX: restart the Matter Server addon, then retry — same address connects fine.
+Restart the addon BEFORE a commissioning session if the host rebooted since
+the addon last restarted. Network is NOT the issue (Nests + HA share the flat
+`vino` 172.24.24.0/24; vino has no IPv6 RA so everything is fe80 + IPv4).
-Addon `log_level: debug` is SET (revert to info when solved). Next attempt will
-log the full discovery record (all A/AAAA candidates) — that discriminates the
-root cause. A Matter setup code can be generated REMOTELY (Google Home app →
-thermostat → Linked Matter apps & services), then drive
-WS `{"type":"matter/commission","code":"<11-digit>"}` and read
-`/api/hassio/addons/core_matter_server/logs`.
-
+Backups: first-ever backup taken 2026-07-05 ("pre-matter-recommission",
+hassio.local, unprotected). Automatic backups still NOT configured — set up
+Settings → System → Backups automatic schedule (the June fabric loss was
+unrecoverable because there were zero backups).
+
## Main Lovelace (`lovelace` / "Overview", storage mode)