Collaborative
Episodic Memory
The next frontier of human–AI work
We taught machines to reason with us. We never taught them to remember with us. Thinking together happens turn by turn — a claim, a pushback, a correction, a dead end — and that sequence dies with the window.
The frontier isn't a bigger context window. It's memory that is episodic — formed in turns — and collaborative: shared across your own sessions, and across the people thinking alongside you.
An episode is a sequence of turns
Not a document. Not a summary. A lived exchange — and only a few moments in it carry any weight later.
The six kinds of claim
worth keeping
Everything durable an episode leaves behind falls into one of these. They are not equally valuable.
Why memory has to leave
the session it was made in
It's a log. Memory only becomes memory when it can cross three boundaries.
Portability is not a convenience.
It is the precondition for the next three things.
Reconciling you
with your earlier self
Across sessions, one person is not one voice. August-you and October-you are two vantage points — and they don't always agree.
From divergent
to convergent
Three people ran three sessions on the same question. The point isn't to pick a winner — it's to see what survives contact with other minds.
Distillation —
many episodes, one gist
Human memory doesn't replay. It consolidates: strip the episode down to what generalises, keep a pointer back to where it came from.
What the next session
starts with
That third column is the one
no summary ever gives you.
The seven stages that turn
episodes into a scored brief
Everything above is the idea. This is the arithmetic — a deterministic seven-stage pipeline, borrowed stage-for-stage from how human memory consolidates, with one stage deliberately refused.
Tulving
/ completion
neocortical
Bartlett
Brainerd & Reyna
refused
decay
Scoring each claim by its type and its age
| Item type | Weight | Why |
|---|---|---|
| correction | 1.60 | a human override — free supervision, the highest-value signal in the corpus |
| decision | 1.40 | settled outcomes |
| constraint | 1.30 | hard rules |
| preference | 1.20 | working style |
| dead end | 1.15 | already tried, failed |
| fact | 1.00 | baseline |
| question | 0.90 | unresolved |
Extraction is tuned for recall — it over-collects, and later stages suppress the noise. Anything that fails a prose test (markup, path soup, template headers) never enters.
Deciding when two claims say the same thing
This stage decides what every later stage can even see. It's also where the method nearly failed.
↕ no shared vocabulary → no edge
“confidence must survive the boundary”
↕ cosine 0.83 → edge
“raise prices” and
“do NOT raise prices” embed at 0.905 — closer than a true paraphrase.
So overlap is semantic and conflict detection stays lexical, on purpose.
The hybrid is forced by the problem, not a hedge.Ranking claims by how many episodes and people back them
Personalised PageRank over the similarity graph — teleport mass is item salience. This is the core of the whole engine.
| Edge spans | reach | Meaning |
|---|---|---|
| different owners | 1.75 | two people arrived at it independently |
| same owner, different episodes | 1.25 | you returned to it later |
| same episode | 1.00 | restating it in the moment |
Grouping linked claims into themes, and scoring each theme
Two guards, in order. (1) Mutual k-NN — an edge survives only if each endpoint is among the other's 10 strongest neighbours. (2) Average linkage — two groups merge only when their mean cross-similarity clears the bar, so one bridging item can't fuse unrelated themes.
| Tier | Condition | Reading |
|---|---|---|
| corroborated | ≥ 2 owners | independently reached — the strongest claim a corpus can make |
| recurrent | 1 owner · ≥ 2 episodes | it held across time |
| isolated | 1 episode | said once |
Citations guarantee at least one item per owner — a theme labelled “corroborated by 3 people” whose evidence all traces to one of them is not auditable.
Choosing one claim to represent a theme — and flagging the ones that contradict
Letting old claims fade out of the brief, without deleting them
Only 16% of extracted items
were written by a human
The similarity threshold has to be set per corpus
| Similarity floor | Value | Result |
|---|---|---|
| “unrelated” during calibration | 0.71 | cross-domain distractors |
| median pair in a real corpus | 0.7529 | a collection is topically homogeneous by construction |
| fixed 0.80 floor on real data | p90 | 840 edges — a hairball |
| median + 3σ | 0.862 | what actually worked |
A fixed threshold cannot be right for both a tight single-topic corpus and a broad one. Set it relative to the corpus's own distribution.
What to fix first, in order of impact
Swapping the model is the visible change. Filtering the input is what worked.