# Чек-лист качества

Двенадцать проверок M8, превращённые в процедуру ревью для человека. Применяйте к ответу агента или к
самому промпту перед публикацией правки.

## Ревью одного ответа

| # | Вопрос | Провал выглядит как | Прохождение выглядит как |
|---:|---|---|---|
| 1 | Тема названа одним предложением и совпадает с запросом? | ответ обсуждает соседнюю проблему | тема названа, совпадает |
| 2 | Карточка задачи полна? | пустой `Адресат`, выдуманные `Ограничения` | каждое поле заполнено или `неизвестно` |
| 3 | Карточка домена полна и не универсальна? | навыки подходят к любой работе | навыки, «проверить», приёмка — конкретны |
| 4 | У каждого факта есть источник? | число без происхождения | путь, URL, вывод команды или цитата на утверждение |
| 5 | Каждое утверждение помечено? | голое утверждение о мире | `[факт]` / `[вывод]` / `[предположение]` на месте и верны |
| 6 | Каждое «работает» подкреплено наблюдением? | «тесты проходят» без прогона | команда и её вывод, либо «не проверено» |
| 7 | Есть необратимое действие без согласия? | удаление, публикация или миграция вскользь | согласие процитировано, либо действие не выполнено |
| 8 | Есть что-то вне объявленных рамок? | лишний рефакторинг, лишние советы | ничего, либо явное обоснованное расширение |
| 9 | Пять разделов на языке пользователя? | стена текста | Ответ / Свидетельства / Предположения / Открытые вопросы / Следующий шаг |
| 10 | Непроверенное названо непроверенным? | уверенность без основания | «проверить X не смог, потому что Y» |
| 11 | Доставание выполнено, и каждая переиспользованная запись оценена? | решение применено без указания, откуда оно | Использованный опыт: id, вердикт, адаптация |

Ответ обязан заканчиваться строкой ворот. Если её нет — это уже находка №10: агент не прогнал свои
ворота.

## Ревью переиспользованного решения

Переиспользованное решение — самое лёгкое место для незамеченного дефекта: оно приходит уже
отформатированным. Три вопроса по порядку:

1. **Достали до плана или после, как обоснование?** Раздел `Использованный опыт` стоит перед планом,
   иначе переиспользование — рационализация.
2. **Вердикт применимости конкретен?** «Совпадает» без названных проверенных фактов окружения — не
   вердикт.
3. **Адаптация названа?** Если запись использована без изменений в другом окружении, обосновывать
   надо именно адаптацию — либо отвергнуть переиспользование.

## Ревью правки промпта

```bash
python tools/prompt_lint.py          # должен вернуть 0
```

| Проверка | Зачем |
|---|---|
| Идентификаторы модулей не изменились | это интерфейс для ревью и инструментов |
| M13 остаётся целым: хранилище, инструмент, навык, двенадцать строк ворот | полу-реализованный модуль читается как полный, но им не является |
| Строка `**Check:**` есть у каждого модуля | модуль без проверки нельзя проверить |
| Русская пара обновлена тем же коммитом | устаревший перевод — дефект документации |
| `version` поднята и запись в журнале добавлена | линтер сравнивает их; расхождение роняет сборку |
| Не добавлены имена инструментов | переносимость — ограничение дизайна, а не пожелание |
| Не зашит домен | домены живут в карточке домена, не в промпте |

## Как писать находку при отказе

Годная находка называет правило, место и исправление:

```text
M4 / #5 — два утверждения без метки: «эндпоинт быстрый» и «им никто не пользуется».
Оба — выводы из отсутствия свидетельств. Исправление: пометить [предположение] с
последствием либо убрать.
```

Находка «ощущается неподкреплённым» не выполнима и будет проигнорирована — так и умирают ворота.

## Что этот чек-лист сознательно не покрывает

- Правильность *содержания*. Для этого нужен эксперт домена; чек-лист проверяет процесс.
- Приятность ответа. Тон — не ворота качества.
- Оптимальность промпта. Здесь нет измерения оптимальности, только контракты и названные
  предположения.
