Files
crank/TASKS.md
T
2026-05-03 18:03:23 +00:00

261 lines
8.4 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/community-surface-trim`
Status: in_progress
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.
Progress:
- done: Community wizard protocol list hides premium protocol cards;
- done: Community security note is shown inside wizard flow;
- done: server-side Community enforcement rejects unsupported protocols and premium security levels;
- done: Community protocol capabilities and wizard surface no longer present streaming execution as available;
- pending: привести Agents/Settings copy к окончательной open-core границе.
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.
## 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.
## 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.