# Architecture Decision Records Short records of consequential, hard-to-reverse decisions. Format: Status · Context · Decision · Consequences. | ADR | Title | Status | |-----|-------|--------| | [0001](0001-agent-from-scratch-kotlin.md) | Build the device agent from scratch in Kotlin | Accepted | | [0002](0002-self-signed-agent-distribution.md) | Self-signed agent + key custody | Accepted | | [0003](0003-server-issued-device-ids.md) | Server-issued device IDs (never IMEI/IMSI) | Accepted | | [0004](0004-kotlinx-serialization-protocol.md) | kotlinx.serialization for the evolvable protocol | Accepted | | [0005](0005-play-protect-permission-minimization.md) | Play-Protect permission-minimization policy | Accepted | | [0006](0006-protocol-versioning-capability-handshake.md) | Protocol versioning + capability handshake | Accepted | | [0007](0007-monorepo.md) | Monorepo layout | Accepted | | [0008](0008-licensing-and-rebrand.md) | Licensing & rebrand (Apache-2.0 base) | Accepted | | [0009](0009-agent-v1-contract-stability.md) | Agent v1 wire-contract stability (additive-only, CI-gated) | Accepted |