task-pipeline переписан в resolve: два плановых стопа
Автоматическое решение задач агентом работает плохо, и хуже того — в процессе перестаёт ориентироваться автор. В цикл возвращается человек, но не согласованием на каждом шаге: доктрина «делать, а не спрашивать» не отменена, а ограничена местом. Развилка до ближайшего чекпоинта копится в него, после последнего — уходит вопросом в запись. Чекпоинтов два. «Варианты» — у исследовательской задачи, до первого требования: 2-4 способа с ценой каждого и рекомендацией, выбор оседает по адресу, который назвала сама запись. «Объяснение» — у всякой, после ревью дизайна: человек читает просеянное машиной. Объяснение не завело своего артефакта — оно собирается из proposal.md и design.md, а требование к их форме уехало в openspec/config.yaml (rules.proposal, rules.design), то есть применяется в момент написания. Отдельный раздел был бы третьим домом одного объяснения. Закрыт открытый вопрос: находка ревью, меняющая дельта-спеки, отменяет одобрение — разметка пересчитывается, чекпоинт повторяется.
This commit is contained in:
@@ -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, «Открытые
|
||||
вопросы») и **не превратился ли чекпоинт в ритуал одобрения** — признак
|
||||
тот же, дословно повторяющийся текст и согласие без единой правки
|
||||
|
||||
Reference in New Issue
Block a user