951b15fb85
Находка М-406, правила 244-246. Смена 27 передала список «пять доступных настоящих долгов». Правило 243 велит проверять такой список замером, каждую строку отдельно. Проверил — ДОСТУПНЫМ ОКАЗАЛСЯ ОДИН. Третья смена подряд с той же долей: 14 ложных из 33 долгов, 3 из 4 разъездов, 4 из 5. - `zadachaKonchena` — ✅ настоящий, закрыт этим коммитом; - `reshyonnyeSNevypolnimymi` — 🔒 заперт словом владельца: единственный источник невыполнимых пунктов — ответ владельца «нет» в `questions.mjs`, а он мёртв целиком; - `mailFailedSince` — 🔒 заперт им же: замысел строки 750/1073 называет его дословно («затея видит, что сводка не ушла») частью правила ворот «отклик владельца»; - `readResult` — ❌ не долг, а МЁРТВЫЙ ОСТАТОК. Дороги «запусти, дождись конца, возьми итог» в затее нет: `startWorker` отдаёт живого ребёнка. Четверо читающих потоки делают ДРУГОЕ (надзиратель — живьём по строке; `budget` — ищет замеры предела; судья — берёт последнее событие `result` и текст приговора; `dengi-bez-zapisi` — первую цену), а расход затея нарочно не считает, а спрашивает. Не снесён намеренно: это решение владельца. ЧТО ПОЧИНЕНО. В блоке 5а надзирателя стояло упрощение `otlozhennyePunkty.size === 0` — «отложенных нет, значит всё засчитано». Сюда приходят по ДВУМ причинам, и вторая — не «пунктов не осталось», а «пункт ЕСТЬ, но его файлы держит живой сосед и занять их из-под руки не вышло». Отложенных при этом нет — и на НЕДОДЕЛАННОЙ задаче поднимался флаг приёмщику, а владельцу уходило «Пункты задачи кончились и все засчитаны». Доказано вырезанием: сторож написан первым и покраснел (`items_all_verified` = true на недоделанной задаче), после починки зелёный, при возврате упрощения — снова красный, и ровно один, посчитанный ДО прогона. Прибор №6 подтвердил независимо: имя ушло из приговора. 🔴 ГЛАВНОЕ, ЧТО КУПИЛА СМЕНА, И КУПЛЕНО ЧУЖИМ КРАСНЫМ. Полный прогон после починки дал красное у чужого сторожа `primechanie-ne-rashoditsya-s-pravdoy.test.mjs`. Правило 242 велит сперва спросить, что он бережёт. Он бережёт согласие примечания с правдой и по замыслу ПРАВ. Шапку я поправил — он всё равно краснел. Причина: сторож брал `items.mjs` СЫРЫМ файлом и искал фразу-маркер «НЕТ НИ ОДНОГО», а она стоит там в ЖИВОМ КОДЕ — в тексте ошибки «в плане задачи нет ни одного пункта». Пока шапка врала тем же словом, обе половины совпадали и сторож молчал: он был зелёным ПО ДВУМ ПРИЧИНАМ РАЗОМ, и одна из них случайная. ⇒ Заведён третий рез `tolkoPrimechaniya`, обратный `bezPrimechaniy`, в тот же дом и к той же развилке «какой брать». Обратность стережётся отдельной проверкой (что вырезал один — то оставил второй). Все три места сторожа переведены на него, хотя слепота задевала одно: у двух других фразы-маркера в коде сегодня нет — но это удача, а не защита. 244. У СТОРОЖА, ЧИТАЮЩЕГО ФАЙЛ СЫРЫМ, СПРОСИ: НЕ ОТВЕЧАЕТ ЛИ ЗА ПРИМЕЧАНИЕ ТО, ЧТО ПРИМЕЧАНИЕМ НЕ ЯВЛЯЕТСЯ. Обратная сторона 234: тот про «рез срезал зерно», этот про «отсутствие реза подсунуло шелуху». 245. У КРАСНОГО ЧУЖОГО СТОРОЖА ТРИ ИСХОДА, А НЕ ДВА. Третий: прав он по замыслу, но слеп по способу — тогда чинят САМОГО СТОРОЖА. Спроси, что он измерил, и то ли это, что он берётся охранять. 246. `grep -i` НА РУССКИХ БУКВАХ РЕГИСТР НЕ ПРИВОДИТ: «НЕТ НИ ОДНОГО» → 0, «нет ни одного» → 1, node тем же выражением → нашёл. Мерь тем же телом, каким меряет проверяемый. ПОПУТНО три примечания приведены к правде (правило 235): у `zadachaKonchena` живой зовущий теперь ЕСТЬ И ОН ОДИН (второго не будет, пока нет куска 7 — писать «зовут двое» значило бы чинить враньё половиной правды); `readResult` назван мёртвым остатком; `reshyonnyeSNevypolnimymi` помечен запертым, а не «некому сделать». Проверок 2929 в 108 файлах (было 2927), ноль красных, код 0. Прибор №6: вывозится 613, точных долгов 29 — число то же, состав другой: `zadachaKonchena` ушёл, на его место встал новый рез (класс правила 231, прибор говорит это сам). Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>