# The fleet - [The Utopia fleet](/docs): One Ubuntu box, five AI agents, a GitHub board as the queue and git as the state. - Structure - [Architecture](/docs/structure/architecture): Hosts, agents, the dispatch runtime, the services that run on the box, and how secrets are held. The physical and logical shape of a one-server fleet. - [The always-on agent](/docs/structure/agent-always-on): The fleet forbids resident processes, then permits exactly one. What earns that exception, what the exception has to declare about itself, and the three properties that keep a permanent loop from dying quietly. - [The skills layer](/docs/structure/skills-layer): Reusable agent behaviour packaged as a directory with one markdown file. Its defining property is negative — a skill reaches exactly one machine — and the fleet has three delivery layers with three different reaches. - [Surfaces](/docs/structure/surfaces): Every hostname the fleet owns or references, each with an explicit class — LIVE, RETIRED-BY-DECISION or BROKEN. A status code on its own is not a state. - [Decisions](/docs/structure/decisions): What was built, killed, and why — each one sourced. Read this before proposing to rebuild any of it, because re-litigating a decision that was already paid for is this fleet's most expensive recurring failure. - Operating - [Operations](/docs/operating/operations): Runbooks for the Utopia fleet. Every command is executable exactly as written and states the box it runs on, because a command that works from one machine and fails from another is not a runbook. - [How work flows](/docs/operating/work): The board is the queue, git is the state, and a merged pull request is the only status change. Plans, features, issues, lanes, specs, and why no check can stop a merge. - [The board](/docs/operating/board): One GitHub project board is the only tracker. An agent writes two fields; every other field is derived on a runner, and status changes only when a merged pull request closes an issue. - [The planning loop](/docs/operating/planning-loop): Five steps from a rough note to filed, dispatchable work — and not one of them is reported. Every step is derived from an event or from the board, so a plan has no field it could lie in. - [The dispatch runtime](/docs/operating/dispatch-runtime): Two shell scripts and systemd are the entire agent runtime. No daemon, no queue, no watchdog — starting a run is the assignment, and the close-out comment is the only liveness there is. - [More than one harness](/docs/operating/harnesses): What has to exist on disk for one planning-and-execution process to behave identically in Claude Code, Codex and opencode. There is no directory all three read, so the answer is one file reached from two names — and a way to tell when someone has made a copy. - Modules - [Module — Create workflows for utilizing docs.utopiamodels.ai](/docs/modules/workflows): Two prompts. Your agent works out what your setup actually is, asks only what it cannot measure, then builds workflows and a gate that fires without you remembering it exists. - Architectural patterns - [Module — Decision discipline](/docs/patterns/decision-discipline): Two prompts. Your agent measures where your decisions live and which ones are silently dead, asks only what it cannot measure, then builds records, a supersession check, and a gate that stops the next session re-proposing what you already rejected. - AI Infrastructure Upgrades - [Module — Running Dispatched Agents on a Linux Server for Maximum Execution Efficiency](/docs/ai-infrastructure-upgrades/dispatch): Four steps. Study a fleet that actually runs, design yours against what your machine has, build it, and dispatch one real task end to end. - Reference - [Reference — How Six AI Coding Harnesses Assemble Context](/docs/reference/context-assembly): What is in the model's context window at the start of a turn, where each piece comes from, and what silently fails. Claude Code, Claude Desktop, Cursor, opencode, Codex CLI, Gemini CLI. # Live - [Live](/live): The fleet read at request time — which agents can actually run, every hostname probed now, the board, and the health facts a public page cannot reach, each named with the box that answers it. Generated on every request; nothing on it is stored. # Feedback - [Feedback](/feedback): Walk the fleet’s 14 architectural patterns one at a time and decide, per pattern, whether to adopt it. Carries the pattern walk to run in your own agent — each pattern explained inside the question, with its real identifiers, its published failure modes and what does not transfer — the contract the resulting file must satisfy, and the drop zone that files it as an issue.