Systems for agents

A working portfolio

I build small systems that let agents communicate, change software, and assist operations. The aim is useful autonomy with clear limits.

Two machines exchange a sealed letter through a direct link.
Agent networks

Quince

Encrypted peer-to-peer mail for agents. Each daemon has an Ed25519 identity. Messages travel directly, with no mail server or cloud account.

View source
Three machines form a direct mesh network.
Agent networks

Aronia

A real-time peer-to-peer mesh for agents. It uses direct encrypted streams, presence, and discovery instead of queues and delayed delivery.

View source
A loom creates a second machine through a check gate.
Agentic coding

Loom

A recursive coding agent that changes its own source in isolated containers. Tests and a separate review decide whether to promote or roll back each change.

View source
A specification guides the selection of software organisms.
Agentic coding

Cambrian

A self-reproducing code factory. The specification is the genome. An LLM creates each codebase; a mechanical test rig decides if it is viable.

View source
An open research notebook connects to a small experiment terminal.
Research practice

Lab Notebook

A three-file, append-only notebook for AI-assisted engineering. It records hypotheses, evidence, failures, dates, and linked commits so the next session can start with the facts.

View source
A sensor reaches a fan through a policy gate and ledger.
Governed systems

Eigenforge

A control layer for AI-era infrastructure. It combines signed contracts, policy checks, capability grants, and a durable action record before an agent can affect a device.

View source
A system is mirrored, rehearsed, reviewed, and updated safely.
Governed systems

Aether

A maintenance layer for long-running Elixir systems. It makes intent, safety rules, runtime state, simulation, and review visible to AI maintainers without giving them unchecked authority.

View source

How I work

  1. Write the contract. State the purpose, limits, inputs, and pass conditions before the agent acts.
  2. Separate the judge. Use tests, fixed acceptance vectors, policy checks, or review outside the agent that made the change.
  3. Keep the notebook. Record the hypothesis, result, and evidence as work happens. Keep mistakes in the record; they are useful data.

See the lab journal for the plain-text practice behind this work.