Quyết định
Mỗi row trỏ tới một ADR. Append-only. Để override một quyết định, viết một ADR mới và đổi status của ADR tiền nhiệm thành
Superseded by NNNN.
| ID | Status | Date | Tiêu đề | Supersedes |
|---|---|---|---|---|
| 0001 | Accepted | 2026-01 | InventoryItem đa hình (itemType + itemId) | — |
| 0002 | Accepted | 2026-03 | Liên kết Vendor chỉ qua VendorItem — không có vendorId trên principal | — |
| 0003 | Accepted | 2026-02 | adjustStock atomic với guard forceNonNegative | — |
| 0004 | Accepted | 2026-02 | Worker idempotency qua lookup InventoryTracking | — |
| 0005 | Accepted | 2026-04 | UoM storage: uom jsonb trên catalog + uomId soft ref trên line | — |
| 0006 | Accepted | 2026-05 | Inventory cho COMBO — bung thành SaleOrderItem con tại lúc thêm vào giỏ | — |
Quy tắc viết
- Một quyết định mỗi file, theo template MADR (
NNNN-<kebab-slug>.md). - Đánh số 4 chữ số tuần tự, không tái sử dụng.
- Status:
Proposed·Accepted·Deprecated·Superseded by NNNN. - Quyết định cross-service đặt ở
developer/decisions/, không đặt ở đây.