Architecture Decision Records (ADR)
LumiBase follows the ADR pattern to document significant architectural decisions. Each ADR captures the context, decision, and consequences in a lightweight format.
Index
| ADR | Title | Status |
|---|---|---|
| ADR-001 | Use NanoID / UUIDv7 over auto-increment | Accepted |
| ADR-002 | Runtime Abstraction Layer for Dual Deployment | Accepted |
| ADR-003 | Human-in-the-Loop for Dangerous AI Skills | Accepted |
| ADR-004 | Tag-based Cache Invalidation | Accepted |
| ADR-005 | Hono.js over Express/Elysia | Accepted |
| ADR-006 | Drizzle ORM over Prisma | Accepted |
| ADR-007 | Logto for Authentication | Accepted |
| ADR-008 | JSON Policy DSL for Permissions | Accepted |
| ADR-009 | GraphQL Yoga with Dynamic Schema over ItemService | Accepted |
| ADR-010 | lumibase_ prefix for all system tables | Accepted |
| ADR-011 | User Management Realms (single store, role-scoped realms, token audiences) | Accepted |
Template
When adding a new ADR, use this template:
markdown
# ADR-NNN: Title
**Date:** YYYY-MM-DD
**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-NNN
## Context
...
## Decision
...
## Consequences
...