# Брейншторм: Задачи (Tasks) Дата: 2026-02-20 ## Модель задачи ### Поля - **id**: UUID - **title**: string - **description**: text (markdown) - **type**: task | bug | epic | story - **status**: backlog | todo | in_progress | in_review | done - **priority**: critical | high | medium | low - **labels**: string[] (bug, feature, refactor, docs...) - **project_id**: UUID - **parent_id**: UUID | null (бесконечная вложенность) - **depends_on**: UUID[] (зависимости — нельзя начать пока не done) - **assignee_slug**: string | null (кто делает) - **reviewer_slug**: string | null (кто ревьюит) - **time_spent**: int (минуты, для аналитики) - **attachments**: file[] (файлы + ссылки на файлы в хранилище/git) - **created_at**, **updated_at** ### Переходы статусов Любой → любой. Без жёсткого flow. UI может подсвечивать нетипичные переходы. ## Комментарии ``` TaskComment: id, task_id author_type: human | agent | system author_name, author_slug content: text (markdown) mentions: string[] # @slug упоминания attachments: file[] parent_comment_id: UUID | null # треды voice_url: string | null # голосовое сообщение (оригинал) created_at ``` - Mentions → уведомление агенту через WS (`task.comment` с `mentions`) - Агент может отвечать на конкретный комментарий (threads) ## Принятые идеи ### ✅ Автообнаружение блокеров Задача видит что зависимость застряла → пишет в чат/комментарий: "Задача #15 блокирует меня, кто-нибудь займётся?" ### ✅ Задача-наблюдатель Не на выполнение, а мониторинг: "следи за CI", "проверяй X раз в час". Периодическая/фоновая задача. ### ✅ Задача порождает задачи Агент в процессе работы создаёт дочерние задачи автоматически. ### ✅ Агент может отклонить задачу "Не хватает контекста", "противоречит архитектуре", "задача слишком большая". Агент не безмолвный исполнитель — может отказаться с обоснованием. ### ✅ Голосовые комментарии и задачи - Голосовое сообщение → Thoth транскрибирует → текст + аудио сохраняются - Можно записать голосовое прямо в задачу (поле voice) - В чате тоже голосовые ### ✅ Связи между задачами (links) Не только parent/child, но и: - relates_to - duplicates - blocks / blocked_by (Больше для человека, агенты используют depends_on) ### 💡 На будущее - Чеклист внутри задачи (вместо подзадач для мелочей) ### ❌ Отклонено - Шаблоны задач — не нужны - Автостатус — не нужен - Оценка сложности — не нужна - Дедлайн — не нужен