# MVP CHECKLIST Этот чеклист фиксирует минимальный рабочий объём для первого демонстрационного запуска `ducklm`. ## 1. Core Runtime - [x] Есть модульная структура проекта `app/`, `config/`, `data/`, `tests/` - [x] Есть typed contracts для core entities - [x] Есть `Runtime Loop Controller` - [x] Runtime loop умеет принять задачу и создать task state - [x] Runtime loop публикует стартовые и финальные события ## 2. Events and State - [x] Есть `EventBus` - [x] Есть `EventStore` - [x] События имеют `task_id + sequence` - [x] Есть `TaskStateStore` - [x] Есть `CheckpointStore` - [x] Есть сохранение checkpoint после critical transitions - [ ] Есть базовый resume path ## 3. Decision and Execution - [x] Есть `ContextBuilder` - [x] Есть `Router` как pure decision layer - [x] Есть `ExecutionDirective` - [x] Есть `ExecutionEngine` - [x] Есть `ExecutionScheduler` - [ ] План валидируется и преобразуется в task graph ## 4. Tools and Safety - [x] Есть `PermissionService` - [x] Есть persistent store для user approvals - [x] Есть `ToolSandbox` - [x] Есть `ToolRegistry` - [x] Работает `shell_exec` - [x] Работает `file_read` - [x] Работает `file_write` ## 5. Models and Evaluation - [ ] Есть orchestrator adapter - [ ] Есть planning mode interface - [ ] Есть coder adapter - [ ] Есть critic adapter - [ ] Есть fallback policy при critic failure ## 6. Memory - [ ] Есть SQLite metadata store - [ ] Есть vector index adapter - [ ] Работает memory insert/search - [ ] Есть `MemoryWritePolicy` - [ ] Запись в память не зависит только от critic score ## 7. Interfaces - [x] Есть `POST /chat` - [ ] Есть `WS /stream` - [x] Есть `GET /health` - [x] Есть локальный веб-чат для ручной проверки runtime - [ ] Есть CLI для отправки задач и просмотра событий ## 8. Reliability - [ ] Есть structured logging - [ ] Есть retry/recovery policy skeleton - [ ] Есть replay path from event store - [ ] Есть critical-path smoke tests ## 9. Demo Definition MVP считается достигнутым, если: - [ ] можно открыть локальный веб-чат в браузере - [ ] можно отправить задачу - [ ] видно streaming events - [ ] видно планирование или direct action - [ ] видно выполнение tool step - [ ] опасная команда требует подтверждения - [ ] финальный ответ возвращается пользователю