diff --git a/CLAUDE.md b/CLAUDE.md index dc229b75..b6c3f957 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -258,6 +258,16 @@ Go-бэкенд издательского художественного пер ⭐ Замер: `C-verdict-leaves-the-anchored-column` поймана ДВУМЯ тестами — синтетическим пином и оракулом холодного прогона; значит сломать первичную колонку и получить зелёный гейт нельзя даже мимо синтетики. ⇒ **после включения любой ступени в гейт спроси её посадкой, а не списком скипов.** + ⛔ **И ТА ЖЕ НОРМА — ПРО САМ ХАРНЕСС, А НЕ ТОЛЬКО ПРО ЧИТАЮЩЕГО** (зона поймала у себя 11.09, приёмка + этого не видела). Её мутационный харнесс склеивал ДВА пакета в ОДИН аргумент `go test`; тот не мог его + разрешить, выходил ненулевым — и харнесс читал ненулевой код как «мутация поймана». **Три записи + получили ложное RED**, то есть прибор сам печатал поимки там, где их не было; нашлось руками на + четвёртой. ⇒ **харнесс, который судит по КОДУ ВОЗВРАТА, не отличает «тест упал на предмете» от «команда + не собралась»**; оба выглядят успехом мутационной кампании. Лечение: харнесс обязан требовать от + падения ТЕКСТ про предмет, а на неразрешённой команде — выдавать ОТДЕЛЬНЫЙ исход (неизмеренная), и под + сам этот дефект ставится пин. ⚠ Класс родствен `D39.212` п.8 («код возврата составной команды отвечает + на свой вопрос, а не на твой») и норме про `UNKNOWN`: **неизмеренное, прочитанное как пойманное, хуже + выжившего — оно закрывает вопрос, не задав его.** ⛔ **МУТАЦИЯ ЗАСЧИТЫВАЕТСЯ ПО ТЕКСТУ СООБЩЕНИЯ, А НЕ ПО ФАКТУ КРАСНОТЫ.** Читай ТЕКСТ падения: говорит ли он про сломанное тобой. Правый вердикт по неправой причине — дыра, а не поимка, и от настоящей поимки отличается только тем, прочёл ли кто-нибудь текст, а не цвет (`D39.217` п.2в).