GoMyRobotBench
GoMyRobotBench owns the physical experiment infrastructure of the GoMyRobot stack.
GoMyRobotBench
├── hardware-in-the-loop
├── board orchestration
├── FPGA instrumentation
├── timing capture
├── external instrumentation
└── experiment control
Division of labor with GoMyRobotOS
GoMyRobotBench decides how the hardware experiment is physically executed: which board, which scope probes, which FPGA capture plan, how boards are orchestrated in a farm.
GoMyRobotOS provides the measurements and interfaces required by the experiment: the declared timing budgets to be measured against, the health/recovery hooks to observe, the deployment identity to log.
That division keeps GoMyRobotOS from becoming “an everything measurement/safety product”, the bench is the experiment platform, the OS is the object under experiment that exposes contractual semantics.
Where Bench shows up in the plan
M1, basic fault containment and reproducible boot on x86-64 run through bench-style test harnesses in CI.
M3, Interference laboratory. Bench builds GMR-INTERF v1: stressors (CPU, cache, memory, DMA, IRQ, I/O) and metrics (latency, jitter, throughput, interference) run progressively on x86-64 → NG-ULTRA → HPSC. The science goals are in Research problem 2 (multi-channel interference) and Validation: Interference.
M5+, fault, test, and timing results from Bench, Verify, and Fault feed the evidence graph automatically.
Bench does not redefine platform behavior
A bench run can only measure what the contract declares and the backend realizes. If a measurement contradicts the declared semantics, that is an architecture bug to be fixed (by ADR and milestone work), not a bench configuration to be tuned around.
Status: External product; experiment infrastructure not implemented in this repository. Bench integrations are planned (M1, M3, M5).