mnemo-graph 0.4.0-rc2

Bitemporal graph layer for Mnemo — Graphiti-style temporal edges over the existing storage backends.
Documentation

Bitemporal graph layer for Mnemo.

Inspired by Graphiti (repo, paper). The model is the same: every edge carries valid_from / valid_to (when the fact is true in the world) plus recorded_at (when the system saw it), so historical queries can ask "what did we believe at time T?" without losing later corrections.

valid_from              valid_to (None = still true)
    ^                       ^
    |   fact validity       |
    +-----------------------+
    |
    +-- recorded_at (when we wrote the row)

Today this crate ships:

  1. The [TemporalEdge] type and a [GraphStore] async trait.
  2. A DuckDB-backed [DuckGraphStore] that creates graph_nodes and graph_edges tables on first use and supports the round-trip
    • bitemporal as_of walk needed by retrieval.
  3. [graph_expand] — bounded BFS that respects as_of filtering and a maximum depth.

The LLM-driven [TemporalEdge::extract] path is feature-gated under graph-extract and currently returns an empty Vec. A real extractor lands in v0.4.0 final once the prompt + ICL examples are tuned.