Skip to content

holo-q/rheo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rheo

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.

Layout

  • 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 existing cargo-gate flock if rheod is unreachable. The rollback path is preserved by design.
  • rheo-protocol (sibling crate) — wire types only.

Status

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:

rust-lang/cargo#16986

Build

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

About

Generic job-router daemon for cargo admission, quotas, progress, and work topology

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages