A fleet of hives, one Head Office
One team working this way is a demo. This page is what it looks like when every repo is a hive and you read the whole fleet from one seat.
Each hive owns its issues; the workspace owns the view. bh sync aggregates every registered hive — cloned ones by local path, uncloned ones via a blobless minimal-clone cache — so bh hub bd ready answers "what's actionable anywhere?" even on a machine with no code checked out. The hub is that read-only aggregate; HQ is a different, authoritative store — fleet membership, host manifests, leases, and the escalations filed with bh escalate.
~/.beadhive/hq). The prefix is permanent and derived from org + repo; the provider — the thing most likely to change — lives in a label, so a host migration is a label edit, not data surgery.Keeping the fleet in sync
bh hive sync-remote pushes and pulls one hive's git and Dolt state — or every hive's — and its dry run classifies each as clean, dirty, unpushed, remote-only or blocked. Where local and remote disagree it surfaces the disagreement as datarather than picking a winner quietly — a conflict is something you read and decide, not something a sync resolves silently while you're not looking. bh sync is the fleet-wide read pass: it adds every registered hive to the hub, clone-caching the ones that aren't checked out locally; bh hq push / bh hq status do the same ahead/behind accounting for HQ.
Fielding what comes in
Work also arrives from outside the plan. bh report files a bug or request into any hive you own — including from a different hive entirely, which is how one repo tells another that something it depends on is broken. bh escalate is the lighter move: name a tool problem, hand it up, and keep working rather than stopping to route it yourself.
Both land in one queue. bh work intake is the per-hive view andbh hub intake the fleet-wide inbox (bh hq intake now shows only HQ's own escalations), and the queue is source-agnostic — a cross-hive report, an imported GitHub issue, and a legacy import all triage the same way, with duplicate detection running on entry and again at triage so a colliding request doesn't bury the queue. Four verbs dispose of anything in it:
bh work accept— real work: set type and priority, clear it into the backlog, where it flows through the ordinary ready/dispatch loop.bh work reject— not a bug, or won't do: close it with a reason the reporter can actually read.bh work reroute— filed against the wrong hive: re-file it into the right one, or bounce it up when it's genuinely ambiguous.bh work promote— too big to simply accept: hand it to the planner, which adopts it into a gated molecule instead of letting it sit as an oversized ticket.
Who runs a hive
A fleet is read from one seat; it is run by hosts. A host takes a hive's lease through HQ — one primary host per hive, everything else read-only — and its dispatcher loops start kicked-off epics in ready order. The host roles, the lease rules, the two loop scopes, the runtime tiers, and the proposed Frame contract for provisioning and failover are all on the Frames page, each with its shipped / proposed status.
Where the source of truth lives
| Doc | Covers |
|---|---|
docs/AGF.md | The tenets, naming, container branches, dispatch depth, role modes — the process overview. |
docs/DESIGN.md | Hives, prefixes, labels, identity-over-time, git-native hosting — the why. |
docs/WORK.md | Every bh work verb, refine plans, validation modes, conflict ladder, batches, PR-governed landing. |
docs/PLANNING-PLANE.md | The two gates, fidelity tiers, spike loop, replan vs groom. |
docs/CONTROL-PLANE.md | The four control seats, Head Office partitions, the commissioning loop. |
docs/ASSURANCE.md | The warden, the security:* gate, the verifier lens. |
docs/HUB.md · docs/HQ.md · docs/HIVES.md | The cross-hive aggregate, HQ as the authoritative fleet store, onboarding, hive kinds and identity. |
docs/ATTEST-KEYS.md · docs/DOLT.md | Graph-derived attest keys and evidence reuse; the shared Dolt server and the optional central one. |