- Скилл: каталог не велит дописывать. Пункты про риторические вопросы, скобки, идиомы, личный опыт и живые примеры стали сигналом без автоправки: манера снимается удалением или перестройкой из слов автора, а не вставкой нового. Примеры «после» переписаны так, чтобы правка состояла только из слов исходника. Пункты про опечатки и дефис вместо тире убраны: скилл не портит текст нарочно. Одна матрица регистров, сверенная с
--genreсканера. После текста ничего лишнего: при «только текст» ответ заканчивается текстом, иначе не больше двух строк (балл и «Проверить перед отправкой»). Обвязка чата и запасной запуск сканера вынесены вreferences/. Слепая проверка против прошлой версии вeval/CATALOG_CLEANUP_CHECK.md. - Сканер: меньше ложных банов. «От X до Y», «в условиях» с именем собственным, короткое тире в диапазонах, «настоящим» и «символом» без глагола-связки больше не считаются манерой. Файлы с BOM и вывод в консоль Windows читаются и пишутся без ошибок. Плотность маркеров считается от 50 слов минимум, короткие тексты не штрафуются вдвойне; порог ровного ритма 0,35. Гейт пропускает нерусские файлы по доле кириллицы. Один конвейер
scan_reportдля CLI, MCP и гейта. - Сайт и расширение. Первый экран для человека без агента: «Проверить текст» и «Установить скилл для агента», разбор запускается сам, подсказки по клику на маркер. Проверка языка на всех трёх поверхностях (сайт, расширение, инструмент) до анализа, код не считается. Общие подсказки к банам, страница приватности расширения, честная рамка в заголовках и
llms.txt: балл это повод для правки, не вердикт об авторстве. Картинки легче, sitemap пересобран. - Документация. Пример аудита в README это реальный вывод сканера, и CI проверяет совпадение. Счётчики признаков, банов и категорий сверяются на всех языках, включая README.zh;
bump_release.pyведёт подвалы сайта и eval/README. Проверка живых поверхностей знает PyPI, реестр MCP, ClawHub и HOL. ClawHub публикуется по релизу, без токена пропускается без красного CI. Шаблоны issue и PR.
Изменено
- Формат
scan.py --jsonиru-humanizer --json. JSON командной строки теперь совпадает сstructuredContentMCP-инструментаscan_text: оба считает один конвейерscan_report. Что поменялось для тех, кто читает отчёт программой:scoreтеперь число, а не объект. Былоout["score"]["score"], сталоout["score"]; полоса вout["band"], штрафы вout["penalties"](список{"reason", "points"}), заметки вout["notes"].hard_bansиmarkersэто списки объектов{"category", "name", "count", "positions"}вместо кортежей[имя, число]и[категория, имя, число];positionsэто смещения находок в тексте.- С
--beforeблокout["before"]содержитscoreчислом иband, как верхний уровень. - Без изменений:
hard_ban_count,marker_count,genre,muted_by_genre,warning,facts,rhythm,morph,structure,lexical,repeats. Добавлено полеwords.