The observer cannot be the observed.
A portable Rust library that reimplements the core monitoring logic of brothers-keeper. Zero runtime dependencies beyond serde. Reads /proc on Linux, falls back gracefully elsewhere.
Brothers-keeper is an external watchdog that monitors agent runtimes from outside — reading system state, checking memory/CPU/swap/process health, and alerting when things go wrong. This crate extracts that logic into a reusable Rust library so it can run on any vessel: Linux, macOS, ARM, x86, as a systemd service, embedded in vessels, or fleet-wide.
- systemd service — Deploy as a persistent watchdog on any Linux host
- Embedded in vessels — Ship monitoring inside cuda-dream-cycle or cuda-ephemeral
- Fleet-wide monitoring — Aggregate health across multiple Jetson devices
- Custom alerting — Wire into Telegram, Slack, email via your own adapter
- cuda-dream-cycle — Agent runtime
- cuda-ephemeral — Ephemeral task runner
cargo build
cargo test
cargo run --example basic # if examples existuse cuda_keeper_core::{Keeper, KeeperConfig};
let config = KeeperConfig::default();
let mut keeper = Keeper::new(config);
let health = keeper.check();
println!("Score: {:.2} | Status: {:?}", health.score, health.status);
let report = keeper.report();
println!("{}", report.details);
if keeper.should_alert(&health) {
// Send alert via your preferred channel
}The name comes from the biblical brothers keeper — the obligation to watch over those in your care. In computing, no agent can reliably monitor itself. When a process goes haywire, its own health checks become unreliable. An external observer — one that cannot be compromised by the thing it watches — is the only trustworthy monitor.
This is that observer, rewritten in Rust for the edge.