Коды ошибок
Справочник кодов ошибок engram
Каждая ошибка в engram имеет числовой код. Первая цифра определяет подсистему.
| Код | Имя | Описание |
|---|
| 1000 | Storage | Общая ошибка хранилища |
| 1001 | DatabaseUnavailable | База данных недоступна или соединение разорвано |
| 1002 | NotFound | Запись не найдена по указанному ID |
| 1003 | DuplicateKey | Попытка создать запись с существующим ID |
| 1004 | MigrationRequired | Требуется миграция схемы базы данных |
| Код | Имя | Описание |
|---|
| 2000 | Api | Общая ошибка API |
| 2001 | EmbeddingApiUnavailable | API эмбеддингов недоступен (сеть, сервер) |
| 2002 | LlmApiUnavailable | API LLM недоступен |
| 2003 | RateLimitExceeded | Превышен лимит запросов к API |
| 2004 | InvalidApiKey | Невалидный API-ключ |
| 2005 | HyDeGenerationFailed | Не удалось сгенерировать HyDE-гипотезу |
| 2006 | LocalModelLoadFailed | Не удалось загрузить локальную ONNX-модель |
| 2007 | LocalInferenceFailed | Ошибка при локальном inference (NaN/Inf в logits) |
Ошибки 2001, 2002, 2003 являются retryable.
| Код | Имя | Описание |
|---|
| 3000 | Hnsw | Общая ошибка HNSW |
| 3001 | IndexCorrupted | Индекс поврежден |
| 3002 | DimensionMismatch | Размерность вектора не совпадает с индексом |
| 3003 | RebuildRequired | Индекс требует перестройки |
| Код | Имя | Описание |
|---|
| 4000 | InvalidJson | Невалидный JSON в запросе |
| Код | Имя | Описание |
|---|
| 5000 | Consolidation | Общая ошибка консолидации |
| 5001 | NoCandidates | Кандидаты для консолидации не найдены |
| 5002 | IndexStale | Индекс устарел, требуется перестройка |
| 5003 | InvalidMergeParams | Невалидные параметры merge |
| 5004 | AnalysisFailed | LLM-анализ не удался |
| 5005 | ApplyFailed | Применение рекомендаций не удалось |
| Код | Имя | Описание |
|---|
| 6001 | ConfigNotFound | Файл конфигурации не найден |
| 6002 | ConfigParseError | Ошибка парсинга конфигурации (невалидный TOML) |
| 6003 | InvalidProvider | Неподдерживаемый или неправильно настроенный провайдер |
| 6004 | IndexCorrupted | HNSW-индекс поврежден на уровне core |
| 6005 | RebuildFailed | Перестройка индекса не удалась |
| 6006 | SocketError | Ошибка Unix-сокета (bind, read, write) |
| 6007 | DispatchError | Ошибка маршрутизации запроса (неизвестный метод, невалидные параметры) |
| 6008 | ConfigReadOnly | Попытка записи конфигурации через API (запрещена) |
| 6009 | ExportFailed | Ошибка экспорта базы данных |
| 6010 | ImportVersionMismatch | Версия формата импорта не совпадает (ожидается 1) |
| 6011 | ImportFailed | Ошибка импорта записей |
| 6012 | InitFailed | Ошибка инициализации |
| 6013 | TrainerFailed | Trainer не найден или завершился с ошибкой |
| 6014 | TrainerTimeout | Trainer превысил таймаут (по умолчанию 300 сек) |
| 6015 | TrainerMalformedOutput | Невалидный JSON в выводе trainer |
При ошибках API (2001-2003) система переходит в degraded mode. Ответы в этом режиме содержат флаг degraded: true. Поиск переключается на FTS5-only, scoring использует heuristics вместо LLM.