Queryable memory for code

Give your agents total recall.

code.subspace turns the history scattered across repositories, branches, and worktrees into durable context your coding agents can query. Less searching. Fewer repeated mistakes. Better answers backed by the code that came before.

Explore the queries
cross-repository history-aware SQL + Datalog
agent session · code.subspace

Payments started double-charging Tuesday. Find the change across every repository.

SELECT repo, unit, author, arrived
FROM search_history('payment retry idempotency')
WHERE arrived >= '2026-03-01'
ORDER BY relevance DESC;
repounitauthorarrived
payments-svcretry_chargem.tanaka2026-03-01
web-appuseRetryPaymentd.kim2026-03-02

retry_charge creates a new idempotency key on every retry. That is the regression.

ONE QUERY SURFACEMeaning, structure, provenance, and time in the same answer.
HISTORY THAT STAYS USEFULRecall work after branches are deleted or commits are rewritten.
CONTEXT ACROSS THE FLEETSee relevant code across repositories and active worktrees.

Why it works

Code history becomes working memory.

Agents are excellent at reasoning over context. The hard part is finding the right context without flooding the window. code.subspace reduces a sprawling code estate to focused, composable results.

Ask by meaning, narrow by evidence

Start with semantic similarity, then join against authorship, callsites, branches, repositories, or arrival time. The result is precise enough to act on and small enough to reason about.

#

Identity follows the code

Content-addressed units connect equivalent code across paths and repositories, making moves, copies, and shared implementations visible without brittle path matching.

Dead ends remain instructive

Abandoned experiments and deleted branches can still answer “have we tried this?” Agents learn from discarded approaches instead of quietly repeating them.

Δt

Timelines reflect when code arrived

Append-only ingestion time separates the history your team received from the dates encoded in commits. That makes incident investigation resilient to rebases and force pushes.

Query gallery

One index. Many kinds of answers.

Purpose-built views keep each query focused on the agent’s intent. Switch between SQL and Datalog to see the same task expressed in either language.

“Sessions started expiring after yesterday’s deploy. What new code touched token or TTL logic in any repository?”

SELECT repo, unit, author, arrived
FROM search_history('session token ttl expiry')
WHERE arrived > now() - INTERVAL '72 hours'
ORDER BY relevance DESC;
[:find ?repo ?name ?author ?arrived
 :where
 (search-history "session token ttl expiry"
                 ?repo ?name ?author ?arrived)
 (within-last ?arrived "72h")]
repounitauthorarrived
auth-svcclamp_token_ttlp.iyer26 h
shared-libCACHE_TTL_Sd.kim41 h

Root cause without repository-by-repository archaeology. The time filter reflects arrival in the index, so rewritten commit dates do not distort the investigation window.

Architecture

Connect once. Ask from anywhere.

Local and remote hooks feed a shared, content-addressed model of your code. Agent tools turn natural-language intent into focused SQL or Datalog.

01

Ingest changes

Capture code units, commit context, and arrival time across connected repositories and worktrees.

02

Connect the history

Unify semantic embeddings, unit identity, provenance, and repository structure in one model.

03

Return evidence

Agents receive compact rows and precise locations instead of another full-repository dump.

service-apimain + feature branches
web-clientcommits + active worktrees
shared-libshistory + provenance
code.subspacesemantic index
content identity
commit graph
arrival timeline
agent toolsMCP · SQL · Datalog

Deployment

Run it where your code belongs.

Choose infrastructure you operate or a managed service. Both paths expose the same query model and agent-facing tools.

MIT-licensed core

Self-hosted

Deploy the engine with Postgres, your preferred embedding model, and your object store. Keep control of infrastructure, retention, and access policy.

Stay in the loop

Let your next agent start with context.

Join the newsletter for product updates, technical notes, and invitations to the early-access program.

code.subspace updates

Remember what matters.

Get occasional product updates, implementation notes, and early-access invitations. No noise—only useful progress.

Submitting opens a pre-addressed email. Send it to confirm your signup.