# Матрица проверок

Проверки готовности Tier A/B/C для работы агента.

## Зачем матрица проверок

Work Graph закрывает задачу **вердиктом контракта**, а не словами агента. Матрица tier A/B/C задаёт, какой proof обязателен для `work.id` с данными метками и checks в BVC.

Инструмент MCP: `assert_task_ready_for_done` — возвращает `ok` и список `missing[]` с конкретными нарушениями.

## Уровни tier

| Tier | Требование | Пример |
|------|------------|--------|
| **A** | Детерминированная команда с exit code 0 | `npm test`, `npm run lint:backlog`, `bvc lint` |
| **B** | Опциональный или средовой гейт | staging check, manual script с логом |
| **C** | Ручной review / policy | архитектурное одобрение, security sign-off |

Tier A обязателен для production-ready work items по умолчанию. B/C добавляются в секцию **Проверки** атома.

## Что видит оператор

В UI Work Graph (`npm run workgraph:ui`) матрица отображается на экране **Проверки**: какие команды прошли, чего не хватает, связь с evidence-записями. То же состояние доступно агенту через MCP — без расхождения «на доске зелёное, в контракте красное».

## Примеры вердикта

**Готово** — все Tier A checks зелёные, evidence привязан к `work.id`, `assert_task_ready_for_done` → `{ "ok": true, "missing": [] }`.

**Не готово** — тесты не запускались: `missing` содержит id проверки и причину `missing_evidence` или вывод команды.

**Ручной гейт** — Tier C: в evidence есть запись `manual-review` со статусом `succeeded` и ссылкой на reviewer.

## Связь с BVC

Секция **Проверки** в `.bvc` и матрица в UI используют одно определение готовности. Агент не должен объявлять done, пока `missing[]` не пуст — иначе статус на доске останется `verify` или `blocked`.

См. также [Журнал доказательств](/evidence-ledger) и [MCP-инструменты](/docs/mcp-tools).
