Skip to content

Decisions

Every architecture decision record (ADR) of the stack, by repo.

DecisionStatusDate
ADR 0001 — Third-party license compatibilityAccepted (amended 2026-11-01: third-party data and published facts)2026-05-21
ADR 0002 — No GPL code; clean-room implementation from papersAccepted (amended 2026-10-31: scope, the structure allowance, weak copyleft rejected; amended 2026-11-06: black-box benchmarking)2026-05-21
ADR 0003 — Hybrid SDK: header-only templated operators, compiled glueAccepted2026-05-21
ADR 0004 — The Resource Manager allocates; the DFA compiler schedulesAccepted2026-05-21
ADR 0005 — Managed lifecycle; no dynamic reconfigurationAccepted2026-05-20
ADR 0006 — Clean-room CV stack with an OpenCV-shaped API; no OpenCVAccepted2026-05-21
ADR 0007 — Dual delivery: OCI containers and Yocto recipesAccepted2026-05-20
ADR 0008 — Host Broker + Thin Client runtime topologyAccepted2026-05-20
ADR 0009 — Crash-only Resource Manager recovery by client replayAccepted2026-05-20
ADR 0010 — repr(C) tensor metadata across the Rust/C++ boundary (not Arrow)Accepted2026-05-20
ADR 0011 — C++ dependencies via CMake FetchContent; no package managerAccepted (amended 2026-10-07: CMake 4.0 minimum; Stillwater header-only fetch pattern)2026-05-20
ADR 0012 — MSCKF first, behind a pluggable VIO backend interfaceAccepted2026-05-21
ADR 0013 — Analytical Jacobians only (no automatic differentiation, for now)Accepted2026-05-21
ADR 0014 — Middleware-agnostic core; Zenoh daemons as the black-box surfaceAccepted2026-05-20
ADR 0015 — Arithmetic type is a first-class template parameterAccepted2026-05-20
ADR 0016 — SITL vs. KPU is one build flag, confined to the Rust HALAccepted2026-05-21
DecisionStatusDate
ADR 0001 — Third-party license compatibilityAccepted (amended 2026-11-01: third-party data and published facts)2026-10-31
ADR 0002 — No GPL code; port only from permissive sourcesAccepted2026-10-31
DecisionStatusDate
ADR 0001 — Third-party license compatibilityAccepted (amended 2026-11-01: third-party data and published facts)2026-10-31
ADR 0002 — No GPL code; clean-room implementation from papersAccepted2026-10-31
DecisionStatusDate
ADR 0001: a mission-neutral core with mobility and sensing profiles, and a multi-node layerAccepted2026-10-28
ADR 0002: third-party license compatibilityAccepted (amended 2026-11-01: third-party data and published facts)2026-10-31
ADR 0003: no GPL code; clean-room implementation from papersAccepted2026-10-31
ADR 0004: missions compose operators over domains in a dependence graph, not slotsAccepted2026-11-01
ADR 0005: an application tier over the checked graph, developed on graph patternsAccepted2026-11-05
DecisionStatusDate
ADR 0001: racing drones are baselines composed into fixed slotsProposed2026-10-23
ADR 0002: MPC on the companion, INDI + rate loop on the flight controllerProposed2026-10-23
ADR 0003: MPCC is the primary racing controller; learned policies are a comparison baselineProposed2026-10-23
ADR 0004: hybrid estimation with VIO, gate PnP, and a drag-aware modelProposed2026-10-23
ADR 0005: layered detect-and-avoid: MPC constraints plus an independent CBF safety filterProposed2026-10-23
ADR 0006: the hot path runs in one process; Zenoh carries everything elseProposed2026-10-23
ADR 0007: outdoor obstacle avoidance lives in the platform and its own mission repo, not in racing-droneProposed2026-10-28
ADR 0008: the mission framework moves to anatomy, generic over the mission’s taskProposed2026-10-28
ADR 0009: third-party license compatibilityAccepted (amended 2026-11-01: published facts)2026-10-31
ADR 0010: no GPL code; clean-room implementation from papersAccepted2026-10-31
DecisionStatusDate
ADR 0001: third-party license compatibilityAccepted (amended 2026-11-01: published facts)2026-10-31
ADR 0002: no GPL code; clean-room implementation from papersAccepted2026-10-31