# Community release checklist ## 1. Назначение документа Этот документ фиксирует канонический release path только для открытой редакции `Community`. Он нужен, чтобы: - не смешивать Community delivery с будущей коммерческой поставкой; - дать reproducible checklist для public release; - зафиксировать, какие артефакты считаются source of truth именно для открытой редакции. ## 2. Source of truth для Community release Для открытой редакции каноническими считаются: - `deploy/community/docker-compose.yml` - `deploy/community/.env.example` - `.github/workflows/ci.yml` - `.github/workflows/deploy.yml` - `docs/deployment.md` - `docs/deploy-and-staging-smoke.md` - `docs/authenticated-staging-pass.md` Root-файлы: - `docker-compose.yml` - `.env.example` считаются только convenience-слоем для локальной разработки и не должны использоваться как основа будущей коммерческой упаковки. ## 3. Что обязательно входит в Community release Community release должен поставлять: - `ui` - `admin-api` - `mcp-server` - `postgres` как runtime dependency в compose-манифесте - optional `valkey` profile как рекомендованный, но не обязательный cache layer - healthchecks - базовый self-hosted deployment path - capability-gated UI, который не притворяется коммерческой редакцией ## 4. Чего не должно быть в Community release В Community release нельзя включать: - private container images; - private `Helm` charts; - hosted control-plane services; - enterprise-only auth/governance services; - private token issuer implementations; - manifests, которые пытаются быть общими одновременно для Community и коммерческой поставки. ## 5. Community release workflow Перед выпуском нужно проверить: 1. `CI` зеленый. 2. Community deployment manifest валиден: - `docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env.example config -q` - `docker compose -f deploy/community/docker-compose.yml --env-file deploy/community/.env.example --profile cache config -q` 3. Docker image build проходит для: - `admin-api` - `mcp-server` - `ui` 4. Deploy workflow использует именно `deploy/community/docker-compose.yml`. 5. Post-deploy smoke выполнен по: - `docs/deploy-and-staging-smoke.md` - `docs/authenticated-staging-pass.md` ## 6. Правило для будущих коммерческих редакций `Enterprise` и `Cloud` не должны проектироваться как: - другой `.env` поверх `deploy/community/docker-compose.yml`; - скрытые feature flags внутри Community release path; - дополнительные сервисы, “подмешанные” в те же public manifests без отдельной delivery границы. Они должны иметь: - отдельный public repository `crank-community`; - отдельные private repositories; - отдельные manifests; - отдельные release pipelines; - отдельные operator docs. До создания: - `crank-community` - `crank-enterprise` - `crank-cloud` нельзя считать physical packaging split завершенным. ## 7. Минимальный operator checklist Перед публикацией Community release нужно подтвердить: - capability matrix совпадает с `docs/product-editions.md`; - UI не показывает рабочими premium-only сценарии; - `admin-api` и `mcp-server` enforce capability limits на сервере; - public deployment path воспроизводим на чистом хосте; - базовый запуск и запуск с profile `cache` оба валидны; - staging smoke записан в regression notes. ## 8. Связанные документы - `docs/product-editions.md` - `docs/commercial-boundaries.md` - `docs/repository-split-map.md` - `docs/deployment.md` - `docs/deploy-and-staging-smoke.md` - `docs/authenticated-staging-pass.md` - `docs/implementation-plan.md`