Memory is not an evidence record.
A system can remember what it knows now and still be unable to prove what it knew when a consequential decision was made. RIAD-1 tests that missing boundary and shows which public product surfaces can actually produce it.
The result that matters
Only Lians exposes the complete decision-time evidence operation.
A perfect score on a benchmark we wrote would be weak evidence by itself. The useful result is the architectural comparison: when the same reconstruction contract is applied to the public OSS surfaces of Mem0, Graphiti, and Letta, the required operation is absent or incomplete.
Exports the exact decision-time evidence boundary with cited facts, provenance, a deterministic pack hash, an authenticated GenAI OTLP receipt, and audit-chain verification.
Its public OSS surface does not expose an as-of consequential-decision snapshot, a cited evidence pack, GenAI OTLP receipt, or payload hash-chain proof.
Bitemporal graph edges preserve useful history, but the public surface does not produce the complete cited decision boundary or the integrity and telemetry receipts RIAD-1 requires.
Passage search does not expose an as-of decision reconstruction operation or the associated evidence-pack and audit proofs.
The exam question
What evidence existed when this applicant received this outcome?
RIAD-1 models a credit-underwriting decision of the kind that may later need to support an ECOA adverse-action explanation. At decision time, verified income and debt-to-income evidence are known. A missed payment is learned later. A valid reconstruction must include the earlier evidence, exclude the later fact, and preserve the model, policy, reason codes, inputs, outputs, cited evidence, trace identifiers, and integrity proof tied to that decision.
That is a different product boundary from memory retrieval. Updating what an agent currently knows is useful. Preserving an immutable, non-sampled record of what the system knew and used at a legally significant moment serves a different buyer and carries a different liability profile.
What we executed
The proof is a reproducible artifact, not the headline score.
The exported snapshot contains the facts available before the decision and excludes the later missed payment.
The decision cites exact evidence IDs and exports provenance plus a deterministic SHA-256 pack hash. Deliberate audit-payload modification is detected.
An authenticated OTLP/HTTP endpoint accepts and retains the OpenTelemetry GenAI span used by the fixture. The fixture stores trace and span IDs explicitly; automatic trace-to-decision correlation is not claimed.
GitHub Actions reruns the benchmark and publishes commit-specific receipts. The current local SQLite latency is descriptive, not a production throughput claim.
What this does not prove
The limitations belong beside the score.
The fixture runs offline against ephemeral SQLite. Production Postgres throughput, concurrency, and durability require a separate benchmark.
The test proves application-level tamper evidence. Storage certification, retention controls, anchoring, and legal attestation are deployment concerns.
The fixture explicitly stores trace and span IDs in decision metadata. Automatic OTLP trace-to-decision linking is not claimed.
Exact output reproduction also depends on preserving provider behavior, model determinism, tool state, and artifacts not submitted to Lians.
New v2 audit rows hash canonical JSON payloads. Historical v1 rows remain verifiable but did not include the JSON payload in their hash.
Reproduce it
Read the code, then run the same test.
git clone https://github.com/Lians-ai/Lians && cd Lianspython agentmem/benchmarks/decision_reconstruction_eval.py