| 0001 |
ADR 0001: Clean / Hexagonal Layered Architecture |
| 0002 |
ADR 0002: Result Pattern as Application Error Contract |
| 0003 |
ADR 0003: RFC 9457 ProblemDetails as the Unified Error Response Contract |
| 0004 |
ADR 0004: Minimal API Host; MediatR and Controller Stack Deferred |
| 0005 |
ADR 0005: Strongly-Typed Domain Identifiers |
| 0006 |
ADR 0006: EF Core + SQLite as Production Persistence |
| 0007 |
ADR 0007: Swappable Persistence via Runtime Provider Switch |
| 0008 |
ADR 0008: Unit-of-Work Pattern for Transactional Flush |
| 0009 |
ADR 0009: Deterministic Paging and Tie-Breaking Sort |
| 0010 |
ADR 0010: Versioned HTTP Contracts in a Dedicated Contracts Project |
| 0011 |
ADR 0011: Serilog as the Structured Logging Library |
| 0012 |
ADR 0012: OpenAPI Spec via Microsoft.AspNetCore.OpenApi; Swagger UI via Swashbuckle |
| 0013 |
ADR 0013: OpenAPI Snapshot as a Committed Artifact with CI Drift Check |
| 0014 |
ADR 0014: Docs-as-Code — DocFX, Mermaid CLI, and DocsGen |
| 0015 |
ADR 0015: Blazor Interactive Server + MudBlazor as the Web UI Stack |
| 0016 |
ADR 0016: packages.lock.json per Project for Reproducible Restores |
| 0017 |
ADR 0017: Cross-Platform CI Matrix (Ubuntu + Windows) |
| 0018 |
ADR 0018: Tickets Feature State — Scoped Service with URL Sync and Invalidation |
| 0019 |
ADR 0019: Field-Level Validation with ICommandValidator |
| 0020 |
ADR 0020: AuditEvent Hybrid Payload Format |
| 0021 |
ADR 0021: Outbox Pattern – Architectural Stub |
| 0022 |
ADR 0022: Security/Hardening – Minimal (Demo-Grade) |