Open source

Safety-critical,
in public.

The entire platform — checker, runtime, proofs, safety case drafts, even the hardware bring-up runbooks — is developed in one public repository. Openness is a safety property here: an envelope you can read is an envelope you can challenge.

Quickstart

Three commands to a governed fleet

terminal
# clone and run the full test suite
git clone https://github.com/kirra-systems/kirra-runtime-sdk
cd kirra-runtime-sdk
cargo test --workspace

# bring up verifier + dashboard (+ optional HA standby)
KIRRA_ADMIN_TOKEN=change-me docker compose up

# watch the posture stream
curl -N localhost:8090/system/posture/stream \
  -H "authorization: Bearer change-me" \
  -H "x-kirra-client-id: dev"

What you're running

A Cargo workspace of 36 crates plus the separate parko ML workspace — pinned toolchain 1.94.1, MSRV 1.88 enforced in CI, reproducible builds. The verifier binds on port 8090 with a fail-closed admin token: absent or empty means 503, never open.

rust-toolchain.tomldocker-compose.ymlINSTALL.md

Deployment paths

Docker (digest-pinned, cosign-signed images), Helm chart, systemd units for bare metal — including the on-robot installer that turns a fresh Jetson into a governed vehicle — and a one-line installer for x86_64 / aarch64 / armv7.

helm/kirradeploy/systemdrobot/install/README.mdinstall.sh

100µs

verdict target — SG9 fail-closed timeout budget

wcet_gate.rs

~116µs p99.9

assembled in-line loop, Ed25519-dominated — host-indicative

inline-governor

~60ns

shared-memory seqlock read — no serialization on the enforced path

hv-carrier

O(1)

structural boundedness — no alloc, no unbounded loops in the verdict

wcet_gate.rs

Host-measured, not certified: these are regression tripwires gated on p99.9 in CI, not a WCET claim. Certified worst-case timing is defined as QNX-target-under-FIFO and hasn't been produced yet — the repository says so, and so do we. The full timing story →


Developer orientation

Find your way around in five minutes

The tree is organized by trust, not by feature — knowing that makes the whole repository legible.

Repository map
PathWhat lives there
crates/The checker & platform — trajectory validation, planner, maps, transports, OTA
src/The verifier control plane — posture, attestation, audit, HTTP service
parko/Separate ML workspace — inference backends, diverse second governor
verification/ · fuzz/Kani proofs over shipped source; standing fuzz targets
tools/Isolated spikes — iceoryx2 carrier, QNX shim/judge harness
robot/ · firmware/The physical R2 testbed scripts and clean-room MCU firmware
docs/36 ADRs, 65 safety artifacts, hardware runbooks, specs

Runnable demonstrations

The in-line governor demo drives the full read→decide→sign→verify→release loop across a real process boundary; the CARLA client runs the governor against a simulator; the proposal bench sweeps a live governor with hostile proposals and prints its verdicts. Or skip the terminal entirely: the Verdict Playground runs the frozen checker in your browser.

crates/kirra-inline-governorsrc/bin/kirra_carla_client.rscrates/kirra-proposal-bench

APIs & examples

cargo doc --open builds the full API reference (deny-warnings enforced). The governor quickstart example and the C SDK example both build and run in CI, so they're never stale.

examples/.github/workflows/ci.yml:323


Contributing

The gates protect the safety case — including from us

Every PR faces the same 27 blocking lanes: tests, Miri, Loom, Kani mirrors, fuzz builds, mutation testing on checker diffs, coverage floors, clippy at deny-warnings, formatting, supply-chain audit, and the invariant checks that have rejected real attempts to weaken attestation and auth. The security invariants are documented precisely so a reviewer can reject a violation on sight.

Quality guardrails

Per-file line budgets, panic/unwrap/expect budgets, orphan-core detection, and a purity gate that keeps crypto, clocks, and allocation out of the verdict core — all scripted, all blocking.

ci/check_quality_guardrails.pyci/check_verdict_core_purity.py

Docs that must compile

cargo doc runs at deny-warnings, the C SDK examples build and run in CI, and the governor quickstart example is executed — documentation drift fails the build.

.github/workflows/ci.yml:323examples/

Report a vulnerability

Coordinated disclosure with a 48-hour first response. If you can get an unsafe command past the checker, we want the writeup more than you do.

SECURITY.md

READ THE SOURCE

Star it, break it, or ship on it.

kirra-runtime-sdk is one clone away — and the CI badge means more here than most places.