d32811b804
Комментарий, объясняющий, почему чего-то больше нет, обязан называть это по
имени. Скан по голой подстроке такой комментарий от кода не отличает и падает
на документации к выполненной им же работе. Найдено три таких гейта, все на
пути ближайшей сборки:
скан иконок -> блочный комментарий в SvgIcon/sprite.ts
скан имён раннеров -> слово `systemd-run` в прозе firewall.ts
скан cancelFirewall... -> комментарий о разделении функции
Второй сломан моим же комментарием из 2259f7c. Третий сломан с момента своего
появления (330a63b) и не падал только потому, что сборка до него не доходила:
её останавливали более ранние гейты.
Исправления по форме, а не удалением комментариев:
- скан прежних имён раннеров требует, чтобы перед именем не стоял дефис. В
JavaScript идентификатор после дефиса не начинается, поэтому исключение
точное и ни один настоящий вызов не пропускает;
- скан cancelFirewallRollback ищет имя со скобкой, то есть объявление или
вызов, а не упоминание;
- литеральный скан по virtual:svg-icons-register удалён: его роль исполняет
более сильный и более ранний гейт — production `vite build`, где активный
импорт неразрешимого виртуального модуля роняет сборку bundle. Оставлены две
точные проверки: отсутствие плагина в package.json и вызов registerSvgIcons
в main.ts.
В шапке acceptance.sh зафиксировано правило для отрицательных сканов и
ограничение code_without_comments: строчные комментарии он отбрасывает,
блочные — нет, и блок-парсер сознательно не заводится (наивный стриппер
спотыкается о `/*` внутри строк и регулярных выражений, а это ложный PASS).
Все отрицательные сканы приёмки прогнаны по текущему дереву: срабатываний
больше нет; новые шаблоны проверены на синтетическом регрессе — ловят.