Overview

The Allternit Intent Graph Kernel (IGK) is a durable, queryable graph database for intent, work, and memory. It stores typed nodes (intents, tasks, goals, decisions, plans, artifacts, and memories) and typed edges that describe how those nodes relate to one another. Every mutation is recorded as a provenance event, so the graph remains auditable and reproducible over time. IGK serves as the substrate for higher-level projections in the Allternit platform:
  • UI projections — render boards, canvases, and agent workspaces from live graph state.
  • Context projections — assemble token-bounded context windows for agent reasoning.
  • Memory projections — surface now / next / later views of active and pending work.
The kernel is implemented as the Rust crate intent-graph-kernel and exposes an HTTP service on port 3120 by default.

Core invariants

IGK enforces four design invariants that keep agent reasoning grounded: These invariants make IGK suitable for agent systems where accountability and reproducibility matter as much as throughput.

Key concepts

Nodes

A node is the primary entity in the graph. Each node carries a UUID, type, status, priority, owner, source references, and arbitrary JSON attributes.

Node statuses

Edges

Edges connect nodes and describe semantic relationships.

Source references

Every node can cite one or more SourceRef objects that point back to the origin of the information. A source reference has a kind (for example, file, message, or ledger_event), a locator, an optional excerpt, and an optional content hash. Source refs make it possible to answer “where did this come from?” for any node in the graph.

Architecture

Storage layer

IGK persists data in three SQLite tables:
  • nodes — stores the typed intent graph nodes.
  • edges — stores directed relationships between nodes.
  • events — stores an append-only log of every mutation, including actor, action, target, before/after state, and optional policy decision.
The schema is created automatically by the migration at migrations/001_init.sql when the service starts.

Engines

Running the service

The kernel service reads the database path from IGK_DB_PATH and listens on HOST/PORT.
On startup the service applies migrations, then serves an Axum router on http://127.0.0.1:3120.

HTTP API

Endpoints

Create a node

Create an edge

Query a subgraph

Compute projections

Build a context window

Using the Rust crate

Add the dependency

Create a node with policy-gated mutation

Query nodes

Compute temporal projections

Policy-gated mutation

IGK distinguishes between proposing and committing a mutation. The mutation engine can mark a node as requiring policy approval based on its type (intent and goal require policy by default). When a policy decision is supplied, the commit path writes both the node/edge and a provenance event that records the decision.
This design lets autonomous agents plan freely while keeping consequential changes under explicit policy control.

Projections

Temporal projections

The projection engine divides nodes into three buckets relative to a root node:
  • now — the root node itself plus anything updated within the last hour.
  • next — nodes updated recently but not directly under the root.
  • later — everything else.
Temporal projections are useful for surfacing “what needs my attention right now?” in agent UIs.

Context windows

A context window is a ContextSlice composed of root nodes, selected edges, source references, and a token budget. The projection engine estimates token usage from node attributes and source excerpts, then returns the subset that fits within budget.

Error handling

IGK operations return IGKError: HTTP endpoints translate these into standard status codes: 200 OK, 201 Created, 400 Bad Request, 404 Not Found, and 500 Internal Server Error.

Configuration