From 90e8ea46851437c6e2ba25b113d4ce2f2fe30e8b Mon Sep 17 00:00:00 2001 From: Matysh Date: Mon, 5 Oct 2026 22:05:55 +0300 Subject: [PATCH] docs(review): record local acceptance of Zigbee caption layout Issue: #802 User-Visible: no --- docs/reviews/CODE-REVIEW-802-r2.md | 44 ++++++++++++++++++++++++++++++ docs/reviews/INDEX.md | 3 +- 2 files changed, 46 insertions(+), 1 deletion(-) create mode 100644 docs/reviews/CODE-REVIEW-802-r2.md diff --git a/docs/reviews/CODE-REVIEW-802-r2.md b/docs/reviews/CODE-REVIEW-802-r2.md new file mode 100644 index 00000000..03fa5937 --- /dev/null +++ b/docs/reviews/CODE-REVIEW-802-r2.md @@ -0,0 +1,44 @@ +# Локальное код-ревью #802 — r2, предрелизная совместимость + +Вердикт: зелёный · High: 0 · Medium: 0 · маршрут: merge. + +Материал: `ee351dcb8445d3f5c939a3c7761bee009634ceed` относительно +неопубликованного кандидата `c175a2ab1afd1a2a16da1a3dc04f5e1a4687149e`. +Полномочия — то же прямое исключение владельца, что в [r1](CODE-REVIEW-802-r1.md). +Это локальное саморевью с дополнительным независимым чтением дельты, +не результат недоступной штатной ревью-модели. + +Полный [Validate 37358389278](https://github.com/Matysh/houseplan-card/actions/runs/37358389278) +остановил выпуск: `smoke_room_tooltip_toggle` обнаружил потерю явного +`room: false` у pointer-tooltip устройства. Сам tooltip был виден, но форма +объекта больше не совпадала с прежним `_showTip`. Падение воспроизведено +локально до правки. Неопубликованный кандидат не тегирован. + +Исправление продукта — восстановление `room: false`. Чтением всех прежних +эффектов `_showTip` подтверждено: guards, modality и live-sync сохранены; +`lqi/temp/hum` остаются неопределёнными, старые значения не переносятся. +Фокус и tooltip комнаты не меняются. Старый smoke не ослаблен: добавлены +проверки, что tooltip действительно виден и содержит имя устройства. + +На повторном локальном прогоне нового smoke встретился единичный CDP-сбой +`Resulting promise was garbage collected` при ожидании RAF-backed test facade. +Повтор на тех же исходниках прошёл, однако fixture исправлена по существующему +прецеденту `smoke_preloader`: Promise явно удерживается на fixture-объекте, +внешний polling ограничен 15 секундами, ошибка передаётся дальше, состояние +очищается. Переключение конфигурации вызывается ровно один раз; retries и +ослабление геометрических утверждений не добавлены. + +Проверки: + +- WSL, pinned Node 22.23.2: `gate:small` на продуктовом исправлении + `2b841d94e4f34950f604a3e48aa061f4389d7e7e` — PASS, 0 упавших гейтов. +- WSL: `smoke_room_tooltip_toggle` и `smoke_touch_tips` — PASS. +- WSL: новый `smoke_zigbee_tooltip_layout` на итоговом `ee351dcb8` — + 77/77 PASS без stale-bundle override. Проверки фактического 2.5D сохранены. +- Дельта не меняет пиксели подсказки; полный golden и performance первого + кандидата были зелёными, но это не освобождает новый кандидат от полного + exact-SHA Validate перед публикацией. + +Остаточных находок по этой дельте нет. Прежний красный кандидат не выпускается; +после слияния требуется обновить fingerprint документации, release bundle и +заново проверить окончательный SHA. diff --git a/docs/reviews/INDEX.md b/docs/reviews/INDEX.md index fb19d89a..b64fcf4a 100644 --- a/docs/reviews/INDEX.md +++ b/docs/reviews/INDEX.md @@ -1,6 +1,6 @@ # Индекс ревью -Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 307, issue: 153. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`. +Генерируется `node scripts/reviews-index.mjs` (#635) — не редактировать руками. Документов: 308, issue: 153. Вердикт: 🟢 зелёный · 🟡 жёлтый · 🔴 красный · ⚪ не распознан (свободная форма старых документов). H/M — число High/Medium по строке вердикта или заголовкам находок. Файлы — пути, названные в находках; ищите по имени файла: `grep form-kit INDEX.md`. | Issue | Документ | Этап · раунд | Вердикт | H | M | Находки | Файлы | |---|---|---|---|---:|---:|---|---| @@ -9,6 +9,7 @@ | бета v1.79.0-beta.1 | [SHIP-REVIEW-v1.79.0-beta.1.md](SHIP-REVIEW-v1.79.0-beta.1.md) | пакетное ревью ship · — | ⚪ — | 0 | 0 | — | — | | #802 | [SPEC-REVIEW-802-r1.md](SPEC-REVIEW-802-r1.md) | spec · r1 | 🟢 зелёный | 0 | 0 | — | — | | #802 | [CODE-REVIEW-802-r1.md](CODE-REVIEW-802-r1.md) | code · r1 | 🟢 зелёный | 0 | 0 | — | — | +| #802 | [CODE-REVIEW-802-r2.md](CODE-REVIEW-802-r2.md) | code · r2 | 🟢 зелёный | 0 | 0 | — | — | | #800 | [SPEC-REVIEW-800-r1.md](SPEC-REVIEW-800-r1.md) | spec · r1 | 🟢 зелёный | 0 | 0 | — | — | | #800 | [CODE-REVIEW-800-r1.md](CODE-REVIEW-800-r1.md) | code · r1 | 🟡 жёлтый | 0 | 3 | живой браузер остаётся на умершем job после reload интеграции; AC1 не имеет свидетеля, чувствительного к прежнему 600-секундному deadline; материал не проходит обязательный gate:small; English guide всё ещё обещает прекращение ожидания через 10 минут | `custom_components/houseplan/zigbee_topology.py` `scripts/mutation-registry.mjs` `test/data-hp-contract.test.mjs` `test/reviews-index.test.mjs` `PREFLIGHT-SPEC-800.md` `test/smoke-select.test.mjs` `docs/USER-GUIDE.md` | | #800 | [CODE-REVIEW-800-r2.md](CODE-REVIEW-800-r2.md) | code · r2 | 🟡 жёлтый | 0 | 1 | временный not_ready во время reload навсегда блокирует явный retry | `src/zigbee-topology-runtime.ts` |