Перейти к основному содержимому

Эксплуатация dogfood-проверок

Актуальный CLI-процесс проверки свежести CPG, анализа коммитов, динамики качества и управляемого восстановления.

Руководства

Команды 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, но в новых сценариях следует использовать каноническое имя из таблицы.

Последовательность восстановления

  1. Выполните python -m src.cli dogfood status --db PATH --json.
  2. Убедитесь, что явно выбран нужный CPG.
  3. Если граф устарел или недоступен, используйте поддерживаемый процесс импорта или обновления проекта вне группы команд dogfood.
  4. Повторите status и проверьте изменившиеся поля свежести.
  5. Запустите нужный анализ, проверку утверждений или отчёт.
  6. Если результат будет использоваться как evidence, сохраните его с ревизиями Git и CPG.

Не удаляйте CPG первым действием при восстановлении. Блокировка базы может означать работу другого writer: сначала определите владельца и согласуйте обслуживание.

Поддерживаемый источник

src/cli/dogfood_suite/dogfood_commands.py определяет зарегистрированные подкоманды, параметры и управляемые переходы. src/cli/dogfood_suite/dogfood_common.py требует явного выбора базы. Реализация анализов находится в src/dogfooding/. При расхождении авторитетны текущий исходный код и справка CLI.