ci: рекалибровать бюджет initial view и предупреждать до стены, а не после

Запас ушёл с 26 КБ до 8.3 КБ за сутки. По документам код-ревью видно, что это не
диффузное расползание, а один шаг плюс обычная работа:

  #317 256127 · #318 256091 · #341 256046 · #354 257212 · #159 256828
  #357 271143  <- +14 КБ за один заход
  #20 271455 · #361 272848 · #359 272469 · #360 273697  <- текущий факт

Шаг на #357 — plan-art мебели: 44 top-view символа в eager-графе, которые платит
каждый план, включая планы без единого предмета мебели.

Потолок 282000 -> 300000. Правило #352 сохранено: 273697 x 1.10 = 301067, то
есть 300000 остаётся внутри надбавки ~10% над измеренным фактом. Запас
возвращается к 26.3 КБ — примерно к тому, что было до #357.

Запись честная и в комментарии сказана прямо: рекалибровка ничего не ускоряет и
ничего не чинит. Она фиксирует новую норму и возвращает гейту способность красить
того, кто вырастил бандл, а не того, кто пушнул последним. Настоящий рычаг —
ленивый граф, варианты 1 и 2 из #367.

Добавлено предупреждение: пока запас меньше 15000 Б, гейт печатает ::warning:: и
строку в summary. Прежняя редакция полагалась на то, что человек заметит тренд в
выводе; за сутки его не заметил никто, потому что каждая отдельная строка
выглядела нормально. Текст предупреждения называет лечение — иначе следующий
читатель поднимет потолок ещё раз и назовёт это решением.

Тест закрепляет обе стороны: надбавка не больше 10% и не меньше 5% (меньше —
возврат лотереи «красит последний коммит»), тревога срабатывает строго ниже
порога, превышение описывается как превышение. Три мутанта проверены руками,
один добавлен в реестр.

Issue: #367
User-Visible: no
This commit is contained in:
Claude
2026-08-29 12:32:01 +03:00
parent 5a285a6a4b
commit 0935a4d099
4 changed files with 104 additions and 5 deletions
+12
View File
@@ -1308,6 +1308,18 @@ const MUTANT_DEFINITIONS = [
replace: ' if (false) {',
}],
},
{
id: 'budget-warning-never-fires',
guard: 'node --test --test-name-pattern="срабатывает до стены" test/bundle-assets.test.mjs',
because: 'прежняя редакция полагалась на то, что человек заметит тренд в выводе: за сутки '
+ 'запас ушёл с 26 КБ до 8.3 КБ, и не заметил никто — каждая отдельная строка выглядела '
+ 'нормально (#367)',
patches: [{
file: 'scripts/bundle-budget.mjs',
find: ' if (!Number.isFinite(headroom) || headroom >= threshold) return null;',
replace: ' if (true) return null;',
}],
},
{
id: 'review-doc-guard-matches-by-substring',
guard: 'node --test --test-name-pattern="соседний каталог" test/review-doc-guard.test.mjs',