diff --git a/CLAUDE.md b/CLAUDE.md index 09ece02e..23a26f0c 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -102,6 +102,18 @@ Go-бэкенд издательского художественного пер чистоту дерева после инцидента надо ПРАВИЛЬНЫМ прибором: искать в исходниках строку-ПОРЧУ бесполезно — у мутаций-усечений она префикс строки-цели и присутствует всегда; спрашивать надо, **на месте ли ЦЕЛЬ** каждой правки каталога (пропавшая цель = мутация всё ещё применена). + ⛔ **ПРАВКА ПРАВИЛА МОЛЧА ОТПРАВЛЯЕТ В ОТСТАВКУ ФИКСТУРУ, КОТОРАЯ ЭТО ПРАВИЛО СТЕРЕГЛА** (11.09, зона + поймала полным гейтом у СЕБЯ, на пине, который сама уже проверяла поодиночке и видела красным). + Ужесточение `NearStems` до строгого префикса отняло различающую силу у фикстуры на парах ОДИНАКОВОЙ + длины (`cart`/`cars`): строгий префикс отвергает такие сам, независимо от гейта `Enabled()`, — и тест + стал спрашивать то, на что правило уже отвечало, а снятие гейта стало НЕВИДИМЫМ. Мутант выжил. + ⇒ **меняя правило, спроси: какие пины его стерегли и осталась ли у их фикстур различающая сила?** + Лечение — явное утверждение ПОСЫЛКИ внутри теста («правило обязано принимать эти входы, иначе фикстура + не отличает гейт от правила»); оно же тут же поймало вторую попытку зоны (`cat`/`cart` — не префикс). + ⛔ **И следствие про метод: ПООДИНОЧКЕ ПРОВЕРЕННЫЕ ПОСАДКИ НЕ ЗАМЕНЯЮТ ПРОГОНА ВСЕГО КАТАЛОГА.** + Шестнадцать посадок, проверенных по одной, дали зелёную картину; полный гейт на 169 записях нашёл дыру, + которой не увидел ни один способ дешевле. Полный прогон каталога — не ритуал, а единственный прибор, + который видит взаимодействие правок между собой. ⛔ **ОДНА КОПИЯ — ОДИН МУТАТОР** (11.09, зона поймала у себя и назвала сама). Прежняя норма выше держала «копия защищается построением» про ИСХОДНОЕ дерево и молчала про саму копию. Инцидент: увидев запись `UNKNOWN`, сессия пере-запустила её на ТОМ ЖЕ `-root`, по которому в этот момент шёл цикл гейта — одна