Add reviewed Linux golden baselines
@@ -40,10 +40,9 @@ npm run golden:verify
|
||||
```
|
||||
|
||||
Never accept images merely to make CI green. A matrix/framing change increments
|
||||
`GOLDEN_MATRIX_VERSION`; a normal rendering fix does not. The first reviewed
|
||||
baseline set is intentionally deferred to the next pre-release gate, because
|
||||
the owner's process forbids running builds/tests during ordinary local edits.
|
||||
Use the `golden-images` artifact produced by the Linux CI job as the canonical
|
||||
review set: desktop font rasterisation can differ from the CI environment even
|
||||
with the same pinned Chromium. Pass its unpacked root via `--from=...` when
|
||||
accepting it locally.
|
||||
`GOLDEN_MATRIX_VERSION`; a normal rendering fix does not. The first canonical
|
||||
Linux baseline was reviewed and accepted during the v1.60.3-beta.1 gate.
|
||||
Future updates must still use the `golden-images` artifact produced by the Linux
|
||||
CI job as the review set: desktop font rasterisation can differ from the CI
|
||||
environment even with the same pinned Chromium. Pass its unpacked root via
|
||||
`--from=...` when accepting it locally.
|
||||
|
||||
|
After Width: | Height: | Size: 64 KiB |
|
After Width: | Height: | Size: 305 KiB |
|
After Width: | Height: | Size: 76 KiB |
|
After Width: | Height: | Size: 295 KiB |
|
After Width: | Height: | Size: 299 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 303 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 21 KiB |
|
After Width: | Height: | Size: 24 KiB |
|
After Width: | Height: | Size: 126 KiB |
|
After Width: | Height: | Size: 121 KiB |
|
After Width: | Height: | Size: 51 KiB |
|
After Width: | Height: | Size: 106 KiB |
|
After Width: | Height: | Size: 34 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 35 KiB |
|
After Width: | Height: | Size: 124 KiB |
@@ -0,0 +1,29 @@
|
||||
{
|
||||
"schema": 1,
|
||||
"matrixVersion": 2,
|
||||
"acceptedAt": "2026-08-08T18:51:15.651Z",
|
||||
"sourceFingerprint": "4d8e60a278cd81ea896a50b94da318b11ba8b2d7cdc3b782a5fb7fbe042702a5",
|
||||
"chromium": "151.0.7922.34",
|
||||
"scenarios": {
|
||||
"geometry-view-dark-fit": "fbce77f97180cd7d50a997c74d3fa1874ee3be2515a4c09b36dd4e792ebc66df",
|
||||
"geometry-view-light-fit": "a425fa6d77081bb35d2fb81e469962402c6a3c86a8113ff957f28548908d0816",
|
||||
"geometry-plan-editor-dark": "1c98c2a22843846fe021fd69f8f854a394229216a35f1e22cce381f510415754",
|
||||
"geometry-devices-editor-dark": "89f677b2ae242236071bea8c4bc9ba88100eb61ba80bd85ad919e288673a0622",
|
||||
"geometry-decor-editor-dark": "6e8cafb30e47da92b711528bb24c6d29dce094214b81c1175ec30408c6b988e4",
|
||||
"geometry-diagonal-45-opening-dark": "fbce77f97180cd7d50a997c74d3fa1874ee3be2515a4c09b36dd4e792ebc66df",
|
||||
"openings-thick-wall-dark": "5d9ac6add9a5709318180f4554ac62c1c7e2862bd016be7901a2bd450e021f0c",
|
||||
"openings-hidden-view-dark": "799e791830ab63a1c445b8c77650a577d8e881daa1ff47d1dcf4e238eb1cff16",
|
||||
"lighting-glow-sun-dark": "638ab9fa6856f91581453c732e4059b2a7af47b20d6a58b45a47497876142ea1",
|
||||
"lighting-fill-light-axis-split-dark": "acdbebe845ede66dbbe9de979aad93ba78dc2779d1ec533b238a9bea0d047d1c",
|
||||
"lighting-fill-temp-axis-split-dark": "2348b7c6a8594468664755e2fea1b49126e604192599be0a3965f24a0c2d2765",
|
||||
"lighting-fill-lqi-axis-split-dark": "584adcfb5541b1dddc814c2674bfce8002566bbb667b10501b7ff49fedef6f9c",
|
||||
"hover-over-glow-dark": "3ca354fa94922a3e38ce15886250ae88630a1e9356e4ac07b74b425f063839d7",
|
||||
"hover-nested-room-dark": "472f630768f60c3168f64744af891323a64cf71f36f943fc5a56b4f0494efa70",
|
||||
"large-house-zoom-040-dark": "69593f75f1965daf0a12777fde923ae25c99b42089a73a04cf523b3ea5ce4f0d",
|
||||
"large-house-zoom-250-dark": "21a1a0408c913f477913ae9c0339417ae7aaad7baad8a890eb558f6e36a5a597",
|
||||
"large-house-warm-remount-dark": "f3eb077934701cf11bc828da6a68b55346d499a68c323988938b88aca5f5d9fe",
|
||||
"device-dialog-desktop-en": "f669ff6b975a3d52d06b6eb7535f1af39373001217b7ab65c94a4fb9c3036193",
|
||||
"device-dialog-mobile-ru": "852b5ced2d056eb1b79d7dcd3218271198a90a7b3ea6e93da5622f75518ca6c6",
|
||||
"decor-color-popover-mobile-ru": "206f9e8ec7ee1d584561622772b6a4cbdadfcbfeec55c987dffc0107f5ed1293"
|
||||
}
|
||||
}
|
||||
|
After Width: | Height: | Size: 30 KiB |
|
After Width: | Height: | Size: 34 KiB |
@@ -48,7 +48,7 @@
|
||||
| Данные и совместимость | Есть versioned migration и явная оптимизация | В модели остаются legacy-поля и внутренние ключи без публичного жизненного цикла |
|
||||
| Frontend | 35 TypeScript-файлов, 31 273 физические строки | `src/houseplan-card.ts` содержит 14 308 строк — 45,8% всего TypeScript; любое изменение всё ещё затрагивает слишком широкую поверхность |
|
||||
| Типизация | Строгий TypeScript включён | В `src/` остаётся около 641 употребления `any`, включая внутреннюю бизнес-логику, а не только границу HA |
|
||||
| Проверки | Инвентаризация: 496 Node unit, 105 pure backend, 50 HA-harness и 118 browser smoke | Детерминированная golden-image инфраструктура добавлена, но первый просмотренный baseline-набор будет принят только на пре-релизном прогоне; performance budgets ещё не утверждены |
|
||||
| Проверки | Инвентаризация: 497 Node unit, 105 pure backend, 50 HA-harness и 118 browser smoke | Первый просмотренный Linux baseline из 20 golden-сценариев принят и включён в блокирующий CI gate; performance budgets ещё не утверждены |
|
||||
| Документация | Подробное русское руководство и двуязычный changelog существуют | Скриншоты и часть обзорного текста отстают от текущего состава редакторов |
|
||||
|
||||
Главная цель ближайших циклов: **сделать уже существующую глубину понятной, доступной и дешёвой в сопровождении**, не расширяя без необходимости поверхность настроек.
|
||||
@@ -66,7 +66,7 @@
|
||||
| HP-A11Y-02 | P1 | Готово к ТЗ | Единое кастомное подтверждение вместо оставшихся browser `confirm()` |
|
||||
| HP-DATA-01 | P1 | Исследование, этап 1 начат | Единый реестр схемы, миграций и срока жизни compatibility-полей |
|
||||
| HP-ARCH-01 | P1 | Реализация малыми этапами | Поэтапное разбиение корневого компонента и монолитных стилей |
|
||||
| HP-QA-01 | P1 | Инфраструктура готова, baseline ожидает пре-релиза | Визуальная regression-матрица геометрии, света и адаптивных диалогов |
|
||||
| HP-QA-01 | P1 | Baseline принят, CI gate активен; матрица расширяется вместе с поверхностью продукта | Визуальная regression-матрица геометрии, света и адаптивных диалогов |
|
||||
| HP-PERF-01 | P1 | Baseline-инфраструктура готова | Воспроизводимый профиль большого дома и бюджеты производительности |
|
||||
| HP-DOC-01 | P1 | Готово к ТЗ | Актуальные скриншоты и единая пользовательская навигация по документации |
|
||||
| HP-UX-06 | P2 | Нужно UX-решение | Явный room override для Glow |
|
||||
@@ -299,10 +299,9 @@ baseline/регрессионной защиты затрагиваемой по
|
||||
|
||||
Есть три раздельных действия: `golden:capture` никогда не пишет baseline,
|
||||
`golden:verify` требует полный набор и manifest, `golden:accept -- --reviewed`
|
||||
является единственным путём замены эталонов. Отдельный CI job до первого
|
||||
baseline только прикладывает кандидатов, а после появления PNG автоматически
|
||||
становится блокирующим. Первый набор сознательно не снимается сейчас: по правилу
|
||||
владельца build/test выполняются только на пре-релизном gate.
|
||||
является единственным путём замены эталонов. Первый Linux baseline из 20
|
||||
сценариев просмотрен и принят на gate `v1.60.3-beta.1`; после появления PNG
|
||||
отдельный CI job автоматически работает в блокирующем режиме.
|
||||
|
||||
**Критерии приёмки.** Матрица запускается отдельным CI job; браузер, viewport, шрифты и анимации детерминированы; обычные DOM-smoke остаются быстрым первым слоем; новый тип стыка или диалога добавляет fixture в ту же матрицу.
|
||||
|
||||
|
||||
@@ -21,7 +21,7 @@ metadata). Only an explicit owner-approved emergency hotfix may skip this gate.
|
||||
| Item | State |
|
||||
|---|---|
|
||||
| Version | **v1.60.3-beta.1** everywhere (manifest, const.py, package.json, CARD_VERSION) — first maintenance pre-release after v1.60.2; `main` remains on stable v1.60.2 while the beta is published from `dev` |
|
||||
| Current local cycle | Maintenance-only after v1.60.2: the brief tab-return flash and thick-opening association/overlap defects are fixed; static-icon coverage is expanded. HP-DATA-01 has an offline compatibility registry/auditor; HP-PERF-01 has a schema-valid deterministic large-house benchmark with source-freshness and precise-memory guards; HP-ARCH-01 started with the opening-tunnel render seam; HP-QA-01 has deterministic capture/verify/review infrastructure and its first pre-release candidate matrix. No new user features are introduced. |
|
||||
| Current local cycle | Maintenance-only after v1.60.2: the brief tab-return flash and thick-opening association/overlap defects are fixed; static-icon coverage is expanded. HP-DATA-01 has an offline compatibility registry/auditor; HP-PERF-01 has a schema-valid deterministic large-house benchmark with source-freshness and precise-memory guards; HP-ARCH-01 started with the opening-tunnel render seam; HP-QA-01 has deterministic capture/verify/review infrastructure and its first reviewed Linux baseline of 20 scenarios. No new user features are introduced. |
|
||||
| Workflow | Owner's rule since 2026-08-07: ordinary fixes/features are made **locally, without tests and without commits**. A requested pre-release gets a production build plus the smallest targeted unit/smoke set covering the changed surfaces, one tested `dev` commit/tag and a GitHub Release with `prerelease=true`; `main` stays untouched. The complete local frontend/backend/smoke gate runs only before a stable release, after which `main` is fast-forwarded to the exact tested `dev` SHA and the GitHub Release uses `prerelease=false`. Release bodies are short and bilingual (Russian first): only significant user changes get individual bullets, while minor/code-only work is grouped as `Мелкие исправления и улучшения` / `Small fixes and improvements`; every body ends with separate links to the Russian and English changelogs. Nothing is copied to the home instance by hand |
|
||||
| GitHub | https://github.com/Matysh/houseplan-card — `main` carries stable releases; pre-release tags may point directly at `dev`. Work lands on `dev` and is merged into `main` for a stable release, so `dev` is normally equal to or ahead of `main`, never behind. Push via SSH key `ha_jb` (remote git@github.com:…); API releases via the fine-grained PAT in `~/.git-credentials` (Contents R/W, issued 2026-07-23) |
|
||||
| CI | v1.60.3-beta.1 uses the owner-approved targeted pre-release gate locally. Exact-SHA Ubuntu Validate remains mandatory and runs the broader matrix; `release.yml` withholds assets until every matching run finishes green |
|
||||
|
||||