Architecture Decision Records (ADR)
LumiBase tuân theo mẫu ADR để ghi lại các quyết định kiến trúc quan trọng. Mỗi ADR nắm bắt bối cảnh, quyết định và hệ quả theo một định dạng gọn nhẹ.
Index
| ADR | Tiêu đề | Trạng thái |
|---|---|---|
| ADR-001 | Dùng NanoID / UUIDv7 thay cho auto-increment | Accepted |
| ADR-002 | Lớp trừu tượng Runtime cho triển khai kép | Accepted |
| ADR-003 | Human-in-the-Loop cho các AI Skill nguy hiểm | Accepted |
| ADR-004 | Vô hiệu hóa cache dựa trên tag | Accepted |
| ADR-005 | Hono.js thay cho Express/Elysia | Accepted |
| ADR-006 | Drizzle ORM thay cho Prisma | Accepted |
| ADR-007 | Logto cho xác thực | Accepted |
| ADR-008 | JSON Policy DSL cho phân quyền | Accepted |
| ADR-009 | GraphQL Yoga với schema động trên ItemService | Accepted |
| ADR-010 | Tiền tố lumibase_ cho toàn bộ bảng hệ thống | Accepted |
| ADR-011 | User Management Realms (kho lưu trữ đơn, realm theo phạm vi role, token audience) | Accepted |
| ADR-012 | Loại bỏ CDC CacheInvalidator (thay thế bằng xả tag tại đường dẫn ghi API) | Accepted |
Template
Khi thêm một ADR mới, hãy dùng mẫu này:
markdown
# ADR-NNN: Title
**Date:** YYYY-MM-DD
**Status:** Proposed | Accepted | Deprecated | Superseded by ADR-NNN
## Context
...
## Decision
...
## Consequences
...