Files
Claude 708ed850f3 docs(hygiene): снять чек-листы testing-notes и дизайн-материалы выпущенных задач (#681)
Волна 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
2026-09-27 21:27:57 +03:00

2.5 KiB
Raw Permalink Blame History

Пробы гарда исключений (#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 записи не заменяет.