github Vladimir-Human/humanizer-ru v3.35.0
humanizer-ru 3.35.0

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

humanizer-ru 3.35.0

Что нового

  • Операция явной очистки humanizer-clean (CLI, пакет, console-вход,
    MCP-инструмент): находит поддерживаемые артефакты вставки, снимает их
    до неподвижной точки и проверяет результат — «нашёл -> очистил ->
    проверил» одним сценарием; --json/--diff/--in-place(.bak)/--dry-run,
    атомарная запись, градуированный ответ out-of-scope. Контракт: 7
    инструментов.
  • Машинный ввод: граница -- (всё после первого -- — пути; имена
    файлов, похожие на флаги, не переразбираются), типизированные операнды
    сканирования; все предусмотренные ошибки при --json дают контрактный
    конверт в stdout (код 2), traceback и пустой stdout устранены;
    повреждённый UTF-8 не подменяется заменяющими символами в сверке
    фактов.
  • Сверка фактов: «5 миллионов» и «пять миллионов» — один факт (точное
    целое произведение цифры и разряда); поле identical (однозначный
    итог полного сравнения) и строгий режим --no-additions для
    вызывающих агентов (MCP-параметр no_additions из контракта);
    humanizer-report несёт facts.added и facts.identical; семантика
    unchanged не переопределена. Граница метода опубликована рядом с
    успешной сверкой: перестановка сумм между двумя лицами даёт пустой
    diff — набор фактов не равен отношениям.
  • Приёмка публикации: установленные пользовательские сценарии
    обязательны для ОБОИХ артефактов (wheel и sdist) в release job —
    пропуск сценария или неподготовленное окружение блокирует публикацию
    (scripts/run_journeys_strict.py); браузерная DOM-проверка
    опубликованного демо обязательна в Pages-джобе.
  • Демо: NFC-паритет по канонической JSON-таблице (не зависит от версии
    unicodedata среды), устранена квадратичная нормализация префиксов
    (бюджет линейности зафиксирован гейтом до оптимизации), точные исходные
    диапазоны подсветки для астральных символов и комбинируемых
    последовательностей; 25 векторов паритета.
  • Живая дистрибуция: статус относится к проверенному артефакту — PyPI
    (версия, wheel+sdist, yanked, sha256 скачанных байтов, stdlib-only
    metadata), реестр MCP (имя, статус active, идентификатор, версия),
    Pages (published_tag = тег Release, published_commit = peeled-commit,
    машинные документы парсятся по схеме, контент сверяется с raw-копией
    заявленного SHA деплоя); Pages-статус обновляется на публикации
    релиза.
  • Идентичность: карточки Codex/Claude/Cursor/Gemini/dsh и агентский вход
    OpenAI несут канонические формулы позиционирования; первое действие —
    детерминированная проверка артефактов вставки; снятые обещания
    («не искажая смысла», «to sound natural») добавлены в claims_forbidden
    — гейты ловят их повторное появление в любом действующем носителе;
    реестр носителей и матрица точек входа — docs/entrypoints-matrix.md.
  • Бенчмарк задачи: замороженные предрегистрации (v1 и v2), прогон v1
    опубликован с 7 потерями и разбором, публикуемый протокол v2 —
    O1/O2/O3 PASS и живой агентный тест выбора операции 6/6; гейт
    протокола пересчитывает числа живьём и отвергает скрытые потери.
  • Compatibility: матрица 54 пробы (все общие операции: scan, markers,
    polish, detect, clean, пары facts/report, MCP-сессия) против
    предыдущей опубликованной версии; восстановления уже обещанного
    контрактом поведения — точечные вейверы с предикатами OLD и NEW.
  • Гейт итогового отчёта поставки check_delivery_report.py: состав
    критериев заморожен, обязательный PASS не заменяется пропуском,
    неподтверждённый PASS и артефакт, сравненный сам с собой, отвергаются.
  • Правило интервала публикаций (≥ 86400 с между Release) отменено
    приказом владельца от 2026-09-08 и удалено из проекта (гейты,
    workflow-шаги, механизм одноразовых приказов); отмена закреплена
    тестами, приёмка выпуска (strict, metadata, sdist-test, установленные
    сценарии, подпись) сохранена полностью.

Артефакты

  • humanizer-ru.zip (детерминированная сборка scripts/check_release.py --build), SHA-256:
    ef5170c8319b02aae1b0a6f8461769ee15adef5ca8bba6c1d30d135427796b02
  • Подпись тега: существующий GPG-ключ проекта
    (docs/release-signing-key.asc), проверка:
    gpg --import docs/release-signing-key.asc && git verify-tag v3.35.0.

Приёмка

  • python3 scripts/check_all.py --strict — 155 гейтов, FAIL 0, SKIP 0.
  • python3 -m unittest discover -s tests — Ran 471, OK.
  • python3 scripts/check_release.py --release-contract — тег подписан
    существующим ключом проекта, подпись проверена.
  • Правило интервала публикаций отменено приказом владельца от
    2026-09-08 (записи в RELEASE.md и GOVERNANCE.md; история правила —
    CHANGELOG).
  • python3 scripts/check_pypi_metadata.py --sdist … --wheel … и --live
    — metadata публикуемых артефактов и живого PyPI.
  • python3 scripts/check_compatibility.py — 54 пробы против 3.34.0,
    аддитивность соблюдена.
  • python3 scripts/check_live_distribution.py --json — PyPI, реестр MCP,
    GitHub и Pages согласованы с поставкой (скачанные байты сверены).
  • Установленные сценарии: HUMANIZER_JOURNEY_PYTHON=<чистая venv> python3 -m unittest discover -s tests -p 'test_installed_user_journeys.py' — 11 исполнено, 0 пропущено.

Полный список изменений: CHANGELOG.md, секция 3.35.0.

Don't miss a new humanizer-ru release

NewReleases is sending notifications on new releases.