хвост: учёт зовёт оркестратор, третий такт идёт и на отказе
Ревью трансформации нашло, что тема 78 спорит сама с собой в четырёх местах. Учёт был отдан агенту, хотя перечень оркестратора объявлен закрытым, а границы задания прямо говорят «задач не заводит»: вызов av-dev:task-track вернулся оркестратору, агенту третьего такта осталось письмо в документы. Ветка отказа не была покрыта — на ответе «ничего» правка первого такта уезжала в коммит невычитанной и с непрогнанным гейтом. Теперь третий такт идёт всякий раз, когда была реплика; не идёт он только тогда, когда реплики не было вовсе. Дом правила вычитки в doc-sync знает про два захода. Барьер карты кластеров из сценария «задачи из ревью и аудита» снимается там, где его уже прошли: список показан человеку и получил ответ. При прямом вызове и вызове из code-deep-review карта по-прежнему вопрос. Счёт стопов сведён в таблицу по сценариям; у обслуживания появился второй заход и одна реплика с поводом «новый запрет или инвариант». Сигнал сверки считается по архиву change и каталогу задач разом — иначе chore и research не считались вовсе — и вошёл в возврат агента и в доклады трёх сценариев. Ось «род правки документа» внесена в перечень осей. Журнал — тема 80; отложенный старший долг назван в С287.
This commit is contained in:
@@ -68,7 +68,7 @@
|
||||
|
||||
## Дельта нашлась по ходу — стоп, и у него свой порядок
|
||||
|
||||
Признак тот же, что на шаге 7 сценария решения: **меняется ли то, что записано в
|
||||
Признак тот же, что у отработки ревью в решении (шаг 5): **меняется ли то, что записано в
|
||||
`openspec/specs/`**. Обнаружилось, что меняется, — работа перестала быть
|
||||
обслуживанием в ту же секунду, и продолжать её нельзя: коммит обслуживания
|
||||
заявляет «поведение не менялось», а оно меняется.
|
||||
@@ -153,9 +153,12 @@
|
||||
решать, вырождается в обряд одобрения и обесценивает те стопы, где решать есть
|
||||
что.
|
||||
|
||||
**Место, где ответа всё же ждут, одно, и плановым оно не является** — стоп по
|
||||
найденной дельте (раздел «Дельта нашлась по ходу»). Через него проходят не все
|
||||
прогоны, а только те, где задача оказалась не тем, чем объявлена.
|
||||
**Мест, где ответа всё же ждут, два, и через оба проходят не все прогоны.**
|
||||
Первое — стоп по найденной дельте (раздел «Дельта нашлась по ходу»), и плановым
|
||||
он не является: через него идут те прогоны, где задача оказалась не тем, чем
|
||||
объявлена. Второе — **реплика о новом на шаге 5**, и она случается, только если
|
||||
обслуживание завело в документах что-то, чего не было: запрет или инвариант.
|
||||
Обычный прогон обслуживания не проходит ни через одно из двух.
|
||||
|
||||
**Правило необратимого при этом действует полностью** (SKILL.md, «Когда
|
||||
спрашивать вне чекпоинта»), и здесь оно опаснее, чем кажется. Единственный
|
||||
@@ -365,8 +368,14 @@ ADR: список источников канон закрыл двумя — а
|
||||
|
||||
Отработка — как в решении: помеченное `инлайн` чинит **агент** (SKILL.md, «Кто
|
||||
пишет»), находки уходят ему дословно с оракулом, гейт после правок гоняет он же,
|
||||
логировать их не надо; `развилка` — вопросом в запись, и агенту она не отдаётся. Отложенные находки собери в секцию
|
||||
доклада `Урожай`; задачи из него заводит `av-dev:task-track`, не ты.
|
||||
логировать их не надо; `развилка` — вопросом в запись, и агенту она не отдаётся.
|
||||
Отложенные находки собери в секцию доклада `Урожай`.
|
||||
|
||||
**Задачи из урожая — по слову человека, и спрашивается это репликой шага 5**,
|
||||
вместе с новым в документах: правило общее для всех прогонов конвейера
|
||||
(`av-dev:code-review`, «Что происходит с находками дальше»), и обслуживание не
|
||||
исключение. Сказал «заводим» — зовёшь `av-dev:task-track` сам, сценарий «задачи
|
||||
из ревью и аудита»; не сказал — урожай остаётся строками доклада.
|
||||
|
||||
### 5. Синк документации — главный шаг этого сценария, и делает его агент
|
||||
|
||||
@@ -385,11 +394,24 @@ ADR: список источников канон закрыл двумя — а
|
||||
предлагается** (дом — раздел «Два рода правок» скилла `av-dev:doc-sync`). Здесь
|
||||
оно почти ничего не стоит: обслуживание двигает **факты** — команды, шаги гейта,
|
||||
зависимости поимённо, пути, имя ветки, числа настроек, — а факт в документе,
|
||||
разошедшийся с кодом, это отражение по определению. Реплика человеку на этом
|
||||
сценарии редка, и поводов у неё два: **новый запрет или инвариант в `CLAUDE.md`**
|
||||
и **сужение проверок в `review.*`**. Второе спрашивать не надо — проверки сузил
|
||||
человек, слово по ним сказано; первое надо, потому что запрет свяжет все будущие
|
||||
задачи. Нового нет — реплики нет, и шаг кончается возвратом агента.
|
||||
разошедшийся с кодом, это отражение по определению.
|
||||
|
||||
**Повод для реплики у этого сценария один — новый запрет или инвариант в
|
||||
`CLAUDE.md`**: он свяжет все будущие задачи, и заводить его молча нельзя.
|
||||
Сужение проверок в `review.*` поводом не является, хотя тоже новое: проверки
|
||||
сузил человек, и слово по ним уже сказано (`av-dev:doc-sync`, «Два рода правок»).
|
||||
К этому же поводу примыкает урожай ревью с шага 4 — спрашиваются они одной
|
||||
репликой, а не двумя.
|
||||
|
||||
**Нового нет — реплики нет**, и шаг кончается возвратом агента; так идёт
|
||||
большинство прогонов обслуживания.
|
||||
|
||||
**Реплика была — идёт второй заход тем же агентом**, и на нём висит то же, что в
|
||||
решении: письмо одобренного, вычитка `doc-wording` по всей пачке и гейт до
|
||||
зелёного. Первый заход снимает их с себя ровно тогда, когда вернул непустой
|
||||
список предложений, — порядок и его довод описаны в [solve.md](solve.md), шаг 6.
|
||||
Задачи из урожая при этом заводишь **ты сам** вызовом `av-dev:task-track`, а не
|
||||
агент: индексы учёта правит тот, кто коммитит.
|
||||
|
||||
**Здесь этот шаг весит больше, чем в решении, и вот почему.** Обслуживание не
|
||||
меняет поведения — значит, почти всё, что оно меняет, это документация: команды,
|
||||
@@ -471,7 +493,11 @@ ADR: список источников канон закрыл двумя — а
|
||||
выдуманному пользователю;
|
||||
- **состав гейта до и после**, если правка его трогала; не сверялся — почему;
|
||||
- по каждому критерию приёмки: **оракул и наблюдаемый исход**;
|
||||
- **`Урожай`** — отложенные находки списком;
|
||||
- **`Урожай`** — отложенные находки списком и **что человек по нему решил**;
|
||||
- **что заведено нового в документах** и что предложено и отвергнуто — по именам
|
||||
записей; отказ виден только здесь;
|
||||
- **сигнал сверки** — строка синка о том, сколько задач сделано с прошлого
|
||||
прогона `av-dev:doc-healthcheck`, либо что сверки не было ни разу;
|
||||
- **строка границ покрытия**: план сценария фиксирован; темы `requirements` в нём
|
||||
нет — её не смотрел никто, а `security` и `architecture` смотрелись только
|
||||
против записанных инвариантов, и то если шёл проход `code`.
|
||||
|
||||
Reference in New Issue
Block a user