[2026-09-15] eagle: family/tech/zigbee-t610-z2m-i-zha.md work/projects/cpm-web-extension-breakage-validation.md
This commit is contained in:
@@ -56,15 +56,47 @@ related:
|
||||
|
||||
### Зоны (Areas) после миграции
|
||||
|
||||
> 🔴 **ОШИБКА, ИСПРАВЛЕНА: пара `sauna` ↔ `bed_dimmer` была перепутана.**
|
||||
> Файл `~/tmp-t610/rename-map.json` (составленный агентом **до** миграции) содержал **неверные IEEE** для двух устройств: `a4c1384fbe0b3a6b` помечен как `bed_dimmer` (на деле **`sauna`**), `a4c13882a4b42db0` помечен как `sauna` (на деле **`bed_dimmer`**).
|
||||
>
|
||||
> **ИСТОЧНИК ИСТИНЫ — только `/config/zigbee2mqtt/configuration.yaml`** (секция `devices:`, каждому IEEE свой `friendly_name`). Проверено: `sauna` = `a4c1384fbe0b3a6b`, `bed_dimmer` = `a4c13882a4b42db0`.
|
||||
>
|
||||
> **УРОК: НЕ доверять промежуточным картам, построенным агентом. Перед переименованием сверять КАЖДЫЙ IEEE с исходным конфигом.** Исправлено скриптом `full_check.py` (сверка 16/16 по истинной карте, `mismatches: 0`).
|
||||
|
||||
```
|
||||
kotelnaia recirculation_pump, boiler_controller_power,
|
||||
heating_cable_plug, boiler_water_leak
|
||||
heating_cable_plug, boiler_water_leak, sauna
|
||||
kabinet office_table_light_switch, smart_light_office, office_temperature_sensor
|
||||
dushevaia night_light_shower_2, shower_2_presence_sensor
|
||||
lestnitsa light_stairs tualet toilet_1_floor_temperature
|
||||
bedroom bed_dimmer kitchen kitchen_hood
|
||||
bedroom bed_dimmer, wireless_light_switch_bed kitchen kitchen_hood
|
||||
```
|
||||
|
||||
### Истинная карта 16 устройств (из Z2M `configuration.yaml`)
|
||||
|
||||
| IEEE | friendly_name |
|
||||
|---|---|
|
||||
| `0xa4c13862d39377e6` | office_temperature_sensor |
|
||||
| `0xa4c138f8da8bc478` | recirculation_pump |
|
||||
| `0x84fd27fffed9e137` | night_light_shower_2 |
|
||||
| `0xa4c1386d40ddb67b` | light_sensor_stairs — ❌ НЕ подхвачен ZHA |
|
||||
| `0xa4c1381186ed1a32` | smart_light_office |
|
||||
| `0xa4c13873b5c1575b` | office_table_light_switch |
|
||||
| `0xa4c13807b64c7fd4` | kitchen_hood |
|
||||
| `0xa4c1386d0839706a` | light_stairs |
|
||||
| `0xa4c1384fbe0b3a6b` | **sauna** |
|
||||
| `0xa4c138b0f9e674a5` | wireless_light_switch_bed |
|
||||
| `0xa4c13882a4b42db0` | **bed_dimmer** |
|
||||
| `0xa4c138c4a94a6a31` | shower_2_presence_sensor |
|
||||
| `0xa4c1383d5fcaa063` | boiler_water_leak |
|
||||
| `0xa4c138eb6fbe9d19` | heating_cable_plug |
|
||||
| `0xa4c1381694217e10` | boiler_controller_power |
|
||||
| `0xa4c138c650636cf6` | toilet_1_floor_temperature |
|
||||
|
||||
> ✅ **Сверка 2026-09-15 (ночь-15): 15 из 16 устройств в HA совпадают с истинной картой, `mismatches: 0`.** Отсутствует только `light_sensor_stairs` (батарейный, спит).
|
||||
|
||||
### Зоны (первоначальная выдача)
|
||||
|
||||
> 🔴 **ПИТФОЛЛ: удаление `device_id` из реестра СБРАСЫВАЕТ `area_id`.** После миграции все 13 устройств оказались без зон, хотя сами зоны (11 шт.) целы. Восстанавливать через `config/device_registry/update` с `area_id`.
|
||||
|
||||
### Автоматизации: 12/16 живых
|
||||
|
||||
@@ -17,7 +17,8 @@
|
||||
| Natural crash / memory / CPU termination в production | **Не проверено** | Механизм доказан, реальная частота и связь с outage требуют M3/M4. |
|
||||
| Close Other Tabs forget-ит retained tab | **Подтверждено и исправлено в M1** | Сохраняется тот же экземпляр Tab без ложного didCloseTab. |
|
||||
| Duplicate Tab из popup переносит original | **Подтверждено и исправлено в M1** | В main window уходит копия, source остаётся отдельным объектом. |
|
||||
| Закрытие окна forget-ит shared pinned/other-owned tabs | **Подтверждено и исправлено в M1** | Закрываются только tabs, реально принадлежащие закрываемому окну. |
|
||||
| Pin/unpin/reorder/move/merge теряют lifecycle tab | **Подтверждено и исправлено в M1** | Tab сохраняет identity; WebKit получает `didMoveTab` с old index/window вместо ложных close/open. Pinned tabs имеют корректный flattened index. |
|
||||
| Закрытие окна forget-ит shared pinned/other-owned tabs | **Подтверждено и исправлено в M1** | `didCloseTab` получают только реально закрытые tabs; shared pinned сохраняются и при закрытии последнего окна. |
|
||||
| Нестабильный WebExtension base URL | **Исправлено и локально проверено в M2** | URL детерминирован по identifier и сохраняется между load/reload; production migration/storage validation остаётся rollout-задачей. |
|
||||
| Startup/session-restore content-script miss | **Подтверждено как transient** | Не объясняет устойчивый all-tabs outage. |
|
||||
| Failed background load навсегда застревает в m_backgroundWebView | **Исходный вывод отвергнут** | WebKit способен повторно загрузить background; устойчивый outage требует повторяемой причины/traffic. |
|
||||
@@ -35,7 +36,7 @@
|
||||
| ------------------------ | ---------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
||||
|
||||
|
||||
| M1 tab lifecycle | `codex/cpm-tab-lifecycle-fixes` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-tab-lifecycle-fixes` | **Готово:** три lifecycle fix; 4 targeted tests и macOS build проходят. |
|
||||
| M1 tab lifecycle | `codex/cpm-tab-lifecycle-fixes` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-tab-lifecycle-fixes` | **Готово, без коммита:** Close Other Tabs, popup duplicate, pin/unpin, reorder, cross-window/new-window move, merge, pinned indices и закрытие shared pinned при последнем окне; 229/229 затронутых macOS tests проходят. |
|
||||
| M2 stable base URL | `codex/cpm-stable-base-url` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-stable-base-url` | **Готово:** 11/11 tests; iOS/macOS builds проходят. |
|
||||
| M3 attribution telemetry | `codex/cpm-failure-telemetry` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-failure-telemetry` | **Готово к PR:** passive PII-free facts, forwarding proxy, runtime kill switch; 23/23 tests; schemas iOS/macOS валидны. |
|
||||
| M4 production validation | `codex/cpm-production-validation` — `/Users/admin/DuckDuckGo/apple-browsers.git/cpm-production-validation` | **Ожидает production data:** runbook готов; начинать после одного telemetry release. |
|
||||
|
||||
Reference in New Issue
Block a user