хвост: учёт зовёт оркестратор, третий такт идёт и на отказе
Ревью трансформации нашло, что тема 78 спорит сама с собой в четырёх местах. Учёт был отдан агенту, хотя перечень оркестратора объявлен закрытым, а границы задания прямо говорят «задач не заводит»: вызов av-dev:task-track вернулся оркестратору, агенту третьего такта осталось письмо в документы. Ветка отказа не была покрыта — на ответе «ничего» правка первого такта уезжала в коммит невычитанной и с непрогнанным гейтом. Теперь третий такт идёт всякий раз, когда была реплика; не идёт он только тогда, когда реплики не было вовсе. Дом правила вычитки в doc-sync знает про два захода. Барьер карты кластеров из сценария «задачи из ревью и аудита» снимается там, где его уже прошли: список показан человеку и получил ответ. При прямом вызове и вызове из code-deep-review карта по-прежнему вопрос. Счёт стопов сведён в таблицу по сценариям; у обслуживания появился второй заход и одна реплика с поводом «новый запрет или инвариант». Сигнал сверки считается по архиву change и каталогу задач разом — иначе chore и research не считались вовсе — и вошёл в возврат агента и в доклады трёх сценариев. Ось «род правки документа» внесена в перечень осей. Журнал — тема 80; отложенный старший долг назван в С287.
This commit is contained in:
@@ -1,8 +1,8 @@
|
||||
# Сценарий «решение»
|
||||
|
||||
Способ решения известен, спорно только как. Проводит задачу от постановки до
|
||||
закрытия и **пишет код**: цикл Spec Driven Development с одним плановым стопом —
|
||||
объяснением сразу после предложения.
|
||||
закрытия и **пишет код**: цикл Spec Driven Development с двумя плановыми стопами —
|
||||
объяснением сразу после предложения и репликой о новом после ревью.
|
||||
|
||||
Сценарий выбирается развилкой на входе скилла ([SKILL.md](../SKILL.md), раздел
|
||||
«Развилка: какой сценарий») и называется вслух первой репликой. Здесь только его
|
||||
@@ -30,7 +30,7 @@ flowchart TD
|
||||
s5["5. ревью кода — постоянный состав<br/>+ отработка замечаний агентом"]
|
||||
s6["6. opsx:archive + отражение в документах —<br/>одним агентом"]
|
||||
s6q(["РЕПЛИКА: что заводим из нового —<br/>ADR, конвенция, задачи из урожая"])
|
||||
s6b["6b. письмо одобренного и задачи —<br/>тем же агентом"]
|
||||
s6b["такт 3: задачи — оркестратором,<br/>документы, вычитка и гейт — агентом"]
|
||||
s7["7. коммит работы — av-dev-git:commit"]
|
||||
s8["8. закрыть задачу — av-dev:task-track,<br/>вторым коммитом учёта"]
|
||||
|
||||
@@ -133,8 +133,9 @@ flowchart TD
|
||||
|
||||
### 3. Чекпоинт: объяснение
|
||||
|
||||
**Остановись и объясни человеку, что происходит.** Единственный плановый стоп
|
||||
этого сценария, и он обязателен для всякой задачи.
|
||||
**Остановись и объясни человеку, что происходит.** Первый из двух плановых стопов
|
||||
сценария, и в отличие от второго он обязателен для всякой задачи: реплика шага 6
|
||||
случается только тогда, когда есть что заводить, а чекпоинт — всегда.
|
||||
|
||||
Он стоит **сразу после предложения и до кода** — намеренно. Раньше между
|
||||
`propose` и чекпоинтом стояла стадия ревью дизайна, и человек читал объяснение,
|
||||
@@ -287,10 +288,10 @@ flowchart TD
|
||||
найденного заводим») стоили бы человеку двух переключений вместо одного. Сюда
|
||||
урожай складывается, а не выносится.
|
||||
|
||||
Сказал «заводим» — зовёт `av-dev:task-track` агент шага 6, у него на этот вход
|
||||
отдельный сценарий «задачи из ревью и аудита»: своя нарезка, свой формат, свои
|
||||
правила дублей, и передавать находку туда надо дословно. Не сказал — урожай
|
||||
остаётся строками доклада, и это исход, а не потеря.
|
||||
Сказал «заводим» — зовёшь `av-dev:task-track` **ты сам**, тактом третьим шага 6:
|
||||
у него на этот вход отдельный сценарий «задачи из ревью и аудита» — своя нарезка,
|
||||
свой формат, свои правила дублей, и находка передаётся дословно. Не сказал —
|
||||
урожай остаётся строками доклада, и это исход, а не потеря.
|
||||
|
||||
**Молча беклог не наполняется.** Очередь работ ведёт человек, и задача, заведённая
|
||||
за него по ходу чужого прогона, отнимает у него ровно то решение, ради которого
|
||||
@@ -360,8 +361,13 @@ flowchart TD
|
||||
том скилле; гейт до зелёного доводит агент, потому что красный гейт остановил бы
|
||||
коммит следующим шагом — документы у многих проектов он проверяет.
|
||||
|
||||
**Возврат — чек-лист, адреса тронутого, исход валидации и исход гейта, если он
|
||||
гонялся.**
|
||||
**Отложенное этим тактом обязано вернуться.** Оттого такт третий идёт **всякий
|
||||
раз, когда была реплика** — в том числе когда человек не одобрил ничего: на нём
|
||||
висят вычитка и гейт, которые первый такт с себя снял. Пропустить его на отказе
|
||||
значило бы уехать в коммит с невычитанной правкой и непрогнанным гейтом.
|
||||
|
||||
**Возврат — чек-лист, адреса тронутого, исход валидации, строка сигнала сверки и
|
||||
исход гейта, если он гонялся.**
|
||||
Чек-лист уезжает в доклад целиком, и переписывать его своими словами нельзя —
|
||||
это единственный след того, что каждый документ был назван.
|
||||
|
||||
@@ -405,17 +411,30 @@ flowchart TD
|
||||
и второй абзац уговоров превращает реплику в чтение. Человек вправе ответить
|
||||
«ничего» — это исход, а не потеря: находки остаются строками доклада.
|
||||
|
||||
#### Такт третий — тот же агент: письмо одобренного
|
||||
#### Такт третий — задачи оркестратором, документы агентом
|
||||
|
||||
Запускается **только если человек что-то одобрил**. В задании:
|
||||
**Идёт всякий раз, когда была реплика**, и порядок в нём жёсткий.
|
||||
|
||||
**Сначала задачи — их заводишь ты, а не агент.** Человек сказал «заводим» — зови
|
||||
Skill `av-dev:task-track`, у него на этот вход отдельный сценарий «задачи из ревью
|
||||
и аудита»: своя нарезка, свой формат, свои правила дублей. Находка передаётся
|
||||
**дословно, вместе с оракулом**. Согласован промоут находки в конвенцию — тем же
|
||||
вызовом заводится **задача `chore` на механизацию правила**: шаг 2 промоута
|
||||
(конфиг линтера, сканер, приведение кода к зелёному) в хвост чужой задачи не
|
||||
помещается (`av-dev:code-review`, `references/promote.md`).
|
||||
|
||||
**Заведение задач агенту не отдаётся ни в одном сценарии** — по той же причине,
|
||||
по какой ему не отдаются коммит и закрытие: оно правит индексы учёта, а перечень
|
||||
работ ведёт человек. Правило и его дом — SKILL.md, «Кто пишет».
|
||||
|
||||
**Потом документы — их пишет тот же агент, что шёл тактом первым.** В задании:
|
||||
|
||||
- **одобренные записи дословно** — формулировка, источник, основание; сочинять
|
||||
заново нельзя, ADR цитирует решение из архивного `design.md`, а не пересказывает
|
||||
его;
|
||||
- **задачи из урожая** — вызовом `av-dev:task-track`, сценарий «задачи из ревью и
|
||||
аудита», находка передаётся дословно вместе с оракулом;
|
||||
его. Человек не одобрил ничего — писать нечего, и это законный вход;
|
||||
- **вычитка** `doc-wording` по всей пачке правленого — и первого такта, и этого;
|
||||
- **гейт проекта до зелёного** после правок.
|
||||
- **гейт проекта до зелёного** после правок — он же увидит заведённые задачи,
|
||||
потому они и заводятся раньше.
|
||||
|
||||
**Отвергнутое не пишется никуда.** Ни в один документ, ни отдельной записью «от
|
||||
такого-то отказались»: журнала отвергнутого канон не держит, и заведение его
|
||||
@@ -493,11 +512,12 @@ change. Заводить запись задним числом, чтобы её
|
||||
тебя нет: состав прогона постоянный и сокращению не подлежит, перечень тем
|
||||
сверяется по исходу, непокрытое называется строкой, а расхождение с одобренным
|
||||
— отдельным пунктом доклада.
|
||||
- **Заведение задач из урожая ревью — не твоя работа и не работа этого прогона по
|
||||
умолчанию.** Отложенные находки отдаются **списком**, и в задачи их превращает
|
||||
`av-dev:task-track` — по слову человека, у него на этот вход отдельный сценарий
|
||||
«задачи из ревью и аудита». Каталога задач в
|
||||
проекте нет — урожай остаётся списком в докладе, и это говорится строкой.
|
||||
- **Заведение задач из урожая ревью не идёт по умолчанию.** Отложенные находки
|
||||
отдаются **списком**, и в задачи их превращает `av-dev:task-track` — по слову
|
||||
человека и вызовом от тебя, а не от агента: перечень работ ведёт человек, а
|
||||
индексы учёта правит тот же, кто коммитит. У скилла на этот вход отдельный
|
||||
сценарий «задачи из ревью и аудита». Каталога задач в проекте нет — урожай
|
||||
остаётся списком в докладе, и это говорится строкой.
|
||||
- **Стопов у сценария два, и оба про решения человека, а не про ход работ.**
|
||||
Чекпоинт шага 3 решает форму решения **до** кода; реплика шага 6 решает, что из
|
||||
найденного переживёт задачу. Между ними прогон идёт сам: правки инлайном чинятся
|
||||
|
||||
Reference in New Issue
Block a user