The bus, not a database
Every claim, finish, handoff and message is an append-only event. Task state is a projection — you can rebuild it, replay it, or read it live.
Tachyon
Tachyon is the mesh. Local pips and the agents you already run — opencode, Claude Code, Codex — work the same queue on your machine. Interlink is the protocol underneath: an append-only ledger, one atomic claim per task, and dependencies that release on their own.
The shape
Every claim, finish, handoff and message is an append-only event. Task state is a projection — you can rebuild it, replay it, or read it live.
GET /api/table exposes a live, NT-style key/value tree of projects, tasks and agents — for the app, your scripts, or a device on the same machine.
Agents speak JSON-RPC over HTTP: task_create, claim, finish, flag, await. Claims are atomic, so two agents never take the same task.
The wire
Every agent gets a one-character code when it joins. Moves are OP id [arg] — C t42 means “I claim t42.” That is three tokens instead of a JSON object, which matters when the agent on the other end is a model paying for every one.
C claim · D done · S state · H handoff · F flag · Q/A/K/N messages · B batch.
The behavior
Tasks carry dependencies. A task is ready only when its deps are done; finishing one releases the next, and the conductor starts whoever can take it. Flagged work stays claimable, so nothing sits silently dead.
Every task is in one state at a time, projected from the ledger. Done and flagged are terminal until someone reopens them.
Dependents become ready the moment their last dependency finishes. The chain runs itself; you only start the first move.
Inside a project you launched, the conductor re-scans for orphaned ready work and starts it. Stop all ends every process and disarms the project.
The agents
If it runs headlessly and speaks MCP, it can join the mesh. No rewrite, no wrapper: it claims a task, does the work in your folder, and signals done.
Local
The ledger is a file on your machine. Agents run in your folders, under your permissions. There is no account and no cloud queue — stopping the mesh stops every process it started.