| ADR-0001: Chose HTMX + Templ over React SPA for Server-Driven UI | accepted |
| ADR-0002: Chose Chi Router for Composable Middleware over Gin or Echo | accepted |
| ADR-0003: Chose SQLite as Embedded Database over PostgreSQL | superseded |
| ADR-0004: Chose Ent ORM for Type-Safe Schema-Driven Data Access over GORM or sqlc | accepted |
| ADR-0005: Delegate Primary Authentication to Navidrome Instead of Native User Accounts | accepted |
| ADR-0006: Application-Layer AES-256-GCM Encryption for OAuth Credentials at Rest | accepted |
| ADR-0007: In-Memory Event Bus over Persistent Message Queue Accepting Single-Instance Constraint | accepted |
| ADR-0008: OpenAI Chat Completions API with Configurable Base URL over Provider-Specific SDKs for LLM Backend | accepted |
| ADR-0009: Viper with SPOTTER_* Environment Variables over Raw os.Getenv for Configuration Management | accepted |
| ADR-0010: Go stdlib log/slog over Third-Party Structured Loggers for Application Logging | accepted |
| ADR-0011: Tailwind CSS with DaisyUI over Traditional CSS Frameworks for Server-Rendered UI Styling | accepted |
| ADR-0012: Multi-Stage Docker Build with Golang and Node.js Builder over Single-Stage or External CI Pipelines | accepted |
| ADR-0013: Native Goroutines with time.Ticker over External Job Schedulers for Background Task Execution | accepted |
| ADR-0014: Three-Tier ISRC/Exact/Fuzzy Track Matching over Single-Strategy Alternatives | accepted |
| ADR-0015: Type-Keyed Enricher Registry with Factory Pattern over Hardcoded Enrichment Chain | accepted |
| ADR-0016: Factory-Slice Provider Pattern with Per-User Instantiation over Hardcoded Provider List | accepted |
| ADR-0017: Generator Interface Abstraction over Direct Concrete Type Dependencies for AI Mixtape Engine | accepted |
| ADR-0018: signal.NotifyContext + sync.WaitGroup for Graceful Shutdown over Raw Signal Channels or Lifecycle Managers | accepted |
| ADR-0019: slog-Based Structured Event Logging as Lightweight Metrics over Dedicated Metrics Infrastructure | accepted |
| ADR-0020: Exponential Backoff and Circuit Breaker for External Service Errors | accepted |
| ADR-0021: Encryption Key Rotation via Admin Subcommand | accepted |
| ADR-0022: Threat Model and Security Assumptions | accepted |
| ADR-0023: Add PostgreSQL and MariaDB Support Alongside SQLite | accepted |
| ADR-0024: Tag Browsing Library Page with Dual Entity View and Stat HUD | accepted |
| ADR-0025: Unified Tag Taxonomy with Typed Tags and Denormalized Query Table | accepted |
| ADR-0026: Sync Failure Email Notifications with 7-Day Cooldown | accepted |
| ADR-0027: Image Storage: Local Filesystem | accepted |
| ADR-0028: CSRF Protection Strategy — SameSite=Lax Cookie Attribute | accepted |
| ADR-0029: Rate-Limited Lidarr Submission Queue with Backpressure and Pending State Tracking | accepted |