Architecture Decision Records¶
Architecture Decision Records (ADRs) capture significant technical decisions made during the design and development of Curaway. Each record documents the context, decision, rationale, alternatives considered, and consequences so that future contributors understand why the system looks the way it does.
Status key: Accepted | Superseded | Deprecated
| ADR | Title | Status | Date | Session |
|---|---|---|---|---|
| ADR-0001 | Railway PostgreSQL over Neon | Accepted | 2026-03-10 | 6 |
| ADR-0002 | Voyage AI over OpenAI Embeddings | Accepted | 2026-03-20 | 11 |
| ADR-0003 | PyMuPDF-First OCR Strategy | Accepted | 2026-03-22 | 23B |
| ADR-0004 | SSE over Polling for Real-Time Chat | Accepted | 2026-03-24 | 23B |
| ADR-0005 | Lazy Case Creation | Accepted | 2026-03-26 | 22 |
| ADR-0006 | Records-First Intelligence | Accepted | 2026-03-26 | 21 |
| ADR-0007 | Conversation-First UX | Accepted | 2026-03-26 | 17/22 |
| ADR-0008 | DNS-Only Cloudflare Mode | Accepted | 2026-03-24 | 23B |
| ADR-0009 | Metabase OSS Self-Hosted on Railway | Accepted | 2026-03-22 | -- |
| ADR-0010 | Synchronous OCR before Orchestration | Accepted | 2026-03-25 | 23B |
| ADR-0011 | ReAct Pattern — Evaluated, Deferred | Accepted | 2026-04-06 | 30 |
| ADR-0012 | SSE for Document Upload Progress | Accepted | 2026-04-05 | 32 |
| ADR-0013 | Rule-Based Pre-Operative Risk Assessor over LLM Agent | Accepted | 2026-04-07 | 33 |
| ADR-0014 | Upstash Workflow for Multi-Step Async Pipelines | Accepted (intent) | 2026-04-08 | 34 |
| ADR-0015 | Coordinator Interaction Model — SSE now, WebSocket post-seed | Accepted | 2026-04-10 | 35 |
| ADR-0016 | DAO / Repository Pattern for Data Access | Accepted | 2026-04-10 | 35 |
| ADR-0017 | Multicurrency Architecture | Accepted | 2026-04-10 | 35 |
| ADR-0018 | Multi-Tenancy Platform Architecture + Recovery + Facility Capabilities | Accepted | 2026-04-10 (amended 04-14) | 35, 40 |
| ADR-0019 | GDPR Article 17 — Right to Erasure Cascade | Accepted | 2026-04-13 | 40 |
| ADR-0020 | HAPI FHIR Adoption — Deferred with Trigger-Based Evaluation | Accepted | 2026-04-17 | 42 |
| ADR-0021 | Clerk Organization Model — Shared App Now, Separate Apps Later | Accepted | 2026-04-24 | 70 |
| ADR-0022 | Dual-store admin audit: AuditLog + Event | Accepted | 2026-04-29 | — |
| ADR-0023 | Tenant ID convention: UUID PK + slug secondary | Accepted | 2026-05-02 | — |
| ADR-0024 | Facilitator Lifecycle Policy | Accepted | 2026-05-05 | — |
| ADR-0025 | MSO Video Provider — Daily.co | Accepted | 2026-05-05 | 92 |
| ADR-0026 | Matching framework architecture: parameter registry, store contract, projection sync | Accepted | 2026-05-07 | 95 |
| ADR-0027 | Procedure seeder: YAML single source | Accepted | 2026-05-13 | — |
| ADR-0028 | Prompts stay YAML source-of-truth; graph is build-time projection only | Accepted | 2026-05-19 | — |
| ADR-0029 | EHR ICD resolution precedence — etiology > FHIR Conditions > catalog | Accepted | 2026-05-22 | — |