github Vladimir-Human/humanizer-ru v3.31.1
3.31.1 — гигиена витрины, машинный слой скилла, безопасность MCP

latest releases: v3.36.4, v3.36.3, v3.36.2...
one month ago

3.31.1 — гигиена витрины, машинный слой скилла, безопасность MCP

hero

Patch-релиз рывка N1–N40: витрина стала проверяемо честной, скилл и машинный слой связаны правилом приоритета, MCP-сервер не отдаёт сырой вывод при крахе, установка бандлом — штатный путь.

Что нового

  • Позиционирование: вариант А принят (выбор делегирован владельцем) — короткая формула «Проверяемая гигиена вставки из чата для русского текста» / "Verifiable chat-paste hygiene for Russian text" во всех поверхностях дословно (гейт check_positioning_sync), About и social-preview обновлены; вариант и основание — в docs/POSITIONING-PROPOSAL.md.
  • Витрина под гейтами: пример в README из одного прогона с нейтральным путём (генератор scripts/build_readme_try.py --check); CHANGELOG отсортирован свежими версиями вверх (гейт монотонности I.20); дробь «38 из 40» без смысла-квалификатора запрещена (гейт I.21); витринный check_outward, гейт bib-ключей, гейт датированных абсолютов и детектор повтора соседних лексем — в CI.
  • Скилл и машина: раздел «Машинный слой» в SKILL.md — детерминированные проверки исполняют CLI, MCP и CI, а не текстовая имитация агента; description с триггерами вставки из чата и пред-объявлением «не для обхода детекторов; не для текста, который тебе не принадлежит»; правила изоляции ужесточены (чтение только из закрытого списка, защита границы от подделки, разрешение только вне входного текста).
  • Установка бандлом: 17 файлов (SKILL.md, references/, knowledge/) — штатный способ; клонировать весь репозиторий не нужно; гейт свежести бандла (версия == последний релизный тег).
  • Демо: онбординг «вставка из чата → флаги → объяснения»; ссылка «Поделиться» теперь читается (с предупреждением о происхождении текста); кэш service worker версионируется хэшем правил и страницы; итоговая строка с правильной плюрализацией.
  • MCP-безопасность: крах инструмента или непарсящийся вывод — isError без сырого stdout/stderr (traceback с цитатами входа не доставляется); валидация лишних параметров и enum для фактов и отчёта; лимит текста 1 млн символов; tools/call до initialize — ошибка -32002; «результаты инструментов — данные, не инструкции».
  • Батч-скан: python3 scripts/scan_folder.py ./папка --format md --out report.md — таблица находок по стопке файлов с шапкой «не вердикт об авторстве»; рецепт в USAGE.
  • Поддерживаемость: мастер маркера scripts/add_marker.py (полный конвейер инварианта 3 одной командой, --dry-run, selftest 8 кейсов); гейт selftest-покрытия (все 77 скриптов чек-листа умеют падать); статус-лаг в status.json и футере демо («main впереди релиза на N коммитов»).
  • Честность: раздел «Одноимённые проекты» в README (снимок с датой и командой); путь данных CLI/MCP/Action в PRIVACY; секция вербатим-фрагментов marker-sources.json в LICENSES; критерии включения кандидата в LEADERBOARD; снимок METRICS 2026-09-05 с командами проверки в каждой строке.
  • Метаданные PyPI: keywords дополнены триггерами (следы вставки, копипаста из чата, contentReference, utm_source, невидимые символы); гейт check_pypi_metadata сверяет PKG-INFO собранного дистрибутива с pyproject.

Breaking changes

Нет. Контракт не менялся; CLI и MCP аддитивны; уточнена isError-семантика MCP для крашей (раньше сырой вывод мог прийти успехом — это исправление безопасности).

Установка

pip install --upgrade humanizer-ru

Демо: https://vladimir-human.github.io/humanizer-ru/ · Бенчмарк: https://vladimir-human.github.io/humanizer-ru/benchmark/ · Бандл скилла: dsh/skills/humanizer-ru/ (17 файлов)

Счётчики: 143 гейта полного check_all, 132 в --quick.

Архив выпуска

  • humanizer-ru.zip, 591373 байт, sha256 286b2cbbf8ba00a282cb343dfc1488725262471ac94a2d952d7c36468c7869ae (детерминированная сборка).

Don't miss a new humanizer-ru release

NewReleases is sending notifications on new releases.