Blame, diff, bisect and test what your AI agents remembered. Faultline stores every fact with its source, its time, and the edges that corrected or contradicted it — so you can see why an answer changed.
01Design note records deploy_region = region-a
Memory stores overwrite or summarize. When the deploy region was corrected, nothing records that the old answer was ever believed.
A changed answer has no diff. You can't reconstruct what the agent knew, or which source moved it.
The next agent gets a confident summary. The unresolved on-call dispute silently disappears.
The toolkit
Every command is a graph query against FalkorDB. Click any line to run it on the live Project Atlas graph.
How the graph does the work
FalkorDB isn't a picture of the memory. It is the memory. As-of retrieval needs the SUPPORTED_BY edge, and status comes from SUPERSEDES and CONFLICTS_WITH edges visible at the cutoff.
MATCH (a:Assertion)-[:ABOUT]->(e:Entity)WHERE a.observed_at <= $as_ofMATCH (a)-[:SUPPORTED_BY]->(s:Source)RETURN a.id, a.value, s.id, s.trust_tier,[(a)-[:SUPERSEDES]->(old) | old.id] AS supersedes,[(new)-[:SUPERSEDES]->(a) | new.id] AS superseded_by,[(a)-[:CONFLICTS_WITH]-(other) | other.id] AS conflicts
Benchmark
Early region, late region, and on-call owner, asked against the seeded graph with the deterministic answerer.
0/3
correct
1/3
correct
3/3
correct
Three synthetic questions on one seeded project (26 nodes, 49 edges). This shows the mechanism, not a general advantage over other memory systems. Reproduce with make bench.
Scrub through Project Atlas, replay a question across snapshots, and hand the task to another agent with the dispute intact.