/plan-audit
/plan-audit — Замкнутый страж конвейера /plan — оборачивает spec → generate → review и активно устраняет находки, пока набор планов не станет проверенным целым без находок.
Роль: Страж Позиция в конвейере: обёртывающая / ортогональная (до выполнения)
Замкнутый страж конвейера /plan. Там, где /plan-review отчитывается и уточняет сгенерированный набор планов, /plan-audit оборачивает вышестоящий цикл (/plan-spec → /plan-generate → /plan-review) и доводит набор планов до проверенного целого без находок — запуская только недостающие вышестоящие этапы, проводя аудит результата, исправляя на месте механически разрешимые находки, выводя развилки суждения через канал структурированного запроса и зацикливаясь, пока набор планов не станет чистым или не сработает ограниченное отступление. Он никогда не выполняет работу по реализации фаз; он оставляет набор планов готовым для /plan-execute.
Каноническое обращение
/plan-auditС аргументами:
/plan-audit [suite-path] [--cap N] [--dry-run]Входы
_spec/spec.md целевого набора планов, _inputs/handoff-manifest.yml, файлы инфраструктуры, phases/**/PHASE.md и любые существующие отчёты фаз.
Выходы
Устойчивый ограниченный отчёт в <suite>/_outputs/audit-report-<YYYY-MM-DD>.md; обновлённый манифест передачи, несущий вердикт об отсутствии находок, счётчик открытых находок, журнал устранения и любую маршрутизацию на обслуживание; и ненулевой терминальный статус, когда остаются остаточные находки.
Позиция в конвейере
/plan-audit ортогонален линейному конвейеру, а не является его этапом. Каноническая линейная последовательность — /plan-spec → /plan-generate → /plan-review → /plan-design (условный этап, только для наборов планов, несущих архитектуру) → /plan-execute. /plan-audit охватывает /plan-spec → /plan-generate → /plan-review как единую замкнутую обёртку, которую можно вызвать в любой точке: она проверяет состояние и запускает только недостающие этапы. При отсутствии как написанной спецификации, так и сгенерированного набора планов она отказывает с сообщением Blocked: run /plan-spec first (--override обходит шлюз и записывает обход как замечание в PLAN-NOTES.md, с обоснованием и названным недостающим условием). Она отличается от последовательности аудиторских проверок (вход в /code-review, завершение в /threat-model-audit), которая проводит аудит выполненной кодовой базы, а не набора планов.
Фазы рабочего процесса
- Разрешить цель — Разрешает набор планов из аргумента или выбирает самый недавно изменённый набор планов под
.apothem/plans/и заявляет о разрешении. - Оценить этап — Обнаруживает, какие артефакты существуют (spec готов / сгенерирован / проверен / выполнен), и называет наименьший разрыв до проверенного выполнимого целого.
- Привести к проверяемому целому — Запускает только недостающие вышестоящие этапы, делегируя каждый разрыв канонической команде; никогда не перезапускает удовлетворённый этап лишь для обновления прозы.
- Криминалистический аудит — Применяет измерения аудита
/plan-review, каталог техник планирования и пятнадцатиполосный шлюз предвыпуска. - Активное устранение — Исправляет механические находки на месте; выводит развилки суждения через канал структурированного запроса; маршрутизирует законно выходящую за рамки работу в родственный набор планов
*-maintenance. - Цикл с пределом и отступлением — Повторяет аудит-и-устранение, пока не останется открытых находок, ограниченный пределом итераций (по умолчанию 3) с определённым отступлением при исчерпании предела.
Режимы отказа
| Симптом | Причина | Восстановление |
|---|---|---|
| Предел исчерпан с остаточными находками | Находки не разрешимы в пределах предела итераций | Просмотрите отчёт аудита; маршрутизируйте подходящие пункты в набор планов *-maintenance; повышайте --cap только с обоснованием |
| Развилка суждения не разрешена | Находка требует решения по политике/области/полномочиям | Ответьте на приглашение структурированного запроса; цикл никогда не выбирает молча |
| Отсутствует авторитетный spec | Нет _spec/spec.md | Обёртка маршрутизирует в /plan-spec для его написания |
| Шлюз качества FAIL | Выход не соответствует стандартам | Устранение исправляет первопричину и проводит повторный аудит затронутых локусов |
Примеры
# Dry-run: report detected suite, stage, planned audit dimensions, would-write targets
/plan-audit --dry-run
# Audit and actively remediate a named suite, capping the loop at 2 iterations
/plan-audit path/to/plan-suite/ --cap 2