Files
portal/tools
Дмитрий 99edc75a61 fix(ночь): правило переехало в ворота, а старое тело осталось жить в стороже
Находка М-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>
2026-08-07 10:19:37 +03:00
..
2026-06-17 08:03:35 +03:00