- Rename shadowed `max_retries` variable to `llm_max_retries` and move config resolution outside the loop; the old code captured `range(2)` then overwrote `max_retries` inside the loop, so comparisons used a different value than the loop bound — causing `continue` on the final iteration, exhausting the loop, and reaching `raise last_error` where `last_error` was still None → TypeError - Add fallback `raise RuntimeError(...)` after the retry loop so that if `last_error` is None a descriptive error is raised instead of None - Add unit tests covering non-dict JSON responses with various retry counts |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| bank_utils.py | ||
| chunk_storage.py | ||
| embedding_processing.py | ||
| embedding_utils.py | ||
| entity_labels.py | ||
| entity_processing.py | ||
| fact_extraction.py | ||
| fact_storage.py | ||
| link_creation.py | ||
| link_utils.py | ||
| orchestrator.py | ||
| types.py | ||