From 9c396935dc41d7872b737bf2ad8b2fa0746d6557 Mon Sep 17 00:00:00 2001 From: Codex Date: Tue, 25 Aug 2026 16:42:57 +0300 Subject: [PATCH] fix: the fans-disabled mutant guards by fan shape, not the detector (#302 r1 M2) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Контрактные пробы детектора строятся из той же junctionNodeGeometry и слепнут вместе с мутацией; юнит «T-узел даёт два веера» — внешняя истина. Смоковый гвард с полной сборкой оставался зелёным на сломанном коде — проверено штатным харнесом, а не заявлено. Issue: #302 User-Visible: no --- scripts/mutation-gate.mjs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/scripts/mutation-gate.mjs b/scripts/mutation-gate.mjs index f08371d8..9fd151ba 100644 --- a/scripts/mutation-gate.mjs +++ b/scripts/mutation-gate.mjs @@ -2172,9 +2172,11 @@ export const MUTANTS = [ }, { id: 'junction-fans-disabled', + // Юниты формы, не детектор: контрактные пробы детектора строятся из той + // же функции и слепнут вместе с ней, а «T-узел даёт два веера» — внешняя + // истина, не зависящая от мутируемого кода. guard: 'npx tsc -p tsconfig.test.json && node scripts/fix-test-build.mjs ' - + '&& npm run build >/dev/null 2>&1 && cp dist/houseplan-card.js demo/srv/assets/houseplan-card.js ' - + '&& node demo/smoke_junction_holes.mjs', + + '&& node --test --test-name-pattern="issue 302" test/wall-thickness.test.mjs', because: 'без вееров сектор между соседними полосами узла остаётся дырой — ' + 'это и есть класс артефактов #302', patches: [{