task-pipeline переписан в resolve: два плановых стопа

Автоматическое решение задач агентом работает плохо, и хуже того — в
процессе перестаёт ориентироваться автор. В цикл возвращается человек,
но не согласованием на каждом шаге: доктрина «делать, а не спрашивать»
не отменена, а ограничена местом. Развилка до ближайшего чекпоинта
копится в него, после последнего — уходит вопросом в запись.

Чекпоинтов два. «Варианты» — у исследовательской задачи, до первого
требования: 2-4 способа с ценой каждого и рекомендацией, выбор оседает
по адресу, который назвала сама запись. «Объяснение» — у всякой, после
ревью дизайна: человек читает просеянное машиной.

Объяснение не завело своего артефакта — оно собирается из proposal.md и
design.md, а требование к их форме уехало в openspec/config.yaml
(rules.proposal, rules.design), то есть применяется в момент написания.
Отдельный раздел был бы третьим домом одного объяснения.

Закрыт открытый вопрос: находка ревью, меняющая дельта-спеки, отменяет
одобрение — разметка пересчитывается, чекпоинт повторяется.
This commit is contained in:
av
2026-08-09 15:34:13 +03:00
parent c3828b3713
commit c5e6883461
10 changed files with 744 additions and 538 deletions
+17 -20
View File
@@ -74,8 +74,10 @@
лежит задача, знают индексы»
- [ ] **перевесить гейт готовности.** Схема типа (обязательные разделы, ≥2
критерия, границы) проверяется на `sprint take`. Спринта нет — момента нет;
нужен `tasks.py ready <слаг>` или `check --task <слаг>` на входе пайплайна,
иначе задача уедет в работу без критериев приёмки
нужен `tasks.py ready <слаг>` или `check --task <слаг>`, иначе задача уедет
в работу без критериев приёмки. Сейчас `resolve` держит это глазами: он
отказывает сырью (`research` без «Вопроса») и называет строкой невыполненную
схему у прочих типов — то есть **машина в этом месте не участвует**
- [ ] `check --fix`: восстановленная строка индекса теряет позицию, а позиция
теперь и есть приоритет. Класть в конец категории и печатать пометкой, что
приоритет назначен не человеком
@@ -91,27 +93,22 @@
канонизация в транзакции, `-1 >= -1`. Цена и ожидаемый исход — REMAINING,
«Главный незакрытый риск»
## 4. Пайплайн одной задачи — три этапа
## 4. Пайплайн: что осталось после `resolve`
Обкатывается на healthlog после разделов 1 и 2. Пайплайн нескольких задач на
паузе намеренно.
Сам скилл написан (`av-dev-pipeline:resolve`, два чекпоинта, ветка разведки),
`task-batch` удалён. Осталось то, что на бумаге не проверяется:
- [ ] **этап 1** — первичный ресерч и смысл задачи. Заканчивается дешёвым
подтверждением: две строки «понял так, собираюсь делать это». Без него
проверка «то ли я делаю» приходит после готового дизайна, то есть когда
ошибка стоит дороже всего
- [ ] **этап 2** — propose, дизайн, ревью дизайна, краткое объяснение решения.
Заканчивается полноценным чекпоинтом
- [ ] **этап 3** — код, ревью, архивация. Автоматически: дизайн уже согласован.
Решить, что делает этап, когда ревью находит расхождение **с утверждённым
дизайном**: находка внутри дизайна дожимается сама, находка, отменяющая
дизайн, отменяет и чекпоинт и обязана всплыть к человеку
- [ ] перемерить `review-pipeline` тем же вопросом, что и проект целиком:
сколько из пяти стадий реально смотрятся глазами. 1028 строк, и весь
автоматический этап держится на них
сколько из его стадий реально смотрятся глазами. Тысяча строк, и весь
автоматический участок между чекпоинтами держится на них
- [ ] чекпоинт «объяснение» собирается из `proposal.md` и `design.md`, а
требования к их форме уехали в `openspec/config.yaml` (`rules.proposal`,
`rules.design`). **На живом проекте это ни разу не работало:** неизвестно,
хватает ли двух артефактов, чтобы объяснение не пришлось дописывать руками
## 5. Обкатка
- [ ] один-два цикла healthlog на новом процессе; наблюдение к первой обкатке
не выродились ли «границы покрытия» в шаблон (REMAINING, «Открытые
вопросы»)
- [ ] один-два цикла healthlog на новом процессе. Наблюдения к первой обкатке
два: не выродились ли «границы покрытия» в шаблон (REMAINING, «Открытые
вопросы») и **не превратился ли чекпоинт в ритуал одобрения** — признак
тот же, дословно повторяющийся текст и согласие без единой правки