Zephr

Continuity / Memory

A memory that canbe cross-examined.

Most AI memory is a summary in a vector store: no source, no date, no way to tell whether it is still true. A Zephr memory is a bi-temporal belief — it knows what it rests on, when it was true, when it was recorded, and it says so plainly when it stops being either.

Shipped · core evidence graphADR-01256 test filesbi-temporal
The lifecycle

What happens to a claim between being said and being trusted.

A belief is not written once and read forever. It is anchored, revalidated against the code it cites, decayed when that code moves, revised when it is wrong, and withheld when nothing clears the bar.

  1. 01

    Explicit capture only

    A belief enters the graph because something handed it over — a session hook, a tool call, a human. Nothing is inferred from a transcript in the background (ADR-028).

  2. 02

    Bind it to real lines

    Every claim is anchored to paths, line ranges, commits, and content digests. An unanchored claim is an opinion, and Zephr records it as one.

  3. 03

    Watch the anchors, not the clock

    When a cited file changes, the anchor is reclassified — unchanged, moved, altered, or removed — before the belief is ever recalled again.

  4. 04

    Let confidence fall honestly

    Staleness decays confidence rather than deleting the record. A belief with rotting citations gets quieter; it does not silently keep its old certainty.

  5. 05

    Edit as revision

    An edit writes a new revision and supersedes the old one. The prior record stays readable, so "what did we think in November?" is answerable.

  6. 06

    Refuse rather than guess

    When nothing clears the confidence bar, recall returns a structured abstention naming what is missing — not a plausible sentence assembled from fragments.

The specimen

One memory card, opened up.

This is the shape of the record, not a picture of it. The provenance chain is what the claim rests on; the revision chain is everything it has been.

Belief blf_01HQ8M4T2R7XKC

A reviewed belief in its third revision. Its two earlier revisions are superseded, not deleted — they are still readable, still attributable, and still dated.

Memory · beliefVerified

Session tokens are validated in the edge middleware, never in route handlers.

Route handlers run after the response has already begun streaming in a few paths, so a rejection there leaks a partial 200 instead of a clean 401.

Scope
apps/web
Agent
Claude Code · sonnet
Valid from
2026-01-09T11:22:04Z
Valid until
open — still believed to be true
Recorded
2026-01-09T11:22:04Z
Confidence
High — reviewed, three concurring citations
Review
Verified
Provenance chainVerified

What the claim rests on

  • apps/web/src/middleware.ts

    L31–L58 · the validation call site

    sha256:a1f4…

  • docs/adr/ADR-009-scope-admission.md

    §4 · why validation is an edge concern

    sha256:77b2…

  • commit 8d13ba0

    moved validation out of the route handlers

    sha256:0e59…

3 of 3 anchors resolved
Revision chain

Everything this belief has been

  1. r12025-11-02T08:14:51ZUnreviewed

    First capture — "tokens are validated somewhere in the request path". Unreviewed.

  2. r22025-12-18T16:40:12ZStale

    Revalidation on change: middleware.ts moved, the anchor followed, the claim narrowed to the edge.

  3. r32026-01-09T11:22:04ZVerified

    Reviewed and pinned to the current lines. r1 and r2 remain readable and superseded.

edits supersede — they never overwrite

Illustrative example — not live data

What Memory owns

Beliefs, provenance, confidence, abstention.

Each capability below carries its own status. Three of them are designed and not yet built — they are listed because a capability list that hid them would be exactly the kind of confident blur this product exists to replace.

  • Bi-temporal beliefs

    Shipped

    Every belief carries both when it was true and when it was recorded, so a question can be asked as of a date rather than only as of now.

    core evidence graph · ADR-012

  • Provenance chains

    Shipped

    Sources, anchors, commits, and the authoring agent hang off each belief. "Why do you believe that?" is a traversal, not a re-derivation.

    anchors + provenance edges · ADR-012

  • Structured abstention

    Shipped

    Below the confidence bar, recall returns a typed abstention that names the gap. Abstention is a first-class result, not an empty array.

    honest-or-absent law · ADR-016

  • Revalidation on change

    Anchors shipped · full ref DAG in progress

    A changed file reclassifies every anchor pointing into it before the next recall, so a belief cannot quietly cite code that no longer says that.

    ref-aware substrate · ADR-029

  • Staleness decay

    Evolving

    Confidence falls as citations rot. The belief survives with a lower score and a visible reason, rather than being deleted or left overconfident.

    freshness migration shipped; scoring being tuned

  • Edit as revision

    Shipped

    Edits supersede rather than overwrite. Every prior revision stays readable and attributable, which is what makes an audit possible at all.

    revision chain in the object model · ZEP-263

  • Memory Packs

    Planned

    Curated, portable bundles of beliefs — a project onboarding pack, a subsystem pack — shareable without exporting the whole graph.

    designed in the Memory object model; not built

  • Team-shared memory

    Planned (managed cloud)

    One reviewed memory across a team, filtered by review state, with tenancy isolation adversarially tested before any external user exists.

    gated on the ADR-010 tenancy gate

See what a belief looks like from the inside.

Memory is the store every other cluster reads. The next thing worth understanding is how a belief survives leaving the tool that recorded it.