Repository navigation
v1.6.0 — Parallel Ingestion, Auto-Recovery & Large Book Support
What's New
Parallel Chapter Summarization
- Stage 4 (chapter summarization) now runs in parallel using asyncio with a configurable semaphore
- Default concurrency: 10 simultaneous LLM calls
- Configurable via
AGENTLIB_CONCURRENCYenv var - ~10x faster ingestion for large books (e.g., 1134 chapters: ~5 min instead of ~50 min)
Batched Concept Extraction
extract_concepts()now processes chapters in batches of 50 instead of sending all chapter summaries in one LLM call- Prevents context window overflow on large books (previously crashed on books with 1000+ chapters)
- Concepts deduplicated across batches (normalized keys, merged locations and aliases)
- Global cap of 50 concepts per book, ranked by coverage breadth
Auto-Recovery
- Partial manifest saved after stage 4 (chapter summaries with empty concept index)
- On re-run after a stage 5 failure, stages 1-4 are skipped automatically — only concept extraction re-runs
- Stage 5 retries up to 3 times with 30-second delay on API failures (rate limits, overloaded errors)
- Retry scope includes
RuntimeError,TypeError,AttributeError, andValueErrorto handle malformed LLM output
Hero Animation
- README now features a looping GIF demo of AgentLib in action
- Navigation diagram redesigned as horizontal Mermaid flowchart
Bug Fixes
AGENTLIB_CONCURRENCYvalidated: clamped to min 1, fallback to 10 on invalid input- Stage 5 skip detection uses catalog entry (not dict truthiness) to correctly handle empty concept indexes
- Non-dict LLM responses now raise
RuntimeErrorwith clear message instead of silent failures - Server tests no longer fail when
fastmcpdependency is missing
Documentation
- README updated with: content-aware chunking, PDF table/image extraction, parallel ingestion, auto-recovery,
AGENTLIB_CONCURRENCYenv var
Testing
- 98 tests passing (up from 92)
- New tests for: batched concept extraction, deduplication, concept cap, async summarization, semaphore concurrency, parallel timing
Full Changelog: v1.5.0...v1.6.0