mirror of
https://github.com/Matysh/houseplan-card
synced 2026-10-04 21:58:56 +00:00
Волна 4 эпика #674. docs/testing-notes/: восемь ручных чек-листов по поверхностям и индекс удалены — ни одного отмеченного пункта, ручной фазы в PROCESS.md §2 нет. Правило #650 (пустое совпадение --test-name-pattern) перенесено в TESTING.md; пункты [manual] без автоматического свидетеля сведены в раздел «Чего не проверяет автоматика» (реальный HA, сенсорное устройство, ресурсы сервера, несколько клиентов, визуальная оценка, пользовательское содержимое). В TESTING.md снят блок чек-листов v1.43–1.44 и приложения по issue в разделе golden (#197/#249/#272/#275/#288/#261) — сцены объявлены в demo/golden/matrix.mjs. Остался реестр браузерных гвардов #659 (mutation-browser-guards.md). test/testing-notes-index.test.mjs → test/testing-doc.test.mjs: лимит 800 строк, правила #85, раздел ручных проверок и живые ссылки TESTING.md; каталог testing-notes содержит только реестр. Мутант testing-notes-index-drops-section (удалял строку индекса) → testing-doc-drops-manual-section. golden-matrix: копия 67 id сцен #242/#250 в чек-листе снята, список и способ его измерения — в demo/golden/matrix.mjs. docs/design/505-summary-panel удалён вместе с demo/capture_summary_panel_505.mjs и маршрутом /reference/ фикстуры диалога. docs/design/600-settings-dialogs: reference/, screenshots/, pairs/, ARCHIVE-README, ISSUE-FORM, OPEN-POINTS удалены; SPEC, IMPLEMENTATION-GUIDE, field-maps, ACCEPTANCE остаются; вывод capture_design_pairs_600.mjs и verify_ha_form_shell_609.mjs --capture — в artifacts/. docs/design: 68 файлов / 4,08 МБ → 13 / 0,70 МБ. README-ha-dialog-505.md → README-ha-dialog.md (путь в release-review.yml); demo/guard/README.md: запись гварда — в verify-guard.mjs, не в README. docs/design/649-25d-stage6 не тронут — пункт после стабильного v1.78.0. Issue: #681 User-Visible: no Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018qZfe7YS4rqEMKoVeS3GKd
31 lines
2.5 KiB
Markdown
31 lines
2.5 KiB
Markdown
# Пробы гарда исключений (#404)
|
||
|
||
Здесь лежат фикстуры, которые **должны падать**: каждая проверяет, что гард
|
||
«uncaught exception внутри карточки» умеет краснеть, а не только объявлен.
|
||
|
||
Три причины, по которым это отдельный каталог, а не `demo/smoke_*` и не
|
||
`demo/fixtures/`:
|
||
|
||
1. **Не `smoke_*`** — иначе шарды CI будут гонять заведомо красный файл и
|
||
покрасят себя.
|
||
2. **Не `demo/fixtures/`** — этот каталог входит в корпус `sourceFingerprint`
|
||
(`scripts/source-fingerprint.mjs`), то есть каждый новый `.mjs` там объявляет
|
||
устаревшими закоммиченный бандл, скриншот-индекс документации и golden-индекс.
|
||
Пробы гарда ни одного пикселя не касаются, платить пересъёмкой за них нечем.
|
||
3. **Каталог, а не файл** — проб несколько, и они читаются как набор.
|
||
|
||
Запускает их `verify-guard.mjs`; он же вызывается из job «Смоки в браузере»
|
||
и служит guard'ом мутантов в `scripts/mutation-gate.mjs`.
|
||
|
||
Одна проба живёт не здесь: `--guard-probe` у `demo/benchmark_backdrop_decode.mjs`
|
||
(#430). Benchmark нельзя переселить в этот каталог — его запускают руками при
|
||
рекалибровке порогов, — поэтому `verify-guard.mjs` умеет запускать файл выше
|
||
каталога и с аргументами. Режим `--guard-probe` пропускает все замеры, бросает
|
||
одно исключение внутри страницы и обязан выйти с кодом 1.
|
||
|
||
Новый benchmark, открывающий страницу Playwright, обязан получить такой же
|
||
режим и запись в `verify-guard.mjs` (`file: '../<имя>.mjs', args:
|
||
['--guard-probe']`): этого требует `test/smoke-harness-contract.test.mjs`, и
|
||
требует статически — потому что динамическое доказательство возможно только
|
||
там, где есть браузер. Этот README записи не заменяет.
|