Your AI coding agent forgot everything you told it yesterday.
Yesterday's mistakes, yesterday's decisions, yesterday's work - gone. The next session starts at zero. You re-explain the project, re-answer the same questions, and the agent makes the same mistakes again.
I'm building the thing that fixes this. The flagship is CSM - a TypeScript plugin that gives agents persistent, recallable, auditable memory across sessions. It has been running in production for 30 days. Every number on this site is backed by a SELECT against a live database.
snapshot · 2026-07-11 · full evidence →
Continuity, not context.
Bigger context windows are the symptom pretending to be the cure. Tripling the context just triples the cost and triples the surface area for hallucination - it doesn't make the agent remember. What works is memory that persists between sessions, recall that actually finds the right thing, and telemetry that tells you what happened when it didn't.
Flagship system
CSM - Cross-Session Memory
Agents forget. Every session restarts from zero.
Most AI coding agents still lack durable, auditable continuity. Some cache threads or read project rules, but preferences, decisions, mistakes, and hard-won context don't persist across sessions. The prompt gets longer. You re-explain yourself. The agent makes the same mistakes.
- ❌ No persistence of decisions or preferences across sessions
- ❌ No verifiable telemetry - "it works" is not auditable
- ❌ Context windows balloon, costs rise, latency degrades
It runs inside the agent's process.
CSM is a TypeScript ESM plugin that hooks into the agent's tool lifecycle. It extracts memories from every tool call, stores them with graph + vector + text indices, and re-injects relevant context at session start. PostgreSQL for scale, SQLite for local-first.
Every operation is logged.
Every memory write, recall, and compaction is logged. 642,650 recall events across 232 sessions. 10,663 compaction events saving 2.015 billion tokens. Failures are captured, not hidden - belief promotion has governance, work-ledger changes have SHA-256 lineage.
- ✅ 969 tests across ~244 files
- ✅ SQLite + PostgreSQL parity tested
- ✅ Audit trail for every memory operation
- ✅ Provider-failure handling built into extraction
59,715 memories. 599 sessions sharing one continuous memory.
CSM has been running in production for 30 days. 22,749 experience packets. 111 promoted beliefs. 8 tracked capability scores. The agent that starts a session today is not the same one that started one on June 12 - it has learned, and it can prove it.
These numbers came out of a real database snapshot: 2026-07-11 · read-only SELECTs against localhost:5432
The CSM PostgreSQL instance, frozen at the timestamp above and queried once. If a number is on this page, it came from those queries - no estimates, no projections.
Evidence · frozen snapshot
verified 2026-07-11Every number above was obtained via read-only SELECT against the production CSM PostgreSQL database on 2026-07-11 (localhost:5432). Not estimates, not projections. The 370 sessions without recall logs pre-date the telemetry rollout (Phase 6); they used CSM's memory features but didn't emit recall events to the logging table. See the verification SQL query for the exact statements.
Other systems
In development
These are working prototypes - not finished products. The status labels are direct.
Claudex
IN DEVELOPMENTDesktop code-indexing agent with semantic search and local embeddings.
Tauri 2 + SvelteKit 5 + Fastify sidecar · M1–M4 complete
World Brief
IN DEVELOPMENTAutomated news documentary generator: RSS → storyboard → rendered video.
Python 9-phase pipeline · 47 briefings produced · 7 live RSS feeds
Sovereign
ARCHIVEDSub-megabyte WASM agent runtime concept - micro-apps on demand.
Python + FastAPI + Tauri · March 2026 sprint · source archived
rules Six things I haven't been talked out of yet
Continuity is the bottleneck
An agent that forgets between sessions is a stateless chatbot wearing a fancy costume. Persistent memory that carries context forward is what makes it useful.
Local-first by default
Latency, privacy, and cost all favor running on the machine in front of you. The cloud should have to earn a place in your stack.
If you can't audit it, don't trust it
A system you can inspect is worth more than one that performs better but can't be examined. Work ledgers, telemetry, replayability - these are features.
Compact
Sub-megabyte binaries, sub-second cold starts, fewer dependencies. Complexity is debt that compounds.
Tools over products
A tool the user can compose, extend, and inspect beats a polished product that hides its internals. Build things that get out of the way.
Evidence over claims
"It works" is not a specification. Show the logs. Show the metrics. If you can't, don't ship it.
What I'm thinking about.
Some of these shipped. Some are still unproven. One is shelved because it didn't work - the WASM agent micro-app sprint tried to make an LLM into a compiler and the LLM lost. Each is labelled with what it actually is.
build log The phases CSM went through to get to v1.0.0
Build log
CSM - how it was built
Each phase was an engineering milestone with tests, docs, and failures that didn't make the headlines.
-
PHASE 1
Memory extraction ←→ context injection
First memory write/recall cycle. Plugin pattern established.
Shipped -
PHASE 2
Vector similarity search
Embedding generation, cosine similarity recall, chunking.
Shipped -
PHASE 3
Graph relationships
memory_links table, semantic graph traversal, linked recall.
Shipped -
PHASE 4
Experience packets
Tool-call event capture, internal-state derivation (load, frustration, energy, stance - classification signals, not simulated emotion).
Shipped -
PHASE 5
Self-model & belief promotion
Capability tracking, belief candidates, promotion governance.
Shipped -
PHASE 6
Recall telemetry & quality audit
Live recall event logging, recall quality reports, governance buckets.
Shipped -
PHASE 7
Context compaction
2.0B tokens saved across 10,663 compaction events. 90.8% reduction.
Shipped -
PHASE 8
Work ledger & surviving changes
SHA-256 line lineage, run attribution, work-survival recomputation.
Shipped -
Current
v1.0.0 · production
969 tests passing · 59,715 memories · 599 sessions · steady-state operation.
Live