The dashboard→runner→rig /upgrade path (#597/ADR-0002 rig-side) is the product's only remote-code-execution surface, and no harness joins the two halves: pithead proves its consumer against tier-2 fakes, RigForge proves its producer against its own harness. Fix: (1) a --rigforge-upgrade leg in tests/integration/run.sh beside run_rigforge_rollback — POST the already-installed version and assert terminal noop (non-destructive, exercises the full chain including the #320 status vocabulary the poller must know). (2) The live control leg drives only max_temp_c of 6 writable keys — add a reversible pools edit (the repoint-your-hashrate key). Pairs with rigforge#351 (contract fixture). (2026-08-14 cross-repo testing audit, gaps 1+4.)
The dashboard→runner→rig /upgrade path (#597/ADR-0002 rig-side) is the product's only remote-code-execution surface, and no harness joins the two halves: pithead proves its consumer against tier-2 fakes, RigForge proves its producer against its own harness. Fix: (1) a --rigforge-upgrade leg in tests/integration/run.sh beside run_rigforge_rollback — POST the already-installed version and assert terminal
noop(non-destructive, exercises the full chain including the #320 status vocabulary the poller must know). (2) The live control leg drives only max_temp_c of 6 writable keys — add a reversiblepoolsedit (the repoint-your-hashrate key). Pairs with rigforge#351 (contract fixture). (2026-08-14 cross-repo testing audit, gaps 1+4.)