Files
admin/.mappa/share/runbooks/tasks.md

3.2 KiB
Raw Blame History

title: Runbook — tasks summary: Как работать с тасками mappa: ориентация, выбор (priority/due), взятие (status+owner), исполнение, закрытие, review-связка, comment. Контракт: wiki:2660 (interactive). Источник: brainstorm:173. type: runbook tags: [mappa, runbook, tasks, agent]

Runbook: tasks

Цикл работы с таской: ориентация → выбор → взятие → исполнение → закрытие.

Ориентация / выбор

  • Доска проекта: task_list(project, parent='root') (корни) или board_digest(project) (счётчики+overdue+blocked). Кросс-проектно: board_digest() без project.
  • Выбор по приоритету/дедлайну. Priority — территория человека: агент ставит P0P2/deadline только при создании, дефолт P1. Overdue → notify (admin_overdue_scan), авто-бамп запрещён.
  • Таска без **Review:** в описании — не принимается к работе (вернуть постановщику, правило 14).

Взятие (interactive contract, wiki:2660)

task_update(project, id, status='active', owner=<себя>, version=<из task_get>) — одной мутацией (status→active + owner). Версия — optimistic concurrency: конфликт → 409 → re-GET → retry.

Исполнение

  • Работаешь по критериям приёмки из описания; след «где остановился/что попробовал» — comment_create (короткий), вердикты/отчёты — письмом (Г2).
  • Смена фокуса → status=paused/ready с reason (не бросать в active).

Закрытие (handover)

  • Перед close: проверить покрытие критериев + метод ревью из описания выполнен (subagent прогнан / next-session review-таска существует / none обоснован).
  • task_close(project, id, version) → status=done.
  • Review-связка: импл-таска → парная <slug>-review (blocked, blocker=impl) ИЛИ зонтик на кластер (не BOTH). Ревьюер — следующая сессия, НЕ имплементер. Вердикт ревью — письмом полностью.

Создание таски (для босса/делегирования)

task_create(project, slug, title, description, status='ready', priority=P1, session_id). Номер — только из ответа. Делегирование кросс-проект = пара: таска + сопроводительное письмо (inbox_send) — таска на борде не пингует живую сессию.

  • Зависимости: edge_create(from, to, 'blocked_by') (task→task, цикл → 422).
  • Импл-таска обязана нести **Review:** (subagent | next-session | none).

Связано

runbooks/index · canon/gates (Г2 каналы) · runbooks/inbox · контракт wiki:2660 · brainstorm:173 · requirements:23