Architecture decision records

Architecture decision records (ADRs) preserve why a durable technical choice was made. They complement the current-state architecture guide, which describes what exists now.

Index

ADR Status Decision
0001 Accepted Use a Cargo workspace with inward dependencies
0002 Partially superseded by 0019 Keep plugins behind a source-level Rust trait boundary
0003 Accepted Separate core event contracts from scanner event delivery
0004 Accepted Keep deterministic reasoning inward of execution and runtime
0005 Accepted Share predicate vocabulary through venom-core
0006 Accepted Keep API visibility ingestion outside the decision runner
0007 Accepted Make ScanContext constructor-owned and non-exhaustive
0008 Accepted Version API comparison projections outside the core wire contract
0009 Superseded by 0012 Make the standard runtime own transport accounting
0010 Accepted Select payload strategies without moving payloads into planning
0011 Accepted Version API explanation semantics
0012 Accepted Account delivered transport bytes at the broker boundary
0013 Accepted Run authorized API visibility pairs as a runtime-owned workflow
0014 Superseded by 0017 Consolidate runtime truth into three named surfaces
0015 Build inventory superseded by 0020; classification axes retained Classify the platform shell by execution reality
0016 Accepted; phase 5–9 inventory superseded by 0018 Bound legacy discovery behind a shared authority
0017 Accepted Make the deterministic runtime the canonical scan command
0018 Accepted Bound legacy verification behind a separate active authority
0019 Accepted Make plugin execution host-owned and evidence-only
0020 Accepted; reporting clause superseded by 0021, Lua/distributed clauses by 0022 Quarantine platform and distribution surfaces
0021 Accepted; CLI-composition statements superseded by 0023 Render bounded typed run reports without adding verdict authority
0022 Accepted Bound host-owned Lua execution and process-local coordination
0023 Accepted Compose opt-in profiled assessment reporting at the CLI boundary
0024 Accepted Establish a separate bounded exploit manifest and catalog domain without execution authority
0025 Accepted; detector recovery clause extended by 0026 Record component-level historical scanner salvage before restoring capability
0026 Accepted Restore only bounded artifact-signature observations in a separate domain
0027 Accepted Record the separate post-workspace WAF/evasion quarantine epoch without restoring runtime authority
0028 Accepted Reuse eligible committed pages before one WordPress metadata schedule

Format

New records use the next four-digit number and contain: Status, Context, Decision, Consequences, and Alternatives considered. Accepted ADRs are immutable; supersede one with a new ADR instead of rewriting history.