Релиз по итогам полного аудита проекта, меняет сам скилл (контент-версия SKILL.md → v3.10): промпт догнал сканер по точности и перестал нарушать собственные правила.
Что нового
- Скилл без тире: из собственной прозы SKILL.md и команд убраны все длинные тире (включая пункт чеклиста «ноль длинных тире», который сам содержал тире).
lint_skill.pyтеперь проверяет прозу SKILL.md, команд и обоих README целиком, регресс невозможен. - Сужение «Таким образом» доехало до промпта: таблица HARD BANS банит вводный вывод и освобождает обстоятельство «устроен таким образом, что...» (в v3.11 это починили в regex сканера, но не в тексте скилла). Вводное «Таким образом,» после заголовков и в списках теперь ловится.
- Меньше ложных срабатываний сканера: «от X до Y» больше не банит числа, имена собственные и идиомы с повтором; «является» по границам слова и по порогу >1 раза на 500 слов (одиночное — мягкий маркер); «это не...» только как конструкция «это не X, это Y». Контрольная человеческая фраза поднялась с 67/100 до 100/100; на корпусе raw 7/7 остаются под банами, детекция не потеряна.
- Технические маркеры наконец проверяются: латинские гомоглифы внутри кириллического слова и невидимые символы (zero-width) были описаны в SKILL.md, но сканер их не считал.
- Вывод scan.py: номера строк у каждой находки, человекочитаемые метки, гарды пустого и нерусского текста, сообщения вместо трейсбеков. Новый смоук-гейт
test_scanв CI. - Regression-гейт ожил в CI: эталон в коммитимом
eval/baseline.json, сравнение направленное (raw AI — потеря детекции, human-контроль — новые ложные срабатывания). - Сайт: актуальная версия на главной (висела v3.7), реальные режимы, og:image и favicon на всех страницах (шаринг в Telegram с картинкой), внутренний дизайн-док убран из публикуемого
docs/.
Полный changelog: https://github.com/ilyautov/humanizer-ru/blob/main/CHANGELOG.md