KB-39CB
§9 WHY mở + To-do + Bài học + Changelog
6 min read Revision 1
s176pg-reconfigwhy-questionstodolessonschangelog
§9 CÂU HỎI MỞ + TO-DO + WHY + BÀI HỌC + CHANGELOG
Part of: PG Reform Tools — S176 mission Prev: 11-tham-chieu-td.md ← | → End of folder
§9.1 Câu hỏi WHY đã trả lời (10 WHY — KS.1+KS.2+KS.3)
- ✅ WHY admin monopoly 2084 events (KS.1 WHY-1) — trước S148 chỉ có admin token chung
- ✅ WHY DDL qua psql không log (KS.1 WHY-4) —
directus_activitychỉ log qua API, PG chưa có event trigger → INVISIBLE AUDIT GAP - ✅ WHY
directus_relations0 events (KS.1 WHY-3) — artifact thiết kế Directus (m2o quadirectus_fields) - ✅ WHY 2 collection 2026-03-10 (KS.2 WHY-2) — S108 sprint ra đời, không phải reset
- ✅ WHY self-healing dựng muộn (KS.2 WHY-2) — NT5 codify sau 4 tháng hoạt động
- ✅ WHY operator chạy script trước commit (KS.2 WHY-4) — workflow VPS-first fast iteration
- ✅ WHY
dot-script-lint+dot-cron-matrix-setupkhông đăng ký (KS.3 WHY-A) — oversight + self-exempt, không cố tình - ✅ WHY cụm
dot-nrm-*fp=NULL (KS.3 WHY-B) — workflow bug, thiếu hook dot-register-self - ✅ WHY cụm
dot-doc-*fp=NULL (KS.3 WHY-C) — metadata trước, implementation sau (placeholder) - ✅ WHY §0-AY không catch (KS.3 WHY-D) — cảnh sát chỉ kiểm "có trong registry", không kiểm "link đúng"
§9.2 Câu hỏi WHY đang treo (14 WHY — KS.4 → K5)
| WHY | Khối trả lời | Ưu tiên |
|---|---|---|
| WHY-F Pattern metadata shells có lặp ở 46 record còn lại (cụm MATRIX/KG/MISC)? Con số thật? | KS.4 + K5 | 🔴 |
WHY-G Chiều ngược: có bao nhiêu record có file_path nhưng file đã xoá trên disk? |
KS.4 | 🔴 |
WHY-H Trong 9 writer S175, có bao nhiêu writer dùng SELECT-then-INSERT thực sự? dot-collection-health cụ thể? |
KS.5 | 🟡 |
WHY-I 6 cron LIVE nrm/doc/script-lint ai cài trên VPS? Có installer DOT registered không, hay manual crontab -e? |
KS.6 | 🟡 |
| WHY-J 5 cron PG function K2 không có installer — ai cài? | K4 | 🟡 |
WHY-K app.allow_meta_update session variable — logic guard ở function nào, tạo bởi SQL nào? |
K3 | 🟡 |
WHY-L User incomex quyền thật trên DB directus ngoài s134_pg_grants.sql? |
K3 | 🟡 |
WHY-M incomex_metadata có Directus API access không? Hay private hoàn toàn cho Agent Data? |
K3 | 🟡 |
WHY-N Password leak Incomex2026PG_306ac539ad365fce còn dùng trên VPS không? |
K3 | 🔴 |
| WHY-O Birth registry trigger không chạy (count=0) mà NT5 self-healing không alert? | K4 | 🟡 |
WHY-P entity_audit_queue 1 row dormant 2026-03-20 — producer chết hay chưa bật? |
K4 | 🟢 |
WHY-Q 0048_link_policies_mysql.sql không có marker — thử fail hay chưa schedule? |
K4 | 🟢 |
| WHY-R DOT 100% có bản trước v4.4.0 không? Nếu có, người ta vi phạm thời kỳ nào? | K4 (git history) | 🟢 |
| WHY-S Đ33 §13 E3 (ngoại lệ normative) có thật trong luật không, hay chỉ mới trong PG-Reconfig? | K3/K4 (đọc luật chính thức) | 🟡 |
§9.3 To-Do theo thứ tự
- ⏳ KS.4 — DOT MA chiều ngược (dot_tools có file_path → file còn tồn tại?)
- ⏳ KS.5 — Cross-check 12 SELECT-then-INSERT vs 9 writer S175
- ⏳ KS.6 — Cron installer mapping + dual-trigger reality
- ⏳ K3 — Credentials + quyền PG
- ⏳ K4 — Shadow patterns + dead code
- ⏳ K5 — Catalog DOT baseline (quét 46 record fp=NULL)
- ⏳ D0-D9 — DESIGN tổng (chỉ bắt đầu sau khi đủ dữ liệu)
- ⏳ Sửa luật đồng bộ 1 lần HP v4.6.0 + Đ33 v2.1 + Đ35 v5.1 + OR
- ⏳ IMPLEMENT 9 đợt theo §7.3
§9.4 Bài học rút ra cho phiên tới
- Đọc full file thật qua
get_document_for_rewrite, không đọc tóm tắt agent paste — đã sai nhiều lần với tóm tắt K0/K1/K2/KS.2/KS.3 - Chốt nội dung NGẮN GỌN với user trước khi soạn artifact — tránh soạn-sửa-soạn lặp
- Mục tiêu = nghiệp vụ tiện lợi, không phải tuân thủ luật — luật không khả thi → SỬA LUẬT
- Mọi tài liệu phân tích về PG bắt đầu bằng "DB nào? Lớp nào?" — bắt buộc
- Không cắt bớt nội dung khi soạn luật — tuyệt đối cấm
- (MỚI S176) Điều tra xong MỚI thiết kế — KHÔNG vội DESIGN khi chưa hết KS/K. Bài học HP v4.4.0 quên kiến trúc cũ.
- (MỚI S176) Mỗi phát hiện = ghi master + tracker NGAY — không để sót sang phiên sau. Bài học rev 2 chưa sync KS.2+KS.3.
- (MỚI S176) Mỗi bệnh đặt câu hỏi WHY và trả lời bằng evidence cứng — git log, grep, query, stat. Không đoán mò.
- (MỚI 2026-04-14 split) Dùng
patch_documentcho file nhỏ <10k thay vìupdate_documentrewrite file lớn >30k — file monolith 58k rewrite đốt ngữ cảnh + dễ chết giữa stream. Split thành 13 file ~5k = edit nhanh, không mất nội dung.
CHANGELOG
| Version | Ngày | Nội dung |
|---|---|---|
| v1.0 | 2026-04-13 S176 (AM) | Tạo master monolith lần đầu. Tổng hợp K0+K1+K2 + HP v4.5.0 + Đ33 v2.0 |
| v1.1 (rev 2) | 2026-04-13 S176 (PM) | +§2.6b KS.1 INVISIBLE AUDIT GAP + 3 TD mới. Đánh dấu Phương án A chưa đủ |
| v1.2 (rev 3) | 2026-04-13 S176 (late PM) | +§2.6c KS.2 + §2.6d KS.3 + §3.2 Phương án A+ + §5.5 ddl_audit_log + §7.2 D0-D9 + §7.3 Đợt 1-9 + §8.3 TD group + §9 WHY. Master đạt 58k chars |
| v2.0 (folder split) | 2026-04-14 S176 | Split monolith pg-reconfig-master.md → folder reform-PG-tools/ với 13 file ~5k chars mỗi file. File cũ trở thành stub redirect. Không mất nội dung, mọi §/KS/K giữ nguyên. |
TRẠNG THÁI CUỐI
Điều tra: ~60% (K0+K1+K2+KS.1+KS.2+KS.3 ✅) Design: 0% (chờ điều tra xong) Implement: 0% (chờ design xong)
Next action: Soạn prompt KS.4 (DOT MA chiều ngược) cho Code CLI.
File 12 — §9 WHY + bài học + changelog | Index | S176 | Living doc — End of folder