chore(bootstrap-v2): canon-блок + толстый кэш .mappa/share в .admin (methodology/kzntsv)

This commit is contained in:
2026-09-03 00:30:47 +03:00
parent 6d29949d55
commit fd50916851
12 changed files with 374 additions and 0 deletions

View File

@@ -0,0 +1,34 @@
---
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