5b0a7da854
Разбор 33 «точных долгов» глазами (работа 2 из промта смены 26). Настоящих оказалось 20, ложных тревог 13 — почти сорок процентов. Одна ложная тревога была ОПАСНОЙ. `setup` и `teardown` из `storozh-boevogo-hozyaystva.mjs` шли в приговоре с самой твёрдой пометкой прибора — «не зовёт никто вовсе, даже проверки». У этой пометки, в отличие от «зовут только проверки», нет оговорки «посмотри глазами». А зовёт их САМ ПРОГОН: файл назван в его настройке, `app/vitest.config.tools.mjs` строка 56, `globalSetup`. Зова в коде нет и быть не может — соглашение об имени скобками не выглядит никогда. То есть прибор, написанный против класса «написано, но не работает», подталкивал снести работающее. Прочти следующая смена этот приговор буквально — и пошла бы вырезать сторожа боевого хозяйства как мёртвый код. РЕЗ УЗКИЙ НАРОЧНО, и это главное в правке. Наружу из затеи торчат три дороги, зовом имени считается ОДНА: - `globalSetup` — прогон зовёт `setup`/`teardown` сам по соглашению — засчитываем; - `setupFiles` — файл просто исполняется сверху вниз — имён не зовёт; - наряд `package.json` (`node tools/night/utro.mjs`) — имён не зовёт, там рот. Широкий рез тут не ослепил бы прибор, а ЗАТКНУЛ: засчитай мы наряды — все имена `cli.mjs` и `utro.mjs` вышли бы из долга разом, и живая находка `merkaCheloveka` пропала бы из приговора молча. ДОКАЗАНО ВЫРЕЗАНИЕМ, ДВАЖДЫ. Убрал встройку в обход — покраснела ровно одна, сквозная (число красных посчитано ДО прогона, сошлось). Расширил рез на `setupFiles` — покраснел встречный сторож послаблений. Голый шов закрыт нарочно: правило умеет читать настройку, обход умеет судить, и обе половины были бы зелены, даже если обход правила не спрашивает вовсе. Ловится только сквозной проверкой на подложном уголке. Номера новому пятну не даю: нумерация в шапке прибора сама себе противоречит — одно и то же пятно (ввоз модуля целиком) названо там и «шестым», и «№9». Имя вместо номера. Разбор всех 33 поимённо — docs/superpowers/zamer/2026-08-18-razbor-33-dolgov.md. Оттуда же два новых долга, ни один не начат: - механизм вопросов владельцу мёртв С ОБЕИХ СТОРОН: команд `cli.mjs answer` и `cli.mjs ack`, которыми примечание обещает класть ответ, в `cli.mjs` нет вовсе; - живая сверка настроек не спрашивает `kudaOtnesyon` — замерено подложным ключом: выдуманный ключ прошёл молча, а правило при этом честно ответило «не отнесён никуда». Приговор прибора: 33 -> 31 точных долга, 610 вывозится. Проверок 2916 в 106 файлах, ноль красных, код 0. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>