Repo Findings Checklist¶
Every claim in the Tutorial Pack is grounded in concrete repo evidence. This checklist maps each product claim to the exact file + symbol that implements or tests it.
Key: ✅ Fully implemented | 🔶 Partial / scaffold | ❌ Not implemented (roadmap)
1. Policy Enforcement (Tutorial 01)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Tool calls evaluated against OPA/Rego policy |
✅ |
|
|
Real OPA engine: |
✅ |
|
|
Rego compiled once at load, evaluated per call |
✅ |
|
|
Fail-closed: compilation error → deny all |
✅ |
|
|
Fail-closed: undefined allow rule → deny all |
✅ |
|
|
input.kind + input.params wired to Rego |
✅ |
|
|
input.params visible in Rego (test) |
✅ |
|
|
Multi-module disjunction (OR) (test) |
✅ |
|
|
|
✅ |
|
|
|
✅ |
|
|
|
✅ |
|
|
Deny cannot be overridden by adapter |
✅ |
|
|
Fail-closed: no policy → deny all |
✅ |
|
|
Strict mode: deny all regardless of policy |
✅ |
|
|
|
✅ |
|
|
2. Supply Chain Verification (Tutorial 01)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Step 1: cosign signature validation |
✅ |
|
|
Step 2: agent binary digest match |
✅ |
|
|
Step 3: BLAKE3 behavioral fingerprint match |
✅ |
|
|
Step 4: semver compatibility check |
✅ |
|
|
Tampered digest rejected (integration test) |
✅ |
|
|
Tampered fingerprint rejected |
✅ |
|
|
Unsigned sidecar rejected |
✅ |
|
|
Policy bundle versioning |
✅ |
|
|
Lock JSON BLAKE3 fingerprint stability |
✅ |
|
|
Canonical bytes key-order independent |
✅ |
|
|
3. OCI Artifact Attachment (Tutorial 01)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Lock sidecar attached as OCI referrer |
✅ |
|
|
Policy bundle attached as OCI referrer |
✅ |
|
|
Pull lock from registry (by tag or referrer) |
✅ |
|
|
Registry capability probe (referrers API) |
✅ |
|
|
Plain HTTP for localhost (no TLS required) |
✅ |
|
|
4. Release Polling (Tutorial 02)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Poll loop queries |
✅ |
|
|
Emits |
✅ |
|
|
Emits |
✅ |
|
|
Emits |
✅ |
|
phases 5–6 |
Emits |
✅ |
|
|
Hot-swap interceptor without restart |
✅ |
|
|
Active lock fingerprint persisted across restarts |
✅ |
|
|
404 → no error, just |
✅ |
|
|
Control-plane |
✅ |
|
|
Control-plane |
✅ |
|
|
Control-plane |
✅ |
|
|
5. Edge Relay (Tutorial 02)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Segment ingest over mTLS (offer → data → ACK) |
✅ |
|
|
DB-driven pull model (no buffered channel) |
✅ |
|
|
CAS claim (workers race, no double-relay) |
✅ |
|
|
Bounded retries → Deadletter (INV-12) |
✅ |
|
|
|
✅ |
|
|
ACK after atomic store commit (GAP-7) |
✅ |
|
|
Crash recovery: abandon inflight on startup |
✅ |
|
|
Relay operator status surface exposes queue depth + bandwidth counters |
✅ |
|
|
Relay bandwidth can be hot-updated at runtime with audit emission |
✅ |
|
|
Deadletter operator workflow is implemented: list / inspect / retry / purge |
✅ |
|
|
Multi-peer e2e test |
✅ |
|
|
edged wired to Docker Compose demo |
✅ |
|
|
6. WAL Durability (Tutorial 03)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Length-prefixed binary frame format (4B + JSON) |
✅ |
|
|
fsync before returning from Append |
✅ |
|
|
|
✅ |
|
|
Recovery truncates to safe-point boundary |
✅ |
|
|
Fail-hard on missing safe_seq (non-first-run) |
✅ |
|
|
Fail-hard on sequence gap |
✅ |
|
|
Fail-hard on invalid JSON frame |
✅ |
|
|
Drain does NOT delete events on failure |
✅ |
|
|
Events drained in priority order |
✅ |
|
|
WAL survives collector outage (test) |
✅ |
|
|
Legacy upgrade env var (escape hatch) |
✅ |
|
|
Operator reset env var (disaster recovery) |
✅ |
|
|
7. OTel Pipeline (Tutorial 03)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
WAL → OTLP/HTTP → OTel Collector |
✅ |
|
|
OTel Collector → Jaeger + bridge |
✅ |
|
Pipeline config |
Bridge → control-plane |
✅ |
|
|
|
✅ |
|
|
|
✅ |
|
|
|
✅ |
|
|
8. OS Fingerprint + Reconstruction (Tutorial 04)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
BLAKE3 fingerprint over os-release + uname |
✅ |
|
|
Kernel-only change triggers reconstruction |
✅ |
|
|
Fingerprint saved atomically (tmp → rename) |
✅ |
|
|
BootEpoch increments per reconstruction |
✅ |
|
|
Ed25519 manifest signature verification |
✅ |
|
|
TOCTOU closed: execute same bytes verified |
✅ |
|
|
GAP-9: typed ops only (no shell exec) |
✅ |
|
|
Shell metachar rejection in paths |
✅ |
|
|
copy_binary BLAKE3 hash check |
✅ |
|
|
Exit 0: clean / first-run / reconstructed |
✅ |
|
|
Exit 1: config invalid |
✅ |
|
|
Exit 2: StateRoot invalid |
✅ |
|
|
Exit 3: mTLS cert expires within 7 days |
✅ |
|
|
Exit 5: reconstruction failed (fail closed) |
✅ |
|
|
Epoch evidence written after reconstruction |
✅ |
|
|
Epoch crash-safe (tmp → rename) |
✅ |
|
|
Epoch rotate failure is non-fatal |
✅ |
|
|
StateRoot ephemeral FS rejection |
✅ |
|
|
overlayfs allowed (container compat) |
✅ |
|
Comment: NIT-C |
OS update simulation unit test |
✅ |
|
|
9. Portability (Tutorial 05)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
amd64 / arm64 / riscv64 in test matrix |
✅ |
|
|
ext4 + xfs in test matrix |
✅ |
|
|
Zero CGO in edge module |
✅ |
|
No |
Randomised crash harness (seeded) |
✅ |
|
|
WAL frame format cross-arch verification |
✅ |
|
Python frame parser |
Atomic rename check per cell |
✅ |
|
Step 4 |
Non-native arches via QEMU Docker |
✅ |
|
|
CI gate (strict, exit-1) |
✅ |
|
|
Reproducible runs (–seed flag) |
✅ |
|
|
Mission-layer import ban (INV-10) |
✅ |
|
Import scanner |
Container images (multi-arch manifests) |
❌ |
Roadmap |
Not in repo |
Native riscv64 hardware CI |
❌ |
Roadmap |
QEMU only |
10. Python Adapter (Tutorial 01)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
|
✅ |
|
Invariant test |
|
✅ |
|
|
|
✅ |
|
urllib usage |
Unique |
✅ |
|
|
Demo agent: echo allow, shell deny, exit 0 |
✅ |
|
main() assertions |
11. mTLS Cert Rotation (Tutorial 04)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
|
✅ |
|
|
ECDSA P-256 leaf cert signed by existing CA |
✅ |
|
|
Atomic write: |
✅ |
|
|
Lifecycle slog markers: rotation_started / rotation_succeeded / rotation_failed |
✅ |
|
|
CA cert unchanged after leaf rotation |
✅ |
|
|
No partial .new files on write failure |
✅ |
|
|
Keypair consistency check in precheck (detects crash-partial state) |
✅ |
|
|
Auto-rotate in precheck when cert expiring + ca_key_file set |
✅ |
|
|
Force-rotate flag: |
✅ |
|
|
Standalone |
✅ |
|
|
|
✅ |
|
|
Demo TOML files wired with |
✅ |
|
|
Demo end-to-end: rotate → verify transport → precheck auto-rotate |
✅ |
|
full demo |
12. Fleet Rollouts (Workplan)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Rollout plan domain model + validation |
✅ |
|
|
Plan integrity + fingerprint + signature verification |
✅ |
|
|
Deterministic slot allocation |
✅ |
|
|
Edge rollout cache and evaluator wiring |
✅ |
|
|
Runtime rollout activator callback model |
✅ |
|
|
Control-plane rollout persistence + API surface |
✅ |
|
|
Batch promotion evaluator (correctness fallback) |
✅ |
|
|
OPA rollout activation policy gates |
✅ |
|
|
Event bus for streaming promotion pipeline |
✅ |
|
|
Streaming promoter with rolling-window evaluation |
✅ |
|
|
Fleet health gate condition evaluation |
✅ |
|
|
Statistical promotion conditions + baseline cache |
✅ |
|
statistical tests, |
Rollout observability + mission telemetry bridge |
✅ |
|
|
Mesh propagation source resolution (cache → peer → registry) |
✅ |
|
|
Edge relay mesh propagation + deadletter callback isolation |
✅ |
|
|
OS reconstruction activation path |
✅ |
|
|
HA leader lease with renewal lifecycle |
✅ |
|
|
13. Control Plane HA + Replicated Datastore (Workplan)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
PostgreSQL replicated backend is implemented (not scaffold-only) |
✅ |
|
|
Two-layer leader authority (advisory lock + durable epoch) |
✅ |
|
|
Stale-leader fenced writes fail closed |
✅ |
|
|
Protected/best-effort/audit write classes are explicitly separated |
✅ |
|
|
Append-only promotion evidence and decisions |
✅ |
|
|
Startup replay uses durable ingest order, not outbox join |
✅ |
|
|
Insufficient-history deferrals recorded as class-3 audit writes |
✅ |
|
|
Split readiness endpoints expose read/write/audit/quorum states |
✅ |
|
|
HA health endpoints are wired into control-plane HTTP server |
✅ |
|
|
Split-brain detection and recovery endpoints are implemented |
✅ |
|
|
HA backup create / list / restore endpoints are implemented |
✅ |
|
|
CLI split-brain operator surface is wired with RBAC guard + typed JSON/text output |
✅ |
|
|
CLI HA backup operator surface is wired for create / list / destructive restore |
✅ |
|
|
Migration path from SQLite to PostgreSQL with dry-run/validate modes |
✅ |
|
|
Audit diagnostics are read-only and query append-only history |
✅ |
|
|
PostgreSQL audit emitter upgrades file-only audit to DB-backed multi-emitter |
✅ |
|
|
Legacy provenance surfaced in rollout status (no import cycle) |
✅ |
|
|
14. Proof Report Generators (VAL25-VAL29)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Fleet proof report aggregates VAL07-VAL11 into text + JSON artifacts |
✅ |
|
|
Fleet proof report degrades missing/malformed slice inputs to |
✅ |
|
|
Fleet readiness requires coherent evidence timestamps across VAL07-VAL11 |
✅ |
|
|
Fleet N=100 target is keyed to the exact VAL08 scenario check, not aggregate error count |
✅ |
|
|
HA proof report aggregates VAL13-VAL17 into text + JSON artifacts |
✅ |
|
|
HA proof report validates per-slice schemas before aggregation |
✅ |
|
|
HA quorum-loss readiness requires detection, timing bound, and write-block proof |
✅ |
|
|
Relay proof report auto-discovers latest standalone VAL19-VAL24 evidence directories |
✅ |
|
|
Relay proof report enforces a coherent 7-day validation campaign before readiness |
✅ |
|
|
Relay GA readiness is gated on direct VAL24 soak Gate D proof |
✅ |
|
|
Cross-cutting proof report parses text-only VAL01/VAL02 plus JSON VAL03-VAL06 |
✅ |
|
|
Cross-cutting RBAC proof requires full 14-check accounting plus allow/deny evidence |
✅ |
|
|
Cross-cutting audit coverage requires exact |
✅ |
|
|
Cross-cutting GA / Public Production are intentionally not evaluated by VAL28 scope |
✅ |
|
|
Public-claim evidence matrix aggregates VAL25-VAL28 proof-report JSON artifacts |
✅ |
|
|
Design-partner matrix readiness requires a coherent 7-day proof-report campaign |
✅ |
|
|
Design-partner matrix readiness requires a machine-readable disclosure artifact with all required beta disclosures |
✅ |
|
|
Relay soak claim in the matrix is keyed to direct VAL24 Gate D evidence, not broader relay GA |
✅ |
|
|
Evidence matrix emits machine-readable readiness + campaign + disclosure state |
✅ |
|
|
15. Standalone Relay Validation Extensions (VAL19-VAL24)¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
TCP impairment proxy exposes live mode switching, stats, and counter reset over HTTP |
✅ |
|
|
Impairment proxy supports five transport modes: clean, latency, bandwidth, outage, cutoff |
✅ |
|
|
Relay impairment setup seeds deterministic deadletter fixtures and writes isolated relay config |
✅ |
|
|
VAL19 harness proves outage retention before clean retry and cutoff retry convergence |
✅ |
|
|
Throughput setup seeds |
✅ |
|
|
VAL20 benchmark captures five workload tiers plus queue-depth/backpressure evidence |
✅ |
|
|
Overflow setup supports configurable ceiling, eviction threshold, and retry budget |
✅ |
|
|
VAL21 overflow harness proves eviction-specific |
✅ |
|
|
VAL22 harness validates exact-ID deadletter list/inspect/retry/re-deadletter/restart/purge workflow |
✅ |
|
|
VAL23 harness isolates rate-only, quota-only, and hot-reload bandwidth behavior with exact delivery/deadletter accounting |
✅ |
|
|
Relay soak setup binary cleanly separates one-time init from per-round reseeding while edged is stopped |
✅ |
|
|
VAL24 soak framework installs cron-driven rounds and reports Gate D delivery / retry / loss / rounds criteria |
✅ |
|
|
16. Validation Traceability + Claims Governance¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Edge FI shell runner emits machine-readable JSONL plus human-readable summary for every shell FI execution |
✅ |
|
|
Root-required FI tests are explicitly represented as |
✅ |
|
|
FI traceability report merges Go FI and shell FI into a unified FI index |
✅ |
|
|
FI traceability report emits combined pass/fail summary and preserved runner summaries |
✅ |
|
|
Public-claim messaging downgrade / upgrade policy is documented in-repo |
✅ |
|
|
Audit completeness inventory explicitly distinguishes wired event types from deferred ones |
✅ |
|
|
FI tutorial traceability from invariant to executed output is documented with real captured output |
✅ |
|
|
17. Operator Diagnostics + Bundle Evidence¶
Claim |
Status |
File |
Symbol |
|---|---|---|---|
Support-bundle CLI is implemented as a top-level operator surface |
✅ |
|
|
Support bundle writes gzip+tar archive with manifest-driven collector outcomes |
✅ |
|
|
Support bundle collectors are non-fatal and preserve partial-success evidence in manifest |
✅ |
|
|
Support bundle redacts secrets from config material before archiving |
✅ |
|
|
Known Gaps / Honest Limitations¶
Gap |
Details |
Where documented |
|---|---|---|
riscv64 native CI |
Tested via QEMU; no bare-metal riscv64 in CI |
Tutorial 05, Implementation Status table |
30-day soak claims are framework-backed but not repo-checked runtime evidence |
VAL12 / VAL18 / VAL24 provide generators and Gate D logic, but long-running soak outcomes depend on externally produced evidence directories rather than checked-in repo fixtures |
|
Public-production readiness depends on external evidence not produced by current VAL suite |
Third-party audits, compliance evidence, real network partition chaos, and production-hardware calibration are intentionally out of scope for the repo-local proof generators |
|
Some proof/evidence generators depend on fresh runtime evidence rather than checked-in golden inputs |
VAL25–VAL29 report generators are implemented in-repo, but complete outputs still require current upstream evidence directories and, for VAL29, the disclosure artifact |
|