Agent identity
Role, ownership, authority, and history survive the session.
Project brief · July 2026
A local-first runtime for persistent agents.
Models are good at the turn in front of them. The surrounding work still needs identity, context, coordination, permissions, and memory. Voxelbox is the system I built for that: agents keep working across sessions and across the products I run, and each result becomes context for the next run.
The thesis
A durable operating layer for agents.
Voxelbox is model- and agent-agnostic. It provides context, memory, orchestration, and durable state around replaceable models and harnesses—including its own—and coordinates work across Codex, Claude Code, Pi, and Goose.
Models and agent harnesses are replaceable. Voxelbox owns the durable layer around them: identity, context, memory, orchestration, and the record of the work.
Durable operating state surrounds replaceable models and agent harnesses.
OperatingRole, ownership, authority, and history survive the session.
The filesystem is the durable address for work and context.
Shared context and orchestration. Different agent runtimes.
Written back to spaces + memory for the next run
Architecture adjacency
Block's Buzz gives humans, agents, workflows, and repositories one signed event log and one shared workspace. It already speaks the protocols Voxelbox expects at the edge: ACP for harnesses, MCP for tools, and events for work that happens outside an open chat.
The clean fit is an adapter, not a merger. Buzz can own rooms, membership, approvals, search, and the human conversation. Voxelbox can own agent identity, context, delegation, schedules, and durable execution. A Buzz event creates or updates work; Voxelbox projects progress and results back into the room.
Architecture hypothesis, not a current integration. Buzz remains the source of truth for the room; Voxelbox remains the source of truth for delegated work.
Runtime integration
Claude Code and Codex remain the source of truth for their own transcripts. Voxelbox listens at lifecycle hooks when they exist, then reconciles local session directories on an interval so missed events and imported work still enter the same record.
Before compaction, a hook checkpoints decisions, active files, and open threads. At stop, another extracts intent, tools, files, and commits. The session bridge kicks off a derived summary only after capture; it never replaces or rewrites the underlying transcript.
Claude Code~/.claude/projects/*
Codex~/.codex/sessions/*
Voxelbox harness~/.voxelbox/state/*
Raw transcripts stay untouched.
Session recordstatus + lineage
Activity logwork + evidence
Pre-compact factsdecisions + open threads
Memory pagederived summary
Eventually I would like Voxelbox to stop asking me questions it already knows how to answer.