Commit Graph
2428 Commits
Author SHA1 Message Date
Codex 8f485c0b00 fix: the camera keeps the zoom you see and the point you hold (#396)
Three findings of the v1.70.0-beta.1 audit, all on the transition path
added by #82, all of the same shape — the new path did not inherit a
property the old one had.

B1: persisting the zoom moved into _settleCameraTransition only, and a
cancellation never settles. Touching the plan mid-flight — the literal
scenario of the issue — froze the shown frame and threw it away; before
which kind it is: the user one (_stagePointerDown) persists the frame
that stays on screen, the eleven structural ones keep writing nothing.
The distinction is now also written down in spec #82 §13, which had one
line for both.

B2: the anchor was read from the presented (lagging) frame while the
zoom accumulated from the target, so a six-notch trackpad series walked
the point under the cursor 17 px away — against §10's own promise. Both
now come from the same state. Spec §10 said to use the presented frame
and to keep the anchor within 0.5 px; those two are incompatible, and
the paragraph is corrected rather than left as a trap.

M2: the feather freeze keyed on the two gesture flags, which an
animated transition does not set, so every tween frame rebuilt the blur
region. It keys on 'the camera is still' now.

Guards: unit tests pin the anchor at 1e-9 across 8/16/33 ms series and
prove zoom accumulation is untouched; the smoke checks the shown zoom is
the stored one, that a structural cancellation stores nothing, and that
the anchor holds; three mutants (cancel-loses-zoom, anchor-from-
presented, feather-thaws) were run by hand and each reddens.

User-Visible: yes
Issue: #396
2026-08-31 01:36:59 +03:00
claude[bot]andCodex 3421065286 docs: review document for #396
Issue: #396
User-Visible: no
2026-08-31 01:36:53 +03:00
Codex 371f2e9869 docs: #396 spec revision 3 per SPEC-REVIEW-396-r2
User-Visible: no
Issue: #396
2026-08-31 01:36:53 +03:00
claude[bot]andCodex 334dcf2bf8 docs: review document for #396
Issue: #396
User-Visible: no
2026-08-31 01:36:53 +03:00
Codex 7cf22cb54f docs: #396 spec revision 2 per SPEC-REVIEW-396-r1
User-Visible: no
Issue: #396
2026-08-31 01:36:53 +03:00
claude[bot]andCodex 4132e03642 docs: review document for #396
Issue: #396
User-Visible: no
2026-08-31 01:36:53 +03:00
Codex 54f9efb798 docs: specify the camera transition fixes (#396)
User-Visible: no
Issue: #396
2026-08-31 01:36:53 +03:00
claude[bot] cc6bbdf24c docs: review document for #32
Issue: #32
User-Visible: no
2026-08-30 22:28:41 +00:00
claude[bot] 2b3d5613f2 docs: review document for #32
Issue: #32
User-Visible: no
2026-08-30 22:06:44 +00:00
Matysh 7b363caabc Accept canonical documentation screenshots
Canonical run: https://github.com/Matysh/houseplan-card/actions/runs/33337407834

User-Visible: no
Issue: #32
2026-08-31 00:50:44 +03:00
Matysh c91ac74e19 Implement unified dangerous-action confirmation
User-Visible: yes
Issue: #32
2026-08-31 00:46:54 +03:00
claude[bot] 2782f3b1f3 docs: review document for #32
Issue: #32
User-Visible: no
2026-08-30 21:29:56 +00:00
Matysh 4ba1b2730f docs: budget unified confirmation surface
User-Visible: no
Issue: #32
2026-08-31 00:24:32 +03:00
claude[bot] a6b5161f07 docs: review document for #32
Issue: #32
User-Visible: no
2026-08-30 21:23:04 +00:00
Matysh 206bcd1ae7 docs: refresh danger confirmation spec
User-Visible: no
Issue: #32
2026-08-31 00:17:19 +03:00
Matysh 8955c02e3a build: prepare v1.70.0-beta.1 candidate
Package smooth plan navigation, device position history, visible discovery filters, furniture transforms, localized backend errors and the reviewed fixes since v1.69.0.

Issue: #33
Issue: #44
Issue: #74
Issue: #82
Issue: #86
Issue: #381
Issue: #383
Issue: #384
Issue: #385
Issue: #391
User-Visible: yes
2026-08-30 22:52:02 +03:00
Codex dddbbe5522 ci: make the strict typing gate actually run (#42)
r6 Medium: AC4 was measurable only on a developer's machine — no
workflow invoked mypy, so a typing regression in any of the six
allowlist modules reached dev unnoticed while the issue claimed
measurable backend quality. Coverage and lint had continuous gates;
typing had a text comparison of a committed list.

The backend job now runs mypy right after ruff, from the same pinned
dependency file (mypy==2.3.1 — an unpinned checker would redden on code
that never changed). The step derives its module list from the
pyproject.toml strict allowlist instead of duplicating it, because a
drifted duplicate is a green step checking the wrong modules, and it
refuses an empty list rather than passing silently.

Guarded twice: a contract test pins all three facts (pinned checker,
a step that really invokes it, list read from pyproject) and the new
typing-gate-stops-running mutant reddens when the invocation is
neutered.

User-Visible: no
Issue: #42
2026-08-30 22:00:52 +03:00
claude[bot] 01fbb77f3b docs: review document for #42
Issue: #42
User-Visible: no
2026-08-30 18:52:32 +00:00
Codex 972e708a71 build: refresh bundle trees and the doc capture after the #392 rebase (#42)
User-Visible: no
Issue: #42
2026-08-30 21:34:32 +03:00
Codex 569867487c fix: adopt the #392 dependency file as the single source (#42)
Rebase resolution: dev's #392 introduced tests_backend/requirements.txt
(python 3.14, phcc 0.13.357, homeassistant 2026.8.3) — exactly the
single-source-of-pins AC of this issue, so the duplicate
requirements_test.txt is dropped and both workflows keep installing from
the #392 file; ruff is added there for the lint step. The backend
reuse key no longer names the dead file (tests_backend/ as a root
already covers the new one); ARCHITECTURE.md points at the real path.

User-Visible: no
Issue: #42
2026-08-30 21:34:32 +03:00
Codex 26d45cf405 build: refresh bundle trees and the doc capture after the dev rebase (#42)
Rebased onto dev with #82 (camera transitions), #74 (marker undo) and
the re-accepted goldens; bundle trees are rebuilt from the rebased
sources and the screenshot capture is retaken on this HEAD — manifest
AND all PNGs committed together.

User-Visible: no
Issue: #42
2026-08-30 21:34:32 +03:00
claude[bot]andCodex 92cf0ab17c docs: review document for #42
Issue: #42
User-Visible: no
2026-08-30 21:34:32 +03:00
Codex 512ab7f279 docs: commit the recaptured screenshot images, not only the manifest (#42)
The previous commit refreshed docs/images/screenshots.json but left the
re-rendered PNGs out of the index — CI compared the committed manifest
against the committed (stale) images and failed on every hash.

User-Visible: no
Issue: #42
2026-08-30 21:34:32 +03:00
Codex 6582a06e17 build: refresh bundle trees after the dev rebase (#42)
Bundle trees are rebuilt from the rebased sources (the pre-rebase build
commit was dropped during the rebase and the trees recreated), and the
doc capture is retaken on the rebased HEAD.

User-Visible: no
Issue: #42
2026-08-30 21:34:32 +03:00
Codex c9dd3401fe fix: pin the last py3.13-compatible test harness and refresh the doc capture (#42)
pytest-homeassistant-custom-component 0.13.317+ require python >=3.14
while the CI runner is 3.13: 0.13.316 is the newest installable release
and resolves to the same homeassistant==2026.2.3 the previously green
unpinned pip line produced. voluptuous is unpinned again — homeassistant
pins 0.15.2 itself and a 0.16.0 pin deadlocks the resolver.
The screenshot capture is refreshed after the any-gate source fix of
e8243d1e, which changed src/ without recapturing (the standing rule:
every src commit needs capture + check-docs).

User-Visible: no
Issue: #42
2026-08-30 21:34:32 +03:00
claude[bot]andCodex fa20e37330 docs: review document for #42
Issue: #42
User-Visible: no
2026-08-30 21:34:32 +03:00
Codex 323b7803e0 feat: measurable backend engineering quality — stage 1 (#42)
Tooling: requirements_test.txt becomes the single source of backend CI
dependencies; pyproject.toml configures ruff (E/F/B/I, E501 excluded by
decision) and mypy strict for a grow-only allowlist of six pure modules
(junction_limits annotated to pass). The 42 substantive ruff findings
are fixed — the B023 loop-variable closures bind their variables as
parameter defaults instead of hiding behind noqa, and every remaining
noqa carries a reason (guarded by a test).

Errors: const.ERROR_CODES / ERROR_CODE_FAMILIES formalise the stable
contract; the scanner test proves every emitted code across BOTH paths
(send_error literals; class attrs, literal and variable-passed
MarkerControlError codes, f-string families) is registered and has a
localized message — 22 missing backup.error.* keys added in all four
languages. invalid_passage_fields / invalid_partition_opening_jamb_margin
ship structured JSON details (legacy format read-compat for one beta),
and _errText renders code-first: unknown codes localize, raw English
messages go to the console.

CI: the backend job lints with ruff, refuses a silently skipped HA
harness (import + collect threshold), measures branch coverage over
pure+harness, fails below the committed baseline and uploads
coverage.xml. quality_scale: docs-troubleshooting/examples honestly
done, test-coverage/strict-typing carry staged progress.

User-Visible: yes
Issue: #42
2026-08-30 21:34:31 +03:00
claude[bot] e2a681b543 docs: review document for #391
Issue: #391
User-Visible: no
2026-08-30 17:13:01 +00:00
claude[bot] 2518abd961 docs: review document for #391
Issue: #391
User-Visible: no
2026-08-30 17:13:01 +00:00
Matyshandclaude[bot] 31cb2827bf chore: refresh docs source fingerprint (#391)
Record the unchanged screenshot set against the typed editor runtime source after verifying the capture output and preserving the reviewed PNG bytes.

Issue: #391
User-Visible: no
2026-08-30 17:13:01 +00:00
claude[bot] 162c8a3bef docs: review document for #391
Issue: #391
User-Visible: no
2026-08-30 16:44:22 +00:00
Matysh a47ec97a04 docs: self-review document for #390
Саморевью по указанию владельца, с оговоркой о независимости. Одна находка
Low на себя: утверждение «эмит тот же» в сообщении cbf5cc1b неверно —
побайтовая сверка нормализованных сборок показала расхождение в одном месте.
Поведение при этом тождественно, разбор в документе.

Отдельно разобрано, почему восемь разошедшихся golden-сцен не из этого
коммита.

Issue: #390
User-Visible: no
2026-08-30 19:29:13 +03:00
claude[bot] b2074c103c docs: review document for #82
Issue: #82
User-Visible: no
2026-08-30 16:11:36 +00:00
claude[bot] a015f31376 docs: review document for #82
Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matyshandclaude[bot] fd301b6b08 docs: accept settled camera captures
Canonical capture: https://github.com/Matysh/houseplan-card/actions/runs/33319234994

Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matyshandclaude[bot] ac625833f2 docs: accept rebased smooth zoom captures
Canonical capture: https://github.com/Matysh/houseplan-card/actions/runs/33318316300

Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matyshandclaude[bot] 511b1bb980 docs: accept settled smooth zoom captures
Canonical capture: https://github.com/Matysh/houseplan-card/actions/runs/33318010989

Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matyshandclaude[bot] 4a202a0379 docs: refresh smooth zoom screenshots
Canonical capture: https://github.com/Matysh/houseplan-card/actions/runs/33317712876

Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matyshandclaude[bot] e2464cbb48 feat: add smooth viewport zoom transitions
Issue: #82
User-Visible: yes
2026-08-30 16:11:35 +00:00
claude[bot] ad10803a29 docs: review document for #82
Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matyshandclaude[bot] bb79ece0b3 docs: actualize smooth zoom specification
Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Sergey Matyuninandclaude[bot] 2cf82d9156 docs: specify smooth viewport zoom
Issue: #82
User-Visible: no
2026-08-30 16:11:35 +00:00
Matysh e39cd3dfa1 docs: refresh the screenshot fingerprint after the typing fix
Правка типов в #390 пересобрала бандл, а в него вшит отпечаток исходников —
скриншот-индекс стал формально протухшим, хотя ни один пиксель измениться не
мог: аннотации типов стираются, эмит тот же.

Это не рассуждение, а измерение. Канонический прогон «Скриншоты
документации» #130 (workflow_dispatch, ref=dev) снял кадры пином и вынес
вердикт:

  --- изменившихся PNG: 0
  --- Chromium: было «151.0.7922.34», стало «151.0.7922.34»
  --- oxipng: было «oxipng 10.2.0», стало «oxipng 10.2.0»
  ВЕРДИКТ: ничего не изменилось, принимать нечего.

Единственное, что изменилось в артефакте, — screenshots.json. Здесь ровно
он и обновлён: sourceFingerprint и десять sourceSha256 сцен. Хеши картинок,
версия браузера и версия упаковщика не тронуты — проверено полем за полем.

Issue: #390
User-Visible: no
2026-08-30 18:42:41 +03:00
claude[bot] 4e69078f90 docs: review document for #389
Issue: #389
User-Visible: no
2026-08-30 15:33:51 +00:00
claude[bot] 12165aae46 docs: review document for #390
Issue: #390
User-Visible: no
2026-08-30 14:47:55 +00:00
Codex 3ae3ec0f48 docs: #42 spec revision 6 — final r4 fix by owner arbitration
User-Visible: no
Issue: #42
2026-08-30 17:04:34 +03:00
claude[bot] 83d646c51e docs: review document for #74
Проверка (CI) / Классификация изменённых файлов (push) Successful in 25s
Проверка (CI) / HACS: валидация репозитория (push) Skipped
Проверка (CI) / Hassfest: манифест интеграции (push) Skipped
Проверка (CI) / Фронтенд: типы, юниты, мутанты, синхрон бандла (push) Skipped
Проверка (CI) / Переиспользование: это дерево уже проверено (push) Successful in 52s
Проверка (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 1m59s
Issue: #74
User-Visible: no
2026-08-30 13:54:24 +00:00
Matysh 6d73d6e909 docs: refresh device editor screenshots
Issue: #74
User-Visible: no
2026-08-30 16:44:57 +03:00
claude[bot] 4b5c9f2382 docs: review document for #74
Issue: #74
User-Visible: no
2026-08-30 13:38:16 +00:00
Matyshandclaude[bot] bdf81fad58 feat: add device position undo history
Issue: #74
User-Visible: yes
2026-08-30 13:16:27 +00:00