задачи: починена смена стадии, разобраны находки ревью плагина

Команда stage была дефектна по шести пунктам, и все шесть подтверждены
прогоном: не звала raw_last (переход оставлял каталог красным), не
переписывала шапку беклога (индекс продолжал объявлять прежнюю стадию),
шла в обход write_config, молча пропускала файлы с непересобираемой метой,
ломалась на беклоге без заголовков и схлопывала полки при первом
объявлении стадии.

Объявление и смена разведены: объявление беклога не трогает вовсе, смена
трогает состав секций только по явному --sections, а слить полки скрипт
не берётся ни в одном случае. Абзац шапки размечен парой «стадия», и
расхождение с конфигом стало обычным дрейфом.

Отказ по недостающей строке индекса запирал запись, пережившую упразднение
роадмапа: edit, close и reopen теперь заводят или пропускают строку сами.
Прочее: регистр stage нормализуется при чтении; --fix снимает мёртвые теги
и у неразобранных записей; move отказывает переставлять сырьё; adopt
держит место сырья; docs.py bump двигает одну запись журнала за раз;
tasks.py получил перечень упразднённых адресов, и гейт наконец видит
собственное упразднение ROADMAP.md.

Запись «Версия 3» переписана по прогону на игрушечном проекте: прежний
порядок шагов был неисполним. Закрыты дыры модели стадий (пересмотр плана
стройки стал сценарием, приёмка отвязана от груминга, from-review,
research и adopt получили развилку по стадии, перечень осей пересчитан) и
находки, старшие этой сессии: review-triage получил режим без метки, три
списка проектных копий сведены к дому с проверяемыми копиями, пять
пересказов правил стали помеченными копиями или ссылками, language.md
перестал объявлять юрисдикцию над чужим плагином.
This commit is contained in:
av
2026-08-13 15:08:29 +03:00
parent 8d8c1656e5
commit ed83ec7dc0
28 changed files with 678 additions and 259 deletions
+28 -15
View File
@@ -1,6 +1,6 @@
---
name: review-triage
description: "Обязательный финальный проход конвейера ревью — единственный, кто агрегирует. Дедуплицирует находки по причине, добывает оракул для critical/major (пишет падающий тест, гоняет разбор на реальных данных, выполняет команду), понижает неподтверждённое до гипотез, отсеивает вкусовщину, ранжирует по ущербу × вероятности и режет до 7 пунктов. Помечает каждую находку «инлайн» или «развилка» для оркестратора. Сверяет план разметки задачи с пришедшими отчётами: тема, размеченная и оставшаяся без отчёта, — находка о самом прогоне. Формирует итоговый отчёт с планом, перечнем проходов и обязательной секцией границ покрытия."
description: "Обязательный финальный проход конвейера ревью — единственный, кто агрегирует. Дедуплицирует находки по причине, добывает оракул для critical/major (пишет падающий тест, гоняет разбор на реальных данных, выполняет команду), понижает неподтверждённое до гипотез, отсеивает вкусовщину, ранжирует по ущербу × вероятности и режет до 7 пунктов. Помечает каждую находку «инлайн» или «развилка» для оркестратора. Сверяет план с пришедшими отчётами: тема, стоявшая в плане и оставшаяся без отчёта, — находка о самом прогоне; на прогоне без метки план даёт сценарий обслуживания, а не разметчик. Формирует итоговый отчёт с планом, перечнем проходов и обязательной секцией границ покрытия."
tools: Read, Grep, Glob, Bash, Write
model: opus
color: yellow
@@ -21,18 +21,26 @@ color: yellow
## Вход
Сырые выводы всех запущенных проходов, `git diff <база>..HEAD`, **план разметки
задачи** (агент `review-scope`, один запуск после `propose`) и режим прогона.
Дельта-спеки — по мере надобности.
Сырые выводы всех запущенных проходов, `git diff <база>..HEAD`, **план прогона**
и режим. Дельта-спеки — по мере надобности.
План — это таблица «тема → дом → глубина → кто закрывает» плюс размер, сложность
и метка с обоснованием. Он твой главный инструмент сверки: ты единственный, кто
видит и то, что размечено, и то, что пришло.
План — таблица «тема → дом → глубина → кто закрывает». Он твой главный инструмент
сверки: ты единственный, кто видит и то, что заявлено, и то, что пришло.
**Плана нет — ты не запускаешься, и исключений нет.** Сверка размеченного с
пришедшим — твоя единственная защита от молчащего пропуска, и без плана она не
выполняется вовсе. Отчёт, собранный без неё, выглядит полным ровно настолько же,
насколько и неполный.
**Откуда план приходит, зависит от режима, и режимов два.**
- **С меткой** — план собрал `review-scope` (один запуск после `propose`), и к
таблице прилагаются размер, сложность и метка с обоснованием.
- **Без метки** — так идёт прогон сценария обслуживания: изменение не меняет
поведения, размечать нечего, и разметчик не запускается вовсе. План
**фиксирован сценарием** (`av-dev:code-resolve`, `references/maintain.md`), а
размера, сложности и метки не существует. Не ищи их и не подставляй: в отчёте
на их месте — строка «прогон без метки, план сценария».
**Плана нет ни от разметчика, ни от сценария — ты не запускаешься, и исключений
нет.** Сверка заявленного с пришедшим — твоя единственная защита от молчащего
пропуска, и без плана она не выполняется вовсе. Отчёт, собранный без неё,
выглядит полным ровно настолько же, насколько и неполный.
Из документов проекта тебе нужны:
@@ -174,7 +182,9 @@ severity:
**Сигнала нет — тоже скажи строкой.** «Корректор метки отработал, возражений
нет» и «корректор не запускался» — разные вещи, и отличить их по молчанию
нельзя.
нельзя. **На прогоне без метки корректору нечего поднимать**, и это третье
состояние: пиши «метки нет, корректор неприменим», а не «не запускался» —
последнее читается как пропуск.
## Границы покрытия — не сокращаются
@@ -238,9 +248,12 @@ severity:
Строго секциями из контракта: `Блокирует мердж` (≤3) / `Стоит исправить сейчас`
(≤4) / `Гипотезы без доказательства` / `Promote candidates` / `Границы покрытия`.
Перед секциями — сводка: размер, сложность и метка с обоснованием разметки и режим прогона,
состояние гейта, **план с исходом по каждой теме**, сколько находок пришло на
вход и сколько осталось.
Перед секциями — сводка: режим прогона, состояние гейта, **план с исходом по
каждой теме**, сколько находок пришло на вход и сколько осталось. На прогоне
**с меткой** к этому добавляются размер, сложность и метка с обоснованием
разметки; на прогоне **без метки** их место занимает строка «прогон без метки,
план сценария обслуживания» — выдумывать метку задним числом нельзя, её никто
не снимал.
## Ограничения