mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
Проверка #479 обязана быть строгой на кандидате беты и на релизном гейте. Фактически она не была строгой ни разу: preflight сравнивал со строкой `heavy=true` ВЕСЬ вывод `classify-changes.mjs --heavy`, а вывод двухстрочный — `heavy=…` и `mutants_requested=…`. В `$(…)` строки схлопываются через пробел, сравнение не совпадало никогда, режим оставался `warn`. Видно построчно в логе прогона 35091507839 на кандидате `4c44ef60`: скриншоты документации: режим warn (heavy=true WARN screenshot source fingerprint is stale; ... ok документация То есть проверка увидела устаревший индекс и пропустила кандидата. Обе беты после `699ab471` уехали с ним; на чистом checkout того же SHA `node scripts/check-docs.mjs --strict` падает с ERROR. Правило, которое из этого следует: формат `$GITHUB_OUTPUT` — построчный `ключ=значение`, читать его надо по ключу либо не читать вовсе. Где нужен один ответ, CLI отдаёт один ответ: `--screenshots-mode` печатает `warn` или `strict`, и в shell не остаётся ни разбора, ни развилки. Свидетели в `test/classify-changes.test.mjs`: режим по каждому событию, форма вызова в workflow (сравнение со строкой `heavy=true` не должно вернуться) и прямая проверка того, что вывод `--heavy` многострочный — то есть целиком сравнивать его нельзя. Мутант `screenshot-freshness-never-strict` возвращает прежнее «никогда не strict» и обязан краснеть. Issue: #586 User-Visible: no