Evidence before belief
The strongest systems preserve the raw event, message, or document before compressing it into a durable claim. Without evidence, correction becomes guesswork.
Read the design patternA field guide to agent memory
A code-grounded atlas of how open-source memory systems capture, store, retrieve, correct, forget, and trust the context that shapes an agent.
Every analysis is pinned to an exact Git commit, so claims stay auditable as repositories evolve.
The central finding
The strongest systems preserve the raw event, message, or document before compressing it into a durable claim. Without evidence, correction becomes guesswork.
Read the design patternA beautifully ranked memory from the wrong user, project, or agent is still a serious failure.
Update APIs are not enough. Serious memory needs contradiction, supersession, rejected values, and deletion that reaches every derived artifact.
The pattern library
Reusable patterns distilled from the implementation evidence: when they work, where they fail, what to test — and, for the ones only one or two systems implement, that the atlas is arguing rather than reporting.
Keep negative memory so a known-wrong value cannot quietly return through extraction.
Explore pattern → 02 ProvenancePersist the source event before deriving the compact claim that shapes agent behavior.
Explore pattern → 03 RetrievalCombine semantic recall, exact matching, metadata, and bounded reranking.
Explore pattern → 04 BoundariesMake ownership part of identity and access before relevance is ever scored.
Explore pattern →Ten minutes, three ways in
Pick the stack from the failure you cannot tolerate, build in an order where each stage stands alone, verify with twenty named tests that each say what a pass does not prove.
The paved path Choosing between systemsEvery reviewed system against the seven capabilities, filterable, with a link straight to the analysis.
Capability index Studying the fieldInclusion rule, the five divergences that matter, the lifecycle comparison, and commit-pinned evidence for all of it.
Comparative reportThe repository atlas
01Pragmatic extraction, pluggable stores, hybrid retrieval, and a clean SDK surface.
02Small, framework-native tools for managing structured memory and background reflection.
03Message streams become peer-centric observations and a compact working representation.
04A compact SQLite and FTS5 memory with purposeful MCP tools and conflict-oriented writes.
05Original text stays authoritative; extracted indexes guide retrieval without hiding evidence.
06A tiny local hybrid retriever that now supersedes facts instead of deleting them — and re-asserts them the moment a new session mentions them again.
07Inspectable Markdown memory with recoverable capture, explicit targets, and operational depth.
08Claims and evidence meet governed writes, rejected tombstones, review UI, and retrieval telemetry. The atlas author's own project — read as a self-assessment.
09Core, archival, and conversation memory are first-class parts of the running agent.
10A polished public surface around documents, chunks, spaces, profiles, SDKs, and MCP.
11Memory is an epistemic problem: candidate, verified, rejected, corroborated, and defensively recalled.
12Source-backed facts and observations meet semantic, lexical, graph, and temporal recall.
13Episodes become a bi-temporal entity graph that preserves changing facts and history.
14Messages become dated observations, beside a scoped knowledge graph whose records carry a stamped ceiling on how widely they may ever be shared.
15Mountable cubes span textual, preference, skill, KV-cache, and parametric memory.
16Human-editable notes stay authoritative while graph and hybrid-search indexes remain rebuildable.
17Cheap lifecycle capture meets compact-first BM25, vector, and graph recall.
18Four services behind a reverse proxy, isolating every layer on a team, user, agent and task key.
19Source-preserving pipelines build ontology-aware graph, vector, summary, and session memory.
20A durable hook queue feeds structured observations and bounded project timelines across sessions.
21An LLM links new notes and revises nearby metadata in a compact Zettelkasten-inspired prototype.
22Facts become holographic phase vectors, so entities can be queried algebraically instead of by keyword.
23Hard-capped Markdown memory frozen into the prompt at session start to keep the cache warm.
24Memory, resources, and skills share one filesystem hierarchy with three retrievable granularities.
25TTL-scoped working memory promotes into deduplicated long-term memory with a real retention policy.
26A deterministic guard counts what an LLM rewrite would delete, then merges the loss back in.
27A nightly consolidation pass rewrites durable memory, and what survives it is decided by twenty-one English keyword regexes.
28Seeds a knowledge graph with query entities and lets PageRank diffuse relevance instead of planning hops.
29Memory is a library of executable skills, written only once the environment confirms they worked.
30The observation, reflection, and planning stream whose importance-recency-relevance score everything else still echoes.
31Maps each memory to the files it describes and re-verifies it when git says those files changed.
32A branchable JSONL session tree with deterministic compaction manifests — and no memory contract at all.
33Replays past turns against candidate retrieval policies and promotes one only when it beats the incumbent.
34An append-only summary archive with separate write and consume cursors, and a Dream pass that won't advance after tool errors.
35Conversations become dated daily files, then a nightly Deep Dream distils them into a ~30-entry MEMORY.md.
36Four layers governed by written axioms — nothing enters memory that did not come from a successful tool call.
37Ships a memory benchmark that asserts what recall must not surface, not just what it must.
38A local rebuild of the Hindsight model with bi-temporal units, rejected and conflicted states, and decisions kept as ADRs.
39Markdown chunked, embedded, and hybrid-searched, with sanitized session transcripts fed back into the corpus.
40Grades every memory on confidence, importance, and durability, with a subconscious tier and a learning pause switch.
41One token budget split between chat history and pluggable memory blocks that each truncate themselves.
42Numbered invariants cited from the schema and append-only vote events — over three timestamp columns that always hold the same number, and a project boundary the model can switch off.
43A provider contract that carries the owner key on every call, a recall query that filters personal facts by owner, and isolation tests that assert what a populated search must not return.
44A small model decides whether to retrieve at all, because irrelevant memory bends the answer. The agent and a person can both correct a stored fact — and the next consolidation pass can put it back.
45The supersession sweep defaults to a dry run, and the retrieval argument that decides whether corrected memories come back defaults to the safe answer — unfiltered is a string you have to type.
46The only memory here that samples instead of ranking — temperature set by how varied the store has become.
47How a record is known sets a ceiling on how trusted it can ever become, so use alone cannot make a guess canonical.
48The only conflict pipeline here that ends in a decision — including "both are true" and a human-written reconciliation.
49A restricted key declares the access it wants per space and path, and the engine hands back only the intersection with what its holder already has — so over-declaring clamps down instead of escalating.
50A handoff that expires, addressed between harnesses, carrying the open questions rather than the conclusions.
51The background pass may only write where it is sanctioned to, and the tests include a corruption corpus from a published paper.
52860 lines, a log the code never edits, and detail that decays with age by geometry instead of policy.
53Immutable frames in one file, so a fact can be read as of last March and a whole session can be replayed.
54The tiered architecture at its most legible — and its promotion score cannot tell importance from verbosity.
55Ranks the slice and returns the file, and writes down why each schema decision was made.
56A small scoped SQLite memory where every write is announced with an undo, and a human-authored rules block outranks anything the agent learned.
57Shared memory distributed by git pull, with secret-bearing writes refused even when the tier is switched off.
58The two hooks a memory plugin needs, both experimental, and no memory contract — so plugins read the database instead.
59ACT-R activation and the Ebbinghaus curve, with the score components of every retrieval stored on the record.
60A third tier that records how the agent reasoned — and stores the failures, because the control flow catches them.
61A demo that measures itself more than most production systems here — a recall eval matched on id, plus a stress test.
62Sandboxes other agents and snapshots their memory — credentials get scrubbed on backup, memory does not.
63Every memory is marked verbatim or inferred — and the quote is grepped against the transcript before the label sticks.
64Six memory types, six writer agents, and the atlas's third test asserting a memory must not come back — reached through access control, not memory research.
65The smallest useful description of a user — five sentences a subtopic, a token-budgeted context block, and the transcript deleted once it has been read.
66Forty lines of reinforcement by frequency — and the one line that reads the counts sorts ascending, so the rarest entities are the ones injected.
67Every fact names the conversations that produced it — and the dedupe key strips all non-ASCII, so facts in other scripts collapse into one row.
68Committed per-category benchmark tables including a 26.7% and a 0.100 — plus CREATE/CORROBORATE/REFINE/CORRECT as a validated verb set.
69Promote, archive, forget and reinforce as four separate decisions — evaluated during search, so reading a memory changes it.
70Watches your screen and writes down what it decides you promised — prospective memory inferred from what it saw rather than stated.
71Nothing is learned until a task reaches success or failed — and three committed tests assert that a running task writes nothing.
72Documents to a versioned biography to LoRA weights — the atlas's only memory that is weights, and the only place deleting a memory cannot reach the belief.
73A proposed skill waits on disk beside the live one, carrying its rationale and sources — but say no and nothing remembers you did.
74Keeps every raw episode and cites it from each derived fact — then acknowledges a session deletion it has only queued.
75The relay holding your agent's memory cannot read it, and cannot tell which memory it is holding — but it throws away every version it replaces.
76The only store here whose memory schema belongs to the user — and the agent writes into it live, unmarked, with no way to delete what it got wrong.
77Every synced memory still carries a fail-closed provenance taint, but since the subconscious engine was removed, the only thing it changes is whether auto-recall fences a note as untrusted.
78Requires the user scope on every call and offers no way to delete — while the sibling session service deletes fine.
79Forgetting erases the plaintext and keeps the chain provable — then the next write never checks what was forgotten.
80A memory has no id, so the only deletion the protocol can express is wiping the whole store.
81Dormant since 2024, and its interface still says "delete that one" — which neither 2026 framework contract can.
82Four scope keys pinned on one shared read path and proved disjoint end to end — while a deprecated fact stays re-derivable from the file that made it.
83Trust is an enum with one value, and the schema says why — while a rejected status is filtered on read and set by nothing.
84The bin icon confirms, computes the deletion, throws it away, and tells you to ask in chat — where no forget verb exists.
85Agreement and disagreement decay separately, a test proves a disputed memory never feeds back, and a second trust axis weighs who said it — with tests that the model cannot forge either.
86Keyword-triggered entries a person authors, with sticky, cooldown and delay making activation a timed state machine — and negative keys saying when not to fire.
87A summarizer rewritten twice in three years, with every generation still in the tree — and each one fixing a failure the last one had in production.
88A model rewrites the whole memory every four messages, and four guards stop that from destroying it — then a de-duplication step reassigns the filename two of those guards just checked.
89Inverse document frequency, corpus-derived stopwords and length normalisation, written from scratch in while loops — plus a guard against the character's own words steering its recall.
90The Generative Agents retrieval function, ported faithfully except for the normalisation — so a 1-to-10 importance score outranks relevance and recency by construction.
91A first observation is capped at 0.7 and can only climb on independent repeats — then the recalled facts reach the model as (kind) key: value under "never contradict them", with the number stripped off.
92Six learning stores behind one machine, with fact supersession decided by a judged verdict against a configurable threshold — and a PROPOSE mode whose human approval is a sentence in the system prompt that the save_learning tool never checks.
optimize_memories collapses every memory into one, apply=True by default93Memory units that resolve their own pronouns and absolutise their own timestamps at write — stored in an add-only index whose single removal verb is clear(), beside a second subsystem holding the scope key and audit trail the first one lacks.
94Four tools over a Markdown notebook, with a scope key the model can neither name nor see — resolved from run context, absent from every tool signature and from the injected block — and three call sites that raise if the backend returns a path outside it.
95A three-part memory contract whose unit is the message rather than the fact — where every record carries an agent_id that no read path consults, and isolation comes from remembering to give each agent its own storage object.
96AutoGen's successor swaps a five-method Memory protocol for a two-method ContextProvider that declares neither deletion nor scope — beside a harness memory whose owner id is mandatory, traversal-checked, and asserted to stay inside its base path.
97Memory as a filesystem — records at /company/team/user, views rooted at a subtree, and a committed test that a rooted view cannot recall its sibling's records — with a consolidation plan that lets a model delete what it decides is superseded.
98Durable memory is a SQLite file the agent designs and queries itself, sandboxed by a sqlite3 authorizer — and the eight tables the platform mounts into it are all dropped before saving, with each one's mortality written into the schema prompt the model reads.
99551 lines of SQL carrying real validity-versus-record time, three-lane RRF recall, and an updated_at trigger that refuses to fire on a read — with the per-user row-level security shipped commented out.
100A Korean-documented actor simulation that stores the four components of its importance score so the coefficients can be tuned by replay — and expires only the semantic index, never the episodic original.
[], so amnesia looks like a quiet world101The only memory contract in the atlas that can decline a query, shed load, miss a deadline and roll back its own writes — with a saga journal that lives in a process dictionary.
102Extracted memories land as pending_approval and reach no prompt until a person presses a key — approve, reject, edit, skip or defer — with build_context reading only what was approved.
103One MEMORY.md per project, kept out of git so it is private to your checkout — maintained by a single remember/forget tool and rendered as a context item where every dated fact has its own delete control.
forget matches by substring and returns no receipt104A .NET build of the Mem0 architecture — formerly Mem0Sharp — that keeps an event time beside every record time, writes a history entry for every mutation and replays robot evidence by capture time into beliefs that say when to look again, while the durable history collection is written and never read back and rollback is the one mutation the history omits.
105Every agent turn is a commit and every session is a branch, so history is inspectable, forkable and replayable — with the retrieval index built as a projection the code rebuilds from the log.
106A codebase fact written without a provenance citation is recalled with an [unverified] marker in the text the model reads — and superseding it without fresh evidence carries the old citation forward with a staleness warning.
107A secret-classified hit needs a supervisor decision and then a human yes before it is returned — the only read gate in the atlas — beside a second, complete privacy policy that is exported and called by nothing.
108Fourteen memory types, each with its own Weibull shape and scale, recalled by four scored voices — and a provenance weight that trusts an unattributed memory more than one it knows came from a tool.
unknown: 0.8 outranks tool: 0.5109When two decisions share a topic but the evidence will not say which replaced which, both are marked CONTESTED and stay visible — and a ground-truth suite asserts what fraction of a session's decisions the extractor actually recovers.
110A Markdown memory in Rust whose global note deliberately follows the agent across projects while scratchpad, notes and daily logs are scoped by slug — with atomic writes and a one-version backup the search cannot see.
111Purge deletes from the row store, the vector index and the lexical index together — and the deletion is provable afterwards by an Ed25519 receipt anchored to a Merkle root over an append-only event log.
112Forty-six tables behind an OpenCode plugin, with no language model anywhere on the write path — and a table recording every candidate that nearly reached the context window, with the budget line that killed it.
113An agent records how each answer turned out; a deterministic pass withholds the lesson until a second result corroborates it, and re-hashes the source file on every read to mark it stale.
114Key-addressed lessons in Postgres behind row-level security, with an append-only audit log that records every mutation — and preserves none of the values it overwrote.
115Every lesson is untrusted until two distinct agent-session pairs corroborate it — a tier that costs score, carries a badge into the prompt, and halves the age-out. The identity that made it unreachable is now wired, and a session restart counts as a second source.
116A Postgres trigger derives the retrieval index from each memory's own content, and a GIN overlap ranks on it — no embedding anywhere on the path, in a platform that already runs pgvector elsewhere.
117Ranking signals taken from the codebase — file affinity, git co-change neighbours, dependency blast radius — fused with a deterministic embedder that needs no model and no network.
118A five-method memory contract that includes update and delete by id — the two most frameworks omit — and no search at all, because a person pins what should be in the prompt.
119Thirty-three lines that remember which proposals the owner rejected and tell the agent to avoid them — the shape this atlas keeps asking for, three entries deep.
120A single 200-line plain-text brief per project directory, rewritten whole by a model on a debounce keyed to the directory rather than the session, so two sessions cannot race — a subsystem the project has since deleted in a rewrite, read here at the commit where it exists.
121An entry can be sealed at record time with a delivery date — outside transcription, indexing and the timeline until it arrives, then it enters the pipeline as if just recorded.
122Rejecting a candidate can write a suppression keyed on its canonical label, and four checks in the write gate refuse anything matching — the fourth working tombstone in this atlas.
123Every hub write is signed, and the client refuses to file a memory under any owner but the address that signature recovers to — behind a retrieval filter that reads a distance as a similarity.
124A delete that cannot be written to the write-ahead log does not happen — the only audit in this atlas that is a precondition rather than a receipt. It also committed the benchmark showing it losing to its own prior art.
125The only hash-chained audit here — deletion shows as a sequence gap, insertion as a broken link, and sixteen tests prove it. The belief machine that would use it lives in a dictionary that empties on restart.
126The citation rule and the contradiction stop are sentences addressed to the model with no code path behind them; what has code is a page lifecycle of draft, active, stale and quarantine that the model can set and no search consults, and a confidence floor on an unranked substring scan.
127A human correction can block the model outright — and a rule that keeps firing without being heeded is demoted out of its own veto by its measured precision. The only authority here that evidence can take away.
128Every event names the hash of the policy that produced it, and a derived one must name its sources — enforced by a validator. Then the dedup lookup skips deleted records, so the fact you deleted comes back.
129Standing prohibitions live in a tier that is always loaded rather than retrieved, capped by a lint rule. The package is a linter and a scaffolder — and the three lint rules deferred to v0.2 are the epistemic ones.
130When the consolidator decides two similar skills should stay separate, it stores the pair, the reasoning and the similarity — and the detector checks that before ever asking again. The only recorded "no" here that is consulted.
131Four memory backends behind one three-tier contract that replaced hasattr probing with defaulted hooks, and ships a no-op template to copy. Every backend must return the default one's shape, and unknown fields vanish silently.
132Hooks into four coding CLIs capture commits, commands and errors without a model deciding what mattered — and the table records whether each fix worked. Both recall paths sort on that flag instead of filtering it.
133A query anchors on the finest node it can find and spreads over typed edges where every hop adds cost, so only coherent cheap paths compete. Three modules each put a zero-cost check in front of a model call.
134Forgetting has two speeds and two kinds of delete: a correction keeps the rejected claim’s embedding so the same wrong fact is caught coming back, and a secret purge rebuilds the store so it is genuinely gone.
135Every memory gets a mass, a charge and a temperature — and the tenant boundary is enforced in the query, then deliberately dropped for consolidation behind a loopback gate.
136Every memory records which write path created it, and a write is refused unless the actor outranks its target — so a model-inferred claim cannot overwrite one the user stated.
137Seven memory types split across two SQLite tables, five Chroma collections and an optional Neo4j graph — a legible taxonomy over three storage engines, ranked by a constant per store rather than by what the search returned.
138A memory row starts in a candidate state and earns its way up, carrying a ledger of whether each retrieval was used or ignored.
139An anti-pattern table holding the reason something was wrong and the better alternative — consulted before a write, on the one path the extractor, the miner and the consolidation pass do not use.
140Engrams reached by the cue words indexed against them, in a spreading-activation network — with each role holding its own database file.
141A hand-built concept graph with provenance on every edge, written only after the user answers "may I remember that?" — and a refusal keyed on the sentence itself, which the write path tests first and only a person can lift, out loud, on the record.
142Its committed benchmark reproduces exactly — the corpus's cleanest checkable number. A rejected candidate writes a durable value-keyed suppression the write path obeys; automatic supersession writes none, so repetition wins on the path an extractor takes.
143A governance standard for corpora maintained by LLM agents, whose checks report "nothing checked" rather than green — and whose automation may block a page but never promote one.
144All seven marks, and a benchmark mean that recomputes exactly from three committed runs — beside a claims audit that retires what it cannot back and a tombstone that stores a digest rather than the value it refuses.
145All seven marks, and a replay script that asserts every published number rather than printing it — over a governance layer that can sit on top of someone else's memory.
146Its memory is an ArchiMate model of the system being built — canonical as JSON, wiped and rebuilt into Neo4j — with four times more test code than implementation.
147Refusal as a first-class outcome — metered by priority, hysteretic so it cannot flap, and returned with a reason. Underneath, an episode with no identifier.
148Tenancy enforced by the database rather than the query, and an audit chain that cannot fork — with the normalized key a tombstone needs already stored, and scoped to live rows only.
149Every conversational turn is event-sourced with typed provenance. Durable facts are markdown notes a scheduled LLM pass may delete, over a store with no history — and the only mechanical check is whether the file count changed.
150The agent rewrites its own prompts, memories, skills and subagent specs from its trajectory — and every edit keeps a before-and-after snapshot, so a refinement made in one session can be rolled back from another.
151One SQLite file, one dependency, thirty tables. Two independent provenance fields — one that ranks an unknown origin above a known one, one that nothing reads — and a rejected fact that stays rejected because its primary key is a hash of itself.
152A wearable that hears everything, over a hash-chained memory ledger — where an unreviewed fact may answer a question with a disclaimer, and only an accepted one may take an action that cannot be undone.
153A local workspace whose memory writes pass an ordered gate of seven typed refusals — and which scrubs credentials from a blocked injection's audit snippet, because the dashboard renders that snippet verbatim.
154A self-hosted MCP memory server whose consistency checker screens stored memories for injection with a regex before any model reads them — and re-screens what already passed the filter at write time.
155Graph memory for coding assistants whose trust falls only when judged contradicting evidence lands — never from age, and never from being retrieved, because that would let a popular note certify itself.
156A continuous single-agent runtime whose beliefs carry mass in an 8-D manifold and whose confidence is recomputed nightly from a written equation — beside an append-only journal that records every mutation except forgetting.
157A five-agent office whose duplicate detector matches phrasing skeletons with swapped value tokens — the case vector similarity is worst at, and the one where contradiction lives.
158A deterministic simulation engine whose only channel to a language model is a projection a validator rejects if it names an engine type — over a memory and belief store nothing in the engine ever writes to.
159A local-first Rust memory server where typed memories, doc chunks and code symbols are rows in one SQLite graph, ranked against each other in a single hybrid query; a deliberate deletion refuses its own return and its rewordings, a hash-only mutation ledger records who changed a memory and why, a review queue holds what the store will not decide, and recall answers as of a date on two separate time axes.
160An agent OS that owns no memory store and hashes the policy instead — backend, behaviour flags and instruction text in one fingerprint, stamped on the turn it governed.
161A guardrails service whose durable memory is a versioned risk profile of the agent itself, derived from its own audit history and read back before the next decision.
162A markdown memory where every page holds current knowledge and its own provenance, one command rewrites the first while appending to the second, and a session hook injects the index — with tests asserting no page body can ride along.
163Decay, Hebbian learning and ACT-R activation implemented inside the storage engine — with a discrete trust label, valid time apart from record time, and per-engram provenance carrying the reason for every change.
164A local-only personal memory whose contradiction is a new row and an edge, whose stale is a discount rather than a refusal, whose forgetting is a queue with an undo — and whose README describes a same-harness head-to-head that its own benchmarks page says was a comparison against a published figure.
165A local recall service whose concept edges derive conductance from confidence and recency instead of storing it — and whose forget promises an anti-resurrection tombstone the write path never reads.
166A self-play RL trainer whose only durable memory is a bank of skill cards distilled from the solver's failures — and scored by whether the cards it handed over won or lost, with a negative score deleting the card.
167An SRE agent that will not store an infrastructure fact unless the words in it also appear in something the user typed — and redacts credentials out of the transcript before the extractor ever sees it.
168A local SQLite memory layer that measured its own composite ranking against the raw channel score, lost by a factor of three, and shipped the negative result as the default.
169Derived memory that starts as a draft, needs a token to be approved, and is unrecommendable until it is — beside an audit table that nothing writes to.
170No LLM at ingest, verbatim recall, and a deterministic gate deciding what a memory is allowed to justify — scored against an adversarial suite with a benign-pass floor beside it.
171Supersession resistance proportional to what a memory has earned — and the user confirmation the highest tier depends on is written to a column nothing reads.
172Fact-keyed supersession over LanceDB with a real validity axis and a loop that suppresses memory the agent kept ignoring — and a pending state that was written out of existence.
173A dismissed mind-map node keeps its fingerprint, and a unique index makes re-proposing it a no-op — a value-keyed tombstone on the suggestion layer, with the fact layer left unprotected.
174A memory citing code that does not exist is refused at write time, and one whose cited symbols changed is withheld until re-verified — tested by deleting the files and checking it disappears.
175Three thousand lines that keep provenance and staleness in different fields, make rolled-back terminal, taint everything derived from a bad entry, and test that none of it comes back.
176A genuine point-in-time filter over validity intervals and a forgetting log that keeps why every deletion happened — beside a review flag that is set and never cleared.
177Tenant isolation enforced by Postgres row-level security instead of by remembering the WHERE clause, and a hash-chained audit that lives inside the memory table because the app role cannot create one.
178Merge candidates classified by record linkage into match, possible and non-match — the uncertain classes need confirmation, and every applied operation carries its own undo payload.
179A 153,000-line Rust memory server whose most valuable artifact is a committed self-audit finding a dead resolver, a header contradicting its own code, and a gate the upsert path voids.
180A contextual bandit decides which memory to inject, trained on a ledger that records whether the agent acted on it, ignored it — or never saw it at all.
181An actor's stated confidence is scored against whether their writes survived, and the Brier error attenuates every future claim they make.
182Statements split across two stores by aspect — the six that decompose into triples go to the graph, the six that carry voice stay whole — and contradiction writes an end timestamp, never an overwrite.
183Four published benchmark conclusions withdrawn because the condition labelled "structured memory" was a 120-line simulator — beside module headers that say what is not built, three of which have gone stale around the code.
184Every mutation is appended to a JSONL journal before the graph is touched, so the graph is a projection — and a deletion is a tombstone line carrying who did it.
185Two memories over one Postgres: a hot-memory facts table written by a provenance-requiring verb or an opt-in Stop-hook extractor, deduplicated by cosine and a classifier, decayed by kind and valid between two dates at read time; and a takes table of claims typed fact, take, bet or hunch that a proposal queue feeds only when a person accepts, whose bets resolve into a per-holder Brier score, with BrainBench in the tree.
186A hash-chained audit log on its own database connection, so the record survives corruption of the store it audits — and an EU AI Act module that refuses to certify compliance.
187A database whose Cypher surface can ask what it recorded, at one commit version, as valid at another instant — with validity declarable as a schema constraint and a Kalman filter over confidence.
1881,268 resolved findings, exactly one recorded as an error — so the project added a word for "was never true" and wrote the argument down: what the surface does not name, the practitioner does not reach for.
189When a worldview belief transforms, a sweep re-examines every memory the old belief caused to be rejected — the only system here that asks what a superseded belief was suppressing.
190A revoked capture is refused on the write path by an HMAC digest checked against every retained key version — the only rejected-value record here that reasons about the key used to compute its own key.
191Memories fade on an Ebbinghaus curve unless use reinforces them — and a committed spec argues the append-only log should go because "the data structure is fighting the biological model".
192A self-reorganising tag vocabulary over a fact store whose every accept and reject is written to a decision ledger a database trigger refuses to let anyone edit.
193Low-activation memories merge into a summary node that keeps DERIVED_FROM edges to what it replaced — and each forgetting cycle records how many fusions failed.
194One JSON file per event, atomically written, with thirteen aggregate streams and a rebuild the tests actually compare — and a review workflow whose reviewer is a daemon that spawns an agent.
195Three tiers, a lymphatic consolidator and neural tubules — with every integration test of the memory system skipped at module level because they "use the old memory architecture".
196A README that grades its own claims from shipped to partially unfalsifiable, names personalization as the largest sycophancy amplifier, and cites the paper saying its own mechanism raises agreement by 45%.
197A committed end-to-end suite specifies tombstone revival by dominating vector clock — against endpoints, a tombstone field and a clock that appear in no Go file in the repository.
198A query decomposition is checked against an adversarial prompt template before retrieval runs — and the README documents a retrieval-quality gate whose parameters the function does not take.
199Surfacing is governed by a pure function with a per-session cap, a minimum message gap and a cooldown — so a relevant memory can still be refused because it spoke too recently.
200A second retrieval against an inverted query, scored for contradiction, so a strong conflict makes the question unanswerable instead of picking a side.
201A default-deny AST check with positive and negative controls over its own checker — added after a verifier demonstrated the laundering hole live — sitting above a lifecycle runtime that is a logged no-op.
202A harness that forks a child, kills it at a named point in the commit sequence, reopens the file and asserts the exact frame count — and fails if the child did not crash.
203Three-run means with the individual runs published, a rival ranked above itself, the rubric's leniency disclosed, and the worst category printed at 19.5%.
204Mutating tools are blocked by middleware until the agent holds a signed, expiring token proving it called context_check — consultation as a precondition, not a convention.
205A four-judge jury returns approve, reject or quarantine on every write — and quarantine is stored by halving a float and appending a marker into a free-text field.
206Working memory overwrites, episodic accumulates, semantic is confidence-gated and procedural is LLM-merged — the taxonomy path decides which, in a pure module with no store, no I/O and no model call.
207A downstream integrator's patch file against Hindsight — including a consolidator that copies single facts into observations, and a dedup threshold the model paraphrases past.
208Scars are refused at write time unless the author supplies at least two counter-arguments, and a PreToolUse hook hard-blocks consequential actions until every surfaced scar is applied, ruled inapplicable, or refuted with a risk acknowledgment.
209Crypto-shredding resolves right-to-erasure against an append-only audit chain — content becomes ciphertext under a discarded key, and the tamper-evident record of the erasure survives.
210A retraction propagates a contamination penalty weighted by how tightly the neighbourhood coheres — dense narrative clusters get 1.5×, isolated engrams 0.5× — because misinformation persists as a coherent story.
211A durable/state/volatile classifier that abstains when unsure sets each memory's recency floor, so age becomes a tie-breaker instead of a gate.
212A gold 100% LongMemEval badge that means recall@5 with a judge blend, over a committed end-to-end QA result of 46.6% in the same repository.
213Summaries are parsed into fixed fields — request, investigated, learned, completed, next steps — and observations are extracted from XML blocks the model emits, with no confidence, status or correction anywhere.
214A benchmark writeup that refuses a favourable comparison, publishes the ablation where its own change hurt, and names an 8× cost miss in its flagship mode as a known limitation.
215Nine binding rules for any number the project publishes — including a grep baseline, adversarial judge validation, and an instruction to check whether you need a memory system at all.
216Revising one learned procedure is checked against every other procedure that shares its surface, and a revision that would break a dependent is quarantined instead of promoted.
217A committed security audit grading five findings in its own code, each with the exploit path, the fix, and the regression test that pins it — including the one it did not fix.
218Formerly OpenMemory, rewritten: strict recall is one query asking what was true at a moment — excluding superseded facts and anything under an unresolved contradiction — and not one committed test checks it.
219A LinUCB bandit that learns which retrieval stages to skip per query type, under README and bench tables whose numbers disagree with no committed run to adjudicate.
220An audit chain that logs memory ids and never their content, over a decay model deliberately kept out of the ranking formula because it would bury old-but-valid memories.
221A contradiction is adjudicated into five outcomes before it becomes a signal, and only the genuine one penalises confidence — a supersession is routed to bitemporal succession instead.
222A byte budget on session-start injection that degrades the cheapest-to-lose sections to pointers and then names every one it dropped, ranked by value density rather than size.
223Three independent detectors decide which transcripts on your disk were sessions you actually drove — of 246 on the author's machine, about 20 were.
224The retrieval agent explores memory with grep, git log and git blame behind a thirteen-command allowlist that validates every segment of a chain — and then hands the string to a shell.
225Procedural memory distilled from repeated workflows into candidates that never reach the agent's skill directory on their own — from a vector-database vendor whose vector database is the derived layer.
226A held-out evaluation that removes each query's text from its own host chunk before indexing, so lexical search cannot win by finding the question inside the answer.
227A fuzzy patch matcher that normalises curly quotes and dash variants to find an edit target, then uses a position map so the replacement lands in the original bytes.
228A consolidation protocol that must produce removals, settles retirements before clustering so nothing masks a removable entry, and verifies each deletion actually happened.
229A world-record LongMemEval claim with the result file, the run log and a self-audit all committed — and all three name the oracle variant while the README says LongMemEval_S with no oracle access.
230Importance emerges from prediction error — the model is asked what an episode should contain, and only the gap between that guess and the actual transcript is extracted.
231A published head-to-head report whose "Native" column is native_value=5.0 # Typical ~5% retention typed into the test, against a measured RLM column.
232An isolation test that plants a named secret in every project, spawns a live server, and asks each tenant for another's key under concurrent load — with the report committed.
233A storage gate that scores text against hand-written prototype sentences instead of asking a model — and one of the prototypes for what to remember is an API key.
234Proposed, testing, confirmed or rejected — with a verification plan, the fact that confirmed it, and the reason it was rejected, all in a table facts cannot be read from.
235A high-confidence claim must carry a supporting excerpt, and the excerpt is substring-matched against the source — a fabricated quote demotes the claim and the demotion is recorded with its reason.
236Seven metadata fields removed in one version, each with the evidence — "580 variants, never used", "always empty", "no logic implemented" — recorded in the schema's own history.
237session_close(to, note) writes an addressed message that session_boot delivers and marks read — an indexed mailbox inside the memory store, with provenance enforced by a database CHECK.
238A copy-and-adapt agent-ops kit whose sharpest artifact asks not whether a ledger entry is still true but whether it can ever be seen, with committed cases asserting that a superseded entry must never win the injection lane.
239Three cross-run memory backends for a GitHub Actions workflow — a cache, a git branch, an issue comment — each restored through a gate that assumes the previous run of itself was compromised.
240A tool-output sandbox whose real durable artifact is a per-project SQLite event log, replayed into the next session as a session_knowledge block — with a committed test that another session's events must not appear in it.
241A local inference runtime that grew an agent mode whose only durable memory is a skill catalog on disk — advertised by name in the prefix, loaded on demand, and gated by approval when the model asks for it.
242Markdown memories that cite each other by name, a checker that reports every link pointing at nothing, and a rename that rewrites every reference to the file it moved.
243A guide and a 387-line importer that file exported Claude Code transcripts into a tagged Obsidian vault, inserting wikilinks to existing notes as they write.
244An Envoy-layer router with 10,777 lines of memory beneath it: typed memories, four backends, a no-LLM injection gate, and a committed test documenting that it cannot detect a contradiction yet.
245A swarm meta-harness whose memory package screens retrieved chunks for prompt injection before they reach an agent's context, cites the paper for why, and ships that defence disabled.
246A waste-detection plugin whose real memory is a checkpoint written at context-fill bands and recovered into a later session on topic match — injected behind a trust=data sentinel, with another project's decisions dropped and the dropping disclosed.
247One ZIP canvas committed beside the code, holding a project's decisions for nine coding agents at once — where a card is current or superseded according to a marker in its own text and the title of the container it sits in.
248A hash-chained append-only event log whose decision records carry tiers and executable verification commands, validated at append so a malformed event never lands and run through argv rather than a shell — with a reviewer quorum that withholds promotion until enough named reviewers accept the current revision, while the grounding packet an agent receives still never reads the decision store at all.
249An agent runtime whose access check is a decorator nobody can forget — guarding a conversation transcript that is written team-scoped and fetched across processes by an id the client supplies in an HTTP header.
250A four-level graph built once over hours of footage and searched by dense-plus-BM25 fusion — with no way to correct a wrong extraction, and a skill that tells the agent to go back and watch the video.
251A local-first MCP memory server whose capture path hashes the redacted content, looks it up among rejected rows, and refuses the write with the stored reason — behind a session key applied to the BM25 and vector arms alike.
252A conversation stored as one shared message tree, where forking preserves every branch for the cost of one row — and editing overwrites the message in place, rewriting the history of every branch below it.
253An OpenClaw memory plugin with fifty config groups over one unusually careful correction path — where a change needs evidence, a new embedding and an event log entry, now with a real-world validity window and a content-fingerprint tombstone that blocks re-capturing a forgotten value.
254Patterns learned from coding sessions, moved by an evidence ladder that only ever increases — enforced in the WHERE clause — with demotion deliberately harder than promotion and a 20-point band between them. Four of its best mechanisms are not wired to anything.
255The injection half of a closed loop, and the only system here that holds out a control cohort: one session in five receives no memory at all, and still writes a record saying so. At this commit every injection hook is disabled on purpose, to measure the baseline.
256A small local prototype where the model is never asked a question the symbolic layer could not answer — the refusal is a return statement, not a prompt. It publishes every version's scores including the ones that fell, and raised its gate until the benchmark's own questions stopped clearing it.
257Four Markdown files and an 848-line validator that refuses to seal a session while a rejected value has been reasserted verbatim — and whose collision scan ignores anything under twelve characters, which is both tombstones in its own worked example.
258A governed-memory reference architecture whose deletion metric is a four-way residue partition with one cell that must stay empty — verified by a sweep that re-derives what survived instead of asking the purge whether it finished.
259A deployment system for a local AI stack whose one memory component resets an agent's MEMORY.md to an operator-authored baseline every few hours — archiving the scratch notes below a --- the agent itself can accidentally move.
260A local-first MCP memory layer whose write gate blocks any event, fact or failure arriving without a source and a section citation, and where nothing becomes durable without a person applying a proposal — but whose agent-facing search reads every space when the model omits one.
261An ARC-AGI-3 harness whose entire memory is one append-only text log the coding agent greps, shipped with the flags that remove it and the committed runs that price what it buys.
262An ARC-AGI-3 harness whose log cannot be bypassed, because the process that writes it is the only one holding the key — plus 191 sessions analysed for how a file-based agent memory fails.
263A typed decision ledger with a status enum per artifact kind and five CI-gated checks — none of which covers the rule the project leads with, that an accepted claim carries an evidence artifact.
264A four-type memory in a self-reorganizing topic tree whose decision status is filtered where retrieval candidates are assembled — under two benchmark badges no committed artifact scores.
265A single public memory every agent can read and write, where a superseded note is dropped before indexing on one read path and merely demoted on the other — by a penalty its own confirmations pay back.
266A local coding agent whose durable memory is a resumable session log and skills cloned from a git URL with no revision — in a repository that aborts its own update on a checksum mismatch.
267A spec-first agent OS that stores no facts about the world — only what it believes the user asked for, on whose authority, and what displaced the answer before it.
268A published format spec whose merge semantics get deletion right, over a federation of other tools' memory directories — where the tombstone it argues hardest for has no shipped writer.
269An agent harness whose durable memory is an append-only session log where nothing is overwritten — and whose cross-session full-text search and five model-facing history tools are both real, both carefully authorized, and both absent from every shipped composition.
270A source-available team platform driving Claude Code and Codex in tmux, whose memory is markdown files partitioned by a user= and project= path segment — where the write path was containment-checked and the read path was not.
271An Obsidian-vault memory whose nightly pass promotes repeated corrections into preferences on a Wilson lower bound, demotes them through a probation state, and lets a user's rejection suppress the signals that would regrow the rule.
272The client half of a hosted temporal knowledge graph, whose fifty committed LoCoMo runs grade retrieval sufficiency separately from answer correctness and show accuracy-given-a-complete-context flat at 92 percent across a 5.8x swing in retrieved tokens.
273The reference implementation of the Ebbinghaus forgetting curve in agent memory, whose retention formula is missing a pair of parentheses — so recalling a memory makes it exponentially more likely to be deleted, stochastically, in place, for every user, at startup.
274Verbal reinforcement learning whose entire memory is a per-environment list of plans written only after failures, persisted as JSON and reloaded on resume — read three at a time, so the store grows forever while the readable window never does.
275A namespaced key-value memory store with TTL and semantic search behind three backends, shipped beside a portable conformance suite that validates the thread-scoped checkpointer and not the store — which is where the three backends disagree.
276The framework that named the memory vocabulary everyone still uses has removed all of it: version 1 owns no store, and the ten classic memory classes survive in a legacy package under a removal notice.
277A teaching corpus of thirty runnable notebooks whose forgetting curve is the one the paper it cites got backwards, whose right-to-forget delete fans out across four stores and writes a receipt, and whose contradiction rate divides by every pair it never compared.
278A Rust coding agent whose markdown memory is consolidated by a dream pass that overwrites the project memory file with a character-truncated model response and then deletes the session logs it read — beside the most careful read path here, which stamps every recalled memory with its own age.
279A four-layer memory for coding agents whose graduation sweep reads the newest five hundred entries and therefore cannot see the old ones it exists to archive — in a codebase that documents its own past failures, with counts, in the comment above each fix.
280A pentest agent whose durable memory is a table of findings, loot and hosts that a human triages — verify, dismiss, merge — and that the agent reads back wholesale on reopen, where a dismissed false positive is the clearest example of a corrected memory in the atlas.
281Markdown-as-memory for coding agents whose CLI refuses a write that violates a per-category schema no matter what the agent's prompt says, with a SQLite index rebuilt from the files and a recall hook the harness runs instead of the model.
282A desktop-agent runtime whose local two-tier episodic/semantic memory stamps every FAISS index with the embedding space that built it — and, when the SDK's embedding model or dimension changes, clears the vectors and re-embeds from SQLite rather than comparing across incompatible spaces.
283A self-modifying agent runtime whose distilled lessons are scored by the outcomes that followed them and quarantined when a loss run is statistically improbable for the lesson's own retrieval-frequency band — with blame deduplicated across co-retrieved lessons and a probation path back.
284A grounding runtime that binds a memory to the observable facts it depends on, re-observes them with a versioned probe, and surfaces the bound memories when the fact's content hash crosses a declared transition — journalling a probe failure apart so an outage never masquerades as a change.
285A Claude Code layer whose background daemon spawns a headless model to distill typed learnings from a finished session's thinking blocks — the reasoning, not the actions — embeds them into a pgvector store, and recalls them into later sessions by hybrid RRF. A real cross-session loop wrapped in more design than the code delivers.
286An MCP server storing memory as Open Knowledge Format markdown indexed in SQLite FTS5. It serializes OKF's verified, status and stale_after trust-and-lifecycle fields faithfully — and no read path consults any of them.
287A Rust memory daemon whose thoughts are an append-only, SHA-256 hash-chained log verified on open — a tampered chain refuses to load. Corrected only by appending a supersession, recalled by BM25, vector and PageRank together, beside a git-like, Ed25519-signed skill registry.
288A local-first SQLite concept-graph for coding agents: principles always in front of the model, rules bound to named stages read when a matching tool call fires, corrections governed by a human declare/ratify/resolve loop. Marketed as a clean trio, built as a graph with a gate.
289A local-first SQLite memory hub from the MemOS team that distills a layered L1→L2→L3→Skill store from every connected agent's turns, shares it across Claude Code, Codex, Cursor and others through one daemon plus an injected per-agent CLI skill, and induces anti-pattern "avoid" policies from failures.
290A Gemini/ADK memory agent that stores structured memories in SQLite, never embeds or searches them, and loads a recent window for the model to read — with an always-on daemon that consolidates memories into cross-cutting insights on a timer, the way sleep is said to.
291Records what actually happened on the machine — shell commands with their exit codes, git patches, docs, transcripts — into local SQLite, and ranks a token-budgeted slice back out without a model touching it on the way. A git pre-commit hook asks the store what already failed in the files you staged, which is memory arriving without anyone querying for it.
292Facts decay, corrections supersede, retractions stay on disk for audit, and a real death removes the rows from the live store and every snapshot under a crash-safe transaction — witnessed by a hash-linked ledger that alarms when a row disappears without a tombstone vouching for it.
293Memory folds into the cached system prompt once at boot, so it costs nothing per turn — and a mid-session forget cannot edit it, so it queues an instruction telling the model to disregard what it already loaded. Its committed benchmark is the corpus's most complete, down to a memory-off arm and a column for when memory hurt.
294Helix AGI's spatial engine published as a standalone library: embeddings projected into a fixed 8D manifold and ranked by temperature × mass ÷ distance², so a faded memory is outweighed rather than cut off by a threshold. Its own docstring names the parent it came from.
295A per-workspace SQLite memory shared by a dashboard and an MCP server, whose namespace filter is applied to the FTS pass, the LIKE fallback and the vector hits alike — so a high-scoring out-of-scope memory can never be fused back in. Its scope tests attack prefix-sharing siblings and SQL wildcard escapes.
296Per-agent markdown memory in three regions — pinned facts, a rolling recursive summary, the newest sections verbatim — condensed by a headless model behind a six-check gate that requires the kept sections to round-trip byte-for-byte and leaves the original untouched on any failure.
297Five memory layers separated by lifetime and owner, where a lesson the agent distilled from its own failure is refused before it is stored if it would widen what the agent may touch — by a rule file that names the function doing the refusing, and a registry that will not load a rule whose enforcement point does not exist.
298A workflow platform where agent memory is a socket on the canvas — a knowledge base behind a decorator that AND-s its scope key into every search, and nine interchangeable chat-memory backends. Masking is ordered one step upstream of the write, so what persists is the masked text.
299A dependency-free knowledge graph in JSONL beside your repo, where the edge id is a hash of the triple so a second document corroborates instead of duplicating — and the graph stays current because a Stop hook blocks the session while work is pending, not because the agent chose to.
300The top of its compaction tree is not a summary but a topic index, injected every session so the agent can judge whether searching its own memory is worth doing — the failure it names is the one no query fixes, where you ask about payment flow and the rate-limit decision three weeks ago is never looked for.
301Every record keeps the situation it was distilled from, so a policy trained with GRPO can compare then with now and reject a memory that does not fit instead of pasting it — and a record's standing is the smoothed rate at which episodes that used it succeeded.
302A context graph over a codebase and its development lifecycle, where every mutation carries provenance and a withdrawal stamps valid_to rather than deleting — and the refusal is keyed on the row, not the value.
303A codebase index whose decision records are refused unless a verbatim span of the source supports them, published with a sealed benchmark split and the rows it loses — and a scope boundary that lives in which database you opened rather than in the query.
304A code knowledge graph where every edge records how it was resolved, from compiler-grade down to text-matched — and where the most trusted tier is deliberately attenuated for ranking, because abundant evidence and reliable evidence are not the same thing.
305An agent harness whose context log is append-only and written exactly once, with each turn holding an ordered list of pointers into it — so compaction and forking are both changes to which messages are in force, and no message is ever destroyed to make room.
306A content-addressed archive of every file version an agent was shown, hook-fed so a compaction cannot destroy the working set — and a benchmark whose headline result is that its own compression saves nothing on real sessions.
307An evolutionary coding harness whose project memory is four plain files — and whose durable visited-set of code hashes grows without bound while the history explaining why anything was skipped is a 500-entry ring.
308A coding agent in Zig whose durable memory is a flat JSON array of strings — with a tool description that forbids writing anything the user did not ask to persist, and a loader that answers every read error with “no memories” just before the next save overwrites the file.
309Per-project memory for coding agents where seven lifecycle hooks maintain the file map, the action log and the bug index — and the file holding preferences and corrections is replaced wholesale by a weekly model call whose output is routed by a substring check.
310Documents become an entity graph a coding agent queries as structured memory — with a real human review between the model's merge proposals and the store, and a build that regenerates the graph from extractions the review never touched.
311A macOS app that runs Claude agents as pixel-art employees, over a SQLite key-value memory whose remember, recall and forget tools are mounted into every agent — and take the scope from the model's own argument.
312A multi-repo architecture graph plus design decisions extracted from a team's ADRs, served to an agent over MCP — where the confirmation gate on which documents count is open by default and its answers do not survive the next scan.
313One Markdown capsule between sessions, where local code supplies git state and hashes, the model supplies the meaning, and any trust label its source cannot support is rewritten at parse time.
314Memory middleware for four coding agents that redacts credentials before the payload leaves the machine and refuses a scope it cannot resolve — over a hosted store whose ranking, correction and deletion live behind two HTTP endpoints.
315A markdown store whose folder layout is its taxonomy, published as an ABI with a mutability rule per kind — and a search that returns a file-and-line id the delete accepts back.
316A verification layer over someone else's store: every search hit is checked against its anchor path at read time and labelled STRONG, REBUILT, WEAK or STALE — and results sort by verdict first, with similarity only breaking ties.
317A self-hosted household brain whose memory is one markdown file per fact — where background extraction lands in a review inbox rather than the live store, and the bypass is off by default.
318A per-agent container host whose durable memory is plain Markdown with no machinery at all, beside a conversation layer carrying a stated audience invariant and twenty committed cases about what must never reach which session.
319A self-hosted multi-bot assistant whose extracted memories are written by a model with no review and no delete, beside a wiki tier where every drafted page waits in an approval queue behind a hash check — and a committed golden-set eval scoring the retrieval both depend on.
320A canonical JSONL memory store with bitemporal projection, an in-record transition log, a machine-readable forgetting policy that makes abstention a first-class answer, and a 160-case gold benchmark — whose entire live content was written by an import the policy now forbids.
321A two-day-old local-first harness that splices an identity folder and a user's entire append-only transcript into every prompt — with the caller naming which transcript, and a distillation pass whose output nothing reads.
322An agent in MeTTa whose long-term memory is written only by its own tool call, where the model promotes and demotes its own memories by timestamp and recall returns a reinforcement slice beside a similarity slice rather than blending them.
323A neural-symbolic agent whose long-term memory is written only when the model calls remember — with a live test that sends a fact-shaped sentence and asserts no vector was written, and its explicit-remember twin as the control.
324A memory layer that embeds locally and calls no model to store, so every mutation can be journalled and the store replayed exactly — and whose published feature audit reports one of its own features as harmful.
325A local-first encrypted cortex whose MCP surface stops and waits for a human click before a client reads a sensitive tier — and whose corrections stay previews until someone approves them.
326A local-first companion whose write path classifies every candidate four ways without a model — and whose five-value status vocabulary has exactly one value both written and read.
327A local-first workflow platform whose per-agent vector memory is retrieved by a function declaring a similarity floor that its body never reads — while a caller passes one in.
328A transactional write path over a markdown vault whose contradictions stay visible until a person resolves them — and whose eval harness refuses to run a gate whose metric cannot fail.
329A symbolic reasoning kernel whose stored denials block derivation rather than only retrieval — and whose own paper measures its central architectural bet against a plain index and withdraws two published claims.
330An autonomous research pipeline whose three memory categories are built inside the run directory — and whose one store that outlives a run is a skill file the code itself labels cross-run.
331A Rust knowledge-graph app whose MCP memory service stores evidence-backed claims with five statuses, recalls only the active ones by default, and audits the claims it rejects as well as the ones it keeps.
332A two-service C runtime whose memory splits into typed facts and episodic rows, gates recall on per-fact confidence and PII sensitivity, and writes mutations to a hash-chained append-only store.
333An MCP memory server that admits a claim only when deterministic functions find its cited evidence supports it, binds what survives to a byte range in the source, and abstains by name when a query has no grounding.
334A self-hosted agent-workflow canvas whose durable memory is an explicitly invoked tool over a namespace the backend derives from authenticated identity.
335A multi-agent trading stack whose Neo4j memory service stamps an agent_id on every node and filters on it only when a caller asks.
336A virtual executive team whose episodic memory is extracted in the background, scoped to a conversation thread on the way into the prompt, and editable by a person.
337An agent operating system whose memory is a six-column SQLite table filled by pattern matching, with no scope, no status, and an export path only tests call.
338A self-directed ARC-AGI-3 harness whose agent workspace is content-addressed and versioned, with the harness's own observations excluded from the snapshot and preserved across a restore.
339An ARC-AGI-3 agent whose entire durable memory is one model-authored markdown file, governed by a prompt that ranks the raw log above it.
340An ARC-AGI-3 harness that compacts a session into a bounded handoff summary and tells the successor the summary is not authoritative — the files are.
341OpenHands V1's durable memory is two agent-maintained markdown indexes under a shared character budget, off by default — beside a much larger body of context-window machinery that is not memory.
342A fact store whose answers are dated — supersession instead of deletion, an as-of read filter, and a receipt naming every fact used — with the record-time axis its temporal claim would need still absent.
343A zero-dependency SQLite memory whose canonical records are made immutable by triggers, whose edge weights are conserved by a checked invariant, and whose learning refuses to run on an unverified outcome.
344A knowledge base compiled into a wiki of markdown pages with no embeddings anywhere, where retrieval is an agent walking an index and the write path is journaled like a database.
345A provenance-typed memory whose third-party claims are quarantined by construction, whose audit record is a precondition for the state change rather than a consequence of it, and which keeps a durable log of the corrections it declined to make.
346A 366-day merchant simulation whose only agent memory is one overwritable Markdown document, warned once before each context truncation and never re-injected afterwards — while the human baseline that beat every model had the same document on screen at every activation.
347A teaching catalog of 38 LangGraph architectures over a 497-line memory package — whose two persistent backends are exactly the two configurations its flagship dual-memory architecture retrieves nothing from.
348An Azure GraphRAG reference architecture whose community reports are keyed by a fingerprint of their own inputs, so stale ones are removable — and where nothing else in the store ever is.
349An event-centric knowledge graph over six datastores, where an event accumulates legs and an attribute is replaced — and whose committed LoCoMo run recomputes exactly while its own notes say the number needs a cold re-run first.
350A file-based memory format whose real contribution is asking, before a record is written, whether a later question would find it — and whether it would win — measured by tools that ship, over an architecture that mostly does not.
351A token-efficient agent workflow whose three memory surfaces meet at one deterministic router — which hash-validates a code-index row before it will route on it, and answers a two-keyword cache hit with an instruction to stop investigating.
352A content-addressed grain store where world time and knowledge time are selectable at query time and every review decision is hash-chained with a mandatory reason — where a retraction is withheld at context assembly and ranked everywhere else, and one correction verb means two different things depending on which substrate answers.
353Turns officer corrections into scoped, provenanced clauses, governs them with a ten-value status the read query filters on — and publishes the run where three of its four seeded judgements measurably did nothing.
354Markdown is the only record and the index is disposable, so a correction is a file edit — but a delete is a move into a folder nothing empties.
355Seven time-named layers over a new/current/deprecated state the prompt assembler actually filters on — beside an ontology nothing in the tree can correct.
356A per-tenant message index where the memory predicate is overwritten inside every backend adapter — beside a four-type taxonomy that is whatever JSON key the model returned.
357A wallet of user-created agents where each keeps its own SQLite FTS5 memory, lessons and replayed corrections under a per-agent directory — but a correction typed to an agent lands in the platform's learning log, the nightly fade runs on the platform's store alone, and the mirror replays an agent's corrections against the platform's lessons.
358A Google Cloud specification for agent-written knowledge as markdown bundles — who generated a concept, who verified it, when it goes stale, and a sanctioned computation a consumer can attest — whose every trust state is advisory: the one consumer in the tree draws badges, and a regeneration keeps a human's signature on text the human never saw.
359A self-hosted MCP memory server on Valkey whose episodic memories carry effort, outcome and a graveyard of abandoned approaches, checked by keyword before any recall is embedded and suppressed as a topic when a costly approach dies — while a contradiction, once recorded on both rows, is cleared by nothing.
360A numpy-only Python library that turns object detections into a single-file SQLite scene graph through a deterministic fusion arbiter — merge, create or reject each observation, with every mutator fusing the staged rows before it commits — where a rejected observation stays as a row nothing reads and a forgotten node leaves no record.
361The RA-L 2025 mobile-manipulation code whose 3D scene graph is repaired locally after each pick and place — remembered voxels the new depth contradicts are deleted, objects that lose half their voxels are dropped, their subtrees cut and the rest rebuilt — and whose planner and navigator never read the graph they maintain.
362A self-hosted AI workspace whose cross-conversation memory is a per-user table of up to fifty sentences injected after the static system prompt — typed into a settings tab or extracted behind two switches that default to off — gated by a stored toggle the client can only tighten, tombstoned on delete, audited on the tab's path and not the extractors', and invisible to a data export that still queries the columns of the table dropped in May 2026.
363An abandoned, privacy-filtered Rust agent harness whose memory crate is a bi-temporal SQLite fact table with per-type trust decay, evidence enforced at insert, judged contradiction closure and a compile-time role firewall on injection — where the only conversational writer sits behind a flag that expired before publication, the automatic extractor stores nothing, and the trust tiers the tests defend filter no live query.
364A Hermes memory plugin and standalone MCP/REST server — DuckDB records, a Kùzu entity graph, local embeddings — where every extracted fact is a proposal whose top rung automatic review cannot write, deletion and rejection leave ledgers both write paths consult, versions chain with as-of reads, and the benchmark numbers recompute from committed files that the project's own audit says never formed a chain.
365A Claude Code hook daemon and MCP server that indexes frontmatter markdown — the agent's own memory directory read-only beside a writable one — into SQLite FTS5 and injects it under per-class budgets, where archival and supersession live in the index row and not the file, a promoted fact is a copy compaction supersedes, and the project's source repository no longer resolves.
366An editable context graph — desktop app, harness plugin, read-only CLI — where what the model sees is exactly what wires into the node, one compiler feeds the preview and the request, each generation records its upstream fingerprint and a hash of what was sent, stale answers are marked and replayed, an ambient memory is admitted behind a constitution in code with an undo, and a committed benchmark shows when deleting a wrong turn's source is not enough.
367The cross-conversation memory of a redacting desktop chat client — one card per entity and a profile, extracted by the same model from the pseudonymised transcript it already saw and un-redacted locally through the conversation's vault, admitted only when the entity appears verbatim in the real text, merged by attribute replacement with a restorable history, selected client-side on real values and re-redacted on every injection, searchable by the model through a lexical tier topped up by an on-device embedder, and reviewed in an inbox that empties by confirming.
368The learning store inside a ticket-to-pull-request coding agent — rules, skills, facts and anti-patterns in one SQLite table, proposed only from labelled failure signals, screened for duplicates, personal data, provenance and vendor terms, activated ten a day with a kill switch, injected through one chokepoint that scopes by remote hash, matches tags on word boundaries and ranks by importance, recency and use, with an injection-to-outcome ledger and an append-only event trail; nothing is ever deleted, and a reviewer never reads a rule distilled from its own verdicts.
369The published storage crate behind a closed memory product — a SQLCipher vault with a documented schema, an FTS5 index and a vector table, a capture pipeline that skips noise, strengthens a verbatim duplicate and refuses a near-verbatim paraphrase, a quarantine of imagined-and-ungrounded rows that some read paths honour and the defaults do not, an Ebbinghaus decay and a retrieval-count promotion, and a sync envelope with tombstones and last-write-wins; the daemon, the relay and every user surface are elsewhere.
370The long-term memory of a self-hostable personal AI — one Postgres row per first-person fact with a pgvector embedding, extracted after every non-automated turn by a prompt that may create facts and delete them by id, recalled as the ten most recent facts of the week plus the ten nearest by cosine, scoped per user and per custom agent, injected as a dated list the model is told to ignore when irrelevant; the extractor only ever sees the facts recall found, so a fact it did not retrieve it cannot retire.
371The personalisation memory of a self-hosted RAG chat application — one-sentence facts scoped to a workspace or global and capped at twenty and five, extracted every few hours by an observer and a reflector over an idle user's last twenty chats, appended to every system prompt with the five workspace facts a reranker puts closest to the message; a chat is marked processed whether extraction succeeded or failed, and the public embed widget gets the owner's facts in single-user mode.
372The AI service inside a nine-year-old note application — a chat scoped to the open note that edits it through anchored tools, reaches the rest of the notebook through eleven global tools each switched off by default, a background indexer that rides the app's change feed into a sqlite-vec index and rebuilds itself when the model changes, a token budget that refuses rather than truncates, and an MCP server that hands the same gated tools to outside agents; the notes are the memory, and the assistant keeps none of its own.
373A self-hosted note service whose memos carry a creator, a visibility and a space that the storage driver renders as one WHERE clause before LIMIT on every list and count, so a row the caller may not read is neither returned nor counted; a two-user test asserts the viewer's list by id; and an MCP server that is an allowlist over the REST API forwards the caller's bearer token unchanged. A memo is a note: no state, no provenance beyond its creator, a hard delete, and a default audience of everyone logged in.
374A Markdown wiki whose file API returns a SHA-256 ETag on every read and demands it back on every write, fails closed on any precondition it cannot evaluate, merges three ways under a per-path lock when two writers collide and otherwise writes both sides into the page between markers for a person, and commits each quiet period to git under the account, client or external process that made the change. Every capability mark is withheld on definitions; the write contract is what the report is for.
375A local-first block notebook whose kernel runs an agent over thirty-three tools that each declare whether an action writes locally, sends data out or costs money; any of the three waits for the person unless always-allowed, the first local write of a chat takes a data-repository snapshot recorded in the session, sessions are JSON files saved under an expected revision with orphaned-turn recovery, and compaction injects its summary as untrusted historical memory. Semantic search is a remote embedding and a full scan; nothing is a memory with a state.
376A hierarchical note application whose twenty-one assistant tools are defined once with a mutates flag and executed by the in-app chat, the public MCP route behind an ETAPI token, the person's own Claude Code with every built-in tool disabled, and a Copilot agent on a loopback endpoint; a revision marked llm precedes every content edit and the column persists, but the mark covers three tools and no test asserts it. No embedding, no index, and the assistant remembers nothing but the chat note.
377A harness that plays ARC-AGI-3 games through Claude Code or Codex, archives every environment frame so the model can re-inspect original evidence through bounded read-only tools, keeps a per-game GUIDE.md and WORKING.md with a provenance stamp on every write, blocks the runtime's compaction with a hook until the model has saved a non-empty continuation checkpoint, and rebuilds a fresh context from the files and the exact last event; every recovery path fails closed under test, and the memory is one game deep.
378A local-first evidence and memory kernel where a fact enters as Observed, is refused on sight when it contains a claim pattern a curator has recorded as rejected, passes a truth gate that never lets model output become a world fact, grounds an answer only when VERIFIED, canonical and unrestricted, waits for a curator otherwise, and leaves every compliance event in a hash-chained audit log with a checkpoint against a deleted tail; erasure is physical and cascades over derived facts, with a content-free receipt that does not feed the rejection memory.
379A self-hosted MCP memory server for coding agents — one Zettelkasten-shaped row per memory with nine provenance columns, embedded in-process by FastEmbed, stored in SQLite or Postgres, auto-linked on create to its three nearest neighbours with no distance floor, retrieved by a dense top-20 that a local cross-encoder cuts to k and a one-hop walk widens, re-sorted by importance under an 8,000-token cap, isolated per user by a WHERE clause on both backends, obsoleted but never deleted, and audited by an event bus that is off by default; the sparse leg, the rank fusion and the 0.7 threshold the README and the agent's own skill describe are not in the tree.
380A local Graph RAG over a folder of Markdown notes — LlamaIndex's property graph on Ollama — where every wikilink and frontmatter key becomes a relation in code before a model extracts its own, four retrievers answer under a prompt that must cite files, an edited note is re-indexed in place, and a wikilink's triple has no document behind it, so a removed link stays a relation until a deletion forces the full rebuild.
381A Claude Code plugin whose memory is files under .craft/: learnings recorded with a quote, a date and a count at pending, listed and approved by a person in a reflect drain before they are copied into .claude/ for Claude Code to load; locked decisions and tokens behind a confirm step and a sole merge writer; notes indexed into every session; a write gate on the file tools beside a hook that approves every shell command; and a story field pointing at decision records nothing writes.
382A 423-line holographic memory — every fact a weighted triple in one fixed-size complex vector rebuilt from a plain fact list — where an unconfirmed fact halves every 45 days, a contradicted one is damped rather than deleted, a second trace answers what was true in a given month, and a z-score margin says when to stay silent; a committed capacity sweep the README recomputes from exactly, and nothing that persists.
383A persistent local agent around one SQLite file whose canonical records are immutable by trigger and corrected only by a superseding record, whose speech model sees the current utterance and nothing stored, whose recall is a selected one-use LOOK returned through a receipt, and whose language memory admits only what was heard — with a committed test that seen and noticed text stays out. The shipped command line can add a fact and cannot retire one.
384A Claude Code plugin whose self-correcting memory is a SQLite table of rules with an FTS5 index, written by a Stop hook that parses [LEARN] blocks out of the assistant's reply and filtered by project on every read — and whose session-start hook prints the loaded learnings to stderr, which the harness shows the person and never the model.
385Tencent's CLI for distributing a team's skills, rules and knowledge to ten coding agents from a git repository — learnings as Markdown pushed through a merge request, filed at a shared root or under a project namespace the index admits only for that project's members, votes that count only what the transcript shows was recalled, a confidence that prunes and promotes, and a review queue with a risk on each machine-written section. A learning deleted upstream is reconciled out of every member’s cache; nothing records that the team rejected it.
386An Elixir system for long-horizon autonomous software evolution whose memory is a tree of per-directory CONTEXT.md files — written by agents, versioned in git, and read by each agent as the chain from the repository root down to its own node, with the skills it may call named in those same files' frontmatter. Agents are finite-lived and the tree is not; a rejected proposal is a deleted branch that leaves no record of what it proposed.
387A decision store for Claude Code projects where every ruling is an append-only link in a per-topic chain, a git hook runs the linter's frozen-body check on every commit and refuses an edit to a link already recorded, the authority on each ruling decides whether a drift violation fails the run or only informs, and a pre-edit hook hands the whole chain — including what was declined — to the model before it touches a governed file.
388A Go memory node on a vendored CometBFT chain where a submitted memory is stored as proposed and becomes readable only after a vote commits it, recall reads committed rows alone, a deprecated memory's exact bytes are refused on resubmission, and confidence decays on a curve evaluated at read time with the floor applied across every candidate before the top-K trim. On the default single-node install, the vote that decides admission is one key applying three string heuristics.
389A local-first shared memory where the agent authors plain-text engrams into a YAML file that is the source of truth, a commitment of draft withholds one from injection while leaving it retrievable, validity time sits beside record time and both are filtered on read, and every mutation appends to a monthly history that never syncs. A retired engram is deliberately invisible to the dedup that would have stopped it coming back.
390A FastAPI memory backend where one LLM call turns a message into fact triples carrying a validity window, every retrieval filters on that window through a single shared predicate with an as-of parameter threaded end to end, and row-level security backs the tenant key the search SQL itself leaves to the auth layer. A retracted fact is invisible to the conflict scan that would have caught it coming back.
391A local memory engine of five tier-specific tables in one SQLite file, retrieved through FTS5 with a folded-trigram fallback and no embeddings anywhere, where a zero result names which of five causes produced it rather than looking like an empty store. Every query carries a tenant key its own authors flag in a lock comment as a post-filter on an unindexed column.
392Fourteen agent personas driven by a shell loop whose entire cross-session memory is one markdown consensus file — backed up before each cycle, validated afterwards for three required headings, kept when a timed-out cycle still updated it, and restored from the backup whenever the cycle failed. No capability marks, and the guard worth copying is the one with no test.
393A C++ code-context engine whose memory is two committed sidecars: a ledger of deliberately accepted quality findings, each keyed to a symbol and pinned at the magnitude it was accepted at so it resurfaces the moment the finding worsens, with a content hash that re-files it across a rename and refuses to across a rewrite; and a field-notes file surfaced beside the symbol it names.
394A mem0 fork that routes each candidate fact by vector arithmetic instead of a per-write model call.
395Memory is Markdown files; SQLite indexes them and the agent is handed a path to read.
396A Rust context governor over a durable store — a memory’s id hashes its content together with its project, user and session keys, both backends push that key into their own filter, and a CI gate proves one project’s private memory stays out of another’s query.
397Typed project memory whose server refuses a decision without forty characters of problem and sixty of rationale — then serves it through a ranked path that flags its own weak answers and an exact path that never guesses.
398Append-only episodes compile into typed memories with a validity window separate from their record time; assembly reads the compiled set inside a token budget and writes a receipt naming every entry it chose.
399Fleet memory where a rejection is written down by value and consulted before the distiller proposes again, every mutation appends to a per-tenant hash chain, and a person approves a candidate skill before any agent sees it.
400A security-first agent daemon whose memory looks up every entry’s trust band in a validated matrix of origin, channel and confirmation — raising on an unknown combination — and admits only elevated entries to the identity surface.
401A belief table with a candidate-to-active-to-superseded ladder filtered in SQL, beside a memory row whose quarantine flag no retrieval path reads — so the contradiction it detects is labelled and still returned.
402An ICLR 2026 reference implementation whose three-stage ladder compresses and segments before anything is stored and consolidates offline — keeping the pre-compression text on the row, and recording nothing when consolidation rewrites or deletes.
403Every memory tool starts empty and records forward; this one indexes the session transcripts your agents already wrote — stripping secrets as it builds, and telling you in prose when a session says an approach was backed out rather than calling that a state.
404Daily observations an agent appends under three retention marks, promoted weekly into rule files against a threshold the prompt states — and then deleted from the log that justified them.
405An append-only ledger where every row names the actor and the cause that produced the event, and the project key is part of every primary key rather than a filter to remember — with the payloads in a submodule this repository does not contain.
406Every agent session ingested losslessly into Lance storage you own — with each message part marked conversational or injected, and only the conversational half contributing to what can be found.
407A source-grounded wiki over a temporal memory: every lexical hit is walked forward through the supersedes chain, so a query matching an old decision answers with the one that replaced it — and eviction spares anything still marked unresolved.
408An index over the JSONL sessions the harness already writes, whose best tool returns the conversation around a match rather than the match — and whose second-best asks, read-only, whether the index has fallen behind its source.
409Memories are markdown files under version control, each anchored to the git blob SHAs of the files it depends on — so when the code moves, the claim is flagged for a person instead of quietly rotting.
410A heavily tuned personal memory server for Claude Code — feedback-shaped hybrid retrieval, biological decay, sleep consolidation — whose most valuable artifact is a documentation set that records its own silent regression in full.
411A local memory layer whose core makes no LLM call — and whose consolidation pass looks up what a person deleted by embedding before forming anything, so a suppressed claim is neither reinforced back nor quietly rebuilt in different words.
412A git-shaped store for the sessions five coding agents already write — every change a new version head naming its operation and the nodes it touched — that can write a session back out in another agent’s own format.
413Hermes Agent’s bounded-file memory ported into a Termux-based Android app — two capped Markdown files, substring edits, a threat scan and a staged write-approval list a person works from the Memory page.
414A Postgres memory service whose conflict pass supersedes a contradicted memory and keeps the reason, with a committed evaluation that asserts no superseded or archived memory reaches a populated top five.
415A desktop app that indexes Claude Code and Codex history and keeps memories a person writes, scoped global, per project or per agent, filtered by that scope when a handoff package is built.
416A FastAPI agent platform whose long-term memory is one SQLite table the model writes with a tool and the runtime recalls into every system prompt by default, keyword-matched with Chinese bigrams.
417A retrospection agent over an Obsidian vault that proposes changes in a person’s stated views as candidates, lets only the person confirm or deny them, and skips a denied pair on later scans.
418A Rust memory for coding agents made of Markdown files, searched by a CPU embedding model, with a prompt hook on every request and one generated MEMORY.md per project that excludes archived notes.
419A Go daemon serving memory over MCP whose session scope is a real, tested read filter, and whose only embedder is a hash that finds a memory only by its exact text.
420A local-first desktop for persistent agents whose memory is Markdown per agent, written by a tool and a post-turn extractor, and injected into a system-prompt section frozen per epoch to keep the prefix cache warm.
421A Hermes memory provider over SQLite truth and a rebuildable LanceDB companion that journals every turn, digests it into candidates ordinary recall cannot see, and filters every lane by scope and lifecycle — with the promote that releases a candidate available to the model itself.
422A single-binary Rust memory engine with local embeddings, weighted fusion of vector and keyword recall, and a tested namespace filter, whose corrections are soft deletes that time travel cannot see and a thirty-day prune erases.
423A Rust and SQLite memory crate wrapped as a DeepSeek Harness plugin that packs project-scoped recall into a token-budgeted system-prompt section before every model call.
424An MCP memory service that queues agent episodes in SQLite and feeds them to Graphiti on an embedded FalkorDB, filtering recall to facts whose validity interval is still open.
425A single Rust binary that indexes Claude Code's own transcripts into SQLite with FTS5 and an in-process HNSW index, and flags a hit stale only when a content-hash witness at a git commit proves it.
426A Rust binary over one Postgres that extracts ontology-typed entities and bitemporal facts from documents and from sentences an agent records over MCP, and keeps every remembered fact off the graph until a person confirms it.
427A hook layer for seven coding agents that writes every turn into a Deeplake workspace, lets the agent grep that store as a filesystem, and mines recent sessions into SKILL.md files that install themselves on every teammate's machine.
428A schema-free graph and vector database on Neo4j whose agent memory is a 600-line client package — episodes and facts with deterministic ids and a five-field scope filter applied before similarity — while the server below it knows nothing about memory.
429A local daemon under ten coding harnesses that captures transcripts as immutable episodic evidence and lets a background dreaming pass derive a semantic graph from them only by citing a verbatim quote it re-resolves against the store.
430A single static Go binary — bbolt facts, an inverted index and an embedded vector store behind a CLI, a seven-tool MCP server and a daemon — whose supersession is latched against stale snapshots and whose published token table fails CI when it stops matching a live run.
431A Go memory substrate storing six typed record classes in one Postgres and pgvector schema, retrieved as a byte-bounded entity graph behind a scope and sensitivity gate, and revised through supersede, fork, merge, contest and retract.
432A local-first MCP memory server for coding agents over one SQLite file, with an exact lexical lane that is never semantically reranked and a concept graph whose removals leave name-keyed suppressions a full rebuild cannot undo.
433An event-sourced Postgres memory for a whole organisation's agents, whose every read compiles its scope from one value — tenant, connection owner, then the source system's own ACL mirrored as SQL and failing closed while the sync is stale — and whose corrections are appended rows that a view hides and nothing ever deletes.
434A Neo4j Labs CLI that generates a whole agent application around a three-tier context graph, with thirteen connectors that import real SaaS and local-session history — and, on its default hosted backend, relationships encoded into a text field that nothing in the tree reads back.
435A pipeline that crawls public SKILL.md files into a SQLite library and judges each one with an LLM whose verdict is cached under the hash of the body it judged, so a re-crawl cannot re-admit what was excluded — and a per-turn engine that fuses a local BM25 pool with a remote catalog and lets a gate put at most two skills into the agent's context.
436A graph-native context platform whose graph keeps validity time beside record time and separates retraction from erasure from retroactive correction — sitting beside an agent-memory store whose filter predicate knows three keys and answers True to every other, so the scoped delete its docstring shows empties the store.
437A conversational memory with no vector stack at all: sessions become dated facts under a topic taxonomy in one readable XML file, a question compiles into an inspectable select-filter-sort plan over posting lists, and contradiction is settled by sorting on event time — because nothing here can edit, supersede or delete a fact once written.
438A single Go binary that implements MAGMA's four-graph memory over one SQLite file and calls no model of its own — importance, links and forget decisions arrive as arguments the host agent chose — with a decay formula whose automatic deleter reads a column only an agent-invoked command refreshes.
439A Go task manager for Claude Code whose durable memory is five markdown files the binary never parses — an unusually well-written policy carried entirely by prompt text, with a stats command that mines session transcripts to count how often the model actually read what it wrote.
440Session memory for coding agents whose distinctive work is nine contract tests on the seam between what retrieval did and what the agent is told about it — written after a health check hardcoded a zero and reported HEALTHY through an outage where every semantic query returned nothing.
441A Rust binary that maps a workspace into an RDF graph and injects slices at four Claude Code hook moments — whose supersession module opens by recording, with a date and a quad count, that the predicate it implements had been declared for months and never once written.
442Every write is stamped pending unless it came from a local agent, and the only way to approved is a browser session with a CSRF token and a written reason — so an agent cannot bless its own memory.
443Memory as markdown in the repository, where refusing a candidate requires a reason and keeps the summary — and the schema forbids the system from ever promoting a change to its own governance.
444Retrieval-induced forgetting, reconsolidation and feeling-of-knowing, each citing the paper it implements — over a store with no epistemic status, no review surface and no record of a correction.
445A Zettelkasten of markdown cards whose write and query paths both pass a credential detector — tested for what it must allow as well as what it must refuse, and asserted never to echo the token it rejected.
446A Rust memory engine with a WAL, HNSW and BM25 under a query language where record time and validity are both fields — so a superseded fact is visible when you ask about a moment it was true.
447Forgetting a rule writes its text to a blocklist, and any later bullet within 0.85 token overlap is blocked on merge — beside five typed audit writers with no caller outside their own tests.
448An encrypted offline vault whose audit chain anchors its own length against truncation — and whose memory-shape rule moved from the MCP handshake into a refusal after the handshake version measured a 1,938-character median.
449Seals the testimony and lets the filing change — then ranks "this is false" at the bottom of the confidence ladder, where any ordinary write outranks it.
450Memory as a deductive database — proof trees, semiring provenance, scoped retraction — whose shipped tuple carries an asserted_at position every write sets equal to valid_from and no rule reads.
451A LanceDB memory whose account scope defaults to the owner's rows as a WHERE clause — and whose condense stage computes supersession chains mechanically, leaving the merge decision to the agent that asked.
452A Rust search engine whose agent-memory API is one reserved index per namespace, with bitemporal graph edges over those memories — and an edge id that changes when the source file is saved, so the invalidation stops applying.
453Coding sessions captured at every commit and carried to teammates by git itself — with a committed benchmark showing the recall gate injected on all 1,888 questions and abstained on none of the 446 that had no answer.
454Shared Markdown served to agents over SSH as a scope-filtered virtual filesystem — with a complete human-approval protocol whose only non-test callers live in three test files.
455A multi-tenant memory plane whose private tiers are filtered per hit against the owner stored on the record — and whose actor role defaults to system, which is on the privileged list.
456A memory organ that degrades what it stores on purpose — gists blur, forgotten scenes keep colouring what comes next — so that two instances on one corpus stop sharing a past.
457An inferred memory is written pending and no prompt can reach it until a person confirms — and rejecting one records a fingerprint the extractor checks before it writes.
458An organization memory kernel where identity comes only from the API key, every read is an enumerated list of ancestor namespaces, and every outcome is hash-chained into the audit log in the same transaction — while the write-time dispute quarantine its documents describe is never created.
459Agent memory as RDF in three layers — a private per-agent draft, a gossip-shared graph, and chain-anchored Knowledge Assets whose trust only the protocol writes — recalled by a keyword scan that ranks by layer and never asks for trust.
460A book's memory chapter that builds user memory four ways and commits hashed run evidence for each on one sixty-case suite — where enhanced notes edge out the structured cards the chapter builds toward.
461A DeepSeek Harness memory plugin whose background consolidation writes a replayable receipt for every run and every merge it commits — with conflict freezing and scope isolation built, tested, and off by default.
462A Mem0-shaped Python library that never lets a medication decay, returns a confidence level so an agent can abstain, and holds its write history complete with a source-walking test — while a search with no user id reads across users.
463A Rust graph engine where an agent records hypotheses, verdicts, reviews and reasoning trails, never overwrites a node, and can read any node as it stood at a past second — along record time only, and with verdicts recall does not consult.
464IBM's on-the-job learning for agents: guidelines extracted from finished trajectories, merged by LLM conflict resolution, and injected as a small support-weighted dose per task — with corrections that delete rather than supersede.
465A Postgres memory service for coding agents with a full assertion model — statuses, validity windows, reviewed proposals, reversible executions, tombstones — that nothing in the service ever writes; what runs is a pgvector memory table and an event log.
466A dependency-free Python memory, one Markdown store per agent mode, where a model recalls by reading the whole index and every write must carry quotes found verbatim in the transcript — numbers from tools, decisions from the human.
467Project memory for coding agents: verbatim turns, deterministically extracted nodes with evidence spans and validity windows, and a browser workflow where a person approves the exact text of a correction — while the default hybrid query ignores validity.
468A Go vector database with HNSW, BM25, a time-stamped property graph and an LLM gardener that consolidates and reflects — where superseded and consolidated memories are hidden by one recall tool and returned by the others.
469A Claude Code memory plugin on one SQLite file: batched hook capture enriched by Haiku, heavily tuned FTS5 recall gated by a CI benchmark, and retractions kept as tombstones every read path excludes — though the automatic save still dedups against them.
470A local runtime that installs shared memory, a command guard and a session bus into twenty coding tools — with encrypted per-branch project state beside plaintext decisions and lessons that every project’s queries return.
471A local-first memory for coding agents that appends every issue, attempt, fix and decision to one JSONL log, warns before a commit repeats a failure, and promotes lessons to a machine-wide store that ignores their later corrections.
472A DeepSeek Harness memory that seals conversation verbatim before any model call, derives decaying layers, time-aware event cards and a current-state graph from it, and reinforces only evidence an answer actually used.
473A Go MCP server for engineering agents with typed decisions, runbooks and incidents, a document index, session close as a reviewable plan and a steward that queues conflicts — whose as-of recall cannot see superseded entries.
474A Rust vector, graph and columnar database whose memory server stores facts with no model call, returns the evidence trail behind a recall and compiles context under a budget — while forgotten facts leave their extracted attributes on the entity.
475A DeepSeek Harness plugin that pins one view per turn from bounded runtime memory, documents and provider-backed memory spaces, and archives overflow only after verifying every entry landed — while branch-scoped memory leaks across branches after archival.
476A Hermes Agent memory provider over an in-process YantrikDB engine that scopes every recall to the agent and optionally the person — while the shared-brain mirror and id-only forget both cross the person boundary it guards elsewhere.
477A per-tenant SurrealDB memory service whose facts carry real-world validity and knowledge time on separate columns, with a parity test binding the profile and the search lane to the same instant — while the per-user fence on the timeline and the contradiction list is off by default.
478A memory layer for installed coding agents that identifies a writeback candidate by a hash of its own content, so a sentence a person rejected is refused forever — while recall and export enforce workspace scope by two different rules.
479A local-first shared memory for coding agents that checks visibility at every seam returning a record and promotes memories only through CLI review — while the transfer tool’s import inserts arbitrary records verbatim.
480A self-hosted Go memory service whose recall gates real-world validity and knowledge time together and replays a claim’s transition history to answer what was believed then — while a verifier model, not a person, decides what becomes fact.
481An LLM proxy that distils sessions into versioned knowledge, deletes by appending a death certificate both import lanes consult, and detects contradictions without resolving them — while the approval that decides team sharing is excluded from sync.
482A C++ and Python associative memory with a sleep-cycle consolidation engine whose supersession fires only when two similar memories carry different numbers, and which demotes the older one by half a point rather than filtering it.
483A markdown-first memory whose scope rule is a SQL fragment that is never empty, with a registry test that fails when a new read surface forgets it — and no status on a chunk, so belief is your repository’s history.
484A Rust code-intelligence daemon whose fact store proposes every deletion as a review-required candidate and applies none of them alone — and then hard-deletes by policy, keeping no record that a fact was ever rejected.
485A Bun and SQLite memory with no model or embedding provider on any path, whose purge record makes a later claim citing that evidence fail on a primary key rather than be refused in application code.
486A Postgres memory and multi-agent deliberation service whose discussion outcomes are constrained by the database — and whose readable-namespace filter is called with the wrong arity at one of eight sites, in a permission service no test covers.
487Versioned markdown over QUIC where every version is hash-chained and the history response reports whether the chain actually verified — with capability tokens the server holds only as hashes, and no model of belief at all.
488A local-first store of memory about the people in your life, where a four-level sensitivity bounds what an ordinary read discloses and imports stage for review, committing only by the ids a person names.
489A deterministic SQLite graph for workflow state that logs both sides of every mutation — and on a detached HEAD reads nothing while writing under main, with neither half reporting it.
490A markdown-and-git vault curated by a resident agent, where every apply-propose-skip verdict comes from one function keyed on what the operation does rather than on what the model said about its own risk.
491A git-backed knowledge vault where agents run their own SQL and PostgreSQL enforces vault isolation through a transaction-scoped role — with a token scope that intersects the user ACL and can only subtract.
492A personal always-on agent host whose memory injects two horizon files every turn — one documented as dream-maintained and read-only for agents, though neither write path distinguishes it from the other.
493A C11 agent-runtime substrate whose memory daemon keeps records in a fixed-size array and reports newest-first by array position — which its swap-with-tail delete permanently scrambles.
494A personal learning agent that derives mastery from typed, weighted evidence and gates teaching on a misconception status — beside two tools that write the same fields with none of that discipline.
495An operating layer over Hermes Agent where nothing reaches a prompt without an admission state — staged, decided per item, and re-checked at the write and again at replay.
496A local-first agent whose knowledge graph does real as-of belief revision, and whose chunk store carries two lifecycle columns whose mappings are not inverses.
497The embeddable Rust engine behind YantrikDB’s server and Hermes plugin: decay, consolidation and an as-of recall whose header lists the three things it cannot reconstruct.
498A multi-model database pitched as agent memory, whose row-level policies are injected into physical plans by a walker exhaustive over every engine’s own op enum.
499A desktop and web client for self-hosted Honcho that browses, creates and permanently deletes the conclusions a memory server has drawn about you.
500A CLI whose team memory is a shared git repository, where a conflict the safe-prefix rule won’t touch is merged by an LLM that only has to remove the conflict markers.
501Client SDKs for a hosted memory service, where Python proves every method taking a customer id checks it by walking its own AST — and TypeScript ships the guard without the proof.
502A local memory agent that brackets every unsupervised LLM rewrite of its graph with a fingerprint, a snapshot and a gate — which counts the memories deleted and raises nothing.
503A Rust memory space over the terminal output and agent transcripts already on your disk, which records that a session holds credential-shaped strings without storing them.
504A pre-alpha Rust control plane whose claim cards separate how well founded a belief is from whether it is live, and which let only an operator promote a candidate.
505Persistent memory and context compression for coding agents, with a hash-chained audit that survives rotation and a test refusing any website ratio without a reproduction command.
506An agent memory that keeps a ledger of the values each key has retired and retires a matching write on arrival — with the guard’s own defeat condition in the comment above it.
507A Pi extension whose facts carry a validity interval apart from when they were recorded, and whose resolve path refuses to move a contradicted fact back to a live standing.
508A Git-backed memory where every change is a new validated revision with its author and reason, nothing can be deleted, and recall tells the model that absence is not proof.
509A hyperdimensional swarm memory whose prose promises wave interference, and whose single write chokepoint refuses to let a remote peer set or clear the hallucination flag.
510A fleet coordinator that shipped a flag to switch its own memory injection off, ran the A/B, and published the null — then checked a second way and agreed with itself.
511A fully local MCP memory server whose forgetting is a six-row half-life table with floors and protected tags, persisted only when the change crosses half a point.
512A defensive middleware that wraps a host’s memory writes with eleven detectors, including one that refuses to let an agent corroborate itself — if the caller labels the write.
513A four-tier local store where a re-save with no visibility argument re-reads the stored flag, so a quarantined key cannot be un-hidden by writing to it again.
514A Markdown memory for coding agents with a CI gate that fails when memory went unused, and a write path where every call makes a new page because no input carries a slug.
515A Markdown memory server that strips the dates and –2 suffixes off a title before checking it for duplicates, counts every override, and hides nothing from search.
516A decaying local memory whose admission gate holds the candidates it will not judge in a queue that no shipped client can drain.
517A Rust knowledge-graph memory where grants are rows the query language cannot reach, belief is computed rather than stored, and erasing a source blocks its digest from ever being re-published.
518A serious Rust storage engine with a ranked context pack above it, whose validity field has no writer and whose headline token saving divides by a corpus the baseline never read.
519An embedded graph where a relationship is a rule that derives and retracts its own edges with the evidence attached, and a role token’s mask can only ever be narrowed.
520An identity and memory substrate whose read-scoping lives in a single helper, written that way after the same rule, copied per path, leaked one agent’s memories to every other.
521A read-only decision record whose absence proof compares three deployments on the wire, so a withheld row cannot be inferred from a count, a score or a page boundary.
522A desktop OS whose shell is an agent, with an LLM-free cognition loop whose speaking threshold rises when its suggestions go unheeded.
523A single-file personal memory hub whose dedup marks the later duplicate merged instead of deleting it, keeps the earlier one, and shows you the pairs before it acts.
524A hook-driven memory for four coding agents that redacts before storing, removes its own injected block so it cannot re-ingest itself, and tells a missing prompt from a redacted one.
525An agent runtime whose 148-line memory layer keys one Memvid file per session, under a tool that tells the model it is searching its absolute long-term memory.
526A cognitive layer for underneath an agent framework, where a memory’s origin is the tag of a union rather than a flag, and a contested memory is still recalled.
527An SDR-backed associative memory whose excluding statuses return None rather than a low weight, and whose contradiction detector compares claims instead of text.
528A markdown-and-git memory server whose recall reports how many weak matches it suppressed and whether it widened — and where omitting the scope is the stricter path.
529A local memory that harvests other AI tools’ traces into encrypted SQLite, redacts before embedding, and labels its sandbox and denylist as speed bumps rather than boundaries.
530A tamper-evident ledger for coding agents that refuses to write a chain break, keeps capability material out of its events, and ignores any verdict recorded before the gate opened.
531An event-sourced entity graph where a fact’s confidence is a projection of how it was obtained, and corroboration is recomputed at read time rather than stored.
532A continuity framework whose benchmark pins its fixture by hash, scores the naive alternative on the same target, and publishes which metrics that alternative passes.
533A coding memory whose semantic search has the scope-enforcement flag removed by type, and whose attribution layer refuses a causal claim without a preregistered randomized contrast.
534A typed-note knowledge system whose re-derivation gate blinds the claim, pins the model so it cannot certify itself, and quarantines rather than retracts when it cannot tell.
535A local-first AI daemon whose operator-asserted facts live in a decay-immune table ordered ahead of episodic memory, and drop out of recall when a contradiction demotes them.
536A local memory runtime that reports what it excluded and why — and whose own test suite records that, to an unauthorised caller, that report answered whether a memory exists.
537A local-first second brain whose search validates each row’s access list in SQL before matching it, and which starts query-only until each capability is separately authorised.
538A local memory server with no model in the retrieval loop, supersession published as a view, and a CI gate whose exemption list is itself pinned by a test.
539A single-file Python memory with episodes, superseded facts and an entity graph, whose published numbers are recomputed by a CI gate and whose gates are pinned to the release workflow by a test.
540A bitemporal knowledge graph in one SQLite file where valid time comes from the caller, a retraction means never-true rather than no-longer-true, and a linter reports facts retrieval cannot reach.
541Agent memory on your own PostgreSQL where every hit carries one of eleven verdicts, strict mode refuses instead of answering, and 162 dated preregistrations say what was going to be measured.
542An Open Knowledge Format implementation keeping memory as repository markdown, where status and staleness are validated but never read, and governance multiplies the rank instead.
543A temporal knowledge engine over a markdown vault where fact lines are the durable record, queried by both valid time and transaction time, and the index can be wiped and rebuilt.
544A PVLDB artifact whose reference substrate is a bitemporal belief ledger with signed evidence and crypto-shredded payloads, beside a harness that rechecks every printed figure offline.
545A Rust MCP memory over Neo4j where the agent curates what it keeps, visibility is checked on both endpoints of every relationship, and correction edges are barred from search.
546An AGPL memory where writes pass an admission gate, recall SQL drops three stored statuses, and the hash-chained mutation log records the deletion without recording what was deleted.
547A DuckDB memory whose tenant and bitemporal predicates live in one module, whose indexes may only narrow, and whose erasure chases copies outside the memory graph.
548A git tree of semantic HTML, one fact per file, with a rebuildable index, four arms sharing one scope filter, and a curation pass that commits to a branch only a person may merge.
549A per-user memory SDK on Postgres whose facts carry both time axes, whose database-constrained status keeps three of four values out of every read, and whose corrections table names both values.
550A local gate between what an agent proposes and the state it would change, where a memory write is held until an authenticated person decides and every decision leaves a receipt.
551A consolidating memory that merges extractions into one record per key, with a ledger of pre-merge inputs so removing a document re-merges the survivors instead of deleting everything it touched.
Nothing matches those filters.
Side-by-side synthesis
The comparative report traces capture, extraction, consolidation, retrieval, injection, correction, forgetting, persistence, and sharing across all 551 systems.
Read the comparative reportHow the atlas is made
Every claim is pinned to a commit, which is what makes a wrong one findable. If a report misreads your system, say so — corrections are the cheapest contribution here, and the most valuable.
Find the concrete schemas, functions, prompts, workers, adapters, tests, and evaluation artifacts.
Follow capture through storage, retrieval, context assembly, correction, and deletion.
Keep product claims, visible code, committed evidence, and open questions distinct.
Extract reusable patterns and blunt risks without pretending these systems solve the same problem.