Процесс релиза
Соберите из чистого закоммиченного дерева изолированный локальный кандидат с помощью scripts/build_local_candidate.py --output <new-directory>. Он содержит сгенерированные Docs/UI и локальный wheel. Проверьте SHA256SUMS, изучите candidate-manifest.json, sbom.cdx.json и EVIDENCE.md, затем выполните документированную чистую установку с новым префиксом. Публикация тега, удалённой ветки, пакета, образа или публичного релиза никогда не является обычным действием реализации.
Контрольный список релиза
- Завершите реализацию и одну независимую интегрированную проверку.
- Запустите целевые тесты и один содержательный контур production-сборки/браузера.
- Запустите
git diff --checkи аудит публичной поверхности. - Закоммитьте точное принятое дерево.
- Соберите кандидат из этого коммита, а не из worktree с незакоммиченными изменениями.
- Проверьте манифест, контрольные суммы, SBOM, идентичность сборки, маршруты Docs и чистую установку.
- Перед локальным продвижением сохраните прежний runtime и резервную копию базы данных.
- Рассматривайте любой публичный push, тег, пакет, образ или релиз как отдельное действие, одобренное owner.
Свидетельства релиза подтверждают, что было протестировано и упаковано; сами по себе они не одобряют публикацию и не удостоверяют свойства лицензий/безопасности каждой зависимости.
OCI-дистрибуция релиза
Одобренные опубликованные alpha-релизы также имеют публичный OCI-артефакт дистрибуции в ghcr.io/iunknown404i/threadcells-release-bundle. Он содержит проверенный архив релиза, Python wheel, перечни контрольных сумм, манифест кандидата, SBOM и метаданные release-bundle для одного точного тега релиза и ревизии исходного кода.
Этот пакет является набором для дистрибуции, а не Docker-образом или поддерживаемой средой контейнерного развёртывания. После проверки его контрольных сумм используйте обычный процесс установки и развёртывания кандидата; не пытайтесь запустить OCI-артефакт как службу ThreadCells.
.github/workflows/publish-release-bundle.yml публикует по одобренному GitHub Release или явному backfill-dispatch. Он принимает аннотированные теги v0.X.Y-alpha с существующим недрафтовым prerelease, сохраняет совместимость с неизменяемыми историческими тегами v0.X.Y-alpha.N, пересобирает и проверяет точные исходники, помеченные тегом, отказывается заменять несоответствующий тег версии и обновляет только latest-alpha. Во время технического preview ThreadCells не публикует неквалифицированный тег latest.
Соглашение о линейке версий
ThreadCells следует обычному порядку prerelease SemVer. Во время alpha-preview каждая новая публикация увеличивает обычную семантическую версию и сохраняет alpha как стадию prerelease. Python-пакет нормализует alpha без числового суффикса, например v0.3.3-alpha, в 0.3.3a0.
v0.1.0-alpha.1был первым публичным alpha-релизом.v0.1.0-alpha.2— неизменяемый опубликованный технический preview.v0.2.0-alpha.1— объединённая линейка релиза многоязычности и надёжности.v0.3.0-alpha.1добавляет согласованность жизненного цикла, устойчивый порядок создания, Full Cleanup и системную политику маршрутизации.v0.3.0-alpha.2исправляет доставку задач из редактора и окончательно лишает завершённые терминалы исполняемых полномочий рабочего процесса.v0.3.3-alphaдобавляет английскую и русскую локализацию авторизованного интерфейса и единый канонический корпус Docs по локалям для приложения и публичного сайта.- Более поздняя alpha-публикация осознанно увеличивает семантическую версию и сохраняет стадию
alphaбез числового суффикса.
Никогда не перемещайте существующий тег. Одни лишь изменения управления репозиторием не требуют повышения версии или релиза. Обновляйте все канонические поверхности, содержащие версию, одновременно только тогда, когда следующий значимый контур реализации готов к публикации.
