ockham

Intelligence infrastructure. No ghosts. Just machines.
The Problem

Most AI infrastructure asks you to believe in ghosts. It wraps an LLM call in a persona, gives it a name and a memory, calls it an agent, and charges you for the privilege of sending the same context tokens to every ghost in the room.

Strip the metaphor and look at the computation: it's a stateless function with a large, loosely-typed output space, high latency, and non-trivial cost per invocation. The interesting engineering problems — scheduling, state management, failure recovery, context budgeting — are distributed systems problems. They have been solved before. The ghost adds nothing.

An agent is a process with a system prompt, tool access, and shared state. There is no further entity. Ockham gives you the process and the state so you can exorcise your agents.

The Stack

Seven components. Each replaces a ghost with a machine.

Corvus
Trace-based workflow observability. Captures evidence, detects failure patterns, validates interventions. Replaces: "the agents are collaborating."
Razor
Dynamic task graph runtime. Context selectors, graph mutation, cost-aware scheduling. Replaces: "the agent decided."
Fabric
Session state, event and claim storage, structured retrieval with provenance. Replaces: "the agent remembers."
Plexus
Portable IR for hybrid graph-vector queries. Parse, optimize, execute across engines. Replaces: "the agent knows."
Lattice
Rust platform runtime for GraphRAG. Tiered storage, transport, telemetry, assurance. Replaces: "the agent has access."
Forge
Distributed actor runtime. Deterministic testing, strict isolation, multi-node orchestration. Replaces: "the agents are running."
Sim
Deterministic simulation and assurance evidence generation. Replaces: "it worked in the demo."
The Machine, Not the Ghost

What we build

  • Task graphs, not agent graphs
  • Context as a managed resource
  • Structured state with provenance
  • Deterministic testing
  • Cost-aware execution
  • Strict process isolation
  • Portable query representations
  • Trace-based observability

What we don't

  • Agent identities
  • Persona-driven orchestration
  • Inter-agent messaging
  • Turn-based debates
  • Anthropomorphic abstractions
  • Email for your LLM calls
  • Vibes-based verification
  • Marketecture
Interoperability

We don't need the industry to agree that agents aren't real. We just need infrastructure that doesn't require them to be.

MCP endpoints are tool nodes. A2A services are external nodes with capability-based routing. Agent Cards are service descriptors. Tasks are RPC calls with a lifecycle. Ockham consumes the protocols. It doesn't buy the ontology.

Design Lineage

These are not new problems. We inherit from the infrastructure that already solves them and do not pretend otherwise.

Dagster Temporal Ray Petri nets Apache Beam Pregel Erlang/OTP Make / Bazel

The novel surface is narrow and honest: declarative context projection for bounded LLM windows, schema validation for loosely-typed outputs, and cost-aware scheduling for pay-per-token computation. Everything else is borrowed. That's the point.

Status
Corvus
Workflow observability
Active
Forge
Actor runtime
Active
Plexus
Graph-vector IR
Active
Lattice
GraphRAG platform
Active
Fabric
Memory & state
Active
Sieve
Layered caching
Active
Sim
Deterministic simulation
Active
Razor
Task graph runtime
Building
Why Rust

Because the orchestration layer shouldn't be the slow part. Because strict type systems prevent the category errors we're trying to eliminate. Because infrastructure that outlasts hype cycles should be built in a language designed to outlast hype cycles.