Перейти к содержанию

Процесс релиза

EmbrAIon использует versioned framework releases, публикуемые из validated release commits.

Contract

  • GitHub main — upstream source of truth.
  • Stable releases используют immutable vX.Y.Z tags.
  • Python distributions публикуются в PyPI через Trusted Publishing.
  • GitHub Releases включают source, Codex, Copilot, Claude Code и Portable artifacts.
  • Новые проекты bootstrap из published framework version.
  • Существующие проекты pin'ят version в .embraion/project.yaml.
  • Global launcher разрешает exact published pins в isolated per-version runtimes.
  • Project upgrades всегда намеренные и выполняются через embraion update.

Release gate

До разрешённого релизного слияния завершите self-review автора, обязательные тесты/CI и цикл независимого Reviewer внутри хоста. После всех исправлений reviewer явно подтверждает полный текущий SHA исходного HEAD PR. Последующее изменение требует повторного подтверждения. Разрешения пользователя на merge и release остаются отдельными gates; Copilot Review не требуется. Итоговый squash-коммит получает новый SHA и запускает проверки ниже.

Release commit использует точное сообщение:

release: vX.Y.Z

Тело squash-коммита может содержать только trailers Co-authored-by, которые GitHub добавляет, когда в pull request есть коммиты других авторов. Остальное описание по умолчанию очистите перед слиянием: любой другой текст в теле остановит release workflow до создания tag, и ничего не будет опубликовано.

До создания tag CI проверяет:

  • Linux, Windows и macOS compatibility;
  • minimum и selected latest Python versions;
  • framework validation;
  • unit/integration tests;
  • project resolver E2E;
  • packaged reference-project E2E;
  • security scanning;
  • behavioral eval smoke;
  • Core assignment routing и capability-aware regression coverage для Codex, Copilot, Claude Code и Portable;
  • generation of host projections;
  • strict documentation build.

Только после успешных checks workflow создаёт immutable release tag и запускает tagged build.

Tagged build снова проверяет version/tag contract, строит distributions/release archives, создаёт GitHub Release и публикует Python distributions в PyPI.

Обновление self-host

После того как GitHub Release проходит consumer artifact lock smoke, workflow предлагает обновление self-host: на main он запускает embraion update, затем embraion install для хостов Codex (--config-mode merge), Copilot, Claude Code и Portable выпущенным launcher и открывает pull request chore/self-host-vX.Y.Z. Если pin уже равен релизу или новее, pull request не создаётся. Pull requests, открытые workflow token, не запускают pull_request workflows, поэтому job запускает validate и docs для ветки через dispatch. Pull request проходит обычные review и merge gates и никогда не сливается автоматически.

Для создания pull request нужна настройка репозитория, разрешающая GitHub Actions создавать pull requests. Без неё job завершается ошибкой после push ветки. После включения настройки перезапустите job: он откроет pull request из существующей ветки, если она содержит ровно результат запуска, а иначе завершится ошибкой, чтобы ветку проверил человек.

Assignment-routing eval fixtures проверяют grading и regression behavior, но не подтверждают live native execution. Evidence различает prepared arguments, capability limitations, handoffs и действительно применённые settings.

Совместимость pre-1.0

Patch releases предназначены для совместимых fixes/improvements. Minor releases могут намеренно развивать framework contracts. Project pinning сохраняет upgrades explicit.

Изменения необязательных capabilities

Необязательные inventory, правила структуры и связи knowledge-maintenance версии 0.20 добавляются без изменения поведения существующих overlays. Перед публикацией проверяйте схемы, пути выбранного bundle, ресурсы установленного wheel и все host projections. Проводите настоящую оценку skill при доступном авторизованном native host; явно сообщайте сбои host и недоступные evidence. Детерминированные fixtures и fake-host tests не заменяют live behavioral evidence и не обосновывают заявления об улучшении. Релиз не устанавливает provider login или credentials.