ducklm/MVP_CHECKLIST.md

84 lines
2.9 KiB
Markdown

# 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
- [ ] опасная команда требует подтверждения
- [ ] финальный ответ возвращается пользователю