# План реализации

## 1. Назначение документа

Этот документ фиксирует порядок перехода от текущего состояния проекта к целевой product-ready integration platform модели.

Принцип:

- сначала перепроектирование `as is -> to be`;
- потом foundation под workspace/agent model;
- потом возврат к end-to-end UI сценариям;
- потом observability и access layer;
- потом polish и demo readiness;
- потом расширение до полного protocol platform scope.

## 2. Этап 1. Перепроектирование `As Is -> To Be`

Цель:

- зафиксировать новую доменную модель и page-driven backend contract.

DoD:

- зафиксирован `as is -> to be` план;
- page-by-page gap analysis покрывает все целевые экраны;
- разобраны все архитектурные конфликты UI vs current backend;
- документы `architecture`, `data-model`, `database-schema`, `admin-api`, `mcp-interface` синхронизированы.

## 3. Этап 2. Workspace foundation

Цель:

- перевести хранение и API на workspace-scoped модель.

DoD:

- операции и auth profiles принадлежат workspace;
- registry умеет фильтровать данные по workspace;
- есть default workspace migration path.

## 4. Этап 3. Agent publishing foundation

Цель:

- ввести `Agent` и agent-scoped MCP publishing.

DoD:

- можно создать agent и привязать к нему published operations;
- `mcp-server` выдает tools в контексте конкретного agent;
- один agent видит только свой curated toolset.

## 5. Этап 4. Operations and wizard integration

Цель:

- посадить operations catalog и wizard на реальные backend contracts.

DoD:

- каталог операций и wizard работают без `localStorage` overrides;
- operation edit/delete/publish/test выполняются через backend;
- все протоколы работают в рамках одного UI flow.

## 6. Этап 5. Agents UI and backend

Цель:

- реализовать agent-centric слой.

DoD:

- agent CRUD работает;
- binding operations к agent работает;
- published agent появляется в MCP runtime.

## 7. Этап 6. Platform access

Цель:

- реализовать workspace access и platform API keys.

DoD:

- UI screens `API Keys`, `Settings`, `Workspace` имеют backend-контракт;
- platform API keys не смешиваются с upstream auth profiles;
- tenant boundary выражен в access layer.

## 8. Этап 7. Observability

Цель:

- реализовать логи и usage.

DoD:

- `Logs` page и `Usage` page работают на реальных данных;
- есть продуктовые endpoints, а не только application logs;
- rollups и detail views согласованы с UI.

## 9. Этап 8. Alpine UI integration

Цель:

- довести `apps/ui` до полной работы на реальном backend.

DoD:

- `apps/ui` содержит целевой Alpine.js UI;
- mock JSON больше не используется на критическом пути;
- UI, backend и docs синхронизированы.

## 10. Этап 9. Secret store and upstream auth

Цель:

- заменить UI placeholder-модель `${secrets.*}` на рабочий backend/runtime слой secrets.

DoD:

- есть workspace-scoped `Secrets` resource;
- secret values хранятся только в зашифрованном виде;
- `AuthProfile` ссылается на `secret_id`, а не на строковый placeholder;
- runtime умеет применять bearer/basic/api-key auth к реальному upstream request;
- wizard имеет auth selector и quick-create flow для secrets/auth profiles.

## 11. Этап 10. Hardening and demo readiness

Цель:

- довести продукт до стабильного демо-сценария.

DoD:

- end-to-end demo воспроизводим;
- deployment и healthchecks стабильно зелёные;
- документация и продуктовый сценарий совпадают.

## 12. Этап 11. MCP streaming proxy support

Цель:

- довести Crank до controlled streaming model поверх MCP `Streamable HTTP`.

DoD:

- `mcp-server` соответствует transport semantics `2025-06-18`;
- execution modes `window`, `session`, `async_job` формально описаны и реализованы;
- REST SSE и gRPC server-streaming поддерживаются в bounded форме;
- UI умеет конфигурировать streaming limits, aggregation и lifecycle;
- e2e сценарии покрывают window/session/job calls.

## 13. Этап 12. WebSocket upstream support

Цель:

- добавить полноценный WebSocket upstream adapter в общую execution model.

DoD:

- есть WebSocket target model;
- runtime поддерживает bounded `window`, `session` и `async_job`;
- heartbeat, reconnect и subscription lifecycle конфигурируются явно;
- docs, UI и e2e синхронизированы.

## 14. Этап 13. SOAP support

Цель:

- добавить SOAP как enterprise-oriented protocol family.

DoD:

- есть WSDL/XSD-driven target model;
- runtime умеет строить SOAP envelopes и нормализовать SOAP Faults;
- operator может выбрать service, port и operation;
- test-run, publish и observability работают так же, как для остальных протоколов.

## 15. Этап 14. Detailed streaming specs

Цель:

- довести streaming-docs до function-level и field-level design спецификации.

DoD:

- есть отдельные docs для streaming admin-api, runtime, UI и capability matrix;
- protocol docs не противоречат общей execution model;
- roadmap и `TASKS.md` синхронизированы с full-detail architecture.

## 16. Этап 15. Streaming implementation slices

Цель:

- перевести streaming design в agent-friendly execution plan по файлам, тестам и DoD.

DoD:

- есть отдельный implementation spec по всем streaming slices;
- указаны file-level changes;
- указаны обязательные тесты и acceptance criteria;
- state transitions и sequence outlines зафиксированы явно.
