Skip to content

[bug] knowledge_reindex_source: отказ бэкенда эмбеддингов уходит в skipped, errors пуст (перенос FMT#349) #3

Description

@TserenTserenov

Перенос из трекера шаблона: TserenTserenov/FMT-exocortex-template#349

Дефект в knowledge_reindex_source этого сервиса; в трекере шаблона заявка закрыта как «маршрутизация завершена».

Суть

При недоступном бэкенде эмбеддингов (исчерпан лимит ключа) переиндексация возвращает форму успеха: {"processed": 0, "deleted": 0, "skipped": 3, "errors": []}. Вызывающий не может отличить «всё уже свежее» от «ничего не удалось».

Воспроизведение (IWE 0.36.3, 03.08.2026)

  1. В ailev/FPF три новых коммита, FPF-Spec.md изменён существенно (8669 вставок / 6854 удаления).
  2. knowledge_reindex_source(source="FPF", dry_run=true)files_found: 3 (включая FPF-Spec.md).
  3. knowledge_reindex_source(source="FPF")processed: 0, skipped: 3, errors: []. Повтор — то же.
  4. knowledge_search(query=..., source="FPF")Backend error: OpenAI Embeddings error: 403 Key limit exceeded (total limit) — бэкенд физически недоступен.

Внутри одного сервера два поведения на одну причину: knowledge_search честно падает, knowledge_reindex_source молчит.

Предполагаемая причина

skipped — общая корзина для «файл не изменился» и «обработать не удалось»; отказ эмбеддингов учитывается как пропуск, errors пуст.

Критерий закрытия

При отказе бэкенда эмбеддингов knowledge_reindex_source либо возвращает непустой errors с причиной, либо падает целиком (как knowledge_search на том же условии); ветка отказа закрыта тестом. Общий инвариант: «проверить не удалось» ≠ «всё хорошо» (тот же класс, что FMT#340).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions