починены находки второго ревью: цикл закрытия задачи и три отсутствовавших слота
- task-pipeline и task-batch запрещали шаг, который сами же добавили: раздел границ и финальный доклад переписаны под снятую границу приёмки - «триаж сводит строки в одну» противоречило «не сливает» — деградация снова поразрядная во всех трёх местах - канон не требовал в CLAUDE.md имени основной ветки, testdata и запретов, а скелета CLAUDE.md не было вовсе — заведён - обратимость жила в двух домах, читатели ходили в пустой; единственный дом теперь CLAUDE.md - заведены слоты «Единые точки проекта» и «Триггеры профиля», куда charter'ы слали, а канон их не создавал - блок «Вопросы к проходам» стал частью задания прохода: за ним ходили двое из девяти - чек-лист синка и правило «замер + настройка» сведены к одному дому; plugin.json больше не про бриф
This commit is contained in:
@@ -79,8 +79,13 @@ description: Конвейер ревью изменения — детермин
|
||||
|
||||
## Что получает каждый проход
|
||||
|
||||
Задание любому проходу состоит из пяти вещей:
|
||||
Задание любому проходу состоит из шести вещей:
|
||||
|
||||
- **его блок вопросов** из «Вопросы к проходам» в `docs/review.md`, если он там
|
||||
есть, — **дословно**. Блок адресован проходу поимённо и выведен из промаха
|
||||
этого проекта; заставлять девять charter'ов самим ходить за ним значит
|
||||
получить, что за ним ходят двое. Проход отвечает на такие вопросы явно,
|
||||
дополнительно к обязательным;
|
||||
- **контракт находок** — путь к
|
||||
[references/finding-contract.md](references/finding-contract.md) (в
|
||||
установленном плагине — `${CLAUDE_PLUGIN_ROOT}/skills/review-pipeline/references/`);
|
||||
@@ -306,9 +311,10 @@ Recall обоих равен длине их источника — это и е
|
||||
никто другой.
|
||||
|
||||
Материал берётся из документов: `docs/security.md` — враждебному,
|
||||
`docs/architecture.md` плюс **`docs/research/` и `docs/database.md` вместе** —
|
||||
эксплуатационному. Последние два сшивает сам проход: число без настройки не с чем
|
||||
сравнить. Без этих документов стадия вырождается в общие места.
|
||||
`docs/architecture.md`, `docs/research/` и `docs/database.md` —
|
||||
эксплуатационному. Что с чем сшивать и почему — [project-facts.md](references/project-facts.md),
|
||||
раздел «Сшивать обязаны проходы». Без этих документов стадия вырождается в общие
|
||||
места.
|
||||
|
||||
## Стадия 3 — Independent reimplementation (`deep`, по триггеру)
|
||||
|
||||
|
||||
@@ -50,7 +50,9 @@
|
||||
## Деградация — поразрядная
|
||||
|
||||
Документа нет — деградирует то, что из него читалось, и **только оно**. Каждый
|
||||
проход пишет свою строку в границы покрытия; триаж сводит их в одну.
|
||||
проход пишет **свою** строку в границы покрытия; триаж собирает их в один
|
||||
список и **не сливает в одну строку**: разные пробелы чинятся разным — периметр
|
||||
пишется руками за десять минут, а числа требуют замера.
|
||||
|
||||
| Нет документа | Что деградирует |
|
||||
| --- | --- |
|
||||
|
||||
@@ -46,8 +46,9 @@ description: Проводит несколько задач разом — пл
|
||||
- **Батч не владеет спринтом и целями.** Он сообщает исход по каждой задаче в тех
|
||||
же трёх словах, что и `task-pipeline`: сделана / не доведена / оказалась крупнее
|
||||
задачи.
|
||||
- **Записей учёта батч не трогает и задач не закрывает** — как и одиночный
|
||||
пайплайн. Закрытие — акт владельца спринта после приёмки. Урожай ревью батч
|
||||
- **Задачи закрывает пайплайн внутри каждого сабагента**, шагом 9а, вызовом
|
||||
Skill `av-dev-pm:tasks`. Батч сам записей учёта не трогает: он не знает, чем
|
||||
кончилась приёмка, и дублировать закрытие ему незачем. Урожай ревью батч
|
||||
отдаёт списком, а задачи из него заводит тот, кто ведёт задачи проекта.
|
||||
|
||||
## Ключевое отличие от одиночного пайплайна
|
||||
@@ -305,9 +306,10 @@ rebase в файле X», а не «нераспознанное пересеч
|
||||
- Убери worktree и ветки **только успешно влитых** задач, в конце
|
||||
`git worktree prune`. Worktree и ветки **провалившихся** не трогай — они нужны
|
||||
для ручного дожатия.
|
||||
- **Задачи батч не закрывает** — ни одну, ни свои, ни чужие записи учёта не
|
||||
трогает. Он сообщает исход по каждой; закрытие происходит после приёмки и
|
||||
делается владельцем спринта.
|
||||
- **Записей учёта батч не трогает** — их правит пайплайн внутри сабагента на
|
||||
шаге 9а. Батч сообщает исход по каждой задаче; если какой-то сабагент дошёл до
|
||||
коммита, но закрытия не сделал (плагина нет, вызов не разрешился), скажи это
|
||||
строкой — иначе задача останется открытой молча.
|
||||
- Доложи кратко:
|
||||
- **исход по каждой задаче** одним из трёх слов, с хешем коммита;
|
||||
- план волн и порядок интеграции, с пометкой, какие задачи шли по одной как
|
||||
|
||||
@@ -43,11 +43,14 @@ description: Автономно проводит одну задачу чере
|
||||
- **Беклогом, спринтом, целями и приоритетами.** Задача приходит извне. Пайплайн
|
||||
её не выбирает, не приоритизирует, не заводит и не переоценивает; если в
|
||||
проекте есть свой процесс управления задачами — он и решает, что брать.
|
||||
- **Записями учёта.** Пайплайн **не закрывает задачу**, не двигает её по
|
||||
статусам, не правит индекс и не зовёт скриптов учёта. Он сообщает исход;
|
||||
закрытие — акт владельца спринта **после приёмки**, и оно происходит снаружи.
|
||||
Закрыть задачу самому — значит закрыть её до коммита и до всякой приёмки, то
|
||||
есть заверить собственную работу.
|
||||
- **Форматом задач.** Пайплайн **не правит индексы руками и не выдумывает путь
|
||||
к скрипту учёта**: он зовёт Skill `av-dev-pm:tasks`, который этим владеет
|
||||
(шаг 9а). Закрытие как таковое — его работа, и это осознанное решение с
|
||||
названной ценой: **приёмщик и исполнитель совпали**. Закрытие поэтому **не
|
||||
окончательно** — человек на сессии возвращает задачу `reopen` с причиной, а
|
||||
доклад по критериям приёмки становится единственным, по чему приёмка вообще
|
||||
возможна. Плагина `av-dev-pm` в проекте нет — вызов не разрешится, и тогда
|
||||
учёт остаётся владельцу, о чём говорится в докладе.
|
||||
- **Заведением задач из урожая ревью.** Отложенные находки отдаются **списком**
|
||||
(см. шаг 7); превращать их в задачи — работа того, кто ведёт задачи проекта.
|
||||
- **Определением ценности.** «Нужна ли эта функциональность» — не вопрос
|
||||
@@ -279,14 +282,11 @@ description: Автономно проводит одну задачу чере
|
||||
прозой уже проверен на живом проекте и дал 6 записей ADR на 43 изменения;
|
||||
работает только обязательное отрицание.
|
||||
|
||||
Документы и их триггеры: `openspec/specs/` (поведение — вливает `opsx:archive`),
|
||||
`database.md` (тронуты миграции), `architecture.md` (новый компонент, граница,
|
||||
внешняя зависимость), `adr/` (дорогой откат, намеренный отказ, пересмотр
|
||||
прежнего), `research/` (узнали новое о внешних данных), `security.md` (новый
|
||||
недоверенный вход, токен, путь наружу), `conventions/` (промоут, включая
|
||||
**удаление** формулировки, ставшей правилом линтера), `review.md`
|
||||
(воспроизведённый дефект — с пометкой «проскочил» или «пойман ревью»),
|
||||
`passport.md`, `CLAUDE.md`.
|
||||
**Список документов и их триггеров здесь не дублируется** — он в чек-листе
|
||||
скилла `av-dev-pm:docs`, и копия уже однажды разошлась с оригиналом, потеряв два
|
||||
триггера. Плагина нет — открой канон (`av-dev-pm/skills/canon/references/canon.md`)
|
||||
и пройди по разделам его раскладки: каждый документ канона получает строку.
|
||||
Канона в проекте тоже нет — назови это исходом и предложи `av-dev-pm:canon`.
|
||||
|
||||
### 9а. Закрыть задачу
|
||||
|
||||
@@ -313,8 +313,9 @@ description: Автономно проводит одну задачу чере
|
||||
сделано», тело списком 1–3 пункта, без трейлеров). Одна задача — один осмысленный
|
||||
коммит.
|
||||
|
||||
Готово — доложи кратко. Доклад и есть выход пайплайна: **задача остаётся
|
||||
открытой**, её закрывает владелец спринта после приёмки.
|
||||
Готово — доложи кратко. Задача к этому моменту **закрыта шагом 9а** (или учёт
|
||||
явно оставлен владельцу, если плагина нет). Доклад — то, по чему человек проводит
|
||||
приёмку и решает, не вернуть ли задачу `reopen`.
|
||||
|
||||
- **исход** задачи одним из трёх слов и, если не «сделана», чем ограничен
|
||||
результат;
|
||||
|
||||
Reference in New Issue
Block a user