From 12a4783168d96a43897a83f73cb88312e8b583de Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Sat, 4 Jul 2026 23:29:10 +0300 Subject: [PATCH] =?UTF-8?q?feat(skill):=20coordinator-loop=20=E2=80=94=20?= =?UTF-8?q?=D1=82=D1=80=D0=B8=D0=B0=D0=B6=20=D1=84=D0=B8=D0=BD=D0=B0=D0=BB?= =?UTF-8?q?=D0=B0=20=D1=83=20fixer-=D0=B0=20=D0=B8=20=D1=80=D0=B5=D1=82?= =?UTF-8?q?=D1=80=D0=BE=20=D0=BA=D0=BE=D0=BE=D1=80=D0=B4=D0=B8=D0=BD=D0=B0?= =?UTF-8?q?=D1=82=D0=BE=D1=80=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - триаж находок финального ревью не был назначен никому (worker-ы уже закрыты); ретроспектива координатора после цепочки 12-08 дала проверенные боевые предложения. - Что: - триаж находок финала — у fixer-а тем же механизмом, что у worker-а. - словарь статусов отчётов и правило «APPROVED != завершение цепочки». - предупреждение пользователю на третьем круге ревью, до потолка. - шаг 3: уровень worker-а явно по effort-levels.md и в журнал. - Проверка: - перечитывание разделов «Цикл» и «Финал цепочки» после правок. Co-Authored-By: Claude Fable 5 --- agents/.agents/skills/coordinator-loop/SKILL.md | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/agents/.agents/skills/coordinator-loop/SKILL.md b/agents/.agents/skills/coordinator-loop/SKILL.md index e56a987..6cdb530 100644 --- a/agents/.agents/skills/coordinator-loop/SKILL.md +++ b/agents/.agents/skills/coordinator-loop/SKILL.md @@ -79,7 +79,8 @@ worker-у их индексы **дословно**, без своих интер 3. **Назначь режим ревью** по порогу риска (см. «Режимы ревью») и запиши в журнал; если срез может задеть порог по ходу — задай условие эскалации (например, «worker тронул state-схему → перевести в гейт»). Затем **контракт worker-у** (см. ниже) и - запусти **одного** worker-а. + запусти **одного** worker-а — уровень мышления явно по + [references/effort-levels.md](references/effort-levels.md), в журнал вместе с режимом. 4. **Дождись индекса.** Долго молчит — запроси промежуточный статус, не жди вслепую. Пришло push-уведомление — сразу обрабатывай, не крути опрос по кругу. 5. **Ревью-гейт** (worker вернул `DONE`/`DONE_WITH_CONCERNS`; `BLOCKED` и @@ -96,6 +97,8 @@ worker-у их индексы **дословно**, без своих интер отклонённый через контракт и тест) → не общий rerun, а **узкий гейт** по спорному вопросу на усиленном уровне мышления; - спор пережил и узкий усиленный гейт → стоп, решение человека; + - **третий круг на issue** — предупреди пользователя, не дожидаясь потолка: расход + растёт, причина (что именно не сходится), продолжаешь или нужен стоп; - независимо от споров больше **четырёх** кругов ревью на issue → стоп, вынеси человеку вопрос «дробить issue или принимать риск». 6. **Классифицируй по индексу — только chain-level** (см. «Классификация»). @@ -229,7 +232,10 @@ Per-finding триаж («реально / ложно / чинить») дела Пока п.1–3 не выполнены, цепочка **не завершена** — и каждый твой отчёт пользователю обязан явно это называть: статус («финальный гейт, не done») и остаток по пунктам. Промежуточный статус, звучащий как финальный отчёт, — дефект коммуникации: пользователь -решит, что работа закончена, и уйдёт. +решит, что работа закончена, и уйдёт. Словарь статусов для отчётов: «финальный гейт, +не done: осталось …» → «done по coordinator-loop: handoff есть, дерево чистое, +субагенты закрыты»; открытые внешние риски (кросс-линия, ручная приёмка) перечисляй +и в done-отчёте. **APPROVED финального ревью — ещё не завершение цепочки.** 1. **Приведи документы до ревью.** Обнови PRD/трекер: сделанное — в сделанное, остаток актуален, статусы issue переведены (шаг 7). Иначе финальное ревью предсказуемо найдёт @@ -251,6 +257,11 @@ Per-finding триаж («реально / ложно / чинить») дела ты читаешь его полный текст и становишься вторым писателем — ломаешь оба своих инварианта, даже если правка на две строки. Кодовая находка финала — фактически мини-issue: после fixer-а — rerun ревью по общему правилу продолжения. + **Триаж находок финального ревью — у fixer-а**, тем же механизмом, что у worker-а: + богатый контракт («зачем», спека) даёт право судить; отклонение — аргументированное, + через контракт и тест; спор — по политике кругов (шаг 5). Финальный ревьюер + ошибается так же, как обычный, — «поправь всё перечисленное» без права возразить + превращает его находки в приказы. Это Codex (одна линия): берёт **охват** (целое против замысла), но не кросс-линию — глубокие сквозные слепые пятна линии остаются на п.3. 3. **Handoff — условие выхода, а не пожелание.** Для нетривиальной цепочки цикл не