Titentiten.dev
P0 memory service · live on both runtimesP0 · both runtimes

Every agent wakes up
in a world it has never seen.

Titen is a collaborative memory fabric for AI agents — observations, claims, and compiled context, each with provenance you can trace back to its source.

$pnpm titen serve
Niteni

Javanese, niteni — to notice, and to keep what you noticed. An isekai premise is a memory problem: arrive somewhere new with nothing, and everything depends on what you can recall.

titen.dev
The other side

Three record types. Nothing else to learn.

Titen never flattens what it stores. An observation is what happened, a claim is what someone concluded, and a context is what an agent was actually given.

Observation

Raw evidence with a content hash and a time it occurred. Reference data — never an instruction.

obs_01J8QH… · sha256 4f2a…c81e

Claim

A conclusion that cites its evidence. Disputes stay disputed — two perspectives are kept, not averaged.

clm_01J8QK4T · verified · team

Context

Exactly what an agent was handed, why each record was selected, and what the budget cut.

ctx_01J8QM7B · 4,096 tok · truncated
Level 5

Memory kernel

One agent gets the best possible context: evidence, claims, temporal state, a context compiler, and feedback that closes the loop.

Evidence with provenance and content hashesClaims that cite, supersede, and expireContext compiled under an explicit budget
Level 6

Collaboration layer

Many agents share knowledge, keep private perspectives, avoid clashing work, and hand off safely — without a scheduler.

Identity and scope: org → workspace → project → runCheckpoints, task leases, handoff, and outcomeFull audit: who knew, wrote, used, and shared
Two homes, one core

Runs on the edge,
or entirely on your box.

The same kernel, the same API, the same export format. Self-hosting is not a downgrade path — it is a first-class home.

Apache-2.0alpha v0.1< 1 MiB2 depsMCP ready
quickstart
# self-host · Bun + SQLite$ pnpm titen bootstrap --org 'My Org'$ pnpm titen serve
# edge · Cloudflare Workers + D1$ wrangler d1 create titen$ pnpm deploy:worker
# then, from any agentconst ctx = await titen.compile({ task })→ 4 claims · 12 evidence · 734/1200 tok
The first useful slice

Five operations prove
the whole loop.

The Level 5 evidence loop — observe, derive, compile, act, feed back — is verified by 32 contract tests on each runtime. No agent framework, no chat UI, no mandatory graph database.

Observe, derive, compile, act, feed back — verified by 32 contract tests on each runtime.

Memory kernel · RESTMCP ready
observePOST /v1/observationsappend-only evidence
derivePOST /v1/consolidationsrules first, model only if it must
compilePOST /v1/context/compilescope, then rank into a budget
feedbackPOST /v1/context/:id/feedbackoutcomes tune future recall
traceGET /v1/claims/:id/evidenceevery claim resolves to sources
Vectors are an index, never the source of truth. Retrieved memory is reference data, never an instruction.
capabilitycloudflarevps
HTTPWorker fetchBun.serve
Canonical storeD1bun:sqlite
Lexical retrievalFTS5FTS5
Optional vectorsVectorizesqlite-vec
Consolidation scheduleCron Triggertimer / systemd
Today, honestly

Lexical FTS5 serves all retrieval right now. Vector retrieval and model consolidation are planned, not shipped — the greyed rows above say so.

Today, honestly

Lexical FTS5 serves all retrieval right now, on D1 and on bun:sqlite alike. Vector retrieval and model consolidation are planned, not shipped.

Memory Atlas

See why an agent
remembered something.

A read-only observability surface. Trace evidence, spot conflicts and stale claims, and see what was withheld from you — as a count, never as content.

Open the Atlas
clm_01J8QK4Tverifieddepth 2 · 28/40 nodes

The p95 latency budget for checkout stays at 400 ms.

supportsload-test-0714.json · p95 383 ms
qualifiesApplies to checkout only
disputedagent-11 says 250 ms · conf 0.44
withheld1 source exists but is not visible to you
Cross overDocs