refactor(codex-playbook): согласована оптика тонкого мастера
- Зачем: - нужно сохранить контекст координатора и устранить расхождения с зеркальным playbook. - Что: - закреплены делегирование, маршрутизация моделей и ограничение кругов ревью. - добавлены файловый договор ревью и согласованная эмпирика прогонов. - исправлены сборка слепых линий и компактные статусы находок. - Проверка: - quick_validate.py, git diff --check и проверка локальных Markdown-ссылок.
This commit is contained in:
1 parent
a4985b365d
commit
6cc1b26ce4
12 files changed
+470
-237
No files matched your search
@@ -0,0 +1,144 @@
|
||||
# Ревью и триаж
|
||||
|
||||
Читай этот файл целиком после выбора независимого ревью постановки или
|
||||
реализации. Режим и стоимость выбираются в [основной оптике](../SKILL.md);
|
||||
здесь один авторитетный договор выполнения.
|
||||
|
||||
- [Независимость и фокус](#независимость-и-фокус)
|
||||
- [Файловый маршрут](#файловый-маршрут)
|
||||
- [Отчёт ревьюера](#отчёт-ревьюера)
|
||||
- [Владелец триажа](#владелец-триажа)
|
||||
- [Перепроверка и круги](#перепроверка-и-круги)
|
||||
- [Что читает координатор](#что-читает-координатор)
|
||||
|
||||
## Независимость и фокус
|
||||
|
||||
Запускай ревьюера свежей сессией без истории исполнителя и других ревьюеров.
|
||||
Повторную проверку точечных исправлений продолжает тот же ревьюер: его контекст
|
||||
находок полезен и не отменяет независимость исходного обзора.
|
||||
|
||||
Для двойного ревью разделяй фокусы:
|
||||
|
||||
- **по задаче** — соответствие постановке, критериям, границам и ожидаемому
|
||||
результату;
|
||||
- **по коду** — корректность, межмодульные инварианты, регрессии, безопасность
|
||||
и честность тестов.
|
||||
|
||||
Давай обоим общую постановку и изменённый объём, но отдельный файл фокуса и
|
||||
отдельный путь отчёта. Они не знают о второй линии до завершения исходных
|
||||
обзоров. Разные семейства моделей предпочтительны; две доступные линии одного
|
||||
семейства всё равно полезны на сложной задаче, если их фокусы различаются.
|
||||
|
||||
Ревьюер — наблюдатель с нужными инструментами. Он может читать код, запускать
|
||||
тесты, проверять гипотезы, создавать временные кэши и писать назначенный файл
|
||||
отчёта. Исходники, постоянное окружение и Git он не меняет. Координатор
|
||||
сверяет состояние дерева до и после.
|
||||
|
||||
## Файловый маршрут
|
||||
|
||||
Назначь каждому участнику уникальные файлы в каталоге задачи внутри
|
||||
`$SCRATCH`. Временные промпты и отчёты веди на английском.
|
||||
|
||||
```text
|
||||
reviewer -> detailed report file -> triage owner
|
||||
|
|
||||
+-> short summary -> coordinator
|
||||
```
|
||||
|
||||
Ревьюер сам пишет полный отчёт в назначенный файл. Координатор не принимает
|
||||
полный отчёт сообщением и не переписывает его перед передачей. Владелец
|
||||
триажа читает исходные отчёты напрямую и пишет подробные резолюции в следующий
|
||||
файл.
|
||||
|
||||
Если общий каталог недоступен, верни через контекст компактный индекс без
|
||||
нарратива. Координатор сразу сообщает партнёру, какой агент не получил доступ,
|
||||
к какому пути, какой запасной канал использован и что нужно проверить после
|
||||
задачи. Сбой канала ухудшает экономию контекста, но не отменяет ревью.
|
||||
|
||||
## Отчёт ревьюера
|
||||
|
||||
Каждая находка получает устойчивый идентификатор с уникальным префиксом
|
||||
линии: `SPEC-A-N` и `SPEC-B-N` для постановки, `TASK-N` для соответствия
|
||||
реализации задаче и `CODE-N` для качества кода. Полный файл содержит:
|
||||
|
||||
- идентификатор, тяжесть и `файл:строка` либо раздел постановки;
|
||||
- нарушенный критерий;
|
||||
- сценарий сбоя и доказательство;
|
||||
- минимальный способ проверки.
|
||||
|
||||
В сообщение координатору верни только:
|
||||
|
||||
- `VERDICT: APPROVED | CHANGES_REQUESTED`;
|
||||
- счётчики по тяжести;
|
||||
- по одной строке на находку: идентификатор, область, суть и тяжесть;
|
||||
- абсолютный путь к полному отчёту.
|
||||
|
||||
При отсутствии находок полный файл перечисляет просмотренный объём и
|
||||
выполненные проверки. Голая строка `APPROVED` без подтверждения работы не
|
||||
засчитывается.
|
||||
|
||||
## Владелец триажа
|
||||
|
||||
**Постановка.** Координатор принимает или отклоняет каждую находку, потому что
|
||||
цель, границы и критерии — его решения. Открытое техническое исследование он
|
||||
может отдать deep-reasoner, но сам читает верхнеуровневые документы и итоговую
|
||||
постановку. Продуктовый выбор и принятие риска выносит партнёру.
|
||||
|
||||
**Реализация.** Пофиндинговый триаж делает исполнитель, у которого есть
|
||||
контекст кода. Координатор передаёт оба исходных отчёта без изменений и
|
||||
добавляет отдельную короткую шапку: совпадения, противоречия и возможный выход
|
||||
за границы. Он не сливает и не удаляет «дубликаты».
|
||||
|
||||
Для каждого идентификатора исполнитель возвращает один статус:
|
||||
|
||||
- `FIXED` — исправлено и названо доказательство;
|
||||
- `REJECTED` — отклонено через контракт и проверку;
|
||||
- `OUT_OF_SCOPE` — требует отдельного решения о границах;
|
||||
- `NEEDS_DECISION` — технического решения недостаточно.
|
||||
|
||||
Подробности остаются в файле триажа. Координатор получает по одной компактной
|
||||
строке `ID | status | essence` на находку, счётчики, вопросы уровня задачи и
|
||||
путь. Риск и выход за границы решает координатор; техническую истинность
|
||||
находки — исполнитель и ревьюер.
|
||||
|
||||
## Перепроверка и круги
|
||||
|
||||
Один круг — назначенные обзоры, триаж его владельца и узкая перепроверка.
|
||||
Исходный ревьюер читает свой отчёт и файл резолюций, проверяет только свои
|
||||
находки и соседние изменения. Выбранное независимое ревью закрывается
|
||||
`APPROVED` либо явным принятием риска полномочным координатором или партнёром.
|
||||
Координатор получает по одной компактной строке со статусом каждого исходного
|
||||
или нового идентификатора; подробности остаются в файле перепроверки.
|
||||
|
||||
Повторно поднятое аргументированно отклонённое замечание пометь как спор и
|
||||
отправь на отдельную узкую проверку усиленного уровня. Полный новый обзор
|
||||
нужен, когда реализация широко изменилась, исходный отчёт слаб или требуется
|
||||
новая независимая линия.
|
||||
|
||||
Третий круг — точка вмешательства: сообщи партнёру, почему процесс не сходится,
|
||||
какова стоимость и что меняешь. Координатор может уточнить постановку,
|
||||
повысить модель или effort, заменить исполнителя свежим сильным агентом,
|
||||
разделить задачу, назначить усиленный гейт либо принять риск в пределах
|
||||
мандата.
|
||||
|
||||
Пятый круг не начинай автоматически. Сначала прими явное решение и объясни его
|
||||
партнёру; если полномочий недостаточно, остановись и запроси решение. Это
|
||||
предохранитель от дорогой вложенной петли, а не запрет координатору управлять
|
||||
работой.
|
||||
|
||||
## Что читает координатор
|
||||
|
||||
Краткие строки находок нужны координатору для сравнения линий. Подробный файл
|
||||
открывай, когда находка меняет границы или риск, ревьюеры противоречат друг
|
||||
другу, возник спор, сводка непонятна либо без деталей нельзя выбрать следующий
|
||||
шаг.
|
||||
|
||||
Для обычной починки координатор видит переход:
|
||||
|
||||
```text
|
||||
CHANGES_REQUESTED -> triaged -> rechecked -> APPROVED
|
||||
```
|
||||
|
||||
Полный diff, доказательства и журналы читают назначенные агенты. Координатор
|
||||
углубляется в них по правилам приёмки основной оптики, когда это нужно для его
|
||||
собственного решения.
|
||||
Reference in new issue
Block a user