# TASKS ## Current ### `feat/edition-capability-model` Status: in_progress Goal: - ввести capability model по редакциям и перестать смешивать Community и premium surface. Main code areas: - `crates/crank-core/src/*` - `apps/admin-api/src/service.rs` - `apps/admin-api/src/app.rs` - `apps/ui/js/*` - `apps/ui/html/*` - `docs/product-editions.md` - `docs/frontend-roadmap.md` Implementation slices: 1. Ввести серверную модель capabilities: - protocols - auth modes - security levels - workspace/user/agent limits 2. Отдавать capability flags в `admin-api`. 3. Привести UI к capability gating вместо скрытых продуктовых допущений. 4. Зафиксировать Community defaults в docs и runtime config. Progress: - done: shared capability payload exists in `crank-core` and `admin-api`; - done: authenticated `/api/admin/capabilities` exposes Community defaults to UI; - in_progress: first UI consumer uses capability payload in `Settings`; - pending: gate premium protocols and security levels in wizard and agents flows. DoD: - UI знает, какие функции входят в текущую редакцию; - Community не показывает рабочие controls для premium-only features; - capability checks существуют не только в UI, но и на сервере. Verification: - API tests for capability payloads; - frontend smoke for hidden/locked states; - manual verification on Community build. ## Next ### `feat/private-token-service-seam` Status: ready Goal: - подготовить public codebase к private реализации короткоживущих и одноразовых токенов. Main code areas: - `crates/crank-core/src/auth.rs` - `crates/crank-core/src/agent.rs` - `apps/admin-api/src/app.rs` - `apps/admin-api/src/service.rs` - `apps/mcp-server/src/app.rs` - `docs/agent-auth-model.md` - `docs/admin-api.md` - `docs/mcp-interface.md` Implementation slices: 1. Определить stable contracts для: - `POST /mcp-auth/v1/token` - `POST /mcp-auth/v1/token/one-time` 2. Ввести abstraction для token verification в `mcp-server`. 3. Подготовить capability-gated UI/API surface без private implementation в Community. 4. Отделить Community `standard` flow от commercial `elevated/strict`. DoD: - public contracts зафиксированы и тестируемы; - Community продолжает работать без private token service; - premium auth paths не размазываются по Community logic. Verification: - contract tests for auth payload shapes; - unit tests for credential-kind enforcement; - docs sync check. ### `feat/community-surface-trim` Status: ready Goal: - привести открытую редакцию к честному product surface и убрать расхождение между текущим кодом и edition policy. Main code areas: - `apps/ui/js/wizard.js` - `apps/ui/js/wizard-model.js` - `apps/ui/js/agents.js` - `apps/ui/js/settings.js` - `apps/ui/js/i18n.js` - `docs/product-editions.md` - `docs/architecture.md` - `docs/mcp-interface.md` Implementation slices: 1. Скрыть или честно заблокировать: - `WebSocket` - `SOAP` - `gRPC streaming` - streaming execution modes - `elevated/strict` security levels в Community. 2. Привести copy и feature affordances к open-core границе. 3. Добавить edition-aware explanation в wizard и agents UI. DoD: - Community UX не создает ложного ожидания наличия premium functionality; - protocol set и security levels совпадают в docs, UI и runtime contracts. Verification: - e2e checks for wizard protocol list; - manual Community smoke; - localized copy review. ## Planned ### `feat/frontend-commercial-polish` Status: ready Goal: - закрыть оставшиеся UI/UX дефекты, мешающие коммерческой демонстрации и продажной версии продукта. Main code areas: - `apps/ui/js/api-keys.js` - `apps/ui/js/agents.js` - `apps/ui/js/secrets.js` - `apps/ui/js/usage.js` - `apps/ui/js/settings.js` - `apps/ui/js/workspace-setup.js` - `apps/ui/js/auth.js` - `apps/ui/css/*` - `docs/frontend-roadmap.md` Implementation slices: 1. Перевести mobile tables в card layouts для: - `API Keys` - `Secrets` - `Usage` 2. Доделать `Agents` page и modal: - объяснение отдельных agent endpoints - empty states - slug hints 3. Добить `Settings` and workspace flows: - terminology cleanup - navigation spacing - notifications honesty - mobile sticky bug 4. Довести agent-key UX на `API Keys` page. DoD: - mobile UI не требует обязательного горизонтального скролла для primary actions; - terminology и product copy согласованы; - коммерческая демонстрация проходит без UI contradictions. Verification: - targeted Playwright coverage; - manual mobile checks at 375px width; - EN/RU copy audit. ### `feat/open-core-repo-boundary` Status: ready Goal: - закрепить техническую границу между public Community repo и private commercial delivery. 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. Убрать из public repo assumptions о размещении private code рядом с Community logic. 4. Подготовить naming и packaging strategy для private repositories. DoD: - можно объяснить, что именно публикуется как OSS, а что уходит в private delivery; - Community release path отделен от commercial release path; - документация не ссылается на удаленные review files. Verification: - docs consistency pass; - release checklist review. ### `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 публикуется из public repo; - 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.