GoMyRobotGuard

GoMyRobotGuard remains a separate product because its responsibility is independent recovery and runtime safety enforcement (ADR-0011).

The core principle:

The component responsible for recovering a failed component must not depend exclusively on the failed component.

Architecture

                 GoMyRobotGuard
                      │
          ┌───────────┼───────────┐
          │           │           │
          ▼           ▼           ▼
       Flight     Service    Platform
       domain     domain     / hypervisor
          │           │           │
          └───────────┼─────────┘
                      ▼
               Recovery action
                      │
        ┌─────────────┼─────────────┐
        ▼             ▼             ▼
     restart        isolate        reset

Guard observes flight, service, and platform/hypervisor domains, and takes restart / isolate / reset actions when a partition’s contractual recovery semantics are triggered.

Division of labor with GoMyRobotOS

  • GoMyRobotOS exposes recovery semantics, the contract fields (watchdog, restart_policy, safe_state, escalation_policy), the recovery hooks on the runtime model, and the escalation surface. See the Recovery model.

  • GoMyRobotGuard implements the independent recovery mechanism - the watcher + actuator that must survive the failure of any single domain, including the one it is about to act on.

Independence staging

Independence is staged, and every claim records the stage it was demonstrated under:

Stage

Guard realization

Independence claim

0 (software)

resident in the same flight domain as the hypervisor

no claim against common-mode hypervisor failure

1 (companion MCU / system controller)

independent watchdog and reset lines; independent of the primary SoC hypervisor/OS state

common-mode independence of the flight domain

2 (evidence)

Guard feeds the evidence graph directly, with per-fault-class detect / contain / recover timing

recovery claim quantified in time per fault class

A contract may declare recovery.guard_independence_stage, and every recovery claim in the evidence graph records the stage it was demonstrated under.

Hardware-level space-fault mechanisms (ECC, scrubbing, latchup current limiting, power cycling) are implemented by the Hardware Profile and the Guard implementation; GoMyRobotOS defines the detect / contain / recover semantics only (see Fault injection).

HPSC: hardware independence

On HPSC this boundary becomes concrete: the device includes an independent system-controller processor suitable for monitoring and fault management - a natural substrate for Guard’s independence from the flight/domains it recovers. That is a research-track use (M4), not a claimed capability.

Note

Where recovery is specified (contract) vs. executed (Guard) is one of the most audited questions in the M5 milestone (M5).