Skip to content

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