From 0b9acd6382e5f01e264d3516d936819055255ea3 Mon Sep 17 00:00:00 2001 From: Codex Date: Wed, 9 Sep 2026 21:00:23 +0300 Subject: [PATCH] docs: the local pre-push gate no longer calls the full mutation registry a pre-release gate MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Code review r1 (M1): scripts/pre-push-gate.mjs — in its comment and in the text every developer sees before a push — still named the full mutation registry a pre-release gate; the same phrase lived in the header of test/mutation-gate.test.mjs. Both now point at the nightly schedule (#513); golden/smokes/HA harness are named as the heavy Validate set on the candidate. Issue: #513 User-Visible: no --- docs/TESTING.md | 5 +++-- scripts/mutation-gate.mjs | 4 ++-- scripts/pre-push-gate.mjs | 11 ++++++----- test/mutation-gate.test.mjs | 2 +- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/docs/TESTING.md b/docs/TESTING.md index 3aaf5a85..a97bed3f 100644 --- a/docs/TESTING.md +++ b/docs/TESTING.md @@ -1055,8 +1055,9 @@ node scripts/pre-push-gate.mjs --max-smokes=3 --max-mutants=1 - **громко перечисляет, чего не проверял** — молчаливый пропуск дважды стоил проекту дня (#171, #207), а «Verified» без названной команды и её результата доказательством не является; -- **не претендует на полноту.** Golden, полная матрица смоков, HA-харнесс и весь - мутационный реестр — предрелизный гейт, а не этот набор. +- **не претендует на полноту.** Golden, полная матрица смоков, HA-харнесс — + heavy-набор Validate на кандидате; весь мутационный реестр — ночное + расписание (#513), а не этот набор. Бандл не собирается: `bundle-sync.mjs` раскладывает закоммиченный `dist`, а свежесть проверяет сам продукт — `assertFreshDemoBundle` внутри каждого смока diff --git a/scripts/mutation-gate.mjs b/scripts/mutation-gate.mjs index 625fbafd..ba33a244 100644 --- a/scripts/mutation-gate.mjs +++ b/scripts/mutation-gate.mjs @@ -8489,7 +8489,7 @@ function runCleanGuards(mutants) { /** * Мутанты, чьи патч-файлы задеты диффом (#332). Дифф-режим — для локальной - * проверки и ревью-циклов; полный набор остаётся предрелизным контрактом, + * проверки и ревью-циклов; полный набор идёт ночным расписанием (#513), * поэтому пустая выборка — честный успех с явным сообщением, а не ошибка. */ /** @@ -8786,7 +8786,7 @@ async function main(argv) { + `мутантов затронуто ${selected.length} из ${before} (по файлам ${picked.byFiles.length}, по определениям ${picked.byRegistry.length})`); if (!selected.length) { console.log('дифф не задевает ни одного patch.file — гонять нечего; ' - + 'полный реестр остаётся предрелизным контрактом'); + + 'полный реестр идёт ночным расписанием (#513)'); return 0; } } diff --git a/scripts/pre-push-gate.mjs b/scripts/pre-push-gate.mjs index b838b75d..b29aa989 100644 --- a/scripts/pre-push-gate.mjs +++ b/scripts/pre-push-gate.mjs @@ -19,9 +19,10 @@ * 2. **Он громко перечисляет, чего НЕ проверял.** Молчаливый пропуск дважды * стоил проекту дня (#171, #207), а «Verified» без названной команды и её * результата доказательством не является. - * 3. **Он не претендует на полноту.** Golden, полная матрица смоков, - * HA-харнесс и весь мутационный реестр — предрелизный гейт; здесь только то, - * что укладывается в минуты и ловит 90% возвратов. + * 3. **Он не претендует на полноту.** Golden, полная матрица смоков и + * HA-харнесс — heavy-набор Validate на кандидате; весь мутационный реестр — + * ночное расписание (#513); здесь только то, что укладывается в минуты и + * ловит 90% возвратов. * * Бандл не собирается: `bundle-sync.mjs` раскладывает закоммиченный `dist`, а * свежесть проверяет сам продукт — `assertFreshDemoBundle` внутри каждого смока @@ -179,8 +180,8 @@ if (skipped.length) { console.log('\nЧего этот набор НЕ проверял:'); for (const item of skipped) console.log(` · ${item}`); } -console.log(' · golden, полная матрица смоков, HA-харнесс, весь мутационный реестр —' - + ' предрелизный гейт, не этот набор'); +console.log(' · golden, полная матрица смоков, HA-харнесс — heavy-набор Validate на кандидате;' + + ' весь мутационный реестр — ночное расписание (#513), не этот набор'); if (failed.length) { console.log(`\nПровалов: ${failed.length}. Пуш до починки — это лишний раунд ревью.`); for (const step of failed) console.log(` ${step.command}`); diff --git a/test/mutation-gate.test.mjs b/test/mutation-gate.test.mjs index 2dfdcf98..81ca5680 100644 --- a/test/mutation-gate.test.mjs +++ b/test/mutation-gate.test.mjs @@ -14,7 +14,7 @@ import { const repoRoot = fileURLToPath(new URL('..', import.meta.url)); // Дешёвая половина гейта, идёт с обычными юнитами на каждом прогоне. Полный -// прогон с пересборкой бандла на мутанта — предрелизный, он в +// прогон с пересборкой бандла на мутанта — ночное расписание (#513), он в // .github/workflows/mutation-gate.yml. // // Реестр, отставший от кода, хуже отсутствующего: он выглядит защитой. Поэтому