Files
crank/TASKS.md
T
2026-05-03 15:49:07 +00:00

291 lines
8.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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.