# AEGIS — Evidence Traceability Model - **Document ID:** ARCH-43 - **Phase:** E.2 — Verification Methodology - **Status:** Draft for review (post four-reviewer discipline) - **Version:** 0.1 - **Date:** 2026-07-10 - **Owner:** Chief Security Architect --- ## 1. Purpose Codify how every assurance claim in AEGIS is bound to specific evidence. Implements Phase-E.2 mandate #7 (Assurance Evidence). If we say "secure, reliable, verified, resilient" — the phrase carries a link to the evidence proving it, or the phrase is not permitted. ## 2. Claim Registry - **Assurance Claim Registry** — canonical, versioned list of claims AEGIS makes about itself. - Each claim: `claim_id`, `text`, `scope` (subsystem or platform), `type` (security/reliability/privacy/performance/operational), `evidence_refs` (verification instruments), `owner`, `status`. - Living document; grows with the platform. ## 3. Evidence Types - **Test result** (unit / property / fuzz / integration / contract) — signed CI artifact. - **Drill outcome** (chaos / recovery / IR / ceremony) — signed by IC + Auditor. - **Metric threshold pass** — timestamped audit event referencing metric ID. - **External audit finding** — signed by auditor. - **Formal-verification result** — signed model + check log. - **Red/purple team engagement report** — signed by engagement lead. - **Threat-simulation report** (ARCH-39) — signed by runner. Every evidence type has: - Structured schema (verifier CLI can validate). - Signature by producing role. - Immutable storage (dual-store per ARCH-22). - Retention per class. ## 4. Traceability Direction - **Forward:** claim → evidence instruments → evidence artifacts. - **Backward:** evidence artifact → claims supported. - Both directions machine-queryable via the Knowledge Graph (ARCH-41). ## 5. Executable Claims Where possible, claims are executable: - Property tests attached to invariant claims. - Drill runs attached to recovery claims. - Metric thresholds attached to performance claims. - Consistency checks attached to architectural claims. Executable claims fail loudly when evidence is missing or stale. ## 6. Freshness - Evidence has a **valid-until** window per type. - **Stale evidence** cannot support a live claim; claim transitions to "unsupported." - Freshness is a metric (ARCH-44). ## 7. Independent Verifiability - Evidence artifacts sufficient for third-party verification where possible (per D-27-2 Reference Test Corpus). - Audit chain + verifier CLI + published spec enable external verification. ## 8. Enforcement in Docs - ARCH-* docs and public communications MUST cite evidence for absolute claims. - The consistency checker (ARCH-41 C-3) enforces. ## 9. Independent Architecture Review - **F-1.** *"Live" claims fluctuate with freshness.* UI/dashboards surface claim status. - **F-2.** *Registry can bloat.* Governance rule + retirement of superseded claims. ## 10. Adversarial Architect Review - **A-1.** *Attacker adds a claim with fake evidence.* Evidence is signed + verified; forgery caught. - **A-2.** *Attacker suppresses evidence.* Dual-store + Layer-A audit + drift monitor. - **A-3.** *Attacker exploits stale evidence.* Freshness enforcement + metric alerts. ## 11. Operational Reliability Review - **O-1.** Registry lives in-repo. - **O-2.** Evidence artifacts durable + retention-managed. - **O-3.** Dashboards surface claim health. ## 12. Self-Critique - **S-1.** *Small teams may struggle to keep every claim evidence-fresh.* Freshness windows tuned per claim class; explicit trade-off + Debt Register when necessary. - **S-2.** *Claim wording may be gamed.* Reviewer discipline; auditor review; drift metric. ## 13. First-Target Analysis and Redesign **Target:** the definition of "evidence." If "evidence" is defined loosely, weak artifacts pass. **Response:** each evidence type has a schema; artifacts must conform; verifier CLI validates; consistency checker rejects malformed evidence-links. ## 14. Decisions ### D-43-1. Assurance Claim Registry with typed, signed, retention-bounded evidence - **Reason.** Mandate #7 (Assurance Evidence). ## 15. Change Log - **0.1 (2026-07-10)** — Initial draft.