-
Notifications
You must be signed in to change notification settings - Fork 2
ADR Index
Claude product-architect (Opus 4.6) edited this page Mar 19, 2026
·
17 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-028 | Areas & Trades: Structured Dimensions Replacing Tags | Accepted |