0289e93c0e
М7 Фаза 8 — последние 2 хвоста до флипа. Inline TDD; спека+план одобрены; 2 адверсариальных прохода. Гейт-1 (печать артефакта в рантайме): - extractGate1Product (enforce-judge-gate.mjs): детект записи specs/*.md (Write-only) → судить линзами gate1 (движок уже поддерживает). runJudgeGate: спека→gate1, иначе план→gate2. - judged_hash от СЫРОГО content (SD-1, разбор #1 High): trimmed source_sha не сошёлся бы с печатью sealOnWiredGo → артефакт НИКОГДА не печатался бы. Один канон судья→печать. - extractGate2Product не тронут (Гейт-2 = планы, регрессия зелёная). SE-2 (стена не чтит shadow): - decideMode (enforce-supreme-gate.mjs): fail-closed whitelist — энфорсмент ТОЛЬКО при judge_mode==='live-block' на ОБЕИХ печатях; shadow/null/опечатка → разговорный (мутаторы block). Разбор #1 (VA-a/SE-a): убрана единственная fail-OPEN сверка; опечатка режима безопасна. - мигрированы 3 enforce-теста стены на judge_mode:'live-block'. Тесты: gate1 10, SE-2 6; регрессия tools-only 3443 passed / 2 skip / 0 регрессий. Гейт-1 тесты — отдельный файл enforce-judge-gate-gate1.test.mjs (real-test-verifier блокирует import-only Edit существующего теста). Печать в рантайме до флипа НЕ производится.