Adding the dependency-graph cache so swim lanes stop recomputing per request.
the loop
One human, steering a fleet of agents
AI made writing code cheap — it didn’t make knowing what to build any faster. Harbour keeps human intent in command of AI execution, one turn of the loop at a time.
-
01
Read the backlog
Point Harbour at Linear, GitHub Issues or Projects, Jira, or a local store. It reads the whole backlog and picks out the work that is ready to move.
-
02
Write the next prompt
The next task becomes a prompt, checked against your code as it is now. The files it names are re-read, and an old plan is questioned rather than trusted.
-
03
Run it on an agent
A coding agent picks it up and runs it, or a whole batch goes out at once. One person, many agents at work.
-
04
Check the result
Work counts when it has real proof behind it: CI results, merged changes, diffs. Not the agent’s say-so. The live run view shows each run as it happens.
live runs
Watch the work happen
Every run you send out, live: what it is doing, how long it has taken, and the proof it has produced. Not a spinner, the actual work.
Fixed the 401 refresh loop; token now refreshes once and retries the request.
Extend the proxy wire contract with a source badge for merged workspaces.
swim lanes
See the whole board at a glance
Parallel tracks, with the dependencies drawn in. See what is ready, what is moving and what is held, before you send anything out.
checked prompts
Prompts that re-check your code first
Each prompt is built from a fixed template, picked to fit the task, and checked against the repo as it is now before it runs.
# Check the ticket against current code Before trusting the ticket, list the files it names and check git log -- lib/swim-graph.js for changes since it was written. ## Task Cache the swim dependency graph so lanes stop recomputing per request. Referenced: lib/swim-graph.js, lib/graph-features.js. ## What CI cannot prove The cache invalidates on issue write — verify against a real mutation, not a green build.
try it yourself
See the value for well under $1
Log in and let Harbour write the next prompt for a task, free to start, with no OpenRouter key needed. Want more? Connect your own key and keep going for pennies.
The default model runs at $0.75 in / $4.50 out per 1M tokens — a single generated prompt costs a cent or two, so dozens fit under $1.
That covers writing prompts. Having Harbour run the work on a coding agent uses a larger, pricier model and can take a while, though it stays modest.
any backend
One place, whatever tracks the work
- Linearyour Linear projects and issues
- GitHub Issuesyour GitHub issues, from the repos you choose
- GitHub Projectsyour GitHub Projects boards, read-only for now
- Jirayour Jira Cloud sites, by API token or OAuth
- Locala store kept here, for work with no tracker behind it
the workstation
Harbour OS
experimentalHarbour decides what work to do; Harbour OS is the in-browser workstation where the agent sessions run. Parent and child, like Apple and macOS: Harbour picks the work, Harbour OS runs it.
$ harbour dispatch HAR-412 --target local → session spawned, agent claimed the item ◐ Build running 4m 12s [evidence] 3 files changed · tests green $ _
the library
Read the work behind Harbour
The papers and essays written while building Harbour — the ideas, the loops, and what it took to get the work done.
- The Folded Loop. An outsider reads the project cold and finds its point: who gets to say the work is done.
- The ladder. Six rungs from asking a chatbot one question to handing agents the backlog, and what it takes to climb each one.
- Does the writing get longer faster than the ideas do? Do agents' reviews grow faster than what they have to say? Yes, by about 1.6×.
- Why does a plan go round plan-review more than once? Plan review sent back 83 of 94 plans, and not because of the design.
- Learning While the Tools Change. Experience, AI skill and the tools change at different speeds. What a team needs most is calibrated distrust.
the archive
Six months, preserved
A museum of the Harbour project — two repositories and the machines that built them, January to July 2026.