# TASKS

## Current

### `feat/frontend-commercial-polish`

Status: in_progress

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.

## Planned

### `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.
