176 lines
6.4 KiB
Markdown
176 lines
6.4 KiB
Markdown
# TASKS
|
||
|
||
## Current
|
||
|
||
### `feat/open-core-repo-boundary`
|
||
|
||
Status: in_progress
|
||
|
||
Goal:
|
||
- закрепить техническую границу между `crank-community`, `crank-enterprise` и `crank-cloud`.
|
||
|
||
Main code areas:
|
||
- `docs/commercial-boundaries.md`
|
||
- `docs/module-decomposition.md`
|
||
- `docs/development-rules.md`
|
||
- `docs/implementation-plan.md`
|
||
- release scripts / Docker manifests / future packaging files
|
||
|
||
Implementation slices:
|
||
1. Определить extension seams в public code.
|
||
2. Подготовить отдельные delivery manifests для Community.
|
||
3. Убрать из Community repo assumptions о размещении private code рядом с Community logic.
|
||
4. Подготовить naming и packaging strategy для private repositories.
|
||
5. После завершения seams и capability split остановиться на управленческом gate и создать:
|
||
- public repository `crank-community`
|
||
- private repository `crank-enterprise`
|
||
- private repository `crank-cloud`
|
||
Только после этого начинать физическое вынесение commercial code из текущего monorepo.
|
||
|
||
DoD:
|
||
- можно объяснить, что именно публикуется как OSS, а что уходит в private delivery;
|
||
- Community release path отделен от commercial release path;
|
||
- документация не ссылается на удаленные review files.
|
||
- момент создания `3` целевых repositories зафиксирован в плане как отдельный обязательный шаг, а не подразумевается неявно.
|
||
|
||
Verification:
|
||
- docs consistency pass;
|
||
- release checklist review.
|
||
|
||
Progress:
|
||
- done:
|
||
- gate for creating `3` target repositories is already documented before any physical commercial split
|
||
- canonical Community deployment manifest and env template now live under `deploy/community/*`, and public deploy uses that manifest instead of the root compose file
|
||
- CI, README, runtime/deploy smoke docs now point to `deploy/community/*` as the Community delivery source of truth
|
||
- separate `Community` release checklist now exists and explicitly forbids treating future `Enterprise/Cloud` delivery as just another env on the same public manifest
|
||
- explicit repository split map now defines what goes to `crank-community`, `crank-enterprise`, and `crank-cloud`
|
||
- `Community` is now fixed as `REST-only` in product docs, capability model, backend validation, demo seed, and UI protocol expectations
|
||
- pending:
|
||
- remaining extension seams and packaging split still need to move from planning into concrete `crank-community` / `crank-enterprise` / `crank-cloud` manifests
|
||
- next management gate is to actually create the `3` target repositories before physical split starts
|
||
|
||
## Planned
|
||
|
||
### `feat/commercial-machine-token-flow`
|
||
|
||
Status: ready
|
||
|
||
Goal:
|
||
- реализовать короткоживущие и одноразовые машинные токены как коммерческий auth contour, а не как Community stub.
|
||
|
||
Main code areas:
|
||
- private `enterprise/cloud` token services
|
||
- public contracts already fixed in:
|
||
- `crates/crank-core`
|
||
- `apps/admin-api`
|
||
- `apps/mcp-server`
|
||
- `docs/agent-auth-model.md`
|
||
|
||
Implementation slices:
|
||
1. short-lived token issuance
|
||
2. one-time token issuance
|
||
3. replay guard / nonce coordination on top of cache layer
|
||
4. runtime verification and policy enforcement by `security_level`
|
||
5. capability-gated UI/admin flows for commercial editions
|
||
|
||
DoD:
|
||
- replay guard is no longer a stub abstraction and is wired into a real token flow;
|
||
- `elevated/strict` machine access works end-to-end in commercial contours;
|
||
- Community remains on static agent keys only.
|
||
|
||
### `feat/enterprise-access-governance`
|
||
|
||
Status: ready
|
||
|
||
Goal:
|
||
- реализовать enterprise access layer вне Community scope.
|
||
|
||
Main code areas:
|
||
- private `enterprise` services and crates
|
||
- public contracts in:
|
||
- `docs/admin-api.md`
|
||
- `docs/agent-auth-model.md`
|
||
- `docs/product-editions.md`
|
||
|
||
Implementation slices:
|
||
1. `SSO`
|
||
2. `2FA`
|
||
3. extended `RBAC`
|
||
4. `audit log`
|
||
5. enterprise admin flows in UI through capability gating
|
||
|
||
DoD:
|
||
- governance features не живут как полумеры в Community;
|
||
- enterprise access model согласован с public contracts.
|
||
|
||
### `feat/cloud-metering-control-plane`
|
||
|
||
Status: ready
|
||
|
||
Goal:
|
||
- подготовить hosted-редакцию как отдельный продуктовый контур.
|
||
|
||
Main code areas:
|
||
- private cloud services
|
||
- usage/metering integration points
|
||
- `docs/product-editions.md`
|
||
- `docs/commercial-boundaries.md`
|
||
|
||
Implementation slices:
|
||
1. usage metering by workspace / agent / token;
|
||
2. billing integration;
|
||
3. hosted tenant controls;
|
||
4. cloud operational tooling.
|
||
|
||
DoD:
|
||
- Cloud edition не зависит от ручного учета usage;
|
||
- hosted product surface согласован с feature matrix.
|
||
|
||
### `feat/release-protection-distribution`
|
||
|
||
Status: ready
|
||
|
||
Goal:
|
||
- подготовить безопасную поставку Community и коммерческих редакций.
|
||
|
||
Main code areas:
|
||
- CI workflows
|
||
- Dockerfiles
|
||
- deployment manifests
|
||
- release docs
|
||
|
||
Implementation slices:
|
||
1. public GitHub release flow for Community;
|
||
2. private registry flow for Enterprise;
|
||
3. signed artifacts and provenance;
|
||
4. release checklist for edition-specific packaging.
|
||
|
||
DoD:
|
||
- Community публикуется из `crank-community`;
|
||
- Enterprise и Cloud используют private delivery path;
|
||
- коммерческий код не требуется публиковать в open source ради поставки.
|
||
|
||
### `feat/live-authenticated-staging-entry`
|
||
|
||
Status: ready
|
||
|
||
Goal:
|
||
- держать реальный staging/demo контур в состоянии, пригодном для демонстрации и регрессии.
|
||
|
||
Main code areas:
|
||
- `docs/demo-runbook.md`
|
||
- `docs/deploy-and-staging-smoke.md`
|
||
- `docs/authenticated-staging-pass.md`
|
||
- deployment workflows
|
||
|
||
Implementation slices:
|
||
1. актуализировать demo user flow;
|
||
2. прогнать authenticated staging pass;
|
||
3. зафиксировать regressions и manual checks;
|
||
4. синхронизировать deploy docs с реальным окружением.
|
||
|
||
DoD:
|
||
- staging validation не зависит от локальных фикстур;
|
||
- documentation matches deployed behavior;
|
||
- demo flow reproducible on real environment.
|