Architecture Decision Records
Architecture Decision Records
| Purpose | One ADR per significant decision. Numbered, immutable once accepted; supersede instead of deleting. |
| Audience | Engineers |
| Typical owner | Decision author + Tech Lead |
| Phase | 2+ |
| Stream | Internal |
What belongs here
One ADR per significant decision. Numbered, immutable once accepted; supersede instead of deleting.
Do not put here
Deleting old ADRs; silently rewriting history.
Architecture Decision Index
| ADR | Title | Status |
|---|---|---|
| ADR-001 | Plugin IPC — JSON-RPC 2.0 over stdin/stdout | Accepted |
| ADR-002 | Library storage — SQLite | Accepted |
| ADR-003 | Content IDs — UUIDv4 | Accepted |
| ADR-004 (Superseded) | Audio backend — cpal + symphonia | Superseded |
| ADR-004 | Audio backend — phonic | Accepted |
| ADR-005 | Inter-component communication — Tauri events | Accepted |
| ADR-006 | Streaming mode — URL-only | Accepted |
| ADR-007 | Search manager — Rust-side parallel search with Tauri event streaming | Accepted |
| ADR-008 | Reference plugin — Python standard library | Accepted |
| ADR-009 | Room API — TypeScript interface | Accepted |
| ADR-010 | Queue management — Playback Engine | Accepted |
| ADR-011 | Plugin manifest format — TOML | Accepted |
| ADR-012 | Room lifecycle — Unmount state hoisting | Accepted |
| ADR-013 | Frontend state architecture — Svelte 5 runes | Accepted |
| ADR-014 | Typed IPC bridge — Contract types and argument mapping | Accepted |
| ADR-015 | Design token source — CSS Custom Properties | Accepted |
| ADR-016 | Ambient dominant color — Canvas extraction | Accepted |
| ADR-017 | Frontend component testing — Browser mode | Accepted |
Next
- In-repo stub policy: ../../GOVERNANCE.md
- Upstream chapters / templates / examples: ../../KIT.md (does not break after copy)
- This folder → upstream chapter:
primer/06-phase-2-architecture.md - Upstream template(s):
templates/adr.md