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

  1. ★ 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.
  2. Khai thác Directus có sẵn (system collections, APIs, Flows, metadata)
  3. Khai thác Nuxt UI / Agency OS có sẵn
  4. Khai thác nguồn mở bên ngoài
  5. 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