Home / Blog / RIAD-1

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.

2026-07-25 · Lians · reproducible comparison · Standing CI and commit receipts ↗

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.

LiansPASS · executed end-to-end

Exports the exact decision-time evidence boundary with cited facts, provenance, a deterministic pack hash, an authenticated GenAI OTLP receipt, and audit-chain verification.

Mem0 OSSN/A · operation not exposed

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.

Graphiti OSSPARTIAL · historical graph state

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.

LettaN/A · operation not exposed

Passage search does not expose an as-of decision reconstruction operation or the associated evidence-pack and audit proofs.

N/A is not presented as a failed live call. It means the public product surface does not expose the operation the contract requires. Inspect every cell and source ↗

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.

RIAD-1 is an engineering benchmark, not legal advice or a claim that any deployment is compliant with ECOA.

What we executed

The proof is a reproducible artifact, not the headline score.

Decision-time reconstruction

The exported snapshot contains the facts available before the decision and excludes the later missed payment.

Evidence and integrity

The decision cites exact evidence IDs and exports provenance plus a deterministic SHA-256 pack hash. Deliberate audit-payload modification is detected.

OpenTelemetry ingestion

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.

Standing receipt

GitHub Actions reruns the benchmark and publishes commit-specific receipts. The current local SQLite latency is descriptive, not a production throughput claim.

View standing CI ↗ · Read the machine receipt ↗

What this does not prove

The limitations belong beside the score.

Not a production load test

The fixture runs offline against ephemeral SQLite. Production Postgres throughput, concurrency, and durability require a separate benchmark.

Not certified WORM or legal attestation

The test proves application-level tamper evidence. Storage certification, retention controls, anchoring, and legal attestation are deployment concerns.

Not automatic trace correlation

The fixture explicitly stores trace and span IDs in decision metadata. Automatic OTLP trace-to-decision linking is not claimed.

Not universal model-output replay

Exact output reproduction also depends on preserving provider behavior, model determinism, tool state, and artifacts not submitted to Lians.

Versioned integrity boundary

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.

Clonegit clone https://github.com/Lians-ai/Lians && cd Lians
Runpython agentmem/benchmarks/decision_reconstruction_eval.py

Benchmark source ↗ · Regression test ↗ · Bring us a decision workflow →

Make one consequential decision reconstructable.

Explore a design partnership →