Architecture Decision Records
This folder contains Architecture Decision Records (ADRs) for the offline NFC wallet system. Each ADR documents a significant design decision, the context that forced it, the alternatives that were considered, and the consequences of the choice.
ADRs are cross-cutting — they explain why the specs are written the way they are.
Index
| ADR | Title | Status |
|---|---|---|
| ADR-001 | A/B Buffer Write Strategy | Accepted |
| ADR-002 | AES-GCM as the Payload Encryption Cipher | Accepted |
| ADR-003 | NTAG215 as the Production Card Baseline | Accepted |
| ADR-004 | Deferred-Trust Offline Model | Accepted |
| ADR-005 | Hash-Chain Transaction Log | Accepted |
| ADR-006 | uint32 Balance with Rp 16 M Ceiling | Accepted |
| ADR-007 | TanStack Start and Cloudflare Pages/KV/D1 as the Application Platform | Accepted |
How to read an ADR
Each ADR answers four questions:
- Context — what forced this decision?
- Decision — what was chosen?
- Consequences — what does this cost us?
- Alternatives considered — what was rejected and why?
ADRs are immutable once accepted. If a decision is reversed, a new ADR supersedes the old one; the old one is not deleted.