- Заведена запись ADR-2026-08-04: пайплайн и ревью переехали в av-dev-pipeline и av-dev-pm, причина — расхождение копий между jellybit и healthlog и переиспользуемость пайплайна. - Упразднение прохода idiom записано отдельным последствием со ссылкой на «Перестали проверять сознательно» в docs/review.md.
8.4 KiB
Конвейер ревью и пайплайн задачи переезжают в плагины
- Дата: 2026-08-04
- Источник:
DECISIONS.md§4 «Границы плагинов» (2026-08-03) и §7 «Раскладка скиллов» репозиторияav-dev-skills(https://git.vakhrushev.me/av/dev-skills.git). Архивногоdesign.mdу этого решения нет: оно принималось в репозитории плагинов, а не change'ем jellybit — отсюда и отступление от правила «ADR это промоут поверх архивного design.md».
Не заменяет ADR-2026-07-23. Форма конвейера, принятая там (детерминированный гейт первым, двунаправленная сверка со спекой, слой generative-проходов, обязательный триаж с потолком 7, храповик «находка → правило → удаление», журнал и калибровка), остаётся в силе целиком. Пересматривается только где конвейер живёт и кому принадлежит, плюс одно частное следствие — судьба прохода про идиоматичность.
Решение
Конвейер ревью, пайплайн задачи и пайплайн партии задач перестают быть
артефактами jellybit и переезжают в плагины маркетплейса av-dev-skills:
av-dev-pipeline— исполнение: SDD-цикл (task-pipeline,task-batch) и конвейер ревью с девятью агентами;av-dev-pm— управление продуктом: канон документов (canon,docs), задачи и цели (tasks), ритуал спринта (session);av-dev-git— стиль коммитов.
Из репозитория удалены 11 агентов jellybit-review-* (1159 строк) и три скилла
с их справочниками (932 строки). Проектная специфика, которая раньше была
вшита в промпты агентов, теперь приходит из документов канона — прежде всего из
docs/review.md: типовые узлы, типовые ложноположительные,
вопросы к проходам, триггеры профиля, недоступное проверке.
Почему
Причина словами владельца, из источника:
«пайплайн можно и переиспользовать в других проектах с более простым подходом к управлению»
и разбор, который её подтверждает:
Пайплайн зависит от файлов канона и от OpenSpec, а не от плагина
av-dev-pm. В чужом проекте нужных файлов нет — включается поразрядная деградация, и это штатный режим, а не поломка.
Второе: копия конвейера жила не только здесь. Те же скиллы и агенты лежали в healthlog, и копии успели разойтись — правка, сделанная в одном проекте, во второй не приезжала никогда. Скилл, который правят в двух местах, работает в том из них, куда заглянули последним; это ровно та болезнь, которую канон лечит правилом единственного дома, и на процессных артефактах она проявилась раньше, чем на документах.
Третье: разделение плагинов по симметрии «раскладка и содержимое» —
canon/docs для документов, tasks/session для задач — сняло конфликт
владения docs/tasks/, из-за которого прежний av-dev-backlog и пайплайн
претендовали на один каталог.
Рассмотренные варианты
- Оставить копию в проекте, синхронизировать руками. Отвергнуто фактом: именно это и делалось, и копии разошлись. Ручная синхронизация двух проектов не имеет ни оракула, ни момента, когда её обязаны выполнить.
- Один общий плагин на всё. Отвергнуто: пайплайн переиспользуем в проекте, который канон av-dev не ведёт, а канон полезен там, где нет OpenSpec. Один плагин связал бы их жёстче, чем они связаны по существу.
- Держать в проекте только агентов, а скиллы вынести. Отвергнуто: агенты и есть содержание конвейера; вынести оболочку, оставив начинку, значит получить ту же расходящуюся копию, только менее заметную.
Последствия
+Правка конвейера делается один раз и приезжает во все проекты; расхождение копий структурно невозможно.+Из промптов агентов ушла проектная специфика — она читается из документов канона, поэтому обновляется вместе с проектом, а не отдельной правкой девяти промптов.+-2091строка процессных артефактов в репозитории; репозиторий описывает jellybit, а не то, как над ним работают.−Проходidiomупразднён. Поимённая сверка с положениями Effective Go, Go Code Review Comments и стайлгайдов Uber/Google не задаётся теперь ни одним проходом; способные части переселены (эксперимент против поведения библиотеки и драйвера — вops, «не изобретаем ли то, что уже есть в библиотеке» — вarchitecture). Различение «идиоматично против распространено» не спрашивает никто. Класс обратимый — портит форму кода, не данные. Записано в docs/review.md → «Перестали проверять сознательно»; пересмотр — задачаquality-review-agents.−Версия конвейера больше не зафиксирована коммитом проекта: обновление плагина меняет ревью задним числом, и старый прогон не воспроизводится. Отчёт триажа вopenspec/changes/<id>/review/остаётся единственным артефактом того, что реально проверялось.−Проектная специфика теперь обязана быть вdocs/review.md. Пустой или устаревший раздел там больше не компенсируется вшитой в промпт конкретикой — проход просто спросит общее вместо частного, и это будет незаметно.−Появилась внешняя зависимость сборки процесса: без подключённого маркетплейсаav-dev-skillsпайплайн и ревью недоступны. Шагcanonвtask gateпо той же причине краснеет внятно, когдаdocs.pyне найден.