diff --git a/IMPLEMENTATION-PLAN.md b/IMPLEMENTATION-PLAN.md index 7cfd0d0..4feaf39 100644 --- a/IMPLEMENTATION-PLAN.md +++ b/IMPLEMENTATION-PLAN.md @@ -1,40 +1,44 @@ # Team Board — План реализации -Дата: 2026-02-22 +Дата: 2026-02-22 | Обновлено: 2026-02-23 Метод: BMAD Planning ## Текущее состояние -### Tracker (Python/FastAPI) -- Модели: Project, Task, Agent, Chat, ChatMessage, Label, TaskDependency, TaskFile -- API: CRUD для tasks, projects, agents, chats, labels -- WS: базовый handler (auth, chat.subscribe, chat.send, chat.message broadcast) -- БД: PostgreSQL, Alembic миграции (3 штуки) +### Tracker v0.2.0 (Python/FastAPI) ✅ +- Модели: Member, AgentConfig, Project, Task, Step, Chat, Message, Attachment +- API: auth, members, projects, tasks, steps, messages, ws_router +- WS: auth, heartbeat, chat.subscribe, chat.send, message broadcast +- БД: PostgreSQL, без миграций (recreate from scratch) -### Web Client (Next.js) +### Web Client v0.2.0 (Next.js) ✅ - Страницы: login, projects list, project board -- Компоненты: KanbanBoard, TaskModal, ChatPanel, Sidebar, CreateProjectModal, AuthGuard -- API client, WS client +- Компоненты: KanbanBoard (drag-drop + mobile tabs), TaskModal (steps, comments, assignee), ChatPanel (REST), CreateTaskModal, CreateProjectModal, AuthGuard +- BFF: Python/FastAPI (порт 8200), JWT auth, proxy к Tracker +- WS proxy через BFF с token-based auth +- Два окружения: dev.team.uix.su (активное) / team.uix.su (placeholder) -### Что НЕ соответствует архитектуре v0.4 -- Модель Agent отдельная (надо: Member + AgentConfig) -- ChatMessage привязана к Chat, нет task_id/parent_id (надо: Unified Message) -- Нет Steps модели -- Нет watchers на Task -- Нет Attachment модели (отдельные TaskFile) -- Project.git_repo = string (надо: repo_urls = array) -- Task статусы не совпадают (draft/ready/completed vs backlog/todo/done) -- WS handler не фильтрует по listen_mode -- Нет project.subscribe -- Нет heartbeat +### Что было исправлено в v0.2.0 (бывшие несоответствия) +- ✅ Member + AgentConfig вместо отдельной Agent модели +- ✅ Unified Message (chat_id + task_id + parent_id) +- ✅ Steps модель +- ✅ Watchers на Task (string[]) +- ✅ Attachment модель +- ✅ repo_urls = array +- ✅ Правильные статусы (backlog/todo/in_progress/in_review/done) +- ✅ Task key на бэкенде (TE-1) +- ⬜ WS handler не фильтрует по listen_mode (Phase 3) +- ⬜ Нет project.subscribe (Phase 3) +- ⬜ Heartbeat — базовый (Phase 3) --- ## Эпики -### Epic 1: Новые модели БД +### Epic 1: Новые модели БД ✅ DONE **Приоритет: MUST** (всё остальное зависит от этого) Очистить БД, создать модели с нуля по ARCHITECTURE.md v0.4. +**Статус: Полностью выполнен в Tracker v0.2.0** **Stories:** @@ -93,10 +97,11 @@ Acceptance: чистый старт, `docker compose down -v && up` работа --- -### Epic 2: REST API (MCP-ready) +### Epic 2: REST API (MCP-ready) ✅ DONE **Приоритет: MUST** Обновить API эндпоинты для всех MCP tools. +**Статус: Выполнен в Tracker v0.2.0. Все CRUD эндпоинты работают. Некоторые продвинутые (take/reject/assign, files upload) — ещё не реализованы.** **Stories:** @@ -152,8 +157,9 @@ Acceptance: CRUD members, генерация токенов для агенто --- -### Epic 3: WebSocket Protocol v2 +### Epic 3: WebSocket Protocol v2 ⬜ PARTIAL **Приоритет: MUST** +**Статус: Базовый WS (auth, chat.subscribe, chat.send, broadcast) работает. Listen_mode фильтрация, project.subscribe, heartbeat timeout — ещё нет.** **Stories:** @@ -180,7 +186,7 @@ Acceptance: чат работает в реальном времени --- -### Epic 4: Web Client обновление +### Epic 4: Web Client обновление ⬜ PARTIAL **Приоритет: SHOULD** **Stories:**