Спеки, код и правки по находкам ревью пишет отдельный агент: оркестратору оставлены задание, возврат, чекпоинт, сверка плана с исходом и доклад. Заведён раздел «Кто пишет» в SKILL.md, переписаны шаги 2, 4, 6, 7 решения и шаги 2, 4 обслуживания, у разведки названо, почему исполнителей нет.
8.3 KiB
72. Письмо уходит агентам: оркестратор ставит задание и читает возврат (2026-08-22)
Что было
code-resolve вёл задачу и писал её сам. В одном контексте лежало всё: выбор
сценария, вызов opsx:propose, разметка, ревью дизайна, чекпоинт, opsx:apply,
правки по находкам триажа, сверка плана прогона с исходом и доклад. Конвейер
ревью своё письмо давно отдал — проходы ходят агентами по уставам, — а письмо
самого скилла не было вынесено никуда.
Цена оказалась не в токенах, а в том, что вытесняется. Написание тянет в контекст содержимое тронутых файлов, вывод линтеров и гейта, перебранные варианты правки — всё то, чего в докладе не будет ни строкой. Вытесняются оттуда постановка, критерии приёмки и одобренное на чекпоинте, то есть ровно то, по чему оркестратор и обязан сверять исход. Вытесняются молча: доклад остаётся связным, а сверять его уже не с чем.
Решено
Р265. Спеки, код и правки по находкам ревью пишет отдельный агент.
Оркестратор ставит задание и читает возврат. Перечень закрыт и перечислен в
code-resolve/SKILL.md: предложение и дельта-спеки (opsx:propose), правки спек
и дизайна по ревью дизайна, код (opsx:apply вместе с гейтом и поведенческой
верификацией), правки по находкам триажа, помеченным инлайн, и правка оснастки
в сценарии обслуживания.
Р266. Довод — контекст, а не разведённость, и путать их нельзя. Агент пишет по заданию оркестратора и отвечает перед ним; разведён с автором тот, кто работу судит, — разметчик и проходы ревью (тема 41). Вынос письма не добавляет разведённости ни на грамм и не заменяет собой ни одну проверку.
Р267. Устава у этих агентов нет. Уставом задаётся суждение: что искать и
что считать находкой. Здесь суждения нет — работа нормирована скиллами opsx:*,
конвенциями проекта и находками триажа, и устав стал бы вторым домом того же,
разошёлся бы с ним молча. Зовётся агент общего назначения, а всё, чем один прогон
отличается от другого, приходит заданием.
Р268. Задание самодостаточно и собирается адресами. Агент не видел разговора: не знает ни постановки, ни сценария, ни того, что одобрено. Поэтому в задании лежат корень проекта, ветка и база диффа, постановка или её текст дословно, критерии приёмки, идентификатор change, что читать, границы правки и признак готовности — зелёный гейт, а при наблюдаемом поведении ещё и верификация. Находки уходят дословно, вместе с оракулом: пересказ теряет как раз оракул, агент чинит то, что понял, гейт зеленеет, а в отчёт уезжает «исправлено».
Р269. Возврат — не длиннее экрана, и диффа в нём нет. Что сделано, адресами тронутого; исход гейта и чем он прогнан; что не удалось; вопросы, если по заданию их не разрешить. Возврат с диффом отменяет экономию в момент возврата — то есть делает вынос бессмысленным.
Р270. Возврату на слово не верят, и дифф за агентом для этого не перечитывают. Верят независимым артефактам: зелёному гейту, отчёту триажа, ревью следующего шага. Основание то же, по которому конвейер не верит прозе прохода, — её написал тот, кто мог и пропустить.
Р271. Артефакты, написанные для человека, оркестратор читает сам.
proposal.md и design.md нужны ему на чекпоинте, и это его работа, а не
переполнение контекста: они и написаны для того, кто спек не читал.
Р272. Разведка в перечень не попадает вовсе. Её письмо — записка в документы канона и записи задач, то есть тот самый текст, из которого собираются чекпоинт вариантов и доклад. Отданный агенту, он вернулся бы пересказом — и пересказ пришлось бы держать в контексте вместо оригинала.
Р273. Правило про контекст, а не про полномочия. Агент упал, вернул не то или не понял задания — задание повторяется с дописанным; не вышло и во второй раз, оркестратор делает сам и говорит это строкой доклада. Стопом это не является: прогон стоил дороже, чем должен, и это факт для человека.
Следствия
С250. Доклад получил обязательную строку — шаг письма, сделанный не агентом, с причиной. Иначе нарушение правила неотличимо от его соблюдения, а дороже всего здесь стоит именно молчаливый возврат к старому порядку.
С251. Нарезка — по шагу, а не по файлу. Нарезка по файлам разводит одну правку по разным контекстам, и сходиться она будет в гейте, то есть после. Повторный проход того же шага — новое задание: агент прежнего не помнит.
С252. Состав гейта в обслуживании снимает оркестратор, и снимает до правки. Сверка «до и после» уезжает в его доклад, а снятое тем же, кто правил, сверкой не является: агент вернёт получившийся состав и назовёт его исходным.
С253. Раскладка не повышалась. Правило живёт в прозе плагина — в скилле
code-resolve и его справочниках — и в скелеты, уезжающие в репозитории проектов,
не попадает. Признак тот же, что у снятого «интейка»
(тема 71): версия нужна тогда, когда
меняется то, что уезжает в проект.