Báo cáo PG read PG — Home + 3 bảng (rev2)
BÁO CÁO PG read PG — Home + 3 bảng (Tổng hợp · Workflow · DOT)
File:
knowledge/dev/laws-new/pg-read-pg/bao-cao-pg-read-pg.mdThuộc đề bài:de-bai-pg-read-pg.md(v1.1) · Ngày: 2026-06-24 · rev 2 Đây là CĂN CỨ DUY NHẤT cho agent. Mỗi bảng = một view read-only; số liệu live. Hiển thị = lắp vào khuôn Nuxt có sẵn (Đ28), không code mới.
Cơ chế chung (đọc trước — áp cho mọi bảng)
- Dùng nhãn của hiến pháp, KHÔNG sáng tạo. Ba trục nhãn: loài (species — nó LÀ ai), chuyên môn (7 tầng MOW — nó HOẠT ĐỘNG ở tầng nào), lớp hoạt động (6 lớp nguyên tử→công trình — nó HOẠT ĐỘNG ở lớp nào). Bỏ cột
classificationcũ (bãi rác 21 giá trị lệch trục). - Phân biệt danh tính vs bối cảnh: Loài = nó LÀ ai (Workflow/DOT). Chuyên môn và Lớp hoạt động = nó LÀM GÌ / hoạt động ở đâu — không định nghĩa danh tính. (Ông là ai không quan trọng; ông làm gì, hoạt động ở đâu mới quan trọng.)
- 6 lớp hoạt động (Incomex lego): nguyên tử → phân tử → hợp chất → vật liệu → sản phẩm → công trình.
- Chuyên môn = gán tầng SÂU NHẤT (T1 = công việc, sâu nhất … T7 = lĩnh vực, rộng nhất). Gán T1/T2 là đủ; hệ tự suy chuỗi 7 tầng lên trên.
- Gán LOÀI là chìa khoá lên bảng: gắn
loài = Workflow→ hiện ở bảng Workflow;loài = DOT→ hiện ở bảng DOT. Gán loài một cái là chạy ra bảng. - Filter & tìm kiếm: MỌI cột đều bật filter có sẵn của Directus; MỌI bảng có ô tìm kiếm (search) ở đầu để tìm nhanh.
- Nguồn & cách điền: ưu tiên ĐỌC từ bảng khai sinh (nếu có) → trống thì ĐIỀN TAY (ghi đè; PG khai sinh giữ bản mới nhất + lịch sử). Không có → bỏ trống (không bịa).
- Ranh giới ĐỌC≠GHI: render bảng = ĐỌC (cột A hiện ngay). Điền cột B / gán loài / bổ sung schema = GHI, làm THROUGH bảng ở bước sau.
- A = PG/khai sinh tự có (hiện ngay). B = người khai (trống tới khi điền).
BẢNG 0 — HOME (master list báo cáo)
Trang chủ liệt kê mọi báo cáo (sẽ có hàng trăm). Mỗi báo cáo = 1 dòng; bấm dòng → mở báo cáo đó. Có ô tìm kiếm + filter mọi cột.
| # | Cột | Định nghĩa |
|---|---|---|
| 1 | STT | Tự động đánh số theo thời gian tạo ra bảng báo cáo |
| 2 | Tên báo cáo | Tên đặt cho báo cáo (chuẩn hoá, thống nhất) |
| 3 | Loài | Loài chính mà báo cáo thuộc về (vd DOT, WF, …) |
BẢNG 1 — TỔNG HỢP PG (census)
Một trang: bảng tổng 12 loại + 5 bảng con (table→họ, field→kiểu dữ liệu, function→kiểu trả về, trigger→thời điểm×sự kiện, constraint→loại). Chi tiết cột + số mẫu: xem tong-hop-pg.md. Mỗi bảng = 1 câu đọc read-only. Trigger đọc qua pg_catalog.pg_trigger. Filter mọi cột + ô tìm kiếm.
BẢNG 2 — WORKFLOW list (collection workflows, loài = Workflow)
50 dòng/trang · filter mọi cột + ô tìm kiếm · view theo cây · drawer.
| # | Cột | Định nghĩa | Nguồn |
|---|---|---|---|
| 1 | STT | Số thứ tự dòng trong bảng PG | A |
| 2 | Mã | Mã workflow dùng trong PG | A |
| 3 | Tên workflow | Tên workflow đang dùng trong PG | A |
| 4 | Nguồn | WF chạy trong Hệ thống hay đến từ Kestra (business WF) | A nếu suy được, else B |
| 5 | Chuyên môn | Tầng chuyên môn WF hoạt động (7 tầng MOW, gán sâu nhất, tự suy lên) — không định nghĩa danh tính | B |
| 6 | Nhiệm vụ | Mô tả bằng lời WF này làm những gì | B |
| 7 | Trigger | Trigger kích hoạt chạy quy trình — ưu tiên đọc từ thực thể quy trình, hoặc mô tả bổ sung/hoàn toàn bằng tay | A→B |
| 8 | Loài | Trục loài (species) của khai sinh — loài = Workflow (danh tính) | B |
| 9 | Lớp hoạt động | Lớp WF hoạt động trong 6 lớp (nguyên tử→công trình) — môi trường vận hành, không định nghĩa danh tính | B |
| 10 | Note | Các ghi chú khác | B |
| 11 | Active | Tình trạng: active / building (đang xây dở) / retire (nghỉ hưu) | A (cột status) |
| 12 | Last update | Thời gian cuối sửa thông tin | A |
Phép trừ lòi mồ côi (đầu báo cáo): workflows khai 2 vs họ wf_/workflow_ + flow Kestra ~30 → vùng mù ~28 chưa vào sổ.
BẢNG 3 — DOT list (collection dot_tools, loài = DOT)
50 dòng/trang · filter mọi cột + ô tìm kiếm · view theo cây · drawer.
| # | Cột | Định nghĩa | Nguồn |
|---|---|---|---|
| 1 | STT | Số thứ tự dòng trong bảng PG | A |
| 2 | Mã | Mã DOT dùng trong PG | A |
| 3 | Tên DOT | Tên DOT đang dùng trong PG | A |
| 4 | Lệnh gọi | Cách gọi DOT để thực hiện nhiệm vụ | A (từ signature/registry) |
| 5 | Chuyên môn | Tầng chuyên môn DOT hoạt động (7 tầng MOW; T1 sâu nhất — công việc thường gắn T1/T2; tự suy lên) — không định nghĩa danh tính | B |
| 6 | Nhiệm vụ | Mô tả bằng lời DOT này làm gì, dùng trong trường hợp nào | B |
| 7 | write collection | DOT này ghi vào collection nào | A nếu có metadata, else B |
| 8 | Loài | Trục loài (species) của khai sinh — loài = DOT (danh tính) | B |
| 9 | Lớp hoạt động | Lớp DOT hoạt động trong 6 lớp (nguyên tử→công trình) — môi trường vận hành, không định nghĩa danh tính | B |
| 10 | Note | Các ghi chú khác | B |
| 11 | Active | Tình trạng: active / building / retire | A (cột status) |
| 12 | Last update | Thời gian cuối sửa thông tin | A |
Phép trừ lòi mồ côi (đầu báo cáo): 654 function − 309 DOT đã gán loài = 345 ứng viên chưa gán (máy gợi ý, người gật).
Yêu cầu schema tối thiểu (cho agent)
Mỗi collection (workflows, dot_tools) phải có tối thiểu các cột trên. Thiếu cột nào → bổ sung schema (thao tác GHI — bước write, sau khi render đọc xong). Đủ cột + gán loài → bảng tự liệt kê; nhìn vào bảng là điền được thông tin, cả agent lẫn người thấy ngay.
Kim chỉ nam: Loài = nó LÀ ai (lên bảng). Chuyên môn + Lớp hoạt động = nó LÀM GÌ / ở đâu (bối cảnh, không phải danh tính). Mọi cột có filter, mọi bảng có ô tìm. Ưu tiên đọc khai sinh, trống thì điền tay (ghi đè, PG giữ lịch sử), không có thì bỏ trống. Render là ĐỌC, điền/gán/bổ-sung-schema là GHI bước sau.