Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
No changes were recorded for this release.
Added
- Add the LegalBench-RAG benchmark (#62)
- Add the FinanceBench benchmark (#67)
- Add the GraphRAG-Bench benchmark (#66)
- Add the BEAM memory benchmark (#64)
- Shrink the Legal lite set to a quick check (#69)
- Add the HealthBench benchmark (#65)
- Use FastEmbed as the default dense embedder (#80)
- Store document hierarchy in the graph (#81)
- Add typed schema properties (#88)
- Add validated extraction settings and confidence levels (#90)
- Add schema hierarchy and relation rules (#92)
- Add a schema loader for dicts, label lists, JSON and YAML (#95)
- Add default schema and presets (#97)
- Export a schema as JSON Schema (#98)
- Export a schema as SHACL (#100)
- Import a schema from Pydantic classes (#101)
- Add JSON-LD schema export (#102)
- Import OWL schemas (#103)
- Add the candidate store and keep it out of every read path (#104)
- Load shipped schemas by name and accept any schema in Graph (#105)
- Store ancestor labels on entity nodes (#107)
- Read GLiNER output with confidence, parent labels and candidates (#109)
- Re-extract documents when the schema or settings change (#114)
- Escalate weak chunks to the LLM within a budget (#116)
- Ask the LLM for names and labels only and find spans in code (#119)
- Add document dates and refresh controls (#121)
- Capture extraction candidates (#123)
- Review and convert candidates (#124)
Changed
- Remove unused merge chain lookups (#70)
- Add one module for loading entities by id (#72)
- Move pending state behind the stores (#73)
- Resolve mentions in one module (#74)
- Split Graph by lifecycle stage (#75)
- Use one failure rule for retrieval (#76)
- Shorten node identity and merge alias labels (#86)
- Rename structural edges to HAS_PART (#87)
- Index the pending tag for commit and rollback (#110)
Fixed
- Replay job cleanup when resuming (#71)
- Protect credentials and settings loading (#89)
- Preserve undecided entity matches (#91)
- Retry graph transactions (#93)
- Reject schema names that collide with names the graph writes itself (#96)
- Protect committed jobs from rollback (#99)
- Guard match deactivation against pending edges (#106)
- Close gaps in the generated-Cypher gate (#108)
- Roll back an expired pending job before another job takes its document (#111)
- Validate the output of every extractor against the schema (#112)
- Defer job writes over committed rows to commit (#113)
- Keep concurrent jobs from losing a shared relation (#115)
- Resolve entities that concurrent adds create (#117)
- Write each document batch before extracting the next (#118)
- Cover the splitter in the chunker fingerprint (#120)
- Bound LLM requests and improve retries (#122)
- Cap selectolax below 1.0
Added
- Upgrade CI Milvus stack to v3.0 and pull MinIO from quay.io (#12)
- Add hierarchical community detection (#13)
- Isolate per-item failures in GraphStore bulk writes (#18)
- Track document identity and versioning in the graph (#19)
- Add candidate search and non-destructive entity resolution (#25)
- Add schema-aware research loop with flexible graph tools (#26)
- Resolve entity description conflicts via LLM (#27)
- Send neighbors and similarity to batched LLM verification (#28)
- Crash-safe graph mutation with non-destructive resolution (#29)
- Return the run ledger from agent
ainvoke(#33) - Add eval judge, median metric and CI evals (#34)
- Trace agent runs using OpenInference callback (#35)
- Add extraction quality evaluation (#37)
- Add answer quality evaluation (#38)
- Add entity resolution quality evaluation (#39)
- Add verifier calibration eval (#40)
- Per-sentence citation report and noise-tolerant answer gate (#42)
- Add agent trajectory evaluation (#43)
- Add per-document loader spans, retire traced decorator (#44)
- Trace the ingestion pipeline with OpenTelemetry spans (#46)
- Trace graph store, vector store and embedder with OpenTelemetry (#47)
- Trace every LLM call with per-request spans (#48)
- Add OpenTelemetry tracing to retrieval and agent tools (#50)
- Rework chunking with an explicit Chunker contract, rules and new strategies (#51)
- Add benchmark harness (#57)
Changed
Added
- Add .claude and expand AGENTS.md with agent rules (#1)
- Add ingestion layer with Graph.add and docling loaders (#3)
- Add entity extraction, resolution, and LLM clients (#4)
- Harden extraction and resolution against LLM edge cases (#6)
- Add embedder, vector store, and graph store backends (#5)
- Wire Graph.add pipeline with field-level merge and Graph.consolidate (#7)
- Add retrieval layer and agentic answering (#8)
No changes were recorded for this release.