docsconcepts
dimensions, nodes, commits, branches — and why memory is structured this way.
2 pages

the context map

Every innernet project is a Context Map — a structured world model the AI maintains on your behalf. It has four layers.

dimensions#

Long-form markdown documents. Free-form, named per project. Common names: vision, product, roadmap, technical, decisions, brand, voice. The names are emergent — they reflect what this project needs to remember, not a fixed schema.

A dimension grows over time. The AI re-reads it on load and re-writes it on save, consolidating new captures into the existing prose rather than appending endlessly.

nodes#

Typed structured entities: person, artifact, concept, decision, project, stakeholder. Each has an id, a type, and a JSON content blob shaped to its type.

Nodes are for things that need a stable identity across dimensions — a person referenced in vision and again in stakeholders is one node, not two strings.

commits#

Append-only history. Every save, capture, or branch operation adds a commit with a hash, parent hash, summary, and trigger (genesis, manual, sync, mcp, api, …). This is what makes innernet versioned — you can read what happened, when, and why.

Captures land here first: innernet_capture (or POST /v1/projects/{slug}/captures) appends to the log fast, and the background consolidator folds them into dimensions on the next sync. Two loops: capture is cheap and immediate, consolidation is careful and async.

branches#

A fork of the entire Context Map at a commit. Use branches to explore a divergent direction — a different positioning, an alternative architecture — without losing the trunk. park archives a branch, merge rejoins it.

Branching works everywhere: hosted MCP tools, the REST API (POST …/branches, …/diff, …/merge), the SDK, and the CLI.

memories vs. context#

The REST API adds a second, simpler store: memories — flat, namespaced records for apps you build (scoped to your end-users, agents, and runs). Use memories when you're building a product that needs per-user recall; use the Context Map when the thing being remembered is a project's evolving world model. Both are searchable through one search endpoint.

personal memory — the Self Map#

Separate from any project, innernet keeps one Self Map per account: atomic facts about you (voice, tools, preferences, working style), each carrying a disclosure class — private · self · trusted · work · public. Project loads include a disclosure-gated slice so every tool already knows how you work. Private facts never cross MCP. See Privacy & security.