ревью двумя проходами: 20 находок, все починены

Два независимых сабагента на av-dev-pm и av-dev-pipeline. Две находки нашли оба.

Главная — моя же перестановка закрытия за коммит сломала reopen и батч. close
печатал «дорога назад из git», а reopen искал коммит удаления, которого в новом
порядке ещё нет: шаг 11 последний, учёт остаётся незакоммиченным. Проверено
прогоном — отказ кодом 2 на свежезакрытой задаче. Тем же грязным деревом
ломались rebase и worktree remove в батче: каждая закрывшая задачу ветка уехала
бы в провалившиеся.

Починено с обеих сторон: reopen берёт текст из HEAD, если коммита удаления нет,
а шаг 11 коммитит учёт вторым коммитом.

Вторая — канонический пример docs/.pm.json убивал tasks.py. Четыре документа
показывали ключ tasks.sections, которого скрипт не знает: неизвестный ключ это
код 3 на любой команде. Проект, заведённый по канону дословно, остался бы без
работы с задачами, а docs.py при этом печатал «канон соблюдён». Секции живут в
заголовках индекса и второго дома не получают.

Остальные восемнадцать: init писал конфиг в упразднённый .tasks.json;
looks_like_tasks не видел переименованный индекс; урожай спринта терял автотег
после sprint close; ответ на вопрос по инструкции оставлял задачу незабираемой;
adopt требовал недостижимого зелёного; путь отчёта триажа не переживал archive;
review-specs не имел режима для стыка после слияния; три остатка «шаг 9а» несли
предкоммитную позицию закрытия; sprint.md отрицал сам себя в пункте «Сделана».

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
av
2026-08-03 15:54:15 +03:00
co-authored by Claude Opus 5
parent c692436b91
commit 1fb006df4a
18 changed files with 294 additions and 79 deletions
+13
View File
@@ -81,6 +81,19 @@
- [x] починены 27 находок ruff и 14 pyrefly; `os` из `tasks.py` ушёл (40, 41)
- [x] раздел «Проверка скриптов» в `README.md`
### 1.8 Ревью двумя проходами (тема 10)
- [x] `reopen` берёт текст из `HEAD`, когда коммита удаления ещё нет (JJ)
- [x] шаг 11 коммитит учёт вторым коммитом; батч проверяет чистоту дерева (JJ)
- [x] фиктивный ключ `tasks.sections` убран из четырёх документов (KK)
- [x] `init` пишет конфиг в `docs/.pm.json`; `looks_like_tasks` его читает
- [x] урожай спринта заводится до `sprint close`, слаг — из его отчёта
- [x] ответ на вопрос опустошает раздел «Вопросы» — во всех трёх местах
- [x] путь отчёта триажа переживает архивацию (5 мест)
- [x] `review-specs` получил режим 3 — стык после слияния
- [x] остальные 12 находок: `sprint.md`, «9а», перечень проектных копий,
параллельность в батче, триаж в финальной сверке, триггеры профиля, 8–12
## 2. healthlog — первая боевая проверка
- [ ] `canon adopt`; `docs/backlog/``docs/tasks/`