Releases: ilyautov/humanizer-ru
Release list
v3.14.0 — Самомаркировка честности
Что нового
- Паттерн #54 «Самомаркировка честности»: текст называет себя честным вместо того, чтобы быть («вот честный список», «скажу без прикрас», «без воды», анти-хайп поза). Непрошеное заверение подрывает доверие (excusatio non petita); RLHF-модели обучены перформить прозрачность. Порог: 2+ на текст или маркировка в заголовке. Одиночное разговорное «честно говоря» и жанровый заголовок «честный обзор» не считаются: это живая речь и человеческая конвенция.
- Быстрый сканер: категория «Самомаркировка честности» (22-я).
- Каталог на сайте и в README: 53 → 54; родословная паттерна в SOURCES.md.
Полная история: CHANGELOG.md
v3.13.0 — Пустой образ: тест на обналичивание
Что нового
- Паттерн #53 «Пустой образ (тест на обналичивание)»: живой глагол или яркая метафора без конкретного референта. Тест «что именно физически происходит?» с тремя исходами: пустой образ, ложная точность (механизм неверный: самый вредный исход), плавающий якорь (термин гуляет между смыслами). К художественной прозе не применяется: нулевой шаг теста определяет регистр текста.
- Двойной гейт в Шаге 3: тест на удаление + тест на обналичивание на каждый усилитель, вводное и образ сразу на первом проходе.
- Условный пятый проход «Обналичивание» для экспертных и технических текстов.
- Быстрый сканер: категория «Пустая образность».
- Literary guard: канарейка границы #53 на художественной фикстуре (
eval/run_literary_guard.py). - Каталог на сайте и в README: 52 → 53; родословная паттерна в SOURCES.md.
Полная история: CHANGELOG.md
v3.12.0 — Точность сканера, живой baseline-гейт и скилл без тире
Релиз по итогам полного аудита проекта, меняет сам скилл (контент-версия 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
v3.11.0 — Document-level метрики и точность сканера
Релиз меняет сам скилл (контент-версия SKILL.md → v3.9): в аудит добавлены сигналы уровня документа.
Что нового
- Document-level метрики (
humanizer_metrics/structure.py): burstiness абзацев (ровные по длине абзацы выдают шаблон, S5) и listicle-сигнатура (засилье однотипных списков, S1). Целят в длинные шаблонные тексты; на короткой прозе инертны.scan.pyпечатает блок «Структура (уровень документа)». - Точность хард-бана «таким образом»: сужен до вводного коннектора-вывода. Обстоятельство образа действия «говорить таким образом, что …» больше не банится ложно. На корпусе сужение не теряет ни одного AI-вхождения (7/7 raw остаются под баном), но снимает ложные срабатывания на художественной прозе.
- Фикстура ложных срабатываний (
eval/corpus/literary/): AI-стилизация под Толстого как стресс-кейс. Скилл верно отказывается её переписывать (хард-локи на стиль и факты), а умные метрики читают текст как живой. Регресс-тесты вtest_markers.pyиtest_score.py. - README: блок «Автор» со ссылкой на Telegram-канал.
- Зависимости (dev/eval): anthropic ≥0.111.0, torch ≥2.12.1, transformers ≥5.12.1; CI-actions checkout v7, plugin-scanner.
Полный changelog: https://github.com/ilyautov/humanizer-ru/blob/main/CHANGELOG.md
v3.10.0 — Score чистоты
Первый релиз, который меняет сам скилл (контент-версия SKILL.md → v3.8), а не только дистрибуцию.
Score чистоты 0-100
Сводная оценка поверх детерминированного сканера + полоса чисто / точечная правка / рерайт. Не детектор и не вероятность ИИ, а агрегат уже считаемых сигналов: хард-баны и плотность маркеров весят сильно, морфология (сущ./глаг.) и тире слабо, как корроборирующие, чтобы не занижать плотный энциклопедический и юридический текст.
Калибровка на eval/corpus: human 74-89, humanized 98-100, raw-AI 4-22.
Вывод в аудите
scan.py показывает ЧИСТОТА: N/100 с разбивкой штрафов (verbose-отчёт), блок score в --json. SKILL.md велит давать «было N, стало M» и оценивать score на глаз без сканера (claude.ai web), с защитой плотного человеческого текста от занижения.
Тесты и CI
scripts/test_score.py фиксирует калибровку и полосы, отдельный шаг в CI.
Полный список изменений: CHANGELOG.md