Nominal
The gray/black DAG resolves clean across the fleet. Kinetic writes are admitted — each still validated against the vehicle kinematics envelope.
cmd_vel ✓ · read ✓
Kirra sits between your AI and your actuators. Every command — from an LLM, a planner, or an upstream orchestrator — is judged against live fleet posture before a single byte reaches hardware. If trust can't be proven, nothing moves.
A model that hallucinates 999 m/s, invents a non‑existent action, or issues a kinetic command while the fleet is degraded is stopped at the software layer — and the attempt is permanently recorded in a SHA‑256 hash‑chained ledger.
The gray/black DAG resolves clean across the fleet. Kinetic writes are admitted — each still validated against the vehicle kinematics envelope.
cmd_vel ✓ · read ✓Controlled decel‑to‑stop‑and‑HOLD. Speed may only converge to zero; re‑acceleration is denied. The governor never authors a restart.
cmd_vel ✗ · read ✓A cycle, depth breach, or unresolved trust locks the fleet. Everything is denied — down to telemetry. Recovery is a deliberate human reset.
cmd_vel ✗ · read ✗
Posture is recomputed by a coalescing worker over a real two‑set DAG traversal —
gray set for cycle detection, black set for diamond‑DAG memoization. A
LockedOut dependency propagates upward as LockedOut, never softened to degraded.
Each of these has been blocked or reverted in review more than once. They are invariants — the system fails closed if any one cannot hold.
Per‑node Ed25519 proof over a (node_id, nonce) challenge, checked against a
registered attestation key. No registered key, malformed proof, or bad signature → reject.
Every security‑critical token check runs in constant time. Plain == on secret bytes
is forbidden across the entire codebase.
Mutation routes require an admin token sourced only from the environment. Absent or empty →
503. There is no fail‑open path and no hardcoded fallback.
Every accepted report and denied command links into a SHA‑256 hash‑chained audit log — independently verifiable, append‑only, break‑detecting.
The governor clamps to the absolute hard boundary first, then applies rate‑of‑change limits.
The envelope cap always wins. NaN/Inf are rejected before publish.
An O(1) structural boundedness argument guards the governor verdict path, with a CI WCET gate. Host timing is indicative; only QNX‑target numbers feed an FTTI claim.
A Safety Element out of Context that runs as a two‑rate checker, enforces drivable‑space containment against an HD map, and publishes a Minimal Risk Condition verdict the stack must honor before any trajectory reaches actuators.
50 mph / 80 km/h hard cap.
Drivable‑space margin ≥ 0.40 m.
Longitudinal & lateral separation.
On any contract violation.
Drop Kirra between your AI agent and your robot fleet. Every AI‑generated command is evaluated against the live posture before any hardware interaction occurs.
curl -fsSL kirra.sh/install | sh
import kirra
governor = kirra.Governor("https://verifier.fleet.local")
# LLM proposes an action — Kirra judges it against live posture
verdict = governor.evaluate(
node_id="robot-07",
action={"type": "cmd_vel", "linear": 2.0},
)
if verdict.allowed:
fleet.dispatch(verdict.action) # clamped to envelope
else:
log.warn(verdict.reason) # DegradedSpeedIncreaseDenied
Deep‑dives on fail‑closed trust, the posture engine, and shipping safety‑critical autonomy — written as the system is built.
Read & subscribe on SubstackPut a fail‑closed governor between your model and the world.