задачи: починена смена стадии, разобраны находки ревью плагина
Команда 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:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
name: doc-wording
|
||||
description: "Вычитка языка документов проекта по информационному стилю — паспорт, архитектура, конвенции, безопасность, решения ADR, записки разведки, CLAUDE.md. Смотрит отглагольные существительные и страдательный залог, оценку без факта, стоп-слова и канцелярит, «одна мысль — одно предложение», англицизм при живом русском слове, жаргон и метафоры вместо прямого называния, термин, которого нет в документах проекта, транслит в имени файла. Отдаёт готовые формулировки на замену и ничего не правит сам. Записи каталога задач вычитывает отдельный агент task-wording, их форму — task-form. Зовётся по названной пачке правленных документов, а не на весь канон: последним шагом синка документации (av-dev:doc-sync), шагом заведения проекта (av-dev:doc-init), шагами adopt и upgrade скилла av-dev:canon. Скилл healthcheck его не зовёт — там сверка утверждений, а не языка. Только чтение."
|
||||
description: "Вычитка языка документов проекта по информационному стилю — паспорт, архитектура, конвенции, безопасность, решения ADR, записки разведки, CLAUDE.md. Смотрит отглагольные существительные и страдательный залог, оценку без факта, стоп-слова и канцелярит, «одна мысль — одно предложение», англицизм при живом русском слове, жаргон и метафоры вместо прямого называния, термин, которого нет в документах проекта, транслит в имени файла. Отдаёт готовые формулировки на замену и ничего не правит сам. Записи каталога задач вычитывает отдельный агент task-wording, их форму — task-form. Зовётся по названной пачке правленных документов, а не на весь канон: последним шагом синка документации (av-dev:doc-sync), шагом заведения проекта (av-dev:doc-init), сценарием разведки (av-dev:code-resolve), шагами adopt и upgrade скилла av-dev:canon. Скилл healthcheck его не зовёт — там сверка утверждений, а не языка. Только чтение."
|
||||
tools: Read, Grep, Glob
|
||||
model: sonnet
|
||||
color: green
|
||||
|
||||
@@ -213,11 +213,15 @@ color: green
|
||||
- **незнакомое** — форму предстоит нащупать по ходу. Признак один и
|
||||
проверяемый: **перед работой нельзя назвать, какие узлы будут тронуты**.
|
||||
|
||||
| | знакомое | незнакомое |
|
||||
<!-- копия: матрица-метки из av-dev/skills/code-review/references/review-levels.md -->
|
||||
|
||||
| | **знакомое** — форму решения можно назвать до начала | **незнакомое** — форму предстоит нащупать по ходу |
|
||||
|---|---|---|
|
||||
| **малое** | `small` | `large` |
|
||||
| **среднее** | `medium` | `large` |
|
||||
| **крупное** | `large` | `large` |
|
||||
| **малое** — один узел | `small` | `large` |
|
||||
| **среднее** — несколько узлов одного слоя | `medium` | `large` |
|
||||
| **крупное** — несколько слоёв, перенос ответственности, большой рефакторинг | `large` | `large` |
|
||||
|
||||
<!-- /копия: матрица-метки -->
|
||||
|
||||
**Метка — не синоним размера, и это главная ловушка таблицы.** Размер `малое` и
|
||||
метка `small` совпадают только в левом верхнем углу: малое **незнакомое**
|
||||
@@ -272,6 +276,8 @@ color: green
|
||||
**Ревью кода — раздача тем.** Кто закрывает тему, зависит от метки. Раскладка
|
||||
жёсткая, выдумывать её не надо:
|
||||
|
||||
<!-- копия: тема-метка-глубина из av-dev/skills/code-review/SKILL.md -->
|
||||
|
||||
| Тема | `small` | `medium` | `large` |
|
||||
|---|---|---|---|
|
||||
| `requirements` | `specs`, сверка | `specs`, разбор | `specs`, разбор |
|
||||
@@ -282,6 +288,8 @@ color: green
|
||||
| `operations` | `code`, сверка по инвариантам | `basics`, разбор | `ops`, доказательство |
|
||||
| тема проекта | `basics`, сверка | `basics`, разбор | `basics`, разбор |
|
||||
|
||||
<!-- /копия: тема-метка-глубина -->
|
||||
|
||||
Две глубины, которые ты назначаешь:
|
||||
|
||||
- **сверка** — открыть дом, открыть дифф, сравнить. Один-два вопроса на тему,
|
||||
|
||||
@@ -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` / `Границы покрытия`.
|
||||
|
||||
Перед секциями — сводка: размер, сложность и метка с обоснованием разметки и режим прогона,
|
||||
состояние гейта, **план с исходом по каждой теме**, сколько находок пришло на
|
||||
вход и сколько осталось.
|
||||
Перед секциями — сводка: режим прогона, состояние гейта, **план с исходом по
|
||||
каждой теме**, сколько находок пришло на вход и сколько осталось. На прогоне
|
||||
**с меткой** к этому добавляются размер, сложность и метка с обоснованием
|
||||
разметки; на прогоне **без метки** их место занимает строка «прогон без метки,
|
||||
план сценария обслуживания» — выдумывать метку задним числом нельзя, её никто
|
||||
не снимал.
|
||||
|
||||
## Ограничения
|
||||
|
||||
|
||||
@@ -98,7 +98,6 @@ color: green
|
||||
постановке. Он же путь понизить требования решением, принятым до
|
||||
проектирования.
|
||||
|
||||
|
||||
## Чего ты не проверяешь
|
||||
|
||||
Не своё бывает двух разных родов, и поступают с ними по-разному.
|
||||
|
||||
Reference in New Issue
Block a user