134 lines
6.1 KiB
Markdown
134 lines
6.1 KiB
Markdown
# TASKS
|
|
|
|
## Current
|
|
|
|
### `feat/community-finalization`
|
|
|
|
Status: done
|
|
|
|
Goal:
|
|
- довести `crank-community` до окончательного самостоятельного состояния как открытой `REST-only` редакции;
|
|
- убрать transitional split-логику, legacy premium ballast и скрытые assumptions из эпохи общего репозитория.
|
|
|
|
Main code areas:
|
|
- `TASKS.md`
|
|
- `docs/community-source-whitelist.md`
|
|
- `docs/implementation-plan.md`
|
|
- `docs/repository-split-map.md`
|
|
- `docs/community-release-checklist.md`
|
|
- `docs/commercial-boundaries.md`
|
|
- workspace manifests
|
|
- Community backend/UI tests and fixtures
|
|
- Community UI copy and localization
|
|
|
|
Implementation slices:
|
|
1. привести документацию и backlog к реальному состоянию `crank-community`;
|
|
2. убрать premium зависимости из Community workspace manifests;
|
|
3. очистить Community test boundary и убрать зависимость от `test = false` как способа скрывать legacy tests;
|
|
4. удалить premium backend ballast, который больше не относится к Community;
|
|
5. дочистить UI, локализацию и e2e fixtures до честного Community surface;
|
|
6. пройти финальную верификацию Community release path.
|
|
|
|
DoD:
|
|
- `crank-community` описывает себя как самостоятельный public repository, а не как промежуточный этап split;
|
|
- Community manifests и workspace dependencies соответствуют `REST-only` product boundary;
|
|
- Community tests и fixtures проверяют только Community functionality;
|
|
- UI и docs не содержат рабочих premium flows и misleading copy;
|
|
- Community release path воспроизводим и проверяем без ссылок на transitional import procedure.
|
|
|
|
Verification:
|
|
- docs consistency pass;
|
|
- `cargo metadata --no-deps`;
|
|
- `just fmt`
|
|
- `just check`
|
|
- `just test`
|
|
- UI build and Community-targeted smoke/e2e pass.
|
|
|
|
Progress:
|
|
- done:
|
|
- `deploy/community/*` already acts as the canonical Community delivery contour
|
|
- Community capability model is already constrained to:
|
|
- `REST`
|
|
- static agent key
|
|
- `security_level = standard`
|
|
- public wizard HTML surface is already reduced to the Community `REST` flow
|
|
- transitional docs and backlog now describe `crank-community` as the current source of truth instead of a future split artifact
|
|
- premium protocol toolchain dependencies have been removed from the Community workspace manifest while keeping the `REST-only` workspace green under `cargo check`
|
|
- Community backend crates no longer rely on `test = false`; `just test` now runs against a real Community-only test surface on the isolated local test database
|
|
- premium protocol and streaming ballast has been removed from Community backend test/dev paths, and Community demo expectations now match the actual `REST-only` demo seed
|
|
- dormant premium UI modules, fixtures, and translation strings have been removed, while the remaining Community wizard and admin pages stay green under local Playwright smoke
|
|
- final Community verification pass completed:
|
|
- `cargo metadata --no-deps`
|
|
- `just fmt`
|
|
- `just check`
|
|
- `just test`
|
|
- `apps/ui` build
|
|
- Community-targeted Playwright smoke
|
|
|
|
## Next
|
|
|
|
### `feat/community-release-hardening`
|
|
|
|
Status: done
|
|
|
|
Goal:
|
|
- закрепить воспроизводимый Community release path и release checklist без скрытых переходных допущений.
|
|
|
|
Main code areas:
|
|
- `.github/workflows/ci.yml`
|
|
- `.github/workflows/deploy.yml`
|
|
- `deploy/community/*`
|
|
- `docs/community-release-checklist.md`
|
|
- `docs/deploy-and-staging-smoke.md`
|
|
- `docs/authenticated-staging-pass.md`
|
|
- `docs/public-smoke-targets.md`
|
|
- `docs/staging-regression-notes.md`
|
|
- `scripts/staging-smoke.sh`
|
|
- `scripts/authenticated-staging-smoke.sh`
|
|
- `scripts/staging-note-block.sh`
|
|
|
|
Implementation slices:
|
|
1. проверить соответствие CI Community manifests;
|
|
2. зафиксировать Community-only smoke baseline;
|
|
3. обновить release checklist после финальной cleanup-фазы.
|
|
|
|
DoD:
|
|
- Community release path не зависит от private repositories;
|
|
- checklist соответствует реальному Community deploy surface;
|
|
- пост-деплойная проверка повторяема.
|
|
|
|
Verification:
|
|
- `python3` YAML parse for `.github/workflows/ci.yml`
|
|
- `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`
|
|
- `just check`
|
|
- `apps/ui` build
|
|
- Community-targeted Playwright smoke including `staging-authenticated.spec.js`
|
|
|
|
Progress:
|
|
- done:
|
|
- `UI Checks` in `CI` now run real `npm ci` and `npm run build` before the container image build
|
|
- Community release docs and helper scripts now describe only the real `REST-only` deploy smoke baseline
|
|
- staging templates and regression notes no longer require `GraphQL`, `gRPC`, `WebSocket`, `SOAP`, or streaming scenarios in Community
|
|
- Community public smoke targets are reduced to the canonical `REST -> Open-Meteo` path
|
|
- obsolete split-helper artifact `scripts/export-community.sh` and stale premium smoke payloads have been removed from the public repo
|
|
|
|
### `feat/common-public-improvements`
|
|
|
|
Status: ready
|
|
|
|
Goal:
|
|
- вносить общие улучшения в публичную базу, которые потом синхронно переносятся в `enterprise` и `cloud`.
|
|
|
|
Main code areas:
|
|
- общий Community runtime/UI/API surface
|
|
|
|
Implementation slices:
|
|
1. делать изменение в `crank-community`;
|
|
2. переносить тот же change set в `crank-enterprise`;
|
|
3. переносить тот же change set в `crank-cloud`.
|
|
|
|
DoD:
|
|
- общий функционал не расходится между тремя редакциями без необходимости;
|
|
- Community остается source base для общей open-core логики.
|