11 KiB
11 KiB
TASKS
Current
feat/community-agent-key-cutover
Status: in_progress
Goal:
- довести открытую редакцию до продуктово завершенного машинного доступа через ключ AI-агента.
Main code areas:
crates/crank-core/src/agent.rscrates/crank-core/src/auth.rscrates/crank-registry/src/postgres/agent.rscrates/crank-registry/src/postgres/api_key.rsapps/admin-api/src/service.rsapps/admin-api/src/app.rsapps/mcp-server/src/app.rsapps/ui/js/agents.jsapps/ui/js/api-keys.jsapps/ui/html/agents.htmlapps/ui/html/api-keys.htmlapps/ui/js/i18n.js
Implementation slices:
- Закрыть remaining workspace/platform-key assumptions в
admin-apiиmcp-server. - Нормализовать list/create/revoke/delete flow для agent keys.
- Привести UI страницы
AgentsиAPI Keysк одной модели agent-scoped machine access. - Явно ограничить
Communityнаsecurity_level = standard.
Progress:
- done:
mcp-serverпринимает ключ только по(workspace_slug, agent_slug, secret_hash); - done:
admin-apiуже отдает и принимает agent-scoped key routes; - done: UI
API Keysпереведен на agent-scoped machine access; - done: removed legacy workspace-key routes, demo/bootstrap assumptions, and per-agent key count bug.
DoD:
- ключ создается и принадлежит конкретному AI-агенту;
- UI объясняет назначение ключа без ссылок на старую workspace-key модель;
mcp-serverпринимает Community machine access только по agent key;- Community flow не требует short-lived token service.
Verification:
- backend unit and integration tests for key lifecycle;
- MCP tool-call tests through agent endpoint;
- e2e smoke for agent key create/reveal/revoke.
Next
feat/edition-capability-model
Status: ready
Goal:
- ввести capability model по редакциям и перестать смешивать Community и premium surface.
Main code areas:
crates/crank-core/src/*apps/admin-api/src/service.rsapps/admin-api/src/app.rsapps/ui/js/*apps/ui/html/*docs/product-editions.mddocs/frontend-roadmap.md
Implementation slices:
- Ввести серверную модель capabilities:
- protocols
- auth modes
- security levels
- workspace/user/agent limits
- Отдавать capability flags в
admin-api. - Привести UI к capability gating вместо скрытых продуктовых допущений.
- Зафиксировать Community defaults в docs и runtime config.
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.
feat/private-token-service-seam
Status: ready
Goal:
- подготовить public codebase к private реализации короткоживущих и одноразовых токенов.
Main code areas:
crates/crank-core/src/auth.rscrates/crank-core/src/agent.rsapps/admin-api/src/app.rsapps/admin-api/src/service.rsapps/mcp-server/src/app.rsdocs/agent-auth-model.mddocs/admin-api.mddocs/mcp-interface.md
Implementation slices:
- Определить stable contracts для:
POST /mcp-auth/v1/tokenPOST /mcp-auth/v1/token/one-time
- Ввести abstraction для token verification в
mcp-server. - Подготовить capability-gated UI/API surface без private implementation в Community.
- Отделить Community
standardflow от commercialelevated/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.jsapps/ui/js/wizard-model.jsapps/ui/js/agents.jsapps/ui/js/settings.jsapps/ui/js/i18n.jsdocs/product-editions.mddocs/architecture.mddocs/mcp-interface.md
Implementation slices:
- Скрыть или честно заблокировать:
WebSocketSOAPgRPC streaming- streaming execution modes
elevated/strictsecurity levels в Community.
- Привести copy и feature affordances к open-core границе.
- Добавить 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.jsapps/ui/js/agents.jsapps/ui/js/secrets.jsapps/ui/js/usage.jsapps/ui/js/settings.jsapps/ui/js/workspace-setup.jsapps/ui/js/auth.jsapps/ui/css/*docs/frontend-roadmap.md
Implementation slices:
- Перевести mobile tables в card layouts для:
API KeysSecretsUsage
- Доделать
Agentspage и modal:- объяснение отдельных agent endpoints
- empty states
- slug hints
- Добить
Settingsand workspace flows:- terminology cleanup
- navigation spacing
- notifications honesty
- mobile sticky bug
- Довести agent-key UX на
API Keyspage.
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.mddocs/module-decomposition.mddocs/development-rules.mddocs/implementation-plan.md- release scripts / Docker manifests / future packaging files
Implementation slices:
- Определить extension seams в public code.
- Подготовить отдельные delivery manifests для Community.
- Убрать из public repo assumptions о размещении private code рядом с Community logic.
- Подготовить 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
enterpriseservices and crates - public contracts in:
docs/admin-api.mddocs/agent-auth-model.mddocs/product-editions.md
Implementation slices:
SSO2FA- extended
RBAC audit log- 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.mddocs/commercial-boundaries.md
Implementation slices:
- usage metering by workspace / agent / token;
- billing integration;
- hosted tenant controls;
- 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:
- public GitHub release flow for Community;
- private registry flow for Enterprise;
- signed artifacts and provenance;
- 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.mddocs/deploy-and-staging-smoke.mddocs/authenticated-staging-pass.md- deployment workflows
Implementation slices:
- актуализировать demo user flow;
- прогнать authenticated staging pass;
- зафиксировать regressions и manual checks;
- синхронизировать deploy docs с реальным окружением.
DoD:
- staging validation не зависит от локальных фикстур;
- documentation matches deployed behavior;
- demo flow reproducible on real environment.