doctor сообщает ошибку
Что это
uv run raytsystem doctor проверяет окружение и канонические указатели проекта, ничего не меняя. Он собирает словарь проверок checks, вычисляет итог healthy = all(checks) и при healthy: false завершается с кодом 1. Эта страница объясняет, что означает каждая проверка и что делать, если она false.
Симптом
doctor печатает healthy: false (или отдельные строки checks, где значение false) и выходит с ненулевым кодом.
Как читать вывод
Запустите в машиночитаемом виде, чтобы удобно смотреть проверки:
uv run raytsystem doctor --json
В ответе есть project_root, active_generation, python, sqlite, блок code_graph, блок platform и словарь checks.
Проверки и что делать при false
-
root_exists— каталог проекта существует и является директорией. Еслиfalse, вы запускаете команду не из корня проекта; перейдите в корень или передайте--rootс корректным путём. -
config_exists— найденconfig/raytsystem.toml. Еслиfalse, конфигурация проекта отсутствует по ожидаемому пути. Убедитесь, что запуск идёт из корня проекта raytsystem. См. Установку. -
python_supported— Python версии3.12или новее. Еслиfalse, обновите интерпретатор; поддерживаемая версия описана в Требованиях. -
ledger_pointer_exists— существует указательledger/CURRENT. Еслиfalse, активное поколение канонического реестра не выбрано. Это ожидаемо для совсем пустого проекта; при необходимости соберите проекции документированной командойrebuild-index. Не редактируйтеledger/CURRENTвручную. -
generation_exists— файл поколенияledger/generations/<id>.json, на который указываетCURRENT, есть на диске. Еслиfalse, указатель ссылается на отсутствующий объект поколения. Не правьте объекты реестра руками — восстанавливайте состояние пересборкой. -
code_graph_current— присутствует только если в конфигурации есть секция графа кода. Проверка равнаtrue, когда состояние графаcurrent. Еслиfalse, граф не построен или устарел; разбор на странице Граф кода отсутствует или устарел. Полное состояние графа продублировано в блокеcode_graphтого же вывода. -
platform_health— платформенная самодиагностика;true, если состояние платформы неerrorи неdegraded.doctorне падает на повреждённом платформенном хранилище, а честно понижает состояние. Еслиfalse, смотрите блокplatformв выводе за подробностями.
Безопасная диагностика
Все проверки — только чтение. Дополнительно можно посмотреть состояние без создания баз и индексов:
uv run raytsystem status
uv run raytsystem graph status --json
Ожидаемый результат
После устранения причин doctor возвращает healthy: true и код выхода 0.
Ограничения и безопасность
doctorиstatusне мутируют состояние проекта.- Указатели и объекты реестра неизменяемы; их нельзя редактировать напрямую.
Частые ошибки
- Запуск не из корня проекта — тогда
root_exists/config_existsбудутfalse. - Попытка «починить»
ledger/CURRENTправкой файла вместо документированной пересборки.
Когда открыть issue
Если все входные условия выполнены (правильный корень, поддерживаемый Python, конфигурация на месте), но какая-то проверка стабильно false без внятной причины в блоках code_graph/platform, приложите к issue полный вывод raytsystem doctor --json.
Связанные страницы
Источники истины
src/raytsystem/cli.py