Files
crank/docs/refactoring-roadmap.md
T
2026-05-03 15:40:10 +00:00

112 lines
3.5 KiB
Markdown

# Refactoring roadmap
## 1. Назначение документа
Этот документ фиксирует оставшийся технический backlog после уже выполненных больших backend и frontend refactoring tracks.
Он не повторяет уже завершенные изменения, а описывает то, что еще нужно для product-ready open-core платформы.
## 2. Что уже считается выполненным
Закрытыми считаются следующие крупные инженерные направления:
- модульное разбиение `crank-registry`;
- compile-time SQL verification для статических запросов;
- `HKDF` вместо прямого `SHA-256` derivation;
- typed timestamps;
- `Display` для typed ids;
- explicit PostgreSQL pool configuration;
- structured runtime and registry errors;
- correlation IDs;
- runtime backpressure и request throttling;
- distributed transport session store;
- frontend build pipeline и wizard modularization.
## 3. Оставшиеся технические треки
### 3.1. Open-core boundary extraction
Цель:
- отделить Community runtime от будущих commercial implementations.
Что нужно:
- capability model по редакциям;
- protocol gating;
- auth gating;
- extension seams для private implementations;
- отдельные delivery manifests для Community.
Ключевые места:
- `crates/crank-core`
- `apps/admin-api`
- `apps/mcp-server`
- `apps/ui`
- `docs/product-editions.md`
- `docs/commercial-boundaries.md`
### 3.2. Agent-scoped machine auth completion
Цель:
- довести current docs-first auth model до рабочего Community implementation.
Что нужно:
- полноценный `AgentKey` lifecycle в `admin-api` и UI;
- отказ от remaining workspace/platform-key assumptions;
- enforcement `security_level = standard` в Community flow;
- capability scaffolding для `elevated` и `strict`.
### 3.3. Private token-service seam
Цель:
- подготовить публичный код к private реализации short-lived и one-time token flows.
Что нужно:
- stable HTTP contracts;
- server-side trait boundary;
- token verification abstraction in `mcp-server`;
- capability-aware UI contract.
### 3.4. Commercial protocol split
Цель:
- перестать считать все уже написанные protocol families частью Community surface.
Что нужно:
- определить Community-supported protocol set;
- вынести premium protocols и premium execution modes в private delivery plan;
- синхронизировать UI, docs и release process.
### 3.5. Release and distribution hardening
Цель:
- подготовить reproducible public Community release и private commercial delivery.
Что нужно:
- public release flow for GitHub;
- private image flow for Enterprise;
- artifact signing / provenance;
- clear packaging split for Community vs commercial.
## 4. Правила приоритизации
Сначала выполняются треки, которые формируют границу продукта:
1. open-core boundary extraction;
2. Community agent-scoped auth completion;
3. private token-service seam;
4. frontend edition gating;
5. release and distribution hardening.
После этого уже можно безопасно идти в enterprise/cloud-specific implementation.