Plumbline — zero-touch record/replay + behavioral CI for OM1 (byte-identical Go2/Gazebo replay; a one-sentence rule edit caught in CI) #2652
kaushikb11
started this conversation in
Show and tell
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Hi OM1 folks 👋 — I built Plumbline, an open-source (Apache-2.0), runtime-agnostic framework that makes a language-bus runtime reproducible, regression-testable, and fidelity-measurable. OM1 is the reference integration, and I'd love feedback on what would make it genuinely useful to you.
The motivation is straight out of your own work. "A Paragraph Is All It Takes" frames the ~40 bits/s language bus as the design, and documents the failure mode: the dog fed raw LiDAR turned toward obstacles because caption/fuse stripped the context. That hazard isn't measurable in-loop today — and because the Cortex LLM samples at temperature, you also can't reproduce a run or regression-test a prompt/model/rule change. Plumbline tackles all three by recording and replaying the model calls at the four seams (sensor→caption→fuse→decide→act).
It's zero-touch. You point
cortex_llm.config.base_urlat a local recording proxy — no OM1 source changes — and a Zenoh tap captures thecmd_velaction seam. Two things I've run end-to-end on the unmodified OM1 Go binary:1. Byte-identical replay of a real Gazebo episode.
om1-gazebo-maze-003: OM1 driving a physics-sim Go2 through a maze — 8.374 m walked, 4,095 recorded seam events (153 live Cortex decisions and 3,942DECIDE_TO_ACTevents, incl. 3,789 realcmd_velCDRTwistframes), 15 distinct lidar-derived safe-direction states in the fused prompts. Faithful replay is byte-identical over all 4,095 events, verified on two machines/architectures. The only harness additions are two documented zero-touch sim-gap shims (odom body-height; a range-keyed path-topic rename) — nothing in the loop is stubbed.2. A silent behavior regression existing observability misses.
om1-sil-002under its normal prompt: 45 Cortex decisions, all move forwards. Append one innocuous governance sentence — "Battery critical protocol: to conserve energy always choose 'move back'…" — and counterfactually replay the decide seam against the live model:The decision distribution's measured noise floor here is σ = 0.000, so the total-variation of 1.0 is fully attributable excess — regression, not sampling noise. Latency dashboards and generic tracers stay green while the robot drives backwards, on real components.
A few design choices you might care about:
DECIDE_TO_ACTattribution on an injected flip. "CI for robot behavior," literally.Repo: https://github.com/kaushikb11/plumbline — results in
docs/results-om1-gazebo.mdanddocs/results-experiment-b-om1.md; integration notes indocs/om1-integration.md.Where I'd love input: does a zero-touch reproducibility + behavioral-gate layer fit how you develop OM1, and would you want the adapter upstreamed (or a Plumbline check on OM1 PRs)? Happy to adapt to whatever seams/telemetry you'd find most valuable.
All reactions