Команды dogfood используют граф проекта и review traces самого CodeGraph, чтобы показать свежесть данных, результаты анализа коммита и следующий безопасный шаг оператора. Это средства диагностики и обслуживания: репозиторий импортируется отдельным процессом, коммиты создаются отдельным процессом, а готовность выпуска подтверждается пакетом релизных свидетельств.
Начните со статуса
Перед анализом или восстановлением проверьте состояние:
python -m src.cli dogfood status --db PATH --review-dir <path> --json
Исполняющий слой требует --db PATH, хотя сгенерированная справка аргументов
не помечает его как обязательный. Это fail-closed правило не позволяет команде
заимствовать скрытую базу активного проекта.
Проверьте как минимум workflow_state, свежесть CPG, доступность чтения и
recommended_next_action. Доступный для чтения граф может оставаться
устаревшим. Успешное завершение команды подтверждает расчёт статуса, но не
свежесть данных.
Проанализируйте диапазон коммитов
По умолчанию базовая ревизия — HEAD~1:
python -m src.cli dogfood analyze --db PATH --base-ref <git-ref>
Укажите точную точку сравнения, нужную для ревью, например удалённую базовую ветку. В отчёте могут быть изменённые методы, сложность, blast radius, влияние на интерфейсы и другие доступные сигналы CPG. Пропуск данных должен быть виден; отсутствующую метрику нельзя считать нулём.
Сформируйте отчёт о качестве
python -m src.cli dogfood report --db PATH --format markdown
python -m src.cli dogfood report --db PATH --format json
Отчёт относится к текущему разрешённому проекту. Для долговечного артефакта перенаправьте стандартный вывод в свой файл и сохраните рядом Git-ревизию и состояние свежести графа.
Проверьте численные утверждения документации
python -m src.cli dogfood validate-claims --db PATH --path <file-or-directory>
По умолчанию проверяется текущий каталог. Команда помогает найти численные утверждения, которые перестали совпадать с графом. Она не проверяет произвольный текст, обещания безопасности и поведение runtime за пределами поддерживаемых шаблонов.
Посмотрите динамику
python -m src.cli dogfood trend --db PATH --commits 20
Окно по умолчанию — десять коммитов. Сравнивайте запуски только при одинаковой области проекта, правилах построения графа и методике измерения.
Проверьте покрытие интерфейсов историй
python -m src.cli dogfood validate-stories --db PATH --stories 1231 --path docs/development/USER_STORIES.md --output <report.json>
Без --stories команда выбирает истории Done по текущей реализации. Параметр
--go-db <go-cpg.duckdb> добавляет поддерживаемую межрепозиторную область Go.
Такой отчёт является доказательством трассируемости только в заявленных
границах и не закрывает story capsule.
Проверьте использование конфигурации
python -m src.cli dogfood config-check --format json --level all --fix-suggestions
Если значения по умолчанию не подходят checkout, используйте --config,
--schema, --source и --output. Предложения исправлений носят
рекомендательный характер: каждое изменение нужно сверять с фактическим
контрактом конфигурации.
Выполните обслуживание базы графа
python -m src.cli dogfood maintain-db --db PATH --json
Команда выполняет CHECKPOINT или VACUUM, только когда обслуживание
требуется. Параметр --force применяйте осознанно. Не запускайте обслуживание
одновременно с импортом или другим процессом записи.
Продолжите управляемый процесс
python -m src.cli dogfood continue --db PATH --review-dir <path> --json
continue читает текущее состояние и по возможности выполняет следующий
поддерживаемый безопасный шаг. JSON сообщает операцию и новое состояние. Если
продолжение невозможно, вернитесь к status и следуйте
recommended_next_action; не обходите условие владельца, свежести или
безопасности записи.
Сводка команд
| Задача | Команда |
|---|---|
| Текущее состояние | python -m src.cli dogfood status --db PATH |
| Анализ коммита | python -m src.cli dogfood analyze --db PATH |
| Отчёт о качестве | python -m src.cli dogfood report --db PATH |
| Утверждения документации | python -m src.cli dogfood validate-claims --db PATH |
| Динамика качества | python -m src.cli dogfood trend --db PATH |
| Интерфейсы историй | python -m src.cli dogfood validate-stories --db PATH |
| Использование конфигурации | python -m src.cli dogfood config-check |
| Обслуживание базы | python -m src.cli dogfood maintain-db --db PATH |
| Следующий управляемый шаг | python -m src.cli dogfood continue --db PATH |
story-validate остаётся зарегистрированным псевдонимом validate-stories, но
в новых сценариях следует использовать каноническое имя из таблицы.
Последовательность восстановления
- Выполните
python -m src.cli dogfood status --db PATH --json. - Убедитесь, что явно выбран нужный CPG.
- Если граф устарел или недоступен, используйте поддерживаемый процесс импорта или обновления проекта вне группы команд dogfood.
- Повторите status и проверьте изменившиеся поля свежести.
- Запустите нужный анализ, проверку утверждений или отчёт.
- Если результат будет использоваться как evidence, сохраните его с ревизиями Git и CPG.
Не удаляйте CPG первым действием при восстановлении. Блокировка базы может означать работу другого writer: сначала определите владельца и согласуйте обслуживание.
Поддерживаемый источник
src/cli/dogfood_suite/dogfood_commands.py определяет зарегистрированные
подкоманды, параметры и управляемые переходы.
src/cli/dogfood_suite/dogfood_common.py требует явного выбора базы.
Реализация анализов находится в src/dogfooding/. При расхождении авторитетны
текущий исходный код и справка CLI.