diff --git a/README.md b/README.md
index 52e54e3..dc0fde7 100644
--- a/README.md
+++ b/README.md
@@ -97,7 +97,14 @@
проходами: `doc-wording` по документам, `task-form` и `task-wording` по
записям. Выбранный способ реализуется **следующим прогоном**, и запускает его
человек: смена сценария по ходу — событие с названным исходом, а не тихий
- поворот. Все три сценария лежат справочниками и одинаково —
+ поворот.
+ **Письмо уходит агентам:** спеки, код и правки по находкам ревью пишет
+ отдельный агент по заданию, а оркестратор ставит задание и читает короткий
+ возврат. Контекст ему нужен под чекпоинт, сверку плана с исходом и доклад —
+ содержимое тронутых файлов и вывод гейта вытесняют оттуда постановку и
+ одобренное, и вытесняют молча. Разведка сюда не попадает: её записка и записи
+ задач и есть исход, из которого собирается доклад.
+ Все три сценария лежат справочниками и одинаково —
`references/solve.md`, `references/maintain.md` и `references/research.md`; в
самом скилле только вход, развилка и правила, не зависящие от сценария;
- `code-review` — конвейер ревью **по темам**: документ проекта либо заводит
diff --git a/av-dev/skills/code-resolve/SKILL.md b/av-dev/skills/code-resolve/SKILL.md
index f5a532d..c278fb8 100644
--- a/av-dev/skills/code-resolve/SKILL.md
+++ b/av-dev/skills/code-resolve/SKILL.md
@@ -276,6 +276,103 @@ flowchart TD
Схема — **сводка**: содержание сценариев в их справочниках, и при расхождении
прав справочник.
+## Кто пишет: письмо уходит агентам
+
+**Своими руками этот скилл не пишет ничего** — ни спек, ни кода, ни правок по
+находкам ревью. Каждую такую работу выполняет **отдельный агент**: оркестратор
+ставит задание и читает возврат. Дальше эта работа зовётся **письмом** — всё, что
+скилл написал бы сам, если бы писал.
+
+Причина про контекст, и она одна. Оркестратор ведёт задачу целиком: выбрал
+сценарий, собирает чекпоинт, сверяет план прогона с исходом, пишет доклад, — а
+для всего этого надо помнить постановку, критерии приёмки и то, что человек
+одобрил. Письмо тянет в контекст ровно то, чего в докладе не будет ни строкой:
+содержимое тронутых файлов, вывод линтеров и гейта, перебранные варианты правки.
+Забитый этим контекст теряет одобренное и постановку — и теряет **молча**: доклад
+остаётся связным, а сверять его уже не с чем.
+
+**Разведённость тут ни при чём**, и путать два довода нельзя. Агент пишет по
+заданию оркестратора и отвечает перед ним; разведён с автором тот, кто работу
+**судит**, — разметчик и проходы ревью.
+
+| Работа | Где шаг |
+| --- | --- |
+| предложение и дельта-спеки — `opsx:propose` | [solve](references/solve.md), шаг 2 |
+| правки спек и дизайна по находкам ревью дизайна | [solve](references/solve.md), шаг 4 |
+| код — `opsx:apply`, вместе с гейтом до зелёного и поведенческой верификацией | [solve](references/solve.md), шаг 6 |
+| правки по находкам триажа, помеченным `инлайн` | [solve](references/solve.md), шаг 7; [maintain](references/maintain.md), шаг 4 |
+| правка оснастки в сценарии обслуживания | [maintain](references/maintain.md), шаг 2 |
+
+**Остальное остаётся оркестратору, и перечень закрыт:** выбор сценария и стопы,
+чекпоинт, вызовы `av-dev:code-review`, `av-dev:doc-sync`, `av-dev-git:commit` и
+`av-dev:task-track`, сверка плана с исходом, урожай и доклад. Ни одна из этих
+работ не пишет файлов проекта — они и есть та работа, ради которой контекст
+берегут.
+
+**Разведка сюда не попадает вовсе.** Её письмо — записка в документы канона и
+записи задач, то есть тот самый текст, из которого собираются чекпоинт вариантов
+и доклад. Отдать его агенту значило бы получить обратно пересказом то, что
+и так надо держать целиком.
+
+### Устава у этих агентов нет
+
+Проходы ревью ходят уставами (`av-dev/agents/`), потому что уставом задаётся
+**суждение**: что искать и что считать находкой. Здесь суждения нет — работа
+нормирована скиллами `opsx:*`, конвенциями проекта и находками триажа, а устав
+стал бы вторым домом того же и разошёлся бы с ним молча. Зовётся агент общего
+назначения, и всё, чем один его прогон отличается от другого, приходит заданием.
+
+### Задание собирается адресами
+
+**Агент не видел разговора.** Он не знает ни постановки, ни выбранного сценария,
+ни того, что уже одобрено на чекпоинте. Поэтому задание самодостаточно, а вещи в
+нём называются **адресами, а не пересказом** — по тому же правилу, по которому
+проход ревью получает дом темы путём и разделом. В задании:
+
+- корень проекта, текущая ветка и база диффа. Ветку агент не создаёт и не
+ переключает, не пушит — правило то же, что у скилла;
+- **что делать**: файл задачи либо её текст дословно, критерии приёмки,
+ идентификатор change;
+- **что читать**: `CLAUDE.md`, конвенции проекта, дельта-спеки change;
+- **находки — дословно**, как их вернул триаж или ревью дизайна, вместе с
+ оракулом;
+- **границы**: правится названное, соседнее не улучшается заодно; развилок агент
+ не решает, задач не заводит, ничего не коммитит и наружу не ходит — правило
+ необратимого действует и на него (раздел «Когда спрашивать вне чекпоинта»);
+- **чем кончает**: гейт зелёный, а если задача меняет наблюдаемое поведение —
+ прогнана поведенческая верификация.
+
+**Пересказ находки — самая дорогая экономия из возможных.** Находка триажа несёт
+оракул, и пересказ теряет как раз его: агент чинит то, что понял, гейт зеленеет,
+а в отчёт уезжает «исправлено».
+
+### Возврат — не длиннее экрана
+
+Агент возвращает: что сделано, **адресами** тронутого; исход гейта и чем он
+прогнан; что не удалось и почему; вопросы, если по заданию их не разрешить.
+Диффа, пересказа кода и логов в возврате нет — иначе экономия, ради которой шаг
+и вынесен, отменяется в момент возврата.
+
+**Возврату на слово не верят, и перечитывать за агентом дифф для этого не надо.**
+Верят независимым артефактам: зелёному гейту, отчёту триажа, ревью следующего
+шага. Своей прозе здесь верить нельзя ровно по той причине, по которой ей не
+верит конвейер ревью, — её написал тот, кто мог и пропустить.
+
+**Артефакты, написанные для человека, оркестратор читает сам**: `proposal.md` и
+`design.md` нужны ему на чекпоинте. Это не переполнение контекста, а его работа.
+
+### Один агент на шаг, а не на файл
+
+Нарезка по файлам разводит одну правку по разным контекстам, и сходиться она
+будет в гейте, то есть после. Повторный проход того же шага — **новое задание**,
+а не продолжение прежнего: агент прежнего не помнит, и рассчитывать на его память
+нельзя.
+
+**Правило про контекст, а не про полномочия.** Агент упал, вернул не то или не
+понял задания — повтори задание, дописав то, чего в нём не хватило. Не вышло и во
+второй раз — делай сам и **скажи это строкой доклада**: прогон стоил дороже, чем
+должен, и это факт для человека, а не стоп.
+
## Автономность и плановый стоп
**У двух сценариев ровно один плановый стоп**, и стоят они в разных местах:
@@ -395,6 +492,8 @@ change, у второго — сверенный состав гейта и си
- **постановка пришла текстом** — сказать это прямо: как она понята, что `ready`
не гонялся и что закрывать было нечего;
- что сделано, какие вопросы записаны и куда;
+- **шаг письма, сделанный не агентом, а тобой** — с причиной: раздел «Кто пишет»
+ требует называть это строкой, а не молча;
- чего проверить или узнать **не удалось**.
Сверх ядра каждый сценарий добавляет своё: [solve.md](references/solve.md) —
diff --git a/av-dev/skills/code-resolve/references/maintain.md b/av-dev/skills/code-resolve/references/maintain.md
index deb5cec..4c353cd 100644
--- a/av-dev/skills/code-resolve/references/maintain.md
+++ b/av-dev/skills/code-resolve/references/maintain.md
@@ -170,7 +170,7 @@
flowchart TD
in["сценарий выбран: обслуживание"]
s1["1. прочитать задачу
критерии приёмки и границы"]
- s2["2. сделать правку
гейт тронут — сверить состав, не цвет"]
+ s2["2. правка агентом
гейт тронут — состав снять до правки"]
s3["3. гейт проекта до зелёного"]
s4["4. ревью фиксированным планом
av-dev:code-review, без change"]
s5["5. синк документации — av-dev:doc-sync"]
@@ -259,8 +259,11 @@ ADR: список источников канон закрыл двумя — а
### 2. Сделать правку
-Код и конфиги — по конвенциям проекта. Правка по размеру задачи: чинится названное в записи, соседнее не улучшается
-заодно.
+**Правку делает агент** (SKILL.md, «Кто пишет: письмо уходит агентам»): задание
+несёт постановку, конвенции проекта, границы правки и требование довести гейт до
+зелёного; возврат — адреса тронутого и исход гейта. Код и конфиги — по конвенциям
+проекта. Правка по размеру задачи: чинится названное в записи, соседнее не
+улучшается заодно.
**Гейта ещё нет — сказать это, а не изображать сверку.** Первые шаги плана
стройки заводят гейт, сборку и хуки: у них нет ни «до», ни «прежнего», и
@@ -277,6 +280,11 @@ ADR: список источников канон закрыл двумя — а
их семантикой гейта в `CLAUDE.md`. Снимай исходное состояние **до** правки, по
тому, как проект это описал.
+**Исходный состав снимаешь ты, а не агент, и это не мелочь.** Сверка «до и
+после» уезжает в твой доклад, а снятое тем же, кто правил, сверкой не является:
+агент вернёт состав, который получился, и назовёт его исходным. Снимок делается
+до того, как задание ушло.
+
**Проект состав не описал — скажи строкой доклада, что сверен только цвет.**
Обходного пути не выдумывай: угаданный состав хуже отсутствующего, потому что
читается как сверенный. Это же строка и повод — предложить проекту дописать слот
@@ -353,8 +361,9 @@ Change ты не передаёшь — его нет.
Отчёт, из которого исчезло «что не смотрел никто», сообщает «проверено», не
сообщая, что именно.
-Отработка — как в решении: помеченное `инлайн` чини сам и не логируй, `развилка`
-— вопросом в запись. После правок снова гейт. Отложенные находки собери в секцию
+Отработка — как в решении: помеченное `инлайн` чинит **агент** (SKILL.md, «Кто
+пишет»), находки уходят ему дословно с оракулом, гейт после правок гоняет он же,
+логировать их не надо; `развилка` — вопросом в запись, и агенту она не отдаётся. Отложенные находки собери в секцию
доклада `Урожай`; задачи из него заводит `av-dev:task-track`, не ты.
### 5. Синк документации — главный шаг этого сценария
diff --git a/av-dev/skills/code-resolve/references/research.md b/av-dev/skills/code-resolve/references/research.md
index 922ecea..7c2e17b 100644
--- a/av-dev/skills/code-resolve/references/research.md
+++ b/av-dev/skills/code-resolve/references/research.md
@@ -30,6 +30,13 @@
(задачи заводятся и уточняются), `av-dev-git:commit`. Правило обращения к соседям
и правило «чего может не быть» — общие, они в [SKILL.md](../SKILL.md).
+**Агентов-исполнителей у разведки нет** (SKILL.md, «Кто пишет: письмо уходит
+агентам»), и это не пропуск. Её письмо — записка в документы канона и записи
+задач, то есть тот самый текст, из которого собираются чекпоинт вариантов и
+доклад: отданный агенту, он вернулся бы пересказом. Вычитку разведка всё же
+отдаёт — `doc-wording`, `task-form`, `task-wording`: там судят написанное, а не
+пишут.
+
**Отсутствие канона бьёт по разведке сильнее, чем по решению**, и сказать об этом
строкой мало: без документов у ответа нет дома, и знание осядет в переписке.
Назови исход и предложи `av-dev:canon`; работу не останавливай, но адрес
diff --git a/av-dev/skills/code-resolve/references/solve.md b/av-dev/skills/code-resolve/references/solve.md
index bb2540e..f27c81b 100644
--- a/av-dev/skills/code-resolve/references/solve.md
+++ b/av-dev/skills/code-resolve/references/solve.md
@@ -15,7 +15,8 @@
дизайна.
Тонкая обёртка над каноническими скиллами `opsx:propose` / `opsx:apply` /
-`opsx:archive` — зови их через Skill, не переизобретай их шаги. Ревью — скилл
+`opsx:archive` — их шаги не переизобретаются, а **зовёт их агент**, не ты
+(SKILL.md, «Кто пишет: письмо уходит агентам»). Ревью — скилл
`av-dev:code-review`; он же держит правило выбора метки, а называет её агент
`review-scope` — один раз на задачу, для обеих стадий ревью.
@@ -25,12 +26,12 @@
flowchart TD
in["сценарий выбран: решение"]
s1["1. прочитать задачу
критерии приёмки выписать сразу"]
- s2["2. opsx:propose — change, дельта-спеки, tasks.md"]
+ s2["2. opsx:propose — change, дельта-спеки,
tasks.md — агентом"]
s3["3. разметка — review-scope:
размер, сложность, метка, план тем"]
- s4["4. ревью дизайна, состав по метке
+ отработка замечаний"]
+ s4["4. ревью дизайна, состав по метке
+ отработка замечаний агентом"]
s5(["5. ЧЕКПОИНТ: объяснение
в чём проблема, как решаем,
чем рискуем"])
- s6["6. opsx:apply — код, гейт,
поведенческая верификация"]
- s7["7. ревью кода, та же метка
+ отработка замечаний"]
+ s6["6. opsx:apply — код, гейт,
поведенческая верификация — агентом"]
+ s7["7. ревью кода, та же метка
+ отработка замечаний агентом"]
s8["8. opsx:archive"]
s9["9. синк документации — av-dev:doc-sync"]
s10["10. коммит работы — av-dev-git:commit"]
@@ -103,17 +104,28 @@ flowchart TD
### 2. Завести change — `opsx:propose`
-Вызови Skill `opsx:propose`. Получаем `proposal.md`, дизайн, дельта-спеки
-(`ADDED`/`MODIFIED`/`REMOVED Requirements`), `tasks.md`. Каждое `### Requirement`
-содержит `SHALL`/`MUST`; структурные заголовки английские, сценарии
-`GIVEN/WHEN/THEN`. Прогони `openspec validate --strict `.
+**Скилл `opsx:propose` зовёт агент** (SKILL.md, «Кто пишет»). В задании:
+постановка — файл задачи либо её текст дословно, — критерии приёмки, если они
+были, и требование прогнать `openspec validate --strict `. Возврат:
+идентификатор change, дельты адресами и исход валидации.
-Критерии приёмки задачи, если они были, копируются в `tasks.md` отдельным блоком.
-Задаче предшествовала разведка — её записка и отвергнутые варианты **уже
-записаны** в документах канона (`docs/research/`, `docs/adr/`): сошлись на них из
-`design.md`, а не переписывай второй раз. Варианты, разобранные без разведки
-(способ был очевиден, но у него оказались оттенки), — в `design.md`, с причиной
-отказа по каждому отвергнутому.
+Шаг оставляет `proposal.md`, дизайн, дельта-спеки
+(`ADDED`/`MODIFIED`/`REMOVED Requirements`) и `tasks.md`. Форму держит сам
+`opsx:propose`, и требования к ней идут агенту заданием: каждое
+`### Requirement` содержит `SHALL`/`MUST`, структурные заголовки английские,
+сценарии — `GIVEN/WHEN/THEN`.
+
+**`proposal.md` и `design.md` после возврата читаешь сам** — из них собирается
+чекпоинт шага 5, и держать их в контексте это твоя работа, а не переполнение.
+Кода нет, читать нечего сверх них.
+
+Ещё две вещи задание называет прямо, иначе их не сделает никто. **Критерии
+приёмки задачи, если они были, копируются в `tasks.md` отдельным блоком.**
+И **записанное разведкой не переписывается второй раз**: задаче предшествовала
+разведка — её записка и отвергнутые варианты уже лежат в документах канона
+(`docs/research/`, `docs/adr/`), и `design.md` на них ссылается. Варианты,
+разобранные без разведки (способ был очевиден, но у него оказались оттенки), — в
+`design.md`, с причиной отказа по каждому отвергнутому.
**`proposal.md` пишется так, чтобы его понял человек, не читавший спек.** Это не
стилистическое пожелание: из него собирается чекпоинт шага 5, и переписывать его
@@ -175,10 +187,15 @@ flowchart TD
**Отработка замечаний, и она идёт до чекпоинта, а не после:**
-- мелочь и явные улучшения — правь сам в спеках и дизайне;
+- мелочь и явные улучшения — правкой спек и дизайна, и её делает **агент**
+ (SKILL.md, «Кто пишет»): находки уходят ему дословно, вместе с
+ идентификатором change и требованием перепрогнать
+ `openspec validate --strict `;
- развилки (компромисс, scope, инвариант) — **не в запись, а в чекпоинт**: он
- следующим шагом, и это ровно то, ради чего он поставлен здесь;
-- после правок перепрогони `openspec validate --strict `.
+ следующим шагом, и это ровно то, ради чего он поставлен здесь. Агенту развилка
+ не отдаётся вовсе: решает её человек, а не тот, кто правит спеку;
+- возврат агента — адреса тронутых дельт и исход валидации; правленые спеки
+ перечитываешь по адресам, если чекпоинт опирается на изменившееся.
### 5. Чекпоинт: объяснение
@@ -234,7 +251,12 @@ flowchart TD
### 6. Написать код — `opsx:apply`
-Вызови Skill `opsx:apply` для реализации `tasks.md`. Код — по конвенциям проекта
+**Код пишет агент, и в его же задании лежит весь этот раздел** (SKILL.md, «Кто
+пишет»): вызов `opsx:apply` для реализации `tasks.md`, гейт до зелёного,
+поведенческая верификация. Возврат — адреса тронутого, исход гейта и строка
+верификации; диффа в нём нет.
+
+Код — по конвенциям проекта
(каталог `docs/conventions/`). Меняешь схему — обнови её описание в документации
тем же change, если проект этого требует: гейт обычно это проверяет.
@@ -245,8 +267,8 @@ flowchart TD
изменение вживую командой из раздела команд `CLAUDE.md` и прогони сценарий.
Пропусти только для чисто внутренних правок без наблюдаемого рантайма.
-**Сервис не оставляем лежать.** Если запуск упал — почини или откати до конца
-шага.
+**Сервис не оставляем лежать.** Если запуск упал — агент чинит или откатывает до
+конца шага; возврат с лежащим сервисом — незакрытый шаг, а не исход.
### 7. Ревью кода — та же метка
@@ -294,8 +316,11 @@ flowchart TD
#### Отработка, и здесь появляется одно новое правило
-Помеченное `инлайн` чини сам и не логируй. `развилка` — вопросом в запись (он уже
-сформулирован триажем, его остаётся перенести). После правок — снова гейт.
+Помеченное `инлайн` чинит **агент** (SKILL.md, «Кто пишет»): находки уходят ему
+**дословно, вместе с оракулом**, одним заданием на весь урожай инлайна, и гейт
+после правок гоняет он же. Логировать их по-прежнему не надо. `развилка` —
+вопросом в запись (он уже сформулирован триажем, его остаётся перенести), и
+агенту она не отдаётся.
**Находка, отменяющая одобренный дизайн, отменяет и одобрение.** Признак
проверяемый: **меняются ли дельта-спеки**.
@@ -303,7 +328,8 @@ flowchart TD
- не меняются — находка внутри дизайна, дожимай сам, это обычная отработка;
- меняются — решение стало другим, а одобрено было прежнее. Повтори шаг 3
(разметка выведена из дельта-спек) и **вернись на чекпоинт шага 5** с тем, что
- изменилось и почему.
+ изменилось и почему. Такая находка агенту не отдаётся ни при каких условиях:
+ она отменяет одобрение, а это разговор с человеком.
**Это правило старше правила о развилке.** Находка класса `развилка`, чьё
основание — «надо менять спеку», подпадает под оба; побеждает возврат на
diff --git a/decisions/72-writing-delegated-to-agents.md b/decisions/72-writing-delegated-to-agents.md
new file mode 100644
index 0000000..7262c3d
--- /dev/null
+++ b/decisions/72-writing-delegated-to-agents.md
@@ -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)): версия нужна тогда, когда
+меняется то, что уезжает в проект.
diff --git a/decisions/README.md b/decisions/README.md
index 4457a78..63cf15b 100644
--- a/decisions/README.md
+++ b/decisions/README.md
@@ -123,3 +123,4 @@
| 69 | [Счёт корпуса в прозе не пишется](69-corpus-count-not-written.md) | 2026-08-13 |
| 70 | [«Провенанс» снят из словаря: одного синонима мало для проверки](70-provenance-word-removed.md) | 2026-08-13 |
| 71 | [Образец языка назван прямо; «интейк» снят вслед за «провенансом»](71-language-model-popular-science.md) | 2026-08-13 |
+| 72 | [Письмо уходит агентам: оркестратор ставит задание и читает возврат](72-writing-delegated-to-agents.md) | 2026-08-22 |