Claude
28a4cb5eec
fix(gates): съёмка кадров в чужой среде отказывается заранее
...
Вопрос владельца: зачем агенты снимают PNG на Windows, если кадры мы всё
равно не принимаем, тем более что WSL есть на обеих машинах. Ответ по
коду: этому ничто не мешало. Ни один из шести скриптов съёмки и приёмки
не знал, на какой он ОС — ни `process.platform`, ни win32, ни WSL не
упоминались нигде. Съёмка отрабатывала штатно, а стена появлялась на
приёмке, и текст стены говорил «сцен-свидетелей 0 из 10», то есть
подсказывал неверный вывод «надо объявить больше сцен» — от которого до
`--expect-change` на всю матрицу одна команда.
Причина запрета не политика, а физика: Windows растеризует текст через
DirectWrite, с другим субпиксельным сглаживанием и DPI, поэтому
байтового совпадения с принятым эталоном не даёт никогда, свидетелей
среды быть не может, и приёмка откажет всё равно. Флаги детерминизма из
#410 убирают разброс внутри среды, а не между ОС.
Что сделано:
- `golden:capture` отказывается до запуска браузера, в тексте отказа
готовая команда для WSL;
- `golden:verify` остаётся законным в любой среде: он ничего не
принимает, а как грубая проверка полезен;
- обе приёмки (golden и документации) отказываются в чужой среде;
- к отказу свидетелей приписывается фраза про расхождение среды — та
самая, которой не хватало, чтобы отказ не читался как «объяви больше
сцен»;
- платформа уезжает в манифесты рядом с версией Chromium: у кадров
появился провенанс среды;
- осознанный обход есть и требует причину: HP_ALLOW_FOREIGN_CAPTURE.
Главный урок задачи — про цену правки файла, у которого записан хеш.
Первая редакция встроила проверку в `demo/docs/capture.mjs`, и гейт
документации сразу покраснел: его sha записан в индексе скриншотов, и
`scripts/check-docs.mjs` их сверяет. То есть проверка, которая ничего не
рисует, стоила бы пересъёмки всех картинок документации и визуальной
приёмки владельца. Поэтому для документации отказ живёт шагом раньше —
`npm run docs:capture` вызывает `scripts/assert-capture-env.mjs` — и
шагом позже, на приёмке. По той же причине гейт golden стоит в
`demo/golden/policy.mjs`, а не в `run.mjs`: последний входит в корпус
sourceFingerprint. Тест закрепляет обе границы: гейт обязан быть в
policy.mjs и в npm-скрипте и обязан отсутствовать в двух
фингерпринтуемых файлах.
Платформа в юнитах — параметр, а не `process.platform`: иначе тест был
бы зелёным на Linux и красным на машине владельца, то есть тестом про
хост, а не про правило.
AGENTS.md приведён к состоянию после #401 (принимается любая среда,
доказавшая себя байтовым совпадением непринятых кадров) и разводит
проверку и съёмку — прежний текст сливал их в «advisory» и утверждал
«accepted only on a complete Linux CI artefact».
Свидетели, все проверены отрицательным прогоном: снятый гейт съёмки,
гейт, отказывающий и на verify, обход без причины, отказ без команды,
убранная приписка про среду, отцепленные гейты обеих приёмок,
переставшая бросать обёртка, npm-скрипт без проверки и возврат гейта в
каждый из двух фингерпринтуемых файлов. Проверка подключения сначала
смотрела только на импорт модуля и молча проходила, когда отказ
заменяли на `void` — теперь она проверяет вызов бросающей обёртки.
Гейты: npm test 1918 tests, 1917 pass, 0 fail; typecheck зелёный;
check-docs зелёный (индекс скриншотов не задет); pytest без HA 378
passed, 3 skipped.
Issue: #455
User-Visible: no
2026-09-04 19:26:35 +03:00
claude[bot]
9e56842bc1
docs: review document for #449
...
Проверка (CI) / Классификация изменённых файлов (push) Successful in 37s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 36s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 57s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Issue: #449
User-Visible: no
2026-09-04 16:23:07 +00:00
Sergey Matyunin
1d8edf4a01
docs: refresh screenshot fingerprint for double fit
...
Issue: #449
User-Visible: no
2026-09-04 19:09:47 +03:00
Sergey Matyunin
aa51ed2bf5
fix: complete double background fit delivery
...
Issue: #449
User-Visible: no
2026-09-04 19:06:29 +03:00
claude[bot]
a158d75712
docs: review document for #449
...
Issue: #449
User-Visible: no
2026-09-04 16:01:44 +00:00
Sergey Matyunin
05ef318133
feat: fit all on double background tap
...
Issue: #449
User-Visible: yes
2026-09-04 18:33:03 +03:00
claude[bot] and Sergey Matyunin
b39f99b3a4
docs: review document for #449
...
Issue: #449
User-Visible: no
2026-09-04 18:18:14 +03:00
Codex and Sergey Matyunin
85a064430b
docs: name the three editors as the guide does
...
User-Visible: no
Issue: #449
2026-09-04 18:18:14 +03:00
claude[bot] and Sergey Matyunin
070c276e26
docs: review document for #449
...
Issue: #449
User-Visible: no
2026-09-04 18:18:14 +03:00
Codex and Sergey Matyunin
1a7488d695
docs: state the touch editor status in the double fit-all spec
...
User-Visible: no
Issue: #449
2026-09-04 18:18:14 +03:00
claude[bot] and Sergey Matyunin
1ce62613ed
docs: review document for #449
...
Issue: #449
User-Visible: no
2026-09-04 18:18:14 +03:00
Sergey Matyunin
b8a31e90ca
docs: specify double gesture fit all
...
Issue: #449
User-Visible: no
2026-09-04 18:18:13 +03:00
claude[bot]
5da19f1793
docs: review document for #450
...
Issue: #450
User-Visible: no
2026-09-04 15:06:10 +00:00
Sergey Matyunin and claude[bot]
a8ccb2b90f
docs: refresh screenshot source fingerprint
...
Issue: #450
User-Visible: no
2026-09-04 14:58:04 +00:00
Sergey Matyunin and claude[bot]
8935a736cb
fix: accept Zigbee2MQTT raw network maps
...
Issue: #450
User-Visible: yes
2026-09-04 14:58:04 +00:00
Codex
411a0a20a9
docs: call the fit-all button by its real name in the Russian guide
...
Проверка (CI) / Классификация изменённых файлов (push) Successful in 23s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 42s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 49s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 19s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 17s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 7m1s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 9m36s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
User-Visible: no
Issue: #452
2026-09-04 17:54:42 +03:00
claude[bot]
89647c10bd
docs: review document for #448
...
Issue: #448
User-Visible: no
v1.72.0-beta.1
2026-09-04 14:00:07 +00:00
Sergey Matyunin
ed4ac972b3
docs: close alpha review findings
...
Issue: #448
User-Visible: no
2026-09-04 16:56:50 +03:00
claude[bot]
ee9b28ed98
docs: review document for #448
...
Issue: #448
User-Visible: no
2026-09-04 13:55:34 +00:00
Sergey Matyunin
658f284b44
docs: refresh alpha screenshot source fingerprint
...
Issue: #448
User-Visible: no
2026-09-04 16:33:56 +03:00
Sergey Matyunin
169fed01f0
feat: replace Labs expiry with persistent alpha switch
...
Issue: #448
User-Visible: yes
2026-09-04 16:31:06 +03:00
claude[bot] and Sergey Matyunin
7230e4248a
docs: review document for #448
...
Issue: #448
User-Visible: no
2026-09-04 16:20:35 +03:00
Sergey Matyunin
0ec0785dfd
docs: clarify alpha touch contract
...
Issue: #448
User-Visible: no
2026-09-04 16:20:34 +03:00
claude[bot] and Sergey Matyunin
e846833ed6
docs: review document for #448
...
Issue: #448
User-Visible: no
2026-09-04 16:20:34 +03:00
Sergey Matyunin
ed0fdd4859
docs: specify persistent alpha switch
...
Issue: #448
User-Visible: no
2026-09-04 16:20:34 +03:00
Sergey Matyunin
112ec0eb66
test: accept Zigbee settings golden frames
...
Issue: #54
User-Visible: no
Release: v1.72.0-beta.1
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/33875831578
2026-09-04 16:11:16 +03:00
Sergey Matyunin
775e55f0ed
build: prepare v1.72.0-beta.1 candidate
...
Issue: #54
Issue: #152
Issue: #447
User-Visible: yes
2026-09-04 16:01:33 +03:00
claude[bot]
3f9ef807d8
docs: review document for #54
...
Issue: #54
User-Visible: no
2026-09-04 12:39:19 +00:00
Sergey Matyunin
f0ed526a59
docs: refresh screenshot source fingerprint
...
Issue: #54
User-Visible: no
2026-09-04 15:30:04 +03:00
Sergey Matyunin
4203a01b04
fix: reject malformed Zigbee topology replies
...
Issue: #54
User-Visible: no
2026-09-04 15:26:06 +03:00
claude[bot]
aab5c3ca95
docs: review document for #54
...
Issue: #54
User-Visible: no
2026-09-04 12:20:34 +00:00
Sergey Matyunin
a2867df9a2
docs: refresh screenshot source fingerprint
...
Issue: #54
User-Visible: no
2026-09-04 14:48:27 +03:00
Sergey Matyunin
2202b20730
refactor: type Zigbee topology boundaries
...
Issue: #54
User-Visible: no
2026-09-04 14:45:39 +03:00
Sergey Matyunin
85702afc0c
feat: add contextual Zigbee topology hover
...
Issue: #54
User-Visible: yes
2026-09-04 14:40:09 +03:00
claude[bot]
e5587aed7c
docs: review document for #54
...
Issue: #54
User-Visible: no
2026-09-04 11:11:49 +00:00
Sergey Matyunin
aed0b5b65a
docs: address zigbee spec review
...
Issue: #54
User-Visible: no
2026-09-04 14:06:18 +03:00
claude[bot]
c53702cdfa
docs: review document for #54
...
Issue: #54
User-Visible: no
2026-09-04 11:05:11 +00:00
Sergey Matyunin
a6a3df9310
docs: specify contextual zigbee links
...
Issue: #54
User-Visible: no
2026-09-04 13:53:07 +03:00
claude[bot]
ec9824f227
docs: review document for #152
...
Проверка (CI) / Классификация изменённых файлов (push) Successful in 29s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 49s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 50s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Issue: #152
User-Visible: no
2026-09-04 08:41:12 +00:00
Sergey Matyunin
260767e2f8
docs: accept reviewed room fit fixes provenance
...
Issue: #152
User-Visible: no
2026-09-04 11:26:36 +03:00
Sergey Matyunin
3a1f2b2d86
fix: address room fit code review
...
Issue: #152
User-Visible: no
2026-09-04 11:20:41 +03:00
claude[bot]
6eea4d1c7a
docs: review document for #152
...
Issue: #152
User-Visible: no
2026-09-04 08:16:21 +00:00
Sergey Matyunin
a54addb694
docs: accept final room fit screenshot provenance
...
Issue: #152
User-Visible: no
2026-09-04 10:43:27 +03:00
Sergey Matyunin
6a7ef48ae8
fix: preserve editor pointer cancellation
...
Issue: #152
User-Visible: no
2026-09-04 10:37:42 +03:00
Sergey Matyunin
6190234c51
docs: accept room fit screenshot provenance
...
Issue: #152
User-Visible: no
2026-09-04 10:32:58 +03:00
Sergey Matyunin
39ba4e2b88
test: exercise shared room action guard
...
Issue: #152
User-Visible: no
2026-09-04 10:26:50 +03:00
Sergey Matyunin
15cfa96553
test: fix room fit ownership witness
...
Issue: #152
User-Visible: no
2026-09-04 10:25:32 +03:00
Sergey Matyunin
4aad9facdf
feat: fit rooms from view
...
Issue: #152
User-Visible: yes
2026-09-04 10:24:25 +03:00
claude[bot]
81026539d3
docs: review document for #152
...
Issue: #152
User-Visible: no
2026-09-04 06:53:57 +00:00
Sergey Matyunin
f672de674f
docs: revise room click fit specification
...
Проверка (CI) / Классификация изменённых файлов (push) Successful in 49s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 49s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 5m3s
Issue: #152
User-Visible: no
2026-09-04 09:37:44 +03:00