fix(ci): close smoke selection and persisted-type risk blind spots

Issue: #772
User-Visible: no
This commit is contained in:
Matysh
2026-10-01 19:05:09 +03:00
parent 1f15ee143e
commit 50b163c60c
9 changed files with 217 additions and 28 deletions
+17
View File
@@ -320,6 +320,23 @@ node scripts/pre-push-gate.mjs --max-smokes=3
`--smokes` гоняет вместе с выборкой (#690). CSS-правка #687 без него не выбрала
`smoke_modes`.
С #772 реестр `scripts/smoke-links.mjs` принимает и `files`: точные пути
таблиц стилей, где изменение не называет TS-символ. Так правка
`src/styles/plan.styles.ts` всегда добавляет `smoke_room_fill_transitions`.
Отчёт и пакет задачи печатают путь с пометкой «(файл)». Такая широкая связь
сама по себе **не отменяет визуальный минимум**. Вложенные свойства литерала
аргумента (`key: { … }` или `key: [ … ]`) тоже приписываются вызову, но поиск
не пересекает тело отдельной функции и не расширяет трёхстрочный контекст.
Риск `migration` проверяет также именованные сохраняемые типы вне `types.ts`
(`PERSISTED_TYPES` в `scripts/change-risk.mjs`): для лестниц — `Stair`,
его варианты, общий контракт и направления. При переносе сохраняемой
декларации в смешанный модуль этот реестр дополняют; импорт того же имени или
соседний локальный тип не делает модуль целиком участком `migration`.
Регрессии проверяют и класс риска, и итоговое решение `ship` → `show`.
Мутанты этих границ зарегистрированы для ночного прогона; в задаче — только
статическая проверка якорей `node scripts/mutation-gate.mjs --check` (#709).
### В хуке — по умолчанию для веток задач (#633)
Прежде набор включался только переменной `HP_PREPUSH_GATE=1`, и ошибки, которые