KB-6839
Điều 7: Luật Tận dụng — Assembly First
2 min read Revision 1
lawdieu-7assembly-firstPG
ĐIỀU 7: LUẬT TẬN DỤNG — ASSEMBLY FIRST
§1. Thứ tự ưu tiên bắt buộc
- ★ PostgreSQL trước nhất — VIEW, TRIGGER, CTE, CONSTRAINT, FUNCTION. Đếm? DB đếm. Quan hệ? FK. Bắc cầu? Recursive CTE. Tự cập nhật? TRIGGER.
- Khai thác Directus có sẵn (system collections, APIs, Flows, metadata)
- Khai thác Nuxt UI / Agency OS có sẵn
- Khai thác nguồn mở bên ngoài
- Code mới — CHỈ KHI 0-3 thất bại + được phê duyệt
"Stupid = đi làm lại cái xã hội đã làm rồi." (Huyên S111)
Hoà giải Điều 0-H: "PG trước nhất" = THIẾT KẾ giải pháp dùng PG capabilities (VIEW, TRIGGER, FK, CTE...). Thực thi thay đổi schema = qua Directus API (Điều 0-H §2), KHÔNG ALTER TABLE trực tiếp. Nghĩ bằng PG, làm qua Directus.
§2. Assembly Gate Questions
Q0: "PG đã giải quyết chưa?"
Q1: "Directus có sẵn không?"
Q2: "Nuxt/Agency OS có sẵn không?"
Q3: "Nguồn mở?"
Q4: "Code mới?" → CHỈ KHI Q0-Q3 = KHÔNG
Q5: "PG trước = thiết kế. Directus API = thực thi. (§0-BF)" ← Assembly Gate bổ sung
§3. Ưu tiên Directus system collections
Trước khi tạo registry collection mới → kiểm tra Directus meta.note, meta.group có đủ không.
§4. Phát hiện quan trọng (S105-S111)
70% nhu cầu metadata = KHAI THÁC Directus có sẵn. ✅ HOÀN THÀNH 100% (PR #450). 20% = tạo registry collections mới. ✅ HOÀN THÀNH 13/13 (PR #451+#454). 10% = viết tools mới. ✅ 9+ DOT tools cốt lõi S106.
→ Chi tiết: knowledge/dev/architecture/tools-inventory.md