mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-28 19:01:34 +00:00
Ревьюер гонял tsc, юниты и сборку заново в каждом раунде, хотя Validate на том же SHA уже зелёный. Промпт прямо это требовал. Теперь шаг `validated` спрашивает у Validate состояние ровно этого SHA, и доказательство такое же строгое, как у reuse-маркеров (#208): не «недавно было зелено», а completed success на этом коммите. После ребейза SHA другой, прогона для него нет — ревьюер честно гоняет сам, и промпт это говорит. Что Validate не покрывает, в примечании названо отдельно: смоки по диффу, golden при правке рендера, инварианты на конкретной конфигурации. Иначе экономия превратилась бы в «CI зелёный, значит всё проверено». scripts/pre-push-gate.mjs — локальный набор: tsc, юниты, смоки по диффу (smoke-select), мутанты по диффу (mutation-gate --changed). Замер на реальном диапазоне 953f675~1..953f675: 46 секунд на всё вместе с двумя смоками. Три свойства, без которых набор бесполезен: не останавливается на первом упавшем; громко перечисляет, чего не проверял; не претендует на полноту. Бандл не собирает — раскладывает закоммиченный dist, а свежесть проверяет сам продукт через assertFreshDemoBundle внутри смока. В хуке выключен по умолчанию: 20-45 секунд на каждый пуш, включая пуш одной строки документации, — цена осознанная, включается HP_PREPUSH_GATE=1. Дельта-промпт для spec-ревью (пункт 2) уже существует: блок «объём разбора по дельте» из #214 покрывает оба этапа и прямо называет «дифф файла ТЗ или тела issue для spec». Ничего не добавлял. Issue: #343 User-Visible: no