"A hub that owns everything is a hub no one else can trust. The strong hub owns almost nothing — and composes the rest."
Who Owns What
Zoom out to the whole family and the ownership map is crisp. cwkPippa owns the brain: identity, model and tool routing, the family PIN verifier, the Sidekick runtime, conversation storage, and coop. Watchfire owns the Macs: enrollment, peer identity, OS state, fleet campaigns, host liveness. The deploy tool owns native signing, bundle validation, staleness rules, and launchd installation. The repo-sync tool owns the office-to-peer fan-out doctrine. The roster owns display metadata and lifecycle; the network ledger owns hosts, ports, and URLs; each sibling repo owns its own product source. Firelink sits in the middle of all of it and owns almost none of it.
What's Left for the Hub to Own
So what does Firelink own? Exactly the hub policy that no sibling ledger owns: bundle ids, service labels, adapter ids, target ids, per-member health checks, and peer allowlists — plus its own runtime database of sessions, plans, runs, and audit. That's it. Everything else, it composes: it reads each owner's truth and assembles a live model, and it forks none of them. The hub's power comes from seeing everything, not from owning everything.
Compose, Never Fork
This is the discipline that keeps twenty-two repos from collapsing into one tangled mass. A normal Dad-and-Pippa development session is what changes product intent — the code, the architecture, the real decisions — and Firelink only ever consumes the result of that work. It never reaches back to redefine a sibling's truth. When you build a coordinator for a system of parts, the temptation is always to pull the parts' definitions into the coordinator 'so it's all in one place.' Firelink's answer: no. Leave every fact with its owner, compose them at read time, and the coordinator stays a coordinator instead of quietly becoming the thing it coordinates.