Skip to content

Architecture Decision Records

Architecture Decision Records (ADRs) capture the load-bearing technical decisions of CDC Badge OS: the context, the decision, its status, and its consequences. New ADRs use the MADR-style template (_template.md in this folder).

ADRTitleSource
ADR-0001PSRAM-first memory model; internal SRAM reservedConstitution II
ADR-0002Module isolation & single-point registrationConstitution I
ADR-0003TROPIC01 slot allocation (tropic_slot_map.h authoritative)slot map
ADR-0004Two-KDF PIN hashing is protocol-driven (CTAP2 vs OpenPGP S2K)reverse-spec D2
ADR-0005No-migration policy + build-profile-byte factory wipeConstitution V
ADR-0006Plugin WAMR sandbox & capability model; AOT default-offspec 010
ADR-0007host_api.h canonical + SDK byte-mirror + versioningspec 010
ADR-0008Single BLE controller via IBluetoothControllerConstitution I
ADR-0009E-paper refresh-mode discipline (PARTIAL_LIGHT never promoted)spec 014
ADR-0010CP437 display pipeline (no gfx->print for i18n text)spec 015/016
ADR-0011Attestation-signed PIN record in R-Memory slot 0spec 002
ADR-0012Secure-serial gate + DEBUG_MODE build profiles (real defaults)reverse-spec D1/D3

ADR files (NNNN-title.md) are added by the US2 tasks in specs/001-current-system-spec/tasks.md. This index is updated as each ADR lands.