Skip to main content
Version: 0.0.5 (stable)

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

Fixed​

  • Silence Neo4j warnings, stabilize imports and safety guards (#59)

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​

  • Move StageFailure to common/data_models, fix loaders/ingestion cycle (#45)
  • Move rule files into project skills (#49)

Fixed​

  • Synthesize SimpleAgent answers with the LLM (#30)

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.