Как проводим аудит. Форму задал Макс 10.07.2026, дословно: «один аудит - это несколько аудитов от разных аггентов, потом анализ их мнение, summary». Здесь она записана как процедура — до этого жила только в чате, и каждый следующий аудит проводился заново по памяти.

Запуск — команда /audit <область>; агент линзы — .claude/agents/auditor.md. Этот документ объясняет, почему процедура такая, и что делать с результатом.

Почему панель, а не один проход

Аудит одной головой упирается в две стены, и обе не лечатся усердием.

Контекст кончается. Область серьёзного аудита не помещается в одно окно: пока читаешь пятый файл, первый уже вытеснен. Отчёт получается про то, что попало в конец.

Мнение не бывает независимым от себя. Одна голова, посмотрев кодом на источники правды, дальше смотрит на детерминизм уже с оглядкой на найденное. Совпадение двух линз перестаёт быть сигналом — а именно совпадение и есть главный инструмент отсева.

Панель обе стены обходит: каждый аудитор тратит своё окно, и голоса собираются от тех, кто друг друга не слышал.

Линзы

Линза — угол зрения, не участок кода. Все аудиторы смотрят одну область разными глазами; делить область между ними бессмысленно, это была бы просто параллельная вычитка.

ЛинзаЧто ищет
источники правдыодин факт с двумя владельцами
мёртвый кодлегаси, недостижимое, задел, не ставший реализацией
фолбэкитихая подмена вместо отказа внутри нашего кода
швы и слоиобход фасадов, DI мимо инъекции, запись в RunState мимо шины
детерминизмреальное время, Random без seed, порядок коллекции в тике
тестыослабленные ради зелёного, отсутствующие на инварианте шва
контент против замыслакарточка ГДД врёт или код с ней разошёлся

Три-пять на аудит. Меньше трёх — совпадения не с чем сверять; больше пяти — сведение само становится работой, которую некому проверить.

Сведение

Голоса сводятся, а не склеиваются. Отчёт, собранный конкатенацией, — это не аудит, а четыре аудита подряд.

  • Совпадение двух линз — сильный сигнал, идёт первым.
  • Находка без сценария отказа не проходит. Требование сценария («при каком входе выстрелит») стоит здесь ровно затем, что уверенный тон агента неотличим от правоты.
  • Спорное перепроверяется руками до доклада.
  • Строки «что не проверил» собираются от всех. Без них «чисто» неотличимо от «не смотрели» — и Максу это надо сказать прямо, а не спрятать за общим зелёным.

Куда девается результат

Аудит отвечает «что не так», а не «как перестроим». Дальше:

Что нашлиДом
дефект, который чиним сейчаскоммит; запись в журнал, если была развилка
дефект, который откладываем00-meta/tech-debt
расхождение кода с замысломimplementation-status.md нужного кластера ГДД
проблема балансаdocs/balance-issues.md

Ничего не чинится по ходу аудита. Аудитор без инструментов записи — это не ограничение, а условие: правка по дороге лишает Макса выбора, что делать с находкой, и смешивает диагноз с лечением.

Грабли

  • Панель на пустяке — деньги на ветер. Для одной проверки хватает одного auditor без сведения.
  • «Ноль ссылок» ещё не «мёртвое». У нас бывает код-задел под описанный в ГДД замысел; сверься с дизайн-документацией, прежде чем звать легаси.
  • Аудитор не знает, что решено вчера. Он видит дерево, а не наш разговор. Если область недавно перестраивалась, скажи об этом в задаче — иначе получишь находки про то, что уже осознанно так.

Владелец правды: .claude/agents/auditor.md (линза и правила вывода), .claude/commands/audit.md (порядок запуска и сведения).