Commit Graph
100 Commits
Author SHA1 Message Date
Claude 27ea23c1ec test(perf): trace every config-epoch bump with the frame that made it (#520)
The comparison already names the mechanism: base does 18 update cycles, 3
model builds and ends at epoch 3, the candidate does 19, 4 and epoch 4, and
the extra build is the whole ~550 ms. What is still missing is the caller.
The diagnostic now installs an instance-level setter over `_cfgEpoch` and
records `from->to` with the top stack frames, so the extra bump names itself.

Issue: #520
User-Visible: no
2026-09-10 17:57:27 +03:00
Claude 3d43980568 test(perf): the boot diagnostics travel out of the page into the run log (#520)
The first attempt printed them with console.log inside page.evaluate, and
nothing forwards the page console to Node — the numbers went nowhere. The
sample now returns `bootDiag`, the runner prints it and strips it before the
row is recorded, so the budgeted record keeps its shape.

Issue: #520
User-Visible: no
2026-09-10 17:47:18 +03:00
Claude 37ef970dfc test(perf): count update cycles, model builds and adoptions during boot (#520)
The full comparison says model readiness grew by ~500 ms inside #500 and
that the growth sits in one long task, but neither contentFingerprint
(2.8 ms on this fixture) nor spaceModels (0.1 ms) can account for it. The
benchmark now prints, per sample, how many Lit update cycles ran before the
first stable frame, how long they took together, how many models were built,
how many adoptions happened and the config epoch. Diagnostics only: printed
to the log, never part of the budgeted record, and the same harness runs
against the comparison bundle, so candidate and base are counted alike.

Issue: #520
User-Visible: no
2026-09-10 17:38:36 +03:00
Claude 914e84028d perf: the clean-floor cache holds one entry per room per config epoch (#509)
Проверка (CI) / Классификация изменённых файлов (push) Successful in 52s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 1m32s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 43s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 41s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m11s
Проверка (CI) / Мутанты по диффу (1/6): затронутые свидетели краснеют (push) Failing after 4m28s
Проверка (CI) / Мутанты по диффу (2/6): затронутые свидетели краснеют (push) Failing after 4m36s
Проверка (CI) / Мутанты по диффу (3/6): затронутые свидетели краснеют (push) Failing after 4m43s
Проверка (CI) / Мутанты по диффу (4/6): затронутые свидетели краснеют (push) Failing after 4m38s
Проверка (CI) / Мутанты по диффу (5/6): затронутые свидетели краснеют (push) Failing after 3m58s
Проверка (CI) / Мутанты по диффу (6/6): затронутые свидетели краснеют (push) Failing after 4m7s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 5m49s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 8m2s
Проверка (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
The pre-release perf gate of the v1.74.0-beta.1 candidate reported
cache.entries.cleanFloor 120 against a ceiling of 100 (run 34480302982,
large-house-interaction-v1). The ceiling was calibrated when only the visible
space populated `_cleanFloorCache`; since #509 the summary panel computes the
clean-floor total in per-room slices through the same cache, so the sixty
fixture rooms are cached under both config epochs the interaction profile
creates — 60 × 2 = 120, exactly what the run measured.

The ceiling moves to 180 in the smoke and in the full interaction profile:
one entry per room per epoch with room for a third epoch, far below the LRU
cap of 600 and far below anything a per-frame or per-marker regression would
produce. The leak detector is untouched: cacheGrowth.cleanFloor stays 0.

Issue: #509
User-Visible: no
Release: v1.74.0-beta.1
2026-09-10 16:29:31 +03:00
Claude d5575f6393 Prepare v1.74.0-beta.1
Version fields and the generated bundles move to 1.74.0-beta.1 and open the
line after the stable v1.73.0. The changelog entries of #509 and #508 leave
Unreleased for the beta.1 section; release notes and STATUS describe them and
name the internal work of this beta. No product change beyond what is already
reviewed and merged.

Issue: #509
Issue: #508
User-Visible: no
Release: v1.74.0-beta.1
2026-09-10 16:01:59 +03:00
Claude 1950df608f docs: refresh the screenshots fingerprint before the v1.74.0-beta.1 candidate
The #500 adoption work changed src/** without touching any of the eleven
documented frames. The owner re-captured them in WSL — the canonical Linux
environment, because DirectWrite on native Windows never reproduces an
accepted frame — and `npm run docs:accept -- --identical` (#512) found zero
differing pixels, so only the source fingerprint moves:
48f770cf → ccbbfb4e. Frame bytes, their hashes and the capture-script guard
stay exactly as accepted.

Issue: #500
User-Visible: no
2026-09-10 16:01:58 +03:00
Sergey Matyuninandclaude[bot] 441d3cc3de test(i18n-dead-keys): narrow dynamic consumers to key-shaped joins (#502)
Issue: #502
User-Visible: no
2026-09-10 06:27:59 +00:00
Sergey Matyunin abbca50ce7 build: prepare v1.73.0-beta.7 candidate
Release: v1.73.0-beta.7
Issue: #437
Issue: #485
Issue: #489
Issue: #490
Issue: #491
Issue: #492
Issue: #493
Issue: #499
User-Visible: no
2026-09-09 07:04:02 +03:00
Sergey Matyunin 7f1cae21cf test: expose resize smoke coordinate diagnostics (#437)
Issue: #437
User-Visible: no
2026-09-09 06:51:55 +03:00
Sergey Matyunin 8e48ba80f6 build: prepare v1.73.0-beta.7 candidate
Release: v1.73.0-beta.7
Issue: #437
Issue: #485
Issue: #489
Issue: #490
Issue: #491
Issue: #492
Issue: #493
Issue: #499
User-Visible: no
2026-09-09 06:45:58 +03:00
Sergey Matyunin 8721d7d911 docs: refresh fixed warm-remount screenshot fingerprint (#437)
Issue: #437
User-Visible: no
2026-09-09 06:45:49 +03:00
Sergey Matyunin 1d072be0a9 fix: freeze warm-remount stage through chrome settle (#437)
Issue: #437
User-Visible: yes
2026-09-09 06:43:16 +03:00
Sergey Matyunin b607ade972 build: prepare v1.73.0-beta.7 candidate
Release: v1.73.0-beta.7
Issue: #437
Issue: #485
Issue: #489
Issue: #490
Issue: #491
Issue: #492
Issue: #493
Issue: #499
User-Visible: no
2026-09-09 06:27:50 +03:00
Sergey Matyunin a56df6eb8e docs: refresh warm-remount screenshot fingerprint (#437)
Issue: #437
User-Visible: no
2026-09-09 06:27:36 +03:00
Sergey Matyunin 590d6b59b6 fix: preserve warm-remount viewport through layout settle (#437)
Issue: #437
User-Visible: yes
2026-09-09 06:24:32 +03:00
Sergey Matyunin 244efed878 ci: persist mutation ledger between rerun attempts (#499)
Release: v1.73.0-beta.7
Issue: #499
User-Visible: no
2026-09-09 05:30:00 +03:00
Sergey Matyunin 7648ea79ce test: accept presence-toggle golden for beta.7 (#485)
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/34298831137
Issue: #437
Issue: #485
Issue: #489
Issue: #490
Issue: #491
Issue: #492
Issue: #493
Issue: #499
User-Visible: no
Release: v1.73.0-beta.7
2026-09-09 04:28:32 +03:00
Sergey Matyunin 931f1d45aa build: refresh v1.73.0-beta.7 candidate after #485
Issue: #437
Issue: #485
Issue: #489
Issue: #490
Issue: #491
Issue: #492
Issue: #493
Issue: #499
User-Visible: no
Release: v1.73.0-beta.7
2026-09-09 04:17:13 +03:00
Sergey MatyuninandMatysh 4e9feaaead docs: preserve manual radar setup entry (#485)
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey MatyuninandMatysh 51d5858b3d docs: restrict radar setup section to eligible devices (#485)
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey MatyuninandMatysh 1fff72aa3f docs: address radar specification review #485
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey MatyuninandMatysh 78afb68962 docs: specify radar presence stages for #485
Issue: #485
User-Visible: no
2026-09-09 03:50:50 +03:00
Sergey Matyunin 3434747d1c build: prepare v1.73.0-beta.7 candidate
Проверка (CI) / Классификация изменённых файлов (push) Successful in 58s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 14m42s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m20s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 24s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 24s
Проверка (CI) / Мутанты по диффу (1/3): затронутые свидетели краснеют (push) Failing after 12m28s
Проверка (CI) / Мутанты по диффу (3/3): затронутые свидетели краснеют (push) Failing after 12m22s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 13m36s
Проверка (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) / Мутанты по диффу (2/3): затронутые свидетели краснеют (push) Failing after 16m48s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 10m4s
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/34294899732
Issue: #437
Issue: #489
Issue: #490
Issue: #491
Issue: #492
Issue: #493
Issue: #499
User-Visible: yes
Release: v1.73.0-beta.7
2026-09-09 03:38:16 +03:00
Sergey Matyunin 578cae5240 fix: harden summary panel settings and writes (#493)
Issue: #493
User-Visible: yes
2026-09-09 02:53:36 +03:00
Sergey Matyunin 13a0bfdf87 docs: define summary panel hardening contract (#493)
Issue: #493
User-Visible: no
2026-09-09 02:53:36 +03:00
Claude 687056f3f5 ci: check-inputs trackedFiles no longer prints git noise on synthetic trees
`execFileSync('git ls-files')` inherited stderr, so every call on a test's
temporary tree printed "fatal: not a git repository" although the failure is
caught and the tree is walked instead — dozens of lines in the owner's Windows
run and in CI logs. stderr is ignored; behaviour unchanged.

Issue: #496
User-Visible: no
2026-09-09 02:29:08 +03:00
Claude eb3abe2053 test: spawn CLI scripts via fileURLToPath, not URL.pathname
Owner's Windows run after #496 (2338 pass, 2 fail): both remaining failures
are tests building the script path as `new URL(...).pathname`, which is
`/C:/Users/...` on Windows and makes Node look for `C:\C:\Users\...`.
check-inputs and classify-changes CLI tests now use fileURLToPath; the
portability test forbids `import.meta.url).pathname` in test/**.

Issue: #496
User-Visible: no
2026-09-09 02:18:58 +03:00
Sergey Matyuninandclaude[bot] 1787e505a1 test: prove unresolved pair blocks following writes (#491)
Issue: #491
User-Visible: no
2026-09-08 23:01:49 +00:00
Sergey Matyuninandclaude[bot] ce575f4012 docs: remove trailing blank from #491 spec
Issue: #491
User-Visible: no
2026-09-08 23:01:49 +00:00
Sergey Matyuninandclaude[bot] 488f70c493 fix: make paired plan writes recover before the next edit (#491)
Issue: #491
User-Visible: yes
2026-09-08 23:01:49 +00:00
Sergey Matyuninandclaude[bot] 18e98ac5f2 docs: specify durable Optimize and Undo recovery (#491)
Issue: #491
User-Visible: no
2026-09-08 23:01:49 +00:00
Claude e0e68f255d ci: added npm script does not select every mutant
Run 2795: changed_mutants shard 1/3 hit the 30-minute job limit with zero
failures. package.json sits in the guard-input closure of 195 of 590 mutants
(`npm run …`, `npx …`), so adding one script — toolchain:check — selected
nearly the whole registry. A guard depends only on what it calls: a changed
or removed existing script, dependencies, engines. An added script is not an
input of any earlier guard. packageJsonRelevance() decides from the base and
head package.json; unparsable or anything outside scripts still counts as
relevant. For the same range the selection drops from 209 to 38.

Issue: #496
User-Visible: no
2026-09-09 01:58:26 +03:00
Claude 71aeb86079 test: check-docs mutant guard judges docs, not screenshot freshness
Run 2793 (changed_mutants 2/3): the clean run of
`resource-docs-flatten-current-yaml` was red before any mutation because the
screenshot fingerprint is stale after #490 — strict mode, which #479 reserves
for the beta candidate. The guard now runs `--screenshots=warn`; a test keeps
every check-docs guard in that mode.

Issue: #496
User-Visible: no
2026-09-09 01:20:06 +03:00
Claude f0c8ae24ba infra: portable Windows gate, CI toolchain pins, task packet, deterministic wait, gate:small --smokes
Windows portability (the three red tests on the owner's machine at green CI):
- scripts/spawn-portable.mjs: isMainModule via pathToFileURL (the
  `file://${argv[1]}` form gives file:///C:/C:/... and the CLI stays silent);
  portableCommand — a shell only for npm/npx/.cmd, node and git run directly
  (spawn via shell dropped the quotes of `node -e "…"`). Applied to
  classify-changes, mutation-gate-report, review-doc-guard, check-inputs,
  merge-candidate, gate-small, rebase-on-dev.
- the rebase-on-dev test pins core.autocrlf=false / core.eol=lf through
  GIT_CONFIG_* for its temp repository instead of touching the user's git
  config; test/windows-portability.test.mjs forbids both anti-patterns.

Pins: scripts/toolchain-pins.mjs reads Node/Python from validate.yml, the HA
stack from tests_backend/requirements.txt, Playwright/Chromium from the
lockfile — no second dictionary; `npm run toolchain:check` compares the
machine; .nvmrc/.python-version are derived and tested equal;
scripts/wsl-setup.sh provisions WSL/Linux with those pins.

scripts/task-packet.mjs: one derived view of an issue (status, rights, owner
decisions, branch vs dev, Validate on the tip, previous verdict with recorded
tree, AC → evidence, unwitnessed). scripts/wait-verdict.mjs: polls labels,
pipeline comments and optionally Validate, prints only on state change, exit
0/3/4, writes nothing.

gate:small --smokes: after build the browser phase runs bundle-sync and then
the directly matched and registered smokes, two at a time; broad matches stay
with the reviewer. package.json changed, so the bundle is rebuilt here.

Issue: #496
User-Visible: no
2026-09-09 01:11:24 +03:00
Claude d271d8beab docs: specs/README — статус задачи это метка, Projects v2 не используется
Файл называл GitHub Projects v2 частью канонического backlog и держал
второй словарь статусов ТЗ. Проекты не используются с 2026-08-14 (#139),
статус — метка на issue (PROCESS §9); лёгкий трек держит ТЗ в теле issue.

Issue: #499
User-Visible: no
2026-09-09 00:47:06 +03:00
Sergey Matyunin 01c653a4c6 fix: preserve backdrop continuity during summary recovery (#490)
Issue: #490
User-Visible: yes
2026-09-09 00:10:16 +03:00
Sergey Matyunin a43bc3eb27 fix: keep summary recovery and live state current (#490)
Issue: #490
User-Visible: yes
2026-09-09 00:10:16 +03:00
Sergey Matyunin fd364c57a8 docs: specify summary recovery consistency (#490)
Issue: #490
User-Visible: no
2026-09-09 00:10:16 +03:00
Claude 7f029f768d ci: зеркало process.yml из dev — идемпотентный контроллер ревью (#499)
Конвейер исполняется из ветки по умолчанию; preflight требует совпадения
main = dev. Содержимое — коммит 24c1b723 в dev.

Issue: #499
User-Visible: no
2026-09-09 00:09:54 +03:00
Claude 24c1b723f9 infra: idempotent review controller, verdict reuse, single mutant build, current docs
Review pipeline (process.yml):
- concurrency moves from the workflow to the guard/review jobs and the guard
  runs only for S4-spec-review / S7-code-review. Any other label used to enter
  the issue's concurrency group and evict the pending review run (sample of
  150 runs since 2026-09-01: 92 empty guard-only runs, 30 cancelled).
- the guard reads the issue's current labels instead of the event snapshot; a
  label removed before the run starts is a withdrawn request, no comment.
- a green verdict is re-applied without calling the model when the latest
  review document carries the pipeline-recorded verdict `green`/High 0 and the
  tree differs from its anchor in nothing outside docs/reviews/** (#437 r4
  re-reviewed an unchanged tree for 7 minutes). The verdict from
  structured_output is now written into the anchor block for that purpose.
- the reviewer is pinned to the captured material SHA in the prompt; the
  broken escaping in the "merge cancelled" comment (empty SHAs) is fixed.

Mutation gate: nine browser guards started with `npm run bundle:sync` although
the runner already builds the mutant bundle — a second rollup plus a
`tsc --noEmit` that fails on a non-strict mutant before the smoke even runs.
Prefix removed; `--check` refuses guards that build the bundle themselves.

Docs: SCOPE (Project v2 dropped, three editors), STATUS (#437 merged, HACS zip
automated), USER-GUIDE ru/en (static card shows live states; kiosk double tap
on free background fits all), #34 → #425 references, #367 named as closed in
bundle-budget messages, PROCESS §10.4 and AGENTS.md describe the controller.

Issue: #499
User-Visible: no
2026-09-09 00:06:27 +03:00
Sergey Matyunin 5586e0591c perf: recenter initial bundle ceiling for data-hp contract (#489)
Issue: #489
User-Visible: no
2026-09-08 21:46:30 +03:00
Sergey Matyunin 15e0efe3bf docs: accept data-hp contract screenshots (#489)
Issue: #489
User-Visible: no
2026-09-08 21:30:58 +03:00
Sergey Matyunin 9c61ac6768 feat: declare stable data-hp test contract (#489)
Issue: #489
User-Visible: yes
2026-09-08 21:26:29 +03:00
Sergey Matyunin e072b22274 docs: address first spec review for data-hp contract (#489)
Issue: #489
User-Visible: no
2026-09-08 21:04:21 +03:00
Sergey Matyunin 9cf10bdde7 docs: specify public data-hp test contract (#489)
Issue: #489
User-Visible: no
2026-09-08 20:53:22 +03:00
Sergey Matyunin f87d3dc545 fix: stabilize summary panel transitions (#437)
Issue: #437
User-Visible: yes
2026-09-08 20:23:20 +03:00
Sergey Matyunin 89976c85ed fix: settle first camera action after summary layout (#437)
Issue: #437
User-Visible: yes
2026-09-08 19:51:04 +03:00
Sergey Matyunin 336d8f30ba test: allow inert summary style in lost-space smoke (#437)
Issue: #437
User-Visible: no
2026-09-08 19:30:18 +03:00
Sergey Matyunin af44114992 fix: sort summary API backend import (#437)
Issue: #437
User-Visible: no
2026-09-08 19:24:27 +03:00
Sergey Matyunin 3c1a9f8ff7 fix: harden summary panel review cases (#437)
Issue: #437
User-Visible: yes
2026-09-08 19:20:39 +03:00
Sergey Matyunin 96e07b9a02 feat: add configurable summary panel (#437)
Issue: #437
User-Visible: yes
2026-09-08 18:49:36 +03:00
Sergey Matyunin 14597ccdf9 docs: address spec review locale coverage (#437)
Issue: #437
User-Visible: no
2026-09-08 17:11:44 +03:00
Sergey Matyunin 4a1aac16fe docs: specify configurable summary overlay (#437)
Issue: #437
User-Visible: no
2026-09-08 16:59:58 +03:00
Claude 55d832ec8b ci: dispatch-прогон Validate в своей группе concurrency
Первый ручной запуск nightly (run 2645) был отменён через 1:31 очередным
push в dev: обе стороны делили группу validate-refs/heads/dev. Ночной
полный набор не должен обнуляться коммитом, пришедшим в то же окно.

Issue: #479
User-Visible: no
2026-09-06 19:39:01 +03:00
Sergey Matyunin cba4eeba56 ci: вернуть validate.yml main к прежней версии — скриптов dev в main нет (#479)
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (blend) (push) Failing after 1m55s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (interaction) (push) Failing after 1m59s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (large-house) (push) Failing after 2m1s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (isometric) (push) Failing after 2m2s
Проверка (CI) / Смоки: все шарды зелёные (push) Skipped
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (overlay) (push) Failing after 2m0s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (plan-snap) (push) Failing after 2m0s
Проверка (CI) / Классификация изменённых файлов (push) Successful in 45s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (space-default) (push) Failing after 2m3s
Полные бенчмарки производительности / Бенчмарки рендера и геометрии (space-glow) (push) Failing after 2m4s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 1m6s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 1m0s
Проверка (CI) / Смоки в браузере (шард 1 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 2 из 3) (push) Skipped
Проверка (CI) / Смоки в браузере (шард 3 из 3) (push) Skipped
Проверка (CI) / Golden-кадры против принятых эталонов (push) Skipped
Проверка (CI) / Перф-смок: бюджет времени кадра (push) Skipped
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Skipped
В main остаётся только nightly.yml: он диспатчит Validate на dev,
где workflow_dispatch уже есть. Run 2643 падал на classify-changes.mjs.

Issue: #479
User-Visible: no
2026-09-06 19:31:51 +03:00
Sergey Matyunin 90472ee583 ci: nightly.yml и workflow_dispatch Validate в main (#479)
Issue: #479
User-Visible: no
2026-09-06 19:27:10 +03:00
Sergey Matyuninandclaude[bot] 28c653991a test: harden color picker confirmation guards
Issue: #476
User-Visible: no
2026-09-06 12:56:14 +00:00
Sergey Matyuninandclaude[bot] 194df5251a test: register color picker browser coverage
Issue: #476
User-Visible: no
2026-09-06 12:56:14 +00:00
Sergey Matyuninandclaude[bot] cb298b10f9 docs: refresh screenshot fingerprint
Issue: #476
User-Visible: no
2026-09-06 12:56:14 +00:00
Sergey Matyuninandclaude[bot] 98bdd46a52 feat: add color picker confirmation
Issue: #476
User-Visible: yes
2026-09-06 12:56:13 +00:00
Sergey Matyuninandclaude[bot] 9ce994452d docs: clarify color picker invalid confirmation
Issue: #476
User-Visible: no
2026-09-06 12:56:13 +00:00
Sergey Matyuninandclaude[bot] 3fbf312bbc docs: specify color picker confirmation
Issue: #476
User-Visible: no
2026-09-06 12:56:13 +00:00
Claude 7195ad1914 infra: heavy CI gates on the beta candidate, bundle rebase script, gate:small
Validate ran three smoke shards, golden and performance_smoke on every push,
check-docs went red on any src/** change until screenshots were re-captured,
and a parallel bundle build made every second task branch fail to rebase.
None of these gates ever failed at review time; they fail before betas.

- `heavy` output in job `changes` (scripts/classify-changes.mjs): smoke,
  smoke_done, golden, performance_smoke run only for a head commit with a
  `Release:` trailer, `workflow_dispatch full=true` and pull requests.
- nightly.yml dispatches Validate on dev with full=true every night.
- check-docs `--screenshots=warn|strict`: freshness of the screenshot index
  warns on a plain push, errors on the candidate; everything else still errors.
- publish-prerelease.yml and release.yml refuse a candidate without the
  `Release:` trailer and (prerelease) require fresh screenshots — a green
  Validate without the heavy jobs cannot pass for a release.
- scripts/rebase-on-dev.mjs: rebase on origin/dev taking dev's copy of the
  committed bundle, rebuild with bundle:sync, amend; any other conflict aborts.
- npm run gate:small: mandatory PROCESS §8 part in one parallel run.

Issue: #479
User-Visible: no
2026-09-06 15:39:34 +03:00
Sergey Matyunin 615045cb18 docs: refresh screenshot source fingerprint
Проверка (CI) / Классификация изменённых файлов (push) Successful in 28s
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 49s
Проверка (CI) / Предполётные проверки: документация, провенанс, процесс (push) Failing after 1m5s
Проверка (CI) / HACS: валидация репозитория (push) Failing after 26s
Проверка (CI) / Hassfest: манифест интеграции (push) Failing after 33s
Проверка (CI) / Бэкенд: pytest в Home Assistant (push) Failing after 4m40s
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Failing after 6m59s
Проверка (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
Issue: #160
User-Visible: no
2026-09-06 10:30:05 +03:00
Sergey Matyunin 1ee302d9e5 test: refresh golden source fingerprint
Issue: #160
User-Visible: no
Release: v1.73.0-beta.1
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/34018590429
2026-09-06 10:29:59 +03:00
Sergey Matyunin b3ca0ca2dd perf: cull distant isometric collision edges
Issue: #160
User-Visible: no
2026-09-06 10:13:49 +03:00
Sergey Matyunin 196fa09696 perf: cache scale-safe isometric nudges
Issue: #160
User-Visible: no
2026-09-06 10:00:24 +03:00
Sergey Matyunin 9d2256c090 docs: refresh screenshot source fingerprint
Issue: #160
User-Visible: no
2026-09-06 09:43:10 +03:00
Sergey Matyunin b69743c0bd perf: reuse isometric overlay presentation
Issue: #160
User-Visible: no
2026-09-06 09:37:55 +03:00
Sergey Matyunin c41292d49f docs: refresh screenshot fingerprint after isometric optimization
Issue: #160
User-Visible: no
2026-09-06 09:23:49 +03:00
Sergey Matyunin f1b9bbf33e perf: bound isometric overlay collision work
Issue: #160
User-Visible: no
2026-09-06 09:17:54 +03:00
Sergey Matyunin de2155787d test: accept isometric stage 3 golden baselines
Issue: #160
User-Visible: no
Release: v1.73.0-beta.1
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/34013473075
2026-09-06 08:26:22 +03:00
Sergey Matyunin 1f28734875 test: align smoke contracts with lazy isometric runtime
Issue: #160
User-Visible: no
2026-09-06 08:26:12 +03:00
Sergey Matyunin c49611967d build: prepare v1.73.0-beta.1 candidate
Issue: #160
Issue: #464
User-Visible: yes
Release: v1.73.0-beta.1
2026-09-06 08:14:02 +03:00
Sergey Matyunin 8c12474531 docs: refresh screenshot fingerprint for stage 3
Issue: #160
User-Visible: no
2026-09-06 07:51:14 +03:00
Sergey Matyunin bd60edd238 fix: address isometric stage 3 review
Issue: #160
User-Visible: no
2026-09-06 07:48:03 +03:00
Sergey Matyunin ee7d486924 feat: implement isometric stage 3
Issue: #160
User-Visible: no
2026-09-06 07:06:54 +03:00
Sergey Matyunin e0c27fb750 docs(issue): preserve legacy iso benchmark semantics
Issue: #160
User-Visible: no
2026-09-06 07:01:00 +03:00
Sergey Matyunin 672570330b docs(issue): specify isometric stage 3
Issue: #160
User-Visible: no
2026-09-06 07:01:00 +03:00
Sergey Matyunin 41e6eef941 test: prove wall-draw junction parity
Issue: #461
User-Visible: no
2026-09-05 14:39:00 +03:00
Sergey Matyunin 34d53bf2d1 docs: refresh screenshot source fingerprint
Issue: #461
User-Visible: no
2026-09-05 14:14:35 +03:00
Sergey Matyunin 04a1de091c fix: speed up intermediate wall-chain commits
Issue: #461
User-Visible: yes
2026-09-05 14:04:26 +03:00
Sergey Matyunin 1ef21037a8 docs: specify wall draw click performance
Issue: #461
User-Visible: no
2026-09-05 13:26:53 +03:00
Sergey Matyunin 16b4c2d6d3 build: prepare v1.72.0-beta.4 candidate
Issue: #456
Issue: #457
Issue: #459
Issue: #460
User-Visible: yes
2026-09-05 12:32:06 +03:00
Sergey Matyunin dfb4efaa1c docs: refresh screenshot source fingerprint
Issue: #460
User-Visible: no
2026-09-05 12:15:43 +03:00
Sergey Matyunin 5d09e722e4 test: link live editor contract to browser smokes
Issue: #460
User-Visible: no
2026-09-05 12:10:26 +03:00
Sergey Matyunin 5763c6aec0 fix: settle live editor frames deterministically
Issue: #460
User-Visible: yes
2026-09-05 12:10:26 +03:00
Sergey Matyunin ca2a00231b docs: specify live editor settlement
Issue: #460
User-Visible: no
2026-09-05 12:08:34 +03:00
Sergey Matyunin d80805acec docs: refresh Zigbee route review fingerprint
Issue: #457
User-Visible: no
2026-09-05 10:52:55 +03:00
Sergey Matyunin 896ceecf3a fix: address Zigbee route review
Issue: #457
User-Visible: no
2026-09-05 10:50:19 +03:00
Sergey Matyunin da22b87fe1 docs: refresh optimized source fingerprint
Issue: #457
User-Visible: no
2026-09-05 10:50:19 +03:00
Sergey Matyunin 41b8e71248 perf: keep Zigbee route overlay within bundle guard
Issue: #457
User-Visible: no
2026-09-05 10:50:19 +03:00
Sergey Matyunin 58b1651570 docs: refresh screenshot source fingerprint
Issue: #457
User-Visible: no
2026-09-05 10:50:19 +03:00
Sergey Matyunin 793d06c75e feat: show Zigbee routes to coordinator
Issue: #457
User-Visible: yes
2026-09-05 10:50:19 +03:00
Sergey Matyunin a63aef0239 docs: specify Zigbee route arrows
Issue: #457
User-Visible: no
2026-09-05 10:50:19 +03:00
Sergey Matyunin 7dd5b4798a test: cover the space copy workflow
Issue: #456
User-Visible: no
Release: v1.72.0-beta.4
Baseline-Reviewed: https://github.com/Matysh/houseplan-card/actions/runs/33948778925
2026-09-05 09:25:08 +03:00
Sergey Matyunin 2c7879131f test: account for space copy action
Issue: #456
User-Visible: no
2026-09-05 09:25:08 +03:00
Sergey Matyunin 6dd9fb03c3 docs: refresh screenshot source fingerprint
Issue: #456
User-Visible: no
2026-09-05 09:25:08 +03:00
Sergey Matyunin b286d7ba43 feat: copy spaces without room bindings
Issue: #456
User-Visible: yes
2026-09-05 09:25:08 +03:00
Sergey Matyunin aac9232bbc docs: specify space copy workflow
Issue: #456
User-Visible: no
2026-09-05 09:25:08 +03:00