Generic job-router daemon for the holoq stack. Greek for flow.
The pain rheo solves: ~20 concurrent agents share one laptop, each typing
cargo. The previous admission gate was a single global bash flock
(cargo-gate) — a 200-crate cargo build (~20 min) blocked a focused 10s
cargo check from another agent. Even cargo --help waited.
rheo replaces the global lock with per-target-dir lanes, focus / bulk
bands, and resource quotas with reserved capacity. Cargo's exclusive
build-dir lock (cargo/core/compiler/layout.rs:226-283) is the truth rheo
mirrors: lane key = effective target root. Different target dirs run
concurrently, with CARGO_BUILD_JOBS=N returned in the grant so 2 × 16-job
cargos on 8 cores don't fight each other into being slower than serial.
rheod— the daemon. Unix socket, sqlite store at~/Workspace/.data/router/rheo.db, compiled-in routes (no plugin system).cargo-shim— front for~/Workspace/Bin/cargo. Tries the daemon, falls through to the existingcargo-gateflock if rheod is unreachable. The rollback path is preserved by design.rheo-protocol(sibling crate) — wire types only.
Current cut: cargo route, rheod, cargo-shim, rheo admin CLI, sqlite
history/EMA store, focus/bulk admission bands, stale lease recovery, work
topology announcements, and a bob-jobs subscriber are wired.
The next public-facing axis is Cargo JSON build-plan support. Rheo can consume that event stream to announce crate-level topology and progress without scraping Cargo's human stderr progress output:
Sibling-clone convention: this crate uses path = "../rheo-protocol". Clone
both alongside each other under ~/holoq/repo-os/.
cargo build --release
./target/release/rheod --help