Files
portal/tools
Дмитрий e726396bb9 защита: на пустую ночь теперь приходит судья — раньше самая тревожная ночь оставалась без взгляда со стороны
Решение владельца 07.08.2026: завести. Работа 6 из шести — последняя.
Владелец решил так ВОПРЕКИ моей рекомендации «пока не заводить»; мой довод был про деньги
(каждый приход судьи — живое рождение), он принял решение, зная цену.

🔴 ДЫРА БЫЛА НАЗВАНА СТРОИТЕЛЕМ ВСЛУХ И СТОЯЛА ОТКРЫТОЙ. Прогон, в котором не завёлся
НИ ОДИН работник, закрывается в `run.mjs`, МИНУЯ надзирателя, а судью зовёт только
надзиратель. Значит на самую тревожную ночь из всех — ту, где работа не пошла вовсе, —
взгляда со стороны не было ВООБЩЕ, и разбираться в причинах владельцу приходилось самому.
Ровно то, ради отмены чего затея и делается.

🔑 ГРАНИЦА «КОМУ МОЖНО РОЖДАТЬ» НЕ ТРОНУТА, И ЭТО ГЛАВНОЕ В УСТРОЙСТВЕ. Живое рождение
головы разрешено ПОИМЁННО трём файлам, `cli.mjs` и `run.mjs` среди них нет. Поэтому сама
дорога живёт в `supervisor.mjs` — том, кому разрешено, — а зовущий только зовёт. Впусти
мы в поимённый список четвёртый файл, он перестал бы быть коротким и проверяемым глазами,
а ворота счёта рождений владельца — полными.

🪤 ЗОВ СТОИТ В `cli.mjs`, А НЕ В `run.mjs`, ПО ЗАМЕРЕННОЙ ПРИЧИНЕ, А НЕ НА ВКУС. Сперва
я написал проверки прямо на пустую ночь в `run.mjs` — и упёрся: `startAll` СИНХРОННАЯ,
а рождение судьи возвращает обещание. Ждать там было бы нечем: окно закрылось бы раньше
ответа, и вышли бы бумаги о судье без судьи. Сделать `startAll` асинхронной значило бы
переписать все её 66 проверок. В `cli.mjs` ожидание возможно, и порядок верный: судья
идёт ПОСЛЕ того, как прогон закрыт (позови раньше — читал бы недописанное).

СТОРОЖ ИЗ ДВУХ ПОЛОВИН, И НИ ОДНА БЕЗ ДРУГОЙ НЕ ГОДИТСЯ:
 1. сама дорога на подставке — судье сказано, что ночь не началась вовсе; дорога
    к рождению подана; падение судьи не роняет ночь, но и не молчит о себе;
 2. ЗОВ В ЖИВОМ КОДЕ — чтением кода. Без второй половины дорогу можно было бы отключить
    одной строкой при полностью зелёном прогоне: это уже случилось сегодня же с защитой
    файлов — вырезал живой зов, и 2965 проверок не заметили ни одна.

ПРИЁМКА ВЫРЕЗАНИЕМ, ПОРОЗНЬ ПО КАЖДОЙ ПОЛОВИНЕ:
 · убрал зов целиком — покраснели ОБЕ проверки живого кода;
 · оставил зов, убрал только ожидание — покраснела РОВНО ОДНА, та, что про ожидание.

🪤 МЕЛОЧЬ, КУПЛЕННАЯ ДОРОГО: `tolkoKod` вырезает не только примечания, но и СОДЕРЖИМОЕ
СТРОК. После реза строка ввоза выглядит как `import { … } from  ;` — пути в ней уже нет.
Первый вид проверки «ввезено из supervisor.mjs» покраснел на ВЕРНОМ коде. Замерил прямым
вызовом, а не стал править код под сторожа.

🟢 ЗАМЕР ПОДТВЕРЖДАЕТ И ПРЕЖНЮЮ РАБОТУ СМЕНЫ: точных долгов стало 28 вместо 29 — из списка
ушёл `mayTouchFakt`, ровно тот, что подключён к живой работе раньше сегодня.

🪤 И ещё мелочь: пять чужих проверок про внешние программы (npm, composer) разом покраснели
по истёкшему сроку ~5 секунд на занятой машине. Перемерил тем же прогоном — все зелёные.
Не своя правка, а плавающая беда от загрузки; лечится перемером, а не починкой исправного.

Прогон: 2973 проверки в 110 файлах (было 2967 в 109), код 0.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 13:02:41 +03:00
..
2026-06-17 08:03:35 +03:00