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
@@ -1,88 +1,134 @@
|
||||
# Сборка нативных промптов
|
||||
|
||||
Открывай только раздел выбранного приёма. Это справочник готовых договоров,
|
||||
а не обязательная последовательность. Постоянный текст живёт в
|
||||
[prompts/](prompts/):
|
||||
Это механика после выбора приёма в [основной оптике](../SKILL.md). Смысл
|
||||
ревью и триажа задаёт [единый договор](review-and-triage.md); здесь только
|
||||
параметры, файловые пути и сборка.
|
||||
|
||||
Постоянный текст живёт в [prompts/](prompts/):
|
||||
|
||||
- [result-contract.md](prompts/result-contract.md) — обычный результат;
|
||||
- [review-boilerplate.md](prompts/review-boilerplate.md) — слепое ревью;
|
||||
- [review-boilerplate.md](prompts/review-boilerplate.md) — независимое ревью;
|
||||
- [triage-header.md](prompts/triage-header.md) — закрытие находок;
|
||||
- [recheck-header.md](prompts/recheck-header.md) — узкая перепроверка;
|
||||
- [runtime-language.md](prompts/runtime-language.md) — язык временного обмена.
|
||||
|
||||
Текст договора меняй только в его авторитетном файле. Здесь остаются выбор и
|
||||
механика сборки.
|
||||
Меняй договор только в его авторитетном файле. В параметрических файлах держи
|
||||
только факты конкретной задачи.
|
||||
|
||||
## Канал результата
|
||||
## Каталог прогона
|
||||
|
||||
Канал выбери по [основной оптике](../SKILL.md). Здесь важна только механика:
|
||||
для файлового канала задай уникальный `REPORT`, для сообщения не создавай
|
||||
вторую копию результата.
|
||||
`$SCRATCH` определён в основном файле как общий временный каталог. Для задачи
|
||||
создай уникальную подпапку: `D="$SCRATCH/<NN-slug>"`. `P` указывает на
|
||||
`references/prompts` этого скилла. Каждый агент получает отдельный `REPORT`.
|
||||
|
||||
## Обычный исполнитель или исследователь
|
||||
Собирай файлы механически, не читая полезную нагрузку в контекст координатора.
|
||||
Примеры ниже используют POSIX `cat`; в PowerShell применяй
|
||||
`Get-Content <paths> | Set-Content -Encoding utf8 <target>`.
|
||||
|
||||
Параметрический файл содержит только нужные конкретной задаче поля:
|
||||
## Исполнитель или исследователь
|
||||
|
||||
`params.md`:
|
||||
|
||||
```text
|
||||
GOAL: one verifiable goal
|
||||
BOUNDARIES: allowed and forbidden work
|
||||
READ FIRST: paths to contracts and examples
|
||||
CHECKS: commands this agent should run
|
||||
REPORT: path, only when the result will be reused
|
||||
REPORT: absolute unique path
|
||||
```
|
||||
|
||||
Добавь общий результат и язык временного обмена:
|
||||
|
||||
```bash
|
||||
cat "$D/params.md" "$P/result-contract.md" "$P/runtime-language.md" \
|
||||
> "$D/prompt.md"
|
||||
```
|
||||
|
||||
Самодостаточный файл задачи, критерии и подробное обязательное чтение добавляй
|
||||
только когда они действительно нужны выбранной работе.
|
||||
Самодостаточную постановку и подробное обязательное чтение добавляй только
|
||||
когда они нужны выбранной работе.
|
||||
|
||||
## Свежий ревьюер
|
||||
## Ревью постановки или реализации
|
||||
|
||||
Общая часть содержит задачу, изменённый объём и известные проверки. Фокус
|
||||
содержит только выбранный для этого ревью класс риска. Для одного ревьюера:
|
||||
`review-common.md` одинаков для одного обзора:
|
||||
|
||||
```text
|
||||
TITLE: short review title
|
||||
WORKING DIRECTORY: absolute repo path
|
||||
STATEMENT: task and parent spec paths
|
||||
SCOPE: changed files or task sections under review
|
||||
BASELINE: what is explicitly outside this review
|
||||
CHECKS: commands and expected counters
|
||||
```
|
||||
|
||||
`review-output.md` задаёт поля конкретной линии:
|
||||
|
||||
```text
|
||||
TYPE: spec | task | code
|
||||
FINDING PREFIX: SPEC-A | SPEC-B | TASK | CODE
|
||||
REPORT: absolute unique path
|
||||
```
|
||||
|
||||
`review-focus.md` задаёт один выбранный фокус. Для постановки:
|
||||
|
||||
```text
|
||||
Review the task statement, not an implementation. Check facts against code,
|
||||
hidden one-line decisions, boundaries, checkable acceptance criteria, and
|
||||
ways to satisfy the wording without the intended result.
|
||||
```
|
||||
|
||||
Для реализации выбери task lens или code lens из договора ревью:
|
||||
|
||||
```text
|
||||
TASK LENS: compare the implementation with the statement, acceptance criteria,
|
||||
boundaries, and intended observable result.
|
||||
|
||||
CODE LENS: seek correctness bugs, broken invariants, regressions, security
|
||||
issues, and tests that can pass without proving the behavior.
|
||||
```
|
||||
|
||||
```bash
|
||||
cat "$D/review-common.md" "$D/review-focus.md" \
|
||||
cat "$D/review-common.md" "$D/review-focus.md" "$D/review-output.md" \
|
||||
"$P/review-boilerplate.md" "$P/runtime-language.md" \
|
||||
> "$D/review-prompt.md"
|
||||
```
|
||||
|
||||
Если осознанно выбраны несколько линий, каждому ревьюеру дай отдельный файл
|
||||
фокуса и отдельный путь результата. Не создавай вторую линию только ради
|
||||
симметрии или свежего треда того же семейства.
|
||||
Для двух слепых линий создай `review-focus-a.md` и `review-focus-b.md`,
|
||||
`review-output-a.md` и `review-output-b.md` со своими `TYPE`, уникальными
|
||||
`FINDING PREFIX` и разными путями `REPORT`. `review-common.md` используй один;
|
||||
отчёты и финальные сообщения линий не объединяй до их завершения.
|
||||
|
||||
## Закрытие находок
|
||||
## Триаж постановки
|
||||
|
||||
Передай исполнителю исходные индексы без пересказа. Обязательный
|
||||
`triage-params.md` задаёт путь полного отчёта и нужные проверки. `notes.md`
|
||||
добавляй только для новых решений мастера, которых у исполнителя ещё нет:
|
||||
Координатор читает краткие строки и нужные подробности, принимает решение по
|
||||
каждому `SPEC-*` и обновляет постановку. Резолюции сохраняет в
|
||||
`spec-resolutions.md`; этот файл и новая постановка идут исходному ревьюеру
|
||||
на узкую перепроверку.
|
||||
|
||||
## Триаж реализации
|
||||
|
||||
Передай исполнителю исходные отчёты без пересказа. `triage-params.md`
|
||||
содержит путь итогового отчёта и проверки. `coordinator-notes.md` добавляй
|
||||
только для совпадений, противоречий и новых решений уровня задачи.
|
||||
|
||||
```bash
|
||||
cat "$P/triage-header.md" "$D/triage-params.md" "$D/review-a.md" \
|
||||
> "$D/fix-prompt.md"
|
||||
cat "$P/triage-header.md" "$D/triage-params.md" \
|
||||
"$D/review-a.md" > "$D/fix-prompt.md"
|
||||
if [ -f "$D/review-b.md" ]; then
|
||||
cat "$D/review-b.md" >> "$D/fix-prompt.md"
|
||||
fi
|
||||
if [ -f "$D/notes.md" ]; then
|
||||
cat "$D/notes.md" >> "$D/fix-prompt.md"
|
||||
if [ -f "$D/coordinator-notes.md" ]; then
|
||||
cat "$D/coordinator-notes.md" >> "$D/fix-prompt.md"
|
||||
fi
|
||||
cat "$P/runtime-language.md" >> "$D/fix-prompt.md"
|
||||
```
|
||||
|
||||
## Узкая перепроверка
|
||||
|
||||
Используй прежний тред ревьюера. Параметры содержат пути к его исходному
|
||||
индексу и отчёту решений, а также проверку, если она нужна:
|
||||
Продолжай исходный тред ревьюера. `recheck-params.md` задаёт пути к его
|
||||
исходному отчёту и файлу резолюций, нужную проверку и новый уникальный
|
||||
`REPORT`.
|
||||
|
||||
```bash
|
||||
cat "$P/recheck-header.md" "$D/recheck-params.md" \
|
||||
"$P/runtime-language.md" > "$D/recheck-prompt.md"
|
||||
```
|
||||
|
||||
Не запускай перепроверку автоматически: она нужна для принятых исправлений,
|
||||
спорного отклонения или дорогой ошибки, а не для закрытия ритуального этапа.
|
||||
Перепроверка следует решению координатора по договору ревью, а не номеру этапа.
|
||||
Reference in new issue
Block a user