feat(skill): coordinator-loop — контракт автономного прогона
По предложению Codex из ретро: скилл проектировался под сценарий «передал очередь issue и ушёл», но входной контракт и мандат были неявными. Новый раздел фиксирует вход (issue, порядок, «зачем»), мандат (весь цикл без уточняющих вопросов; за пределы локального репозитория — только по поручению) и сводку стоп-условий со ссылками на их разделы — без пересказа правил, чтобы не разъезжались. Предупреждение о третьем круге уточнено: это не вопрос, ответа не ждать. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
1 parent
1d67a3ffe9
commit
f6b9b3b8e3
1 file changed
+29
-2
@@ -4,7 +4,8 @@ disable-model-invocation: true
|
||||
description: >-
|
||||
Координаторский цикл по цепочке готовых issue: на каждый — worker-субагент по TDD
|
||||
с независимым ревью, коммит делает координатор. Контекст координатора
|
||||
держится чистым — в него входит только индекс находок, не diff. Узкий навык, только
|
||||
держится чистым — в него входит только индекс находок, не diff. Рассчитан на
|
||||
автономный прогон очереди issue без присмотра пользователя. Узкий навык, только
|
||||
по явному вызову /coordinator-loop.
|
||||
---
|
||||
|
||||
@@ -38,6 +39,31 @@ description: >-
|
||||
(параллель), однофайловые правки, задачи без тестовой базы. Если цепочка не подходит —
|
||||
скажи об этом пользователю, а не тяни цикл силой.
|
||||
|
||||
## Контракт автономного прогона
|
||||
|
||||
Основной сценарий скилла: пользователь передаёт очередь подготовленных issue и уходит —
|
||||
координатор ведёт конвейер сам, а не ждёт инструкций на каждом шаге.
|
||||
|
||||
**Вход** — что пользователь даёт при вызове:
|
||||
- список issue и порядок (или правило зависимостей);
|
||||
- где лежит «зачем» (PRD/спека), если это не очевидно из самих issue;
|
||||
- ожидаемый финал, если он отличается от стандартного (см. «Финал цепочки»).
|
||||
|
||||
**Мандат**: весь цикл — worker, ревью, коммит-гейт, статусы, журнал, handoff —
|
||||
координатор ведёт без уточняющих вопросов. Локальные коммиты рабочих срезов входят в
|
||||
мандат по умолчанию; push, теги и всё, что уходит за пределы локального репозитория
|
||||
или разрушает данные вне рабочего дерева, — только по явному поручению.
|
||||
|
||||
**Стоп-условия** — сводка, сами правила в своих разделах: чужие правки в дереве
|
||||
(шаг 1); мутный или неготовый issue («Когда применять», шаг 2); спор, переживший
|
||||
узкий усиленный гейт, и потолок кругов ревью (шаг 5); действие за пределами мандата.
|
||||
Проверка, которую может сделать только человек (ручная приёмка, живой стенд), цепочку
|
||||
не останавливает: worker сдаёт её как `DONE_WITH_CONCERNS` с готовой командой
|
||||
(статус-контракт), а остаток уходит в handoff открытым риском.
|
||||
|
||||
**Выход** — по «Финалу цепочки»: чистое дерево, список коммитов, статусы issue,
|
||||
handoff с открытыми рисками.
|
||||
|
||||
## Роли
|
||||
|
||||
- **Координатор** — ты. Порядок issue, богатый контракт, запуск ревьюеров, политика
|
||||
@@ -107,7 +133,8 @@ worker-у их индексы **дословно**, без своих интер
|
||||
вопросу на усиленном уровне мышления;
|
||||
- спор пережил и узкий усиленный гейт → стоп, решение человека;
|
||||
- **третий круг на issue** — предупреди пользователя, не дожидаясь потолка: расход
|
||||
растёт, причина (что именно не сходится), продолжаешь или нужен стоп;
|
||||
растёт, причина (что именно не сходится). Это предупреждение, не вопрос: ответа
|
||||
не жди, работу продолжай — жёсткая граница ниже;
|
||||
- независимо от споров больше **четырёх** кругов ревью на issue → стоп, вынеси
|
||||
человеку вопрос «дробить issue или принимать риск».
|
||||
6. **Классифицируй по индексу — только chain-level** (см. «Классификация»).
|
||||
|
||||
Reference in new issue
Block a user