Edge Invariant Traceability Matrix¶
Scope: AutonomyOps ADK Edge Capability — INV-01 through INV-13 Authority: Workplan v0.7 §2 (invariants) + §6 (enforcement matrix) Last updated: 2026-03-01
All FI tests are in
edge/fi/(//go:build integration) andedge/ci/tests/. CI guardrails run on every PR via.github/workflows/edge-fi.ymlandMakefiletargets.
Matrix¶
Inv |
Description |
Code Modules |
Runtime Enforcement |
CI Guardrail |
FI Tests |
|---|---|---|---|---|---|
INV-01 |
No Shared State |
|
Startup: path resolved against |
|
(scan-only; no FI scenario required) |
INV-02 |
No Convergence Tracking |
(architectural prohibition — no implementation) |
N/A — structurally absent from codebase |
|
(scan-only) |
INV-03 |
No Leader Election |
(architectural prohibition — no implementation) |
N/A — structurally absent |
|
(scan-only) |
INV-04 |
Disk Ceiling |
|
After every |
|
FI-C1-01 |
INV-05 |
Platform Assurance Binding |
|
Startup: cgroup v2 probe; absent → |
|
FI-C1-05 |
INV-06 |
Local-Only Activation |
|
Activation functions accept only local-state params; no remote identifiers in function signatures |
Code review checklist; |
(structural; no dedicated FI scenario) |
INV-07 |
Bounded Memory |
|
cgroup v2 memory controller (when present); load shed on inbound when approaching ceiling |
Code review; cgroup v2 validated by INV-05 path |
(covered structurally + INV-05 FI) |
INV-08 |
Idempotent Segment Receive |
|
Segment ID checked against local index before write; duplicate silently discarded; no peer coordination |
|
(unit-test coverage; no injection scenario required) |
INV-09 |
Authorization Boundary |
|
mTLS handshake required before segment exchange; CRL/OCSP checked locally; revoked cert → |
|
FI-C3-02 |
INV-10 |
Mission-Layer Decoupling |
|
Compile-time import isolation; no IPC / shared socket / shared env |
|
FI-C1-03 |
INV-11 |
Deterministic Relay |
|
No PRNG in relay path; segment/peer selection via deterministic comparator |
|
(structural; no injection scenario) |
INV-12 |
Bounded Retry |
|
|
|
FI-C4-01 |
INV-13 |
Bounded Per-Peer Ingest Quota |
|
Per-peer bucket checked on every ingest; |
|
FI-C3-03 |
CI Guardrail Summary¶
Guardrail |
Trigger |
Tool / Target |
Failure Mode |
|---|---|---|---|
Prohibited symbol scan |
Every PR, |
|
Build-breaking; no override |
Dependency graph check |
Every PR |
|
Build-breaking; enforces INV-01, INV-02, INV-10 |
Go integration tests (FI) |
Every PR, |
|
Build-breaking; covers INV-04, INV-05, INV-09, INV-10, INV-12, INV-13 |
Shell tests (no-root) |
Every PR, |
|
Build-breaking; covers INV-10, INV-12 (shell) |
Shell tests (root / CAP_NET_ADMIN) |
Nightly or labeled runners |
|
Non-blocking on root-absent runners; waiver logged in SKIP |
FI Test Coverage by Invariant¶
Inv |
Go FI Test(s) |
Shell FI Test(s) |
Gaps / Notes |
|---|---|---|---|
INV-04 |
|
|
Loop-device test skipped on non-root runners; Go tests cover invariant fully |
INV-05 |
|
— |
cgroup v2 absent test always passes on non-cgroup runners |
INV-09 |
|
— |
TLS alert from server seen as |
INV-10 |
|
|
Uses |
INV-12 |
|
|
Shell probe builds inline Go binary; optional |
INV-13 |
|
— |
Rolling-window enforcement; peer isolation verified via second peer unaffected assertion |
Waiver Policy¶
Tests covering build-breaking invariants (INV-04, INV-05, INV-09, INV-10, INV-12, INV-13) that are
skipped or failing require a signed architectural waiver committed to edge/waivers/ before the
revision may merge to main. SKIP is allowed only for tests requiring root or CAP_NET_ADMIN on
non-root runners, and only when the invariant is fully covered by an equivalent Go-level test.
Generated from workplan v0.7 §2–§6. Update this file whenever a new invariant, FI test, or CI guardrail is added.