-
Notifications
You must be signed in to change notification settings - Fork 2
ADR Index
Frank Steiler edited this page Jun 19, 2026
·
24 revisions
Architectural Decision Records for the Cornerstone project. Each ADR documents a significant technical decision with context, alternatives considered, and consequences.
| ADR | Title | Status |
|---|---|---|
| ADR-001 | Server Framework: Fastify | Accepted |
| ADR-002 | Frontend Framework: React | Accepted |
| ADR-003 | Database & ORM: SQLite + Drizzle ORM | Accepted |
| ADR-004 | Bundler & Build Tooling: Webpack 5.x | Accepted |
| ADR-005 | Testing Framework: Jest + Playwright | Accepted |
| ADR-006 | Styling Approach: CSS Modules | Accepted |
| ADR-007 | Project Structure: npm Workspaces Monorepo | Accepted |
| ADR-008 | CI/CD Pipeline: GitHub Actions + Semantic Release | Accepted |
| ADR-009 | API Error Handling Strategy: Typed Error Classes + Fastify Plugin | Accepted |
| ADR-010 | Authentication Architecture: Sessions + OIDC + Argon2 | Accepted |
| ADR-011 | E2E Test Architecture: Playwright + Testcontainers | Accepted |
| ADR-012 | Pagination, Filtering, and Sorting Conventions: Offset-based | Accepted |
| ADR-013 | Gantt Chart Rendering Strategy: Custom SVG | Accepted |
| ADR-014 | Scheduling Engine Architecture: Server-side CPM | Accepted |
| ADR-015 | Paperless-ngx Integration Architecture: Server Proxy + Polymorphic Links | Accepted |
| ADR-016 | Household Items Architecture: Separate Entity with Parallel Structure | Accepted |
| ADR-017 | Chart Library: Recharts | Accepted |
| ADR-018 | Invoice-Budget-Line Junction Table: Many-to-Many with Itemized Amounts | Accepted |
| ADR-019 | Discretionary Funding Budget Source: System-Managed Sentinel Row | Accepted |
| ADR-020 | Construction Diary Architecture: JSON Metadata + Fire-and-Forget Events | Accepted |
| ADR-021 | Internationalization Architecture: react-i18next + Static Bundles | Accepted |
| ADR-022 | Diary Drafts via Status Column on diary_entries
|
Accepted |
| ADR-028 | Areas & Trades: Structured Dimensions Replacing Tags | Accepted |
| ADR-029 | Quotation Invoices Are Included in actualCost
|
Accepted |
| ADR-030 | Orphan Budget Lines via Nullable Parent FK + origin Discriminator |
Accepted |
| ADR-031 | Outbound LLM Provider Integration via OpenAI-Compatible Gateway | Accepted |
| ADR-032 | Paperless-First Invoice Creation: Stateless Extraction + Create-on-Confirm | Accepted |
| ADR-033 | Floating Element Positioning Library: Floating UI | Accepted |