GoMyRobotOS IR (Intermediate Representation)

Purpose

The IR is the stable internal representation between the contract and the backends:

Partition Contract
       │
       ▼
Parser
       │
       ▼
Validator
       │
       ▼
GoMyRobotOS IR
       │
       ├───────────────┬────────────────┐
       ▼               ▼                ▼
     Xen            XNG/XtratuM       Future
    Backend           Backend         Backend

Without an IR, each backend would consume the contract format directly, and the contract format would silently become the union of every backend’s quirks. The IR is what protects the portability claim: backends compete at the IR, not at the YAML.

Naming: contract vs IR

The Partition Contract is the user-facing declarative specification (see contract overview). The GoMyRobotOS IR is the internal representation for tooling and backend compilation. Related, but never used interchangeably.

Shape

A GoMyRobotOS IR partition carries the full semantic content of its contract, normalized:

Partition
 ├── CPU resources
 ├── memory resources
 ├── interrupt resources
 ├── DMA resources
 ├── device resources
 ├── communication
 ├── timing
 ├── security
 └── recovery

Normalization means, for example, that a declared cpu-set, scheduling policy, priority, and timing budget together form an execution requirement the backends can reason about uniformly, rather than three fields three backends interpret three different ways.

The backend then determines how those semantics are expressed on the target. The IR never encodes that expression.

Guarantees the IR is responsible for

Guarantee

Meaning

Semantic equivalence

contract → IR is meaning-preserving (checked by validator)

Backend independence

no IR node is backend-specific; target data rides in a backend profile

Reviewability

the IR for a deployment is inspectable as assurance evidence

Comparability

IR-to-IR comparison across targets is the core measurement primitive for Research Problem 1

Status

IR v1 (specification):  frozen with M0
IR implementation:     Status: Planned (M1)

The IR document and the Backend API document both freeze at M0; their code form appears with the M1 x86-64 reference partition.