Hull Fleet

Concepts

Towns, rigs, beads, convoys and the agents that work on them

Hull Fleet is built from a few building blocks. Knowing them makes it easier to plan work and understand what agents are doing.

Towns

A town is a persistent workspace where agents operate on your code. It maintains:

  • Configuration: models, merge strategy, review settings, custom instructions
  • Agent state: which agents exist, what they're working on, their capabilities
  • Work history: every bead that's been created, worked on, reviewed, and closed
  • Rig connections: which repositories are connected and how they're configured

A town belongs to you or to an organization. Organization towns are shared with members of that organization.

Beads

A bead is the fundamental unit of work. Every task, review, and coordination action is represented as a bead with a lifecycle:

Loading diagram...
StatusWhat's happening
openWaiting to be picked up by an agent
in_progressAn agent is actively working on it
in_reviewWork is complete, awaiting review by the refinery
closedSuccessfully completed and merged
failedCould not be completed, for example after repeated failed dispatch attempts

Bead Types

TypePurpose
issueA coding task: bug fix, feature, refactor
merge_requestA review task for the refinery
convoyA container for multi-step workflows
escalationAn issue the agents couldn't resolve, needs human input
messageInter-agent communication

Convoys

A convoy is a multi-bead workflow where tasks can depend on each other. Convoys let you express larger work as a set of tasks with dependencies between them.

Loading diagram...

When you create a convoy, you define:

  • Tasks: what needs to be done (each becomes a bead)
  • Dependencies: which tasks must complete before others can start
  • Merge mode: whether beads land on a shared convoy branch first (Review then land) or each gets its own pull request (Review and merge)

Hull Fleet only dispatches a bead once the beads it depends on are done, so later work builds on earlier, reviewed work.

Staged Convoys

Convoys can be staged: created but not started. Review the plan, then start the convoy when you're ready. New towns stage convoys by default.

Rigs

A rig connects a repository to your town. Each rig has:

  • Its own set of agents (polecats, refinery)
  • A default branch
  • Optional overrides of town settings, such as models, review mode and merge strategy

A town can have multiple rigs: useful when your project spans several repositories.

Agents

Agents are the workers in your town. Each has a specialized role:

Polecats (Coding Agents)

Polecats do the actual software engineering:

  • Read and understand your codebase
  • Write code changes in isolated git worktrees
  • Run tests and commands to verify their work
  • Push branches when done

Several polecats can work in parallel on different beads. Set the limit with Max Polecats per Rig in Settings.

Each polecat gets its own git worktree, they never conflict with each other or with your local development.

The Refinery (Review Agent)

The refinery is the quality gate. When a polecat finishes a bead:

  1. The refinery runs your quality gates and reviews the diff
  2. It checks for problems, convention issues and missing tests
  3. It either approves the work or requests changes
  4. If it requests changes, a polecat revises and resubmits

One agent writes and another critiques, so work improves before it lands.

Loading diagram...

The Mayor (Coordination Agent)

The mayor is your interface to the town:

  • Plans convoys from high-level descriptions
  • Reports on status and progress
  • Triages issues and escalations
  • Manages agent configuration
  • Answers questions about the codebase and work history

The mayor runs persistently, always available for conversation.

The scheduler

Behind the scenes, a scheduler keeps the town moving. While agents are working it checks every few seconds to:

  1. Process events such as agent completions, status changes and failures
  2. Decide which beads need agents and which convoys can advance
  3. Dispatch agents, create reviews and update convoy progress
  4. Prevent double assignments and retry failed dispatches a bounded number of times

You don't interact with it directly.

Write, review, revise

Rather than trusting a single agent's output, each piece of work goes through a write and review cycle:

Loading diagram...

The cycle compounds with convoys:

  1. Bead 1: Explore the codebase → reviewed → merged to convoy branch
  2. Bead 2: Design the schema (builds on bead 1's context) → reviewed → merged
  3. Bead 3: Implement the feature (builds on beads 1+2) → reviewed → merged
  4. Landing review: with Review then land, the full convoy branch is reviewed as one change before it goes to your default branch

See Review and merge for review settings, and Hull code review to add another review pass on pull requests.

How It All Fits Together

ComponentResponsibility
YouDescribe work, review PRs, set direction
MayorPlan, coordinate, communicate
SchedulerAssign work, dispatch agents, enforce limits
PolecatsWrite code, run tests, push branches
RefineryReview, critique, merge
ContainerIsolated environment with git, tools, runtime
RigRepository connection and configuration

On this page