test: run model invariants over every shipped model

Issue: #254
User-Visible: no
This commit is contained in:
Matysh
2026-08-23 09:40:50 +03:00
parent 2c74b12101
commit 59be468506
2 changed files with 58 additions and 7 deletions
+10
View File
@@ -359,6 +359,16 @@ jobs:
выбирать тут нечего. Пропуск этого шага в #230 и #234 оставил `dev`
с красным job `docs` до следующей задачи (#237).
Если diff трогает геометрию или ссылки на неё — рёбра комнат,
записи толщины, `layout`, `marker.space`, `open_spans` — обязательны
инварианты модели (#254): `npm test` уже гоняет их на всех моделях
проекта, а на конкретной конфигурации они проверяются командой
`npm run invariants -- --config <экспорт или ответ config/get>`.
Два вопроса, на которые они отвечают, и оба уже стоили продукту
дефектов: не исчезла ли запись толщины (#253) и разрешима ли каждая
ссылка (#244, #252). Если задача меняет геометрию, а инварианты в
отчёте не названы — это непрогнанный гейт, а не мелочь.
По необходимости, и «необходимость» определяется diff'ом и AC:
- браузерные смоки `demo/smoke_*.mjs` — названные в AC плюс те,
что печатает `node scripts/smoke-select.mjs --base <base> --head <head>`.