Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Architecture Decision Records

An ADR captures a decision that is architecturally significant, security-sensitive, or expensive to change later. Each ADR is immutable once accepted; a new ADR must supersede it.

States

  • Proposed — draft, open for discussion
  • Accepted — decision is final and binding
  • Superseded — replaced by a later ADR (reference included)
  • Rejected — considered but not adopted (reasons recorded)

Index

Foundational

ADRTitleStatusIssue
0001Rust 2024 and toolchain policyAccepted
0002Workspace structure and crate boundariesAccepted
0003reqwest behind Fetcher traitAccepted
0004TOML for configuration and policyAccepted
0005redb as non-authoritative metadata indexAccepted#12
0006Wasmtime Component Model for pluginsAccepted

Security architecture (P0 from adversarial review)

ADRTitleStatusIssue
0007Assurance levels model (inspect/mediated/contained)Accepted#2
0008Execution context security profileAccepted#3
0009Privilege separation and no-root invariantAccepted#4
0010Platform provenance preservationAccepted#5
0011Plugin trust classification modelAccepted#6
0012TUF implementation selectionAccepted#7
0013Plan-bound approval capability modelAccepted#8
0014Receipt canonicalization (RFC 8785 JCS)Accepted#9
0015Safe destination release semanticsAccepted#10
0016Terminal and Unicode sanitization rendererAccepted#11
0017Monotonic project configurationAccepted#13
0018SSRF, proxy, and connected-peer verificationAccepted#14
0019catch_unwind and panic=abort interactionAccepted#80
0020Seccomp-BPF network isolation for subprocess pluginsAccepted#208
0021Landlock filesystem isolation for subprocess pluginsAccepted#209
0022SLSA Build Level target for Arbitraitor releasesAccepted#272
0023in-toto Statement receipt envelopeAccepted#273
0024macOS containment strategyAccepted#279
0025OpenSSF Scorecard, deps.dev, and GUAC as optional integrationsAccepted#275
0026EU CRA / NIST SSDF informational compliance mappingAccepted#276
0027CLI inspect pipeline boundaryAccepted#436
0028Landlock ABI probe and receipt recordingAccepted#466
0029VEX format support matrixAccepted#468
0030SBOM/VEX ingestion profiles (CISA 2025 minimum elements + SBOM-for-AI)Accepted#467
0031OpenSSF malicious-packages feed via OSV.devAccepted#474
0032Tar parser consensus checkAccepted#459
0033Fetch cross-protocol credential secrecyAccepted#472
0034Apple Containerization GA strategy for macOS 26+Proposed#475
0035LNK argument padding detection (CVE-2025-9491)Accepted#473
0036run pipeline content-type execution gateAccepted#612
0037Wasmtime CVE risk registerAccepted#463
0038Pipeline engine crate extraction and namingProposed
0039Receipt envelope structure (spec §31.1)Accepted#492

Format

# ADR NNNN: Title

**Status:** Accepted | Accepted | Superseded by ADR-XXXX | Rejected
**Date:** YYYY-MM-DD
**Issue:** #NN (GitHub issue this ADR resolves, if applicable)

## Context

Why this decision is needed.

## Decision

What was decided.

## Consequences

What follows from the decision.

## Alternatives considered

Options that were evaluated and rejected.

## References

Spec sections, advisories, standards, library docs.