The stewards change.The standard shouldn’t.
The shared infrastructure for sport officiating.
Four interfaces.
One engine.
The full picture, before the first session starts.
Open decisions, pending requests, active alerts, and watchlist. One view for every steward.

Collision at T4. Steward opens a decision.
Article 12.4.1.f cited. Penalty guidelines surfaced.
Camera, telemetry, GPS, team radio. Four sources confirmed.
Document MIA-D001 generated in FIA format.
One incident · four checks · thirteen minutes
Every decision backed by regulation. Every precedent searchable.
Cross-season decision history with regulation citations, precedent search, and consistency tracking.
Ask PRIM.
Query incidents, precedents, and decisions across seasons in natural language. Answers cite source decisions. If it isn’t there, it says so.

Teams see what they need to see.
Open decisions, investigations, component status, penalty points, and championship position. All connected.
PRIM isn’t a dashboard. It’s a constraint engine that models regulations as executable code.
Real regulations, declared in the codebase. The engine reads these directly. No translation layer, no interpretation.
Deterministic
Same input, same output, every time. Every state transition is validated against structural schemas, invariants, and constraints before it executes. Nothing is approximate.
Domain-agnostic
The core engine has no knowledge of any specific domain. Regulations, roles, and workflows are defined in domain adapters that plug into the same runtime. Motorsport is the first we’re building.
Auditable
Every action, every state change, every constraint check is captured. The audit trail isn't a log. It's a complete, replayable record of every decision the system has ever processed.
From the PRIM codebase · domains/f1/parc_ferme.py