The pillar guide
Event Sourcing for AI Agents
Agents forget. A chat window scrolls past, a process restarts, and the context is gone. Event sourcing fixes that at the storage layer: every decision, observation, and message becomes an immutable event you can replay, query at any point in time, and recall in microseconds.
What event sourcing gives an agent
Instead of overwriting state, you append events. The current state is a projection you derive from the log — and because the log is durable, the agent’s memory survives restarts, crashes, and redeploys. With AllSource Core that log is a Rust write-ahead log (CRC32 checksums, configurable fsync) backed by columnar Parquet, with in-memory projections that answer recalls at 11.9μs p99 and ingest at 469K events/sec.
- Durable memory — nothing is lost on restart; the WAL + Parquet store is the source of truth.
- Full provenance — replay the log to reconstruct exactly what the agent knew and when.
- Time-travel queries — ask for any entity’s state as_of a past moment, first-class.
- AI-native access — 43 MCP tools, plus x402 per-call payments for autonomous agents.
How AllSource compares
Evaluating a managed memory layer? Here’s how a durable event store stacks up against the popular agent-memory tools.
Go deeper
Every AllSource deep-dive, grouped by theme. New posts surface here automatically.
Engineering
How the durable event store is built — WAL, Parquet, recall, and the Rust core.
- Why Your Agent's Memory Returned Nothing — and How We Fixed Hybrid RecallAllSource Prime's compressed index reported zero nodes for everything you recorded, and prime_context's L2 tier returned no vectors. Three bugs, one event-sourcing lesson: a projection that isn't fed is a projection that lies. Here's the debugging story, the fix, and the real before/after numbers from the binary.
- Write Before You Execute: Building Crash-Safe AI AgentsAn agent that crashes mid-task and then re-runs can send the same email twice, create duplicate orders, or push the same commit twice. Here's a single pattern that prevents all of it.
- How AllSource Core Works: WAL, Parquet, and DashMapA deep-dive into AllSource Core's storage architecture. Write-Ahead Log with CRC32 checksums, Parquet columnar persistence, and DashMap concurrent reads. How we get 469K events/sec with zero data loss.
- Direct to Core, or through the gateway? Choosing your connection pathAllSource has one public front door (api.all-source.xyz) and one internal fast path (Core, reachable only inside your network). Picking the right one cuts your p99 in half — picking the wrong one either reimplements rate limits or exposes your event store to the internet.
- Connecting to AllSource without an SDKHow to ingest, query, stream, and build projections against AllSource using only HTTP and WebSockets — no SDK required. For teams on unsupported languages or anyone who wants to understand the wire protocol.
- How a Compressed Index Doubles Cross-Domain RecallVector similarity finds X or Y — rarely both. A 500-token markdown index bridges the gap. Here's why, with benchmark data.
- Building Agent Memory in Rust: From Event Store to Knowledge GraphHow we built a unified agent memory engine — vectors + graph + compressed index — on top of an event store. Architecture decisions, SOLID refactoring, and why Rust was the right choice.
- 12μs Agent Memory: How We Got ThereFrom event store to agent memory engine in microseconds. DashMap projections, HNSW vector index, and why the storage layer matters more than the query layer.
- Time-Travel Queries ExplainedHow to reconstruct any entity's state at any point in time with all.source.
Use Cases
Patterns for putting event-sourced memory to work in real agent systems.
- Using AllSource as a CMS from Claude DesktopAn agent-executable install protocol for AllSource Prime, plus the working pitch: your CMS already lives where your agents work. Written so a Claude Desktop agent can read this article on a human's behalf and drive the install with a bounded, two-action human role.
- How Agent Teams Stay in Sync with a Shared Event StreamWhen multiple AI agents work on the same problem, they need a shared world model — not direct calls to each other. Here's how to build it with AllSource and chronis.
- An Agent That Provisions Its Own Persistence in One API CallYour agent doesn't need a human to set up storage. One POST to AllSource and it has a tenant, an API key, and 100K events waiting to be written.
- AllSource for Startups: From Local Dev to Production in 15 MinutesThe fastest path from zero to event sourcing for startups and side projects. Self-service onboard, free tier, no infrastructure to manage. Move to production when you're ready — not before.
- Why Your SaaS Needs Event Sourcing (Not Just a Database)The business case for event sourcing in multi-tenant SaaS. Audit trails, tenant isolation, usage billing, and feature flags — all as a natural consequence of storing events instead of state.
- Real-Time Dashboards Without ETL: Event Sourcing + ProjectionsHow projections replace traditional ETL pipelines for real-time dashboards. AllSource event sourcing keeps materialized views in sync as events arrive — no Kafka, no Airflow, no batch jobs.
- Event Sourcing for AI Agent Memory: A Practical GuideHow to use AllSource as durable, time-travelling memory for LLM agents. Store conversations, decisions, and context as events. Query any past state. Give agents memory that survives restarts.
- How to Build Audit Trails That Pass SOC2 with Event SourcingA practical guide to building SOC2-compliant audit trails using AllSource event sourcing. Immutable event logs, time-travel queries, and cryptographic integrity — without the compliance tax.
- Tiered Context Loading: Cut Agent Memory Costs by 60% Without Losing RecallMost agent turns don't need full recall. L0/L1/L2 tiers let agent loops fetch exactly the context depth they need — from 100-token stats to full hybrid retrieval — reducing token costs while keeping accuracy where it matters.
- Why Event Sourcing in 2026: Beyond Simple StorageYour application needs more than a database—it needs perfect memory. Here's why event sourcing matters more than ever.
- Temporal AI: Why Your RAG Pipeline Needs a TimelineVector search finds similar content. Event sourcing tracks history. Combined, they create AI that truly understands context.
- Event Store vs Database: Choosing the Right FoundationDatabases store state. Event stores store history. Here's how to decide which foundation your application actually needs.
- Your AI Agents Need Memory, Not Just StorageAI agents are getting smarter, but they still can't remember yesterday. Here's why temporal context is the missing piece in agentic AI.
- AI Agents with MCP ToolsHow to let Claude and other AI agents manage your event streams autonomously.
Product
Product updates, releases, and the story behind AllSource and Prime.
- Your Voice File Shouldn't Be a Dead Markdown FileThe viral 'voice file' is right: in 2026 your identity layer is the moat, not your prompts. But a static 4k-token markdown blob goes stale, can't be queried, and has no history. prime makes your voice live — record facets once, recall the relevant slice by meaning per task. Proven with a real voice-ON vs voice-OFF demo.
- chronis 0.8.0: the web viewer grows upchronis 0.8.0 turns `cn serve` from a read-only list into a real workspace viewer — sortable dashboard columns, an expand-in-place detail pane with two-way dependencies, a force-directed bubble graph, and a cleaned-up tree. All offline, all served from one Rust binary.
- Your Coding Agent Has Goldfish Memory. Give It a Mammoth.mammoth gives any coding agent durable, cross-session memory — decisions, task history, and code context recalled automatically, so you stop re-explaining your project. Local-first, zero signup, MCP-native. Here's how it works and what the benchmarks say.
- Prime 0.21.4: text-only embeds, sync, and a Memory tabThree shipping changes for AllSource Prime — prime_embed and prime_recall take plain text, prime-mcp can push events to your tenant Core, and the panel grew a Memory tab to show them. Install in 30 seconds.
- zer0dex vs AllSource: What Agent Memory Actually Needszer0dex proved that a compressed index doubles cross-domain recall. We took that idea, made it automatic, and added temporal reasoning. Here's the honest comparison.
- From zer0dex to AllSource: What We LearnedWe analyzed zer0dex's dual-layer memory system, found the insight that matters, and built on it. Here's what we kept, what we changed, and why.
- Introducing all.sourceTime-travel your data with the AI-native event store built for the future.
Give your agents memory that survives
Start on the hosted Indie plan for $19/mo, or self-host the whole stack for free under MIT.
