хвост задачи: отражение молча, новое — по слову человека

Синк документации делил правки по документам, а делить их надо по роду.
Отражение сделанного (вливание дельт, миграция, компонент в обзоре) пишется
молча: без правки документ станет ложным. Новая запись и новая норма — ADR,
конвенция, записка разведки, инвариант, периметр, дефект в журнале — только
предлагаются, а пишет их третий такт шага 6 после слова человека.

Реплика при этом одна на весь хвост: вопрос про урожай ревью переехал с шага 5
на шаг 6 и слился с предложениями синка — решение одно, «что из найденного
переживёт задачу». Плановых стопов в сценарии решения стало ровно два, и оба
про решения человека.

Сверка документов получила счётчик: doc-healthcheck оставляет след ключом
[healthcheck] last в .av-dev.toml, синк считает по нему задачи с прошлого
прогона и говорит строкой. Прежде признак «десяток задач» держался в памяти,
то есть не срабатывал.

Журнал — тема 78.
This commit is contained in:
av
2026-08-23 19:06:06 +03:00
parent 3c89d7111d
commit a4bc9191e7
12 changed files with 462 additions and 62 deletions
+9 -3
View File
@@ -831,8 +831,12 @@ change»: сверять исход с планом триаж обязан и
отчёте: формулировка, оракул, откуда взялась (какой проход, какой change).
**Задачи из урожая заводятся только по слову человека, и это правило, а не
вежливость.** Список показывается ему одной репликой; сказал «заводим» — зови
`av-dev:task-track`, у него на этот вход отдельный сценарий «задачи из ревью и
вежливость.** Спрашивает не конвейер: список уезжает вызывающему и показывается
человеку **одной репликой на весь хвост задачи** — вместе с тем новым, что
предлагает записать синк документации (`av-dev:code-resolve`,
`references/solve.md`, шаг 6). Два вопроса про одно и то же — «что из найденного
переживёт задачу» — стоили бы двух переключений вместо одного. Сказал «заводим» —
зовётся `av-dev:task-track`, у него на этот вход отдельный сценарий «задачи из ревью и
аудита»: свой формат, кластеризация по причине, дедуп против беклога и кладбища.
Не сказал — урожай остаётся строками доклада, и это исход, а не потеря. Прогон,
заводящий задачи сам, наполняет беклог работой, которую никто не выбирал; на
@@ -844,7 +848,9 @@ change»: сверять исход с планом триаж обязан и
- `Promote candidates` — по процедуре [references/promote.md](references/promote.md):
находка → конвенция → правило линтера → **удаление формулировки из конвенций**.
Третий шаг обязателен.
Третий шаг обязателен. **Сама конвенция заводится по слову человека** — той же
репликой, что и задачи из урожая: её строка станет входом каждого следующего
прогона, и из всего, что пишет хвост задачи, она связывает дальше всего.
- Дефект, проскочивший ревью и всплывший позже, идёт в журнал проекта
([references/review-journal.md](references/review-journal.md)) — сразу, не
ретроспективно: теряется именно то, почему дефект не поймали.
@@ -52,6 +52,13 @@ flowchart TD
тема относится к поведению системы, а не к тому, как мы пишем код, — это не
конвенция, а требование: заводится дельта-спека обычным путём.
**Конвенция заводится по слову человека, и это не формальность.** Одна её строка
становится входом каждого следующего прогона ревью и критерием для всех будущих
задач — из всего, что пишет хвост задачи, конвенция связывает дальше всего.
В цикле задачи она поэтому **предлагается**, а не заводится: строка предложения
называет проверяемое свойство и проход, который его нашёл, и по этой паре человек
решает (`av-dev:code-resolve`, `references/solve.md`, шаг 6, такт второй).
Промоут идёт **тем же путём, что change → spec**: правка попадает в тот же
коммит, что и исправление кода, с пометкой в сообщении — история промоутов
остаётся видна в `git log` по файлу конвенций.
@@ -75,6 +82,12 @@ flowchart TD
хук блокирует любой коммит, и правило снимут первым же раздражённым движением.
Приводить код в соответствие — часть шага 2, отдельным коммитом.
**Отсюда и место шага 2: он не помещается в хвост чужой задачи.** Конфиг,
сканер и приведение кода к зелёному — это работа размером с задачу, и сделанная
попутно она удваивает прогон, который человек заводил ради другого. Согласованный
промоут даёт **строку конвенции сейчас** и **задачу `chore` на механизацию**;
задачу заводит `av-dev:task-track` тем же словом, что и саму конвенцию.
## Шаг 3. Удаление из конвенций и из промптов
**Шаг, который пропускают чаще всего, и единственный, ради которого затевались