resolve: письмо вынесено агентам, журнал — тема 72
Спеки, код и правки по находкам ревью пишет отдельный агент: оркестратору оставлены задание, возврат, чекпоинт, сверка плана с исходом и доклад. Заведён раздел «Кто пишет» в SKILL.md, переписаны шаги 2, 4, 6, 7 решения и шаги 2, 4 обслуживания, у разведки названо, почему исполнителей нет.
This commit is contained in:
@@ -0,0 +1,89 @@
|
||||
# 72. Письмо уходит агентам: оркестратор ставит задание и читает возврат (2026-08-22)
|
||||
|
||||
## Что было
|
||||
|
||||
`code-resolve` вёл задачу и писал её сам. В одном контексте лежало всё: выбор
|
||||
сценария, вызов `opsx:propose`, разметка, ревью дизайна, чекпоинт, `opsx:apply`,
|
||||
правки по находкам триажа, сверка плана прогона с исходом и доклад. Конвейер
|
||||
ревью своё письмо давно отдал — проходы ходят агентами по уставам, — а письмо
|
||||
самого скилла не было вынесено никуда.
|
||||
|
||||
Цена оказалась не в токенах, а в том, что вытесняется. Написание тянет в контекст
|
||||
содержимое тронутых файлов, вывод линтеров и гейта, перебранные варианты правки —
|
||||
всё то, чего в докладе не будет ни строкой. Вытесняются оттуда постановка,
|
||||
критерии приёмки и одобренное на чекпоинте, то есть ровно то, по чему оркестратор
|
||||
и обязан сверять исход. Вытесняются **молча**: доклад остаётся связным, а сверять
|
||||
его уже не с чем.
|
||||
|
||||
## Решено
|
||||
|
||||
**Р265. Спеки, код и правки по находкам ревью пишет отдельный агент.**
|
||||
Оркестратор ставит задание и читает возврат. Перечень закрыт и перечислен в
|
||||
`code-resolve/SKILL.md`: предложение и дельта-спеки (`opsx:propose`), правки спек
|
||||
и дизайна по ревью дизайна, код (`opsx:apply` вместе с гейтом и поведенческой
|
||||
верификацией), правки по находкам триажа, помеченным `инлайн`, и правка оснастки
|
||||
в сценарии обслуживания.
|
||||
|
||||
**Р266. Довод — контекст, а не разведённость, и путать их нельзя.** Агент пишет
|
||||
по заданию оркестратора и отвечает перед ним; разведён с автором тот, кто работу
|
||||
**судит**, — разметчик и проходы ревью ([тема 41](41-task-sizing-once.md)).
|
||||
Вынос письма не добавляет разведённости ни на грамм и не заменяет собой ни одну
|
||||
проверку.
|
||||
|
||||
**Р267. Устава у этих агентов нет.** Уставом задаётся **суждение**: что искать и
|
||||
что считать находкой. Здесь суждения нет — работа нормирована скиллами `opsx:*`,
|
||||
конвенциями проекта и находками триажа, и устав стал бы вторым домом того же,
|
||||
разошёлся бы с ним молча. Зовётся агент общего назначения, а всё, чем один прогон
|
||||
отличается от другого, приходит заданием.
|
||||
|
||||
**Р268. Задание самодостаточно и собирается адресами.** Агент не видел разговора:
|
||||
не знает ни постановки, ни сценария, ни того, что одобрено. Поэтому в задании
|
||||
лежат корень проекта, ветка и база диффа, постановка или её текст дословно,
|
||||
критерии приёмки, идентификатор change, что читать, границы правки и признак
|
||||
готовности — зелёный гейт, а при наблюдаемом поведении ещё и верификация.
|
||||
**Находки уходят дословно, вместе с оракулом**: пересказ теряет как раз оракул,
|
||||
агент чинит то, что понял, гейт зеленеет, а в отчёт уезжает «исправлено».
|
||||
|
||||
**Р269. Возврат — не длиннее экрана, и диффа в нём нет.** Что сделано, адресами
|
||||
тронутого; исход гейта и чем он прогнан; что не удалось; вопросы, если по заданию
|
||||
их не разрешить. Возврат с диффом отменяет экономию в момент возврата — то есть
|
||||
делает вынос бессмысленным.
|
||||
|
||||
**Р270. Возврату на слово не верят, и дифф за агентом для этого не перечитывают.**
|
||||
Верят независимым артефактам: зелёному гейту, отчёту триажа, ревью следующего
|
||||
шага. Основание то же, по которому конвейер не верит прозе прохода, — её написал
|
||||
тот, кто мог и пропустить.
|
||||
|
||||
**Р271. Артефакты, написанные для человека, оркестратор читает сам.**
|
||||
`proposal.md` и `design.md` нужны ему на чекпоинте, и это его работа, а не
|
||||
переполнение контекста: они и написаны для того, кто спек не читал.
|
||||
|
||||
**Р272. Разведка в перечень не попадает вовсе.** Её письмо — записка в документы
|
||||
канона и записи задач, то есть тот самый текст, из которого собираются чекпоинт
|
||||
вариантов и доклад. Отданный агенту, он вернулся бы пересказом — и пересказ
|
||||
пришлось бы держать в контексте вместо оригинала.
|
||||
|
||||
**Р273. Правило про контекст, а не про полномочия.** Агент упал, вернул не то или
|
||||
не понял задания — задание повторяется с дописанным; не вышло и во второй раз,
|
||||
оркестратор делает сам и **говорит это строкой доклада**. Стопом это не является:
|
||||
прогон стоил дороже, чем должен, и это факт для человека.
|
||||
|
||||
## Следствия
|
||||
|
||||
**С250. Доклад получил обязательную строку** — шаг письма, сделанный не агентом,
|
||||
с причиной. Иначе нарушение правила неотличимо от его соблюдения, а дороже всего
|
||||
здесь стоит именно молчаливый возврат к старому порядку.
|
||||
|
||||
**С251. Нарезка — по шагу, а не по файлу.** Нарезка по файлам разводит одну правку
|
||||
по разным контекстам, и сходиться она будет в гейте, то есть после. Повторный
|
||||
проход того же шага — новое задание: агент прежнего не помнит.
|
||||
|
||||
**С252. Состав гейта в обслуживании снимает оркестратор, и снимает до правки.**
|
||||
Сверка «до и после» уезжает в его доклад, а снятое тем же, кто правил, сверкой не
|
||||
является: агент вернёт получившийся состав и назовёт его исходным.
|
||||
|
||||
**С253. Раскладка не повышалась.** Правило живёт в прозе плагина — в скилле
|
||||
`code-resolve` и его справочниках — и в скелеты, уезжающие в репозитории проектов,
|
||||
не попадает. Признак тот же, что у снятого «интейка»
|
||||
([тема 71](71-language-model-popular-science.md)): версия нужна тогда, когда
|
||||
меняется то, что уезжает в проект.
|
||||
Reference in New Issue
Block a user