# TASKS ## Current ### `feat/private-token-service-seam` Status: in_progress 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. Progress: - done: - stable DTO и Community stub endpoints для `POST /mcp-auth/v1/token` и `POST /mcp-auth/v1/token/one-time` - structured `403 forbidden` contract с `edition`, `machine_access_mode` и `upgrade_required` - pending: - abstraction для token verification в `mcp-server` - capability-gated UI/API surface для premium machine access - final separation of Community `standard` flow from commercial `elevated/strict` ## 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. 5. После завершения seams и capability split остановиться на управленческом gate и создать: - private repository `crank-enterprise` - private repository `crank-cloud` Только после этого начинать физическое вынесение commercial code из public repo. DoD: - можно объяснить, что именно публикуется как OSS, а что уходит в private delivery; - Community release path отделен от commercial release path; - документация не ссылается на удаленные review files. - момент создания `2` private repositories зафиксирован в плане как отдельный обязательный шаг, а не подразумевается неявно. 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.