99edc75a61
Находка М-410, правило 254. Смена 31 исполнила задание смены 30 — задала правилу 253 вопрос «нет ли близнеца с тем же ремеслом» остальному хозяйству. Больных нашлось ДВА. ━━ 1. СТОРОЖ ПЛАНОВ И ЖИВЫЕ ВОРОТА СЧИТАЛИ ЗАДАЧИ РАЗНЫМИ ТЕЛАМИ ━━ Правило «план размечен для ночи НАПОЛОВИНУ» — самое дорогое в своей семье: беда выглядит РОВНО как успех (ночь делает три задачи из девяти и отчитывается успехом). Оно родилось в стороже (`polumechen`) и позже переехало на дорогу живого запуска (`validatePlan`). Переезд состоялся — а старая копия осталась жить на прежнем месте, со своей приметой. Замерено по ВСЕМ 594 живым планам обоими настоящими телами. Приговор «кричать или молчать» сошёлся везде. А число, которое видит владелец, разошлось на живой бумаге: `2026-08-01-kusok2-progon-ne-nachnyotsya.md` — сторож 12, ворота 11. Двенадцатая «задача» — строка `## Задача 1: оставить след` на 6122-й строке плана. Она лежит ВНУТРИ рамки с подписью powershell: это текст, который команда записывает в пустышку, а не работа плана. Ворота правы, сторож ошибался. 🔴 И своё неверное число сторож держал утверждением `expect(schyot).toEqual({… 12 …})`. Пока оно стояло, оно ошибку ОХРАНЯЛО: почини кто-нибудь тело — покраснел бы верный ответ. Разъехались тремя разрезами, все три замерены подложками: рамка-образец (ворота пропускают, сторож считал), «####» (у ворот подзаголовок, у сторожа задача), буква «ё» в номере (у ворот `[а-яё]`, у сторожа `[а-я]` — теряла). Лечение по правилу 249, а не подгонкой приметы: `skolkoRusskihZadach` вывезено наружу, своей приметы у сторожа больше НЕТ вовсе. Разъехаться им теперь физически нечем. Доказано вырезанием: вернул прежнее тело — покраснели ровно 5 проверок, посчитанные ДО прогона (четыре новых сторожа + закреплённое неверное число). ━━ 2. ИМЯ, ИЗ КОТОРОГО СОБИРАЮТ ОБРАЗЕЦ, ОБЕЗВРЕЖИВАЛИ ТРИ МЕСТА ИЗ ПЯТИ ━━ В `schyot-zovushchih.mjs` пять мест делают одно ремесло — берут имя из чужого кода и собирают из него образец. Три обезвреживали знак `$`, `zovyImeni` — нет, и `vvoziatLiModulCelikom` не обезвреживал имя файла. `$` — законный знак имени, а в образце значит «конец строки». Имя `ceny$vRublyah` в образце совпасть не может НИКОГДА: прибор ответит «зовущих нет», сито увидит «нигде не ввезено, дома не зовётся» и вынесет «ТОЧНО ДОЛГ» — самый твёрдый приговор, у которого оговорки «посмотри глазами» нет вовсе. Живой код пошли бы сносить как мёртвый. 🟢 Честная граница: живого вреда на день находки НЕТ. Имён со знаком `$` в хозяйстве ноль из 613 вывозимых, расхождений по живому — ноль. Правится не потому, что врёт сегодня, а потому что соврёт молча и в приговоре, который никто не перепроверяет. Доказано вырезанием: ровно 2 красных, посчитанные до прогона; второй сказал последствие словами — живое имя оказалось в списке «точно долг». ━━ ЧИСЛА ━━ Проверок 2954 в 109 файлах (было 2948/109), ноль красных, код 0. Вывозится наружу 614 (было 613 — прибавилось общее тело `skolkoRusskihZadach`). Точных долгов 29, состав сверен поимённо командой `sort | diff` до и после лечения — те же 29 имён. Живых рождений ноль, денег не потрачено. 🔴 Свои ошибки, названные честно, — их две. Первая: мерил число ворот своей приметой по их же словам, и примета цепляла ПРИМЕР из самих слов отказа (правило 246 с новой стороны) — поймал сам, перемерил. Вторая: взял `git stash` в углу, у которого заначка ОБЩАЯ со всеми параллельными сессиями; толкнись сосед между моими push и pop — pop без адреса вытащил бы чужую работу в мой угол молча. Обошлось по удаче, приём вычеркнут. 🟢 Правку «только Edit/Write» смена 31 НЕ нарушила: оба вырезания сделаны через Edit. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>