Read path: branch-and-discard
ask() never appends events, writes snapshots, or mutates the chronicle.
Enforced in CI by SHA-256 file hashes (tests/mutationSafety.test.ts).
Full BEAM ladder 100K → 10M via the public AMB runner · 100K submitted as PR #19 · pending acceptance
Context Swarm Memory (CSM) is open-source agent memory whose total cost per query stays flat — about 36–38K input tokens all-in (the small, fully-cited packet the answer model sees, ~26–33K, plus CSM's own probe/recall/synthesize calls) — whether the underlying memory holds 100K or 10M tokens. Bounded read-only shards, cheap probes, cited recall, one explicit write gate; querying memory never mutates it.
The full BEAM ladder (100K → 10M) was produced by the unmodified public AMB runner (their CLI, scoring, and judge path), same answer/judge models as the accepted Hindsight artifact. The 100K tier is submitted upstream as vectorize-io/agent-memory-benchmark#19, pending acceptance — not an official leaderboard placement. Single-trial.
The measured result
CSM ran through the unmodified public AMB runner at every BEAM split, next to Vectorize's own committed Hindsight run (same answer + judge models). CSM keeps its total cost per query bounded — ~36–38K input tokens all-in (a ~26–33K answer packet plus its own probe/recall/synthesize calls) — at every tier, even at 10M, where each unit is an ~11.7M-token document. It trails Hindsight above 100K, but degrades gracefully and stabilizes at the extreme while Hindsight drops — so the gap narrows from 1M to 10M.
| BEAM tier | CSM score | Hindsight score | CSM answer-ctx | Hindsight answer-ctx | CSM all-in input |
|---|---|---|---|---|---|
| 100K | 0.7367 | 0.7337 | 27.0K | 17.7K | 35.8K |
| 500K | 0.6589 | 0.7112 | 26.6K | 20.5K | 36.2K |
| 1M | 0.5693 | 0.7386 | 28.2K | 23.9K | 38.1K |
| 10M | 0.5616 | 0.6408 | 32.5K | 27.3K | 35.9K |
The 100K tier is the one submitted upstream for review: CSM's official-runner rerun — a separate, single-trial run from the 0.7367 ladder tile above — scored 0.743110 (337/400) vs Hindsight's accepted artifact 0.733658 (326/400) — a thin, single-trial lead, retrieved 1.84× faster. The full-ladder table above shows the honest rest: Hindsight leads at 500K/1M/10M, and CSM narrows the gap at the extreme.
Same answer & judge models as the accepted Hindsight artifact · single-trial · submitted upstream as PR #19, pending acceptance.
higher is better · 400 questions
lower is better — the PR #19 official-runner rerun. The separate frozen-ladder run measured 4.5/7.5/5.6/11.9s across 100K→10M (non-monotonic, peaking at 10M).
lower is better — Hindsight is leaner here. Answer-context only (apples-to-apples); CSM's all-in is ~35.8K with +8.8K internal input, Hindsight discloses no internal cost.
At 100K, CSM's all-in cost is ~35.8K input tokens/query: a 27.0K answer packet (larger than Hindsight's 17.7K, +53%, because the coverage chronicle fills its return-K budget) plus 8,805 input / 625 output tokens on its internal probe/recall/synthesize pipeline (down 58% from May's 21,020). We print the sum rather than report the halves separately. Hindsight reports only its answer context — no internal figure — and distills memory at ingest, so its all-in total is unstated and not directly comparable. The internal tokens run on models ~10× cheaper than the answer model, so they're ~25% of the token count but ~7% of the dollars. The run is single-trial; no gold answers, rubrics, or query IDs ever reach retrieval.
Evidence
AMB_BEAM_LADDER_2026_06_18.md
AMB_BEAM_100K_OFFICIAL_RERUN.md
upstream PR #19
npm run verify:published
Architecture
Memory is a swarm of bounded, immutable shards behind a read-only manifest. CSM spends context only after a zero-LLM router finds plausible shards; the answer arrives as one compact, cited packet.
Keyword/tag scorer over the shard directory. No LLM, no vector DB required at index time.
Cheap relevance pass per candidate shard — “is this memory worth recalling from?”
Structured, citation-bearing extraction from only the shards that passed the probe.
Merge, dedupe, flag conflicts — emit a compact MemoryPacket for the agent.
Answer + key claims, every line cited to shard, snapshot, and event IDs.
ask() never appends events, writes snapshots, or mutates the chronicle.
Enforced in CI by SHA-256 file hashes (tests/mutationSafety.test.ts).
Durable memory changes only through appendEventAndSnapshot or an explicit
Committer decision. Snapshots are immutable and versioned; the storage layer refuses overwrites.
Routing starts from keywords and tags, with a local MiniLM embedding recall floor — no LLM-generated index is ever built, so adding memory costs no API tokens.
Summary/ordering/temporal queries get a date-ordered, fully-cited timeline assembled without extra LLM calls. Date arithmetic is computed, never delegated to the model.
Evidence
ARCHITECTURE.md
mutationSafety.test.ts
npm test
June 2026 R&D wave
A full-repo planning pass dispatched four parallel agent briefs — coverage/chronicle recall, a hybrid router, a BEAM-slice retrieval harness, and Gemini caching. All four delivered; every feature merged behind a default-off flag, and each landed only after accuracy gates. Two of the wave’s load-bearing hypotheses did not survive measurement — and that’s published too.
A deterministic, fully-cited timeline assembler for summary/ordering/temporal queries. Offline it recovered 12/13 and 5/6 gold events on the two known coverage failures; on real BEAM 100K data it lifted event_ordering cov@24 from 0.475 to 0.659.
Mechanism proven offline (recall@3 0.714 → 0.857; thin-metadata gold-top-3 0/4 → 4/4) but no measurable effect at 100K scale — so it stays default-off until a 500K re-gate, exactly as measured.
Retrieval-only recall@k on the two losing BEAM categories, minutes instead of a 400-query run. Gold facets stay strictly eval-side, enforced by an import-graph leakage-firewall test.
The projected “40–60% input-cost cut” did not survive verification: a measured 4,096-token implicit-cache floor means every CSM call is sub-floor — today’s pipeline gets exactly zero caching. The observability shipped anyway, surfacing ~$2.00/run of previously invisible thinking spend.
| Returned-to-harness coverage | Legacy pipeline | Coverage mode + chronicle |
|---|---|---|
| event_ordering cov@24 | 0.475 | 0.659 (CIs non-overlapping) |
| event_ordering cov@32 | 0.615 | 0.715 |
| retrieved gold coverage (both categories) | 0.61–0.65 | 0.80–0.83 (CIs non-overlapping) |
Evidence
PERF_BREAKDOWN.md
RD_PORTFOLIO_2026_06.md
npm test
Reading the ladder's failed answers found two failure mechanisms — missing scattered facts (summarization, ordering) and stale-value aggregation (multi-session) — and one write-time lever was built for each, both off by default behind intent gates validated on all 2,000 BEAM queries (zero fires on the eight categories CSM already wins). Measured so far, official config, paired on the same 40 queries: BEAM 100K summarization 0.714 → 0.936 at 43% less answer-visible context. The same lever is a score wash on event_ordering (published anyway) while cutting its context 58%. The fact registry for aggregation queries is built but not yet score-measured. Designs, gates, cost disclosures, and artifact hashes: WRITE_TIME_MEMORY_2026_07.md.
Direct answers
These mirror the structured FAQ data in the page head, so humans and answer engines quote the same hedged claims.
Only at 100K, and within single-trial noise — CSM 0.7367 vs Hindsight 0.7337 on the ladder (the submitted official-runner rerun is 0.743110 / 337–400, retrieving 1.84× faster). Across the full ladder Hindsight leads above 100K (500K/1M/10M: 0.711 / 0.739 / 0.641 vs CSM 0.659 / 0.569 / 0.562), so CSM does not beat Hindsight overall. What holds up is graceful degradation: from 1M to 10M CSM is essentially flat while Hindsight drops, narrowing the gap from +0.17 to +0.08.
No. The result was produced by AMB’s own runner and has been submitted to the maintainers (vectorize-io/agent-memory-benchmark#19); the repo does not call it official until they accept the provider/result.
No. CSM retrieval receives only the ingested documents, the query, user id, and timestamp — no gold answers, rubrics, query IDs, or benchmark-specific hardcoding (the June wave also deleted the legacy domain term tables from the active path).
An open-source LLM memory system that treats memory as bounded, immutable, read-only shards. A Memory Manager routes a query to candidate shards, probes them cheaply, recalls from only the useful ones, and synthesizes a compact answer cited to shard, snapshot, and event IDs. Querying memory never mutates it; durable changes go through an explicit Committer protocol.
At 100K CSM scores higher and retrieves 1.84× faster, but it spends more tokens. CSM's all-in cost is ~35.8K input tokens/query: a 27.0K answer packet (vs Hindsight's 17.7K, +53%) plus 8,805 input / 625 output internal tokens on probe/recall/synthesize. Hindsight reports only its answer context (no internal figure) and distills memory at ingest, so its all-in is unstated. CSM's internal tokens run on models ~10× cheaper — ~25% of the token count but ~7% of the dollars. Above 100K Hindsight also scores higher. All single-trial.
Reproducibility
The test suite runs offline against a deterministic mock provider — no API keys.
The published-evidence verifier hashes the committed result rows and recomputes the
headline counts, citation F1, and McNemar checks from results.jsonl.
Go deeper REPRODUCING.md REPLICATION_KIT.md BENCHMARK_METHODOLOGY.md
# offline — no API keys required
$ npm install
$ npm test # 333 tests, MockProvider
$ npm run verify:published # re-hash + recompute claims
# the read path cannot write — enforced by SHA-256 hashes
$ npx vitest run tests/mutationSafety.test.ts