mirror of
https://github.com/Matysh/houseplan-card
synced 2026-09-29 03:09:36 +00:00
#429 снял `SUPPORT_LAZY_INITIAL_BASELINE_BYTES = 291046` — порог, привязанный к критерию приёмки #423, с пятнадцатью байтами запаса и сообщением про копирайт формы поддержки. Снять было правильно. Но снят он оказался ровно на том релизе, где сработал бы: beta.1 291 031 · снятый порог 291 046 · beta.2 291 069 Рост случился внутри той же беты, уже после снятия, и заметить его стало нечем: единственным сигналом остался `lowHeadroomWarning`, который горит постоянно — третий аудит подряд, и третий раз без реакции. Механизм по образцу ядер (#425): потолок 292 000 Б с полосой 2 000 Б, двусторонний. Рост выше потолка — отказ с числом и указанием, что делать (поднять потолок в том же коммите с объяснением либо вынести код в ленивый граф, #367). Падение ниже полосы — тоже отказ: незафиксированный выигрыш отыгрывается молча, именно так запас бюджета ушёл с 26 КБ до 8.3 КБ за сутки. Полоса, а не точное число, — по измерению, а не из осторожности. На beta.2 initial-чанк стал МЕНЬШЕ на 344 сырых байта и при этом на 40 байт больше в сжатом виде: gzip не монотонен по исходнику. Точный храповик по gzip краснел бы на коммитах, которые код сокращают, — та же лотерея, о которой предупреждает комментарий к бюджету 300 000. Потолок поставлен так, чтобы факт лежал ближе к середине полосы: 931 Б до отказа сверху, 1 069 Б снизу. Предупреждение о запасе стало погашаемым: `LOW_HEADROOM_ACKNOWLEDGED_CEILING` привязан к ЗНАЧЕНИЮ потолка, поэтому признание долга перестаёт покрывать ровно тогда, когда потолок поднимут. Сейчас `null` — не погашено, и текст говорит, чем гасится. Превышение самого бюджета признанием не гасится: там отказ, а не тревога. Свидетели. Девять мутаций, каждая краснит свой тест: снятие верхней стороны, снятие нижней, потолок выше бюджета, полоса 50 Б, признание поверх превышения бюджета, молчащее устаревшее признание, и две — про подключение: вызов потолка убран из main и отказ понижен до console.log. Последние две прошли молча на первой редакции тестов — статическая проверка «в main есть вызов» была бы циклическим доказательством, за которое #430 снял циклический тест гарда benchmark, поэтому добавлен прогон настоящего CLI в подставном дереве. Захардкоженный `lowHeadroomWarning(9058)` из #429 заменён на число из поставляемого манифеста: константа в тесте выглядела измерением, не будучи им. Мутант `initial-view-ceiling-unplugged` в реестре. Гейты: npm test 1819 tests, 1818 pass, 0 fail; node scripts/bundle-budget.mjs зелёный — 291 069 внутри полосы, запас до бюджета 8 931 Б. Issue: #438 User-Visible: no