Repository navigation
v0.2.0 — a fleet works several projects, in their own words
A fleet could name several queues but every local one resolved to the same
directory, and the Backlog.md adapter wrote the fleet's five status words at
whatever project it was pointed at. This release makes a multi-project fleet
real.
A source works its own project
dir: names the repo — absolute, ~, or relative to the fleet dir.
statuses: names that project's own words, and is a whitelist: a status
the fleet was not given is not its business. Pointed at a real board, the old
adapter read every unrecognised status as open work — triage, wontfix,
waiting-on-a-human included — and would have put an agent on all of them.
todo, done, failed and blocked are required; in_progress is
optional (display only). No statuses: block means the fleet's own five,
exactly as before. A source with a dir: of its own is never scaffolded or
patched by init.
Each project has its own intake
default_agent is now a per-source field. An agent carries its own
workdir, so one global default sends one project's tasks into another
project's checkout. The fleet-wide default_agent remains as the fallback,
and no default anywhere still means unassigned work is left alone.
herdr-fleet list shows the routed agent rather than the written one.
herdr-fleet task assign <id> <agent>
One agent hands work to another without closing it: same task, same id, whole
history in one place. A task reassigned during a clean run is read as handed
on rather than abandoned — previously the runner closed any task left open as
Failed, which closed a handoff under the PM's feet. A run that crashed after
reassigning is still an unreported run.
work.Assigner is an optional capability: a backend that routes work another
way refuses out loud rather than accepting the call and doing nothing.
Also
- The README is organised around how much autonomy you hand over, lever by
lever, and documents writing an adapter — five methods and a conformance
suite. Contributions welcome.