Codex Review - Đ38/Đ39 Text as Code v6 Alignment - 2026-04-24
Báo cáo rà soát Đ38, Đ39 và luật nền theo Text as Code v6
- Ngày: 2026-04-24
- Agent: Codex
- Nguồn: VPS SSOT
contabo, DBdirectus, bảngknowledge_documentsvà governance tables trong DBdirectus - Phạm vi: rà soát và đề xuất patch; không enact; không sửa trực tiếp luật enacted
1. Cách đọc và nguồn
Tôi không dùng local làm SSOT. Tôi kiểm tra trên VPS: current_database=directus, current_user=directus. Governance/law/KB tables đọc từ DB directus, không đọc incomex_metadata.
Tài liệu đã đọc: 4 report nền ngày 2026-04-23; Hiến pháp v4.6.3; Điều 1; Đ32, Đ33, Đ35, Đ37, Đ38, Đ39, Đ41, Đ43; NĐ-36-01; Assembly Module SSOT. Các DB id chính: HP 945, Đ1 936, Đ32 1085, Đ33 1086, Đ35 1088, Đ37 1089, Đ38 1090, Đ39 1015, Đ41 1317, Đ43 1245, NĐ36 1091.
2. Bảng đối chiếu 4 cột
| Hướng v6 muốn gì | Hiến pháp nói gì | Đ38/Đ39 hiện nói gì | Kết luận |
|---|---|---|---|
Text -> Code -> Workflow -> Knowledge |
NT6/NT10/NT13/NT14 bắt PG truth, 5 tầng, PG-driven, triển khai được | Đ38 chia thẻ/binding; Đ39 Data -> Graph -> KG -> Priority | Khớp, nhưng cần ghi rõ đây là trục nghiệp vụ dưới 5 tầng, không phải kiến trúc song song |
| Text as Code không phải text sinh code tự do | NT9 không chắc = sai; NT10 PG truth | Đ38 chưa nói đủ về machine semantics và giới hạn sinh code/config | Thiếu; cần amend Đ38 |
| Mọi văn bản quản trị | HP không bó hẹp pháp quy | Đ38 viết “mọi văn bản pháp quy” rồi liệt kê policy/quy định | Vênh wording; cần scope-amendment |
| SSOT Catalog + Component Registry + Reuse Governance | NT1/NT8/NT11/NT13 ủng hộ reuse và PG-driven | Đ38 chưa có component/BOM/compat/golden path; Đ39 không phải registry | Thiếu ở Đ38 |
| BOM, traceability, lifecycle, compatibility, variant | NT8 Assembly First; NT12 paired-check | Đ38 có lifecycle/binding nhưng chưa có BOM/compat/variant/golden path | Cần bổ sung Đ38 |
| Registry không khai lại PG catalog | NT11 rất rõ | Đ38 chưa khóa; Đ39 có chống duplicate ontology | Cần anti-dup clause ở Đ38 |
| Workflow trace không tự thành truth | NT9/NT10 | Đ39 có provenance/authority nhưng một số câu dễ đọc rộng | Cần clarification Đ39 |
| KG không thay workflow engine | NT1 chống trùng vai | Đ39 C5 đã cấm routing/retry/error handling | Khớp, thêm §0 clarification để chắc hơn |
| Knowledge proposal không mặc định truth | NT9; Đ39 nguyên tắc vàng | Đ39 có kg_auto_approve_rules, nhưng “ABox thường AI tự thực hiện” dễ hiểu rộng |
Cần wording rõ hơn |
| NT12 paired architecture | HP/Đ1/Đ35 rất rõ | Đ39 có 36 DOT/18 cặp; Đ38 chưa nêu cặp cho binding/render/BOM | Thiếu ở Đ38 |
| NT14 executable bridge | HP/Đ1 có 6 câu hỏi | Đ38 v3.0 còn “chi tiết sẽ cập nhật” | Cần thêm gate NT14 trong Đ38 |
3. Kết luận chính
Hướng v6 khớp Hiến pháp. Không cần amend semantic Hiến pháp. NT11, NT12, NT13, NT14 đã đủ để chống duplicate registry, bắt paired-check, PG-driven và khả thi triển khai.
Blocker chính là Đ38: file current knowledge/dev/laws/dieu38-normative-document-law.md là v3.0 DRAFT, nhưng Hiến pháp/normative_registry vẫn coi Đ38 v2.3 là enacted. Không được xem file current này là law enacted. Cần status clarification trước vòng v6.
Đ39 v2.3 nhìn chung đúng: có provenance, source authority, temporal, negative knowledge, TBox/ABox, auto/manual rules, ranh giới với Đ34. Tuy nhiên cần khóa wording để không ai hiểu KG là workflow engine, workflow trace là truth, hoặc KG là Component Registry.
Đ32/33/35/37/41/43 nhìn chung mở đường được. Điểm cần chỉnh thật sự là Đ33: thực tế phiên này và nhắc lại của Chủ tịch cho thấy runtime DB user cho directus là directus, governance tables nằm trong DB directus, không phải incomex_metadata. Đ33 §14.2 còn ghi PG_USER_DIRECTUS=workflow_admin; nên clarify tách DB owner/admin role với runtime/application user.
4. Patch cụ thể
| # | File | Patch | Mục đích | Loại |
|---|---|---|---|---|
| 1 | knowledge/dev/laws/dieu38-normative-document-law.md |
Thêm block trạng thái: v3.x là DRAFT, không thay Đ38 enacted nếu chưa qua Đ32/Đ37/normative_registry | Chặn nhầm draft thành luật | clarification-only |
| 2 | Đ38 | MT1 đổi “mọi văn bản pháp quy” -> “mọi văn bản quản trị có hiệu lực vận hành” | Mở scope đúng v6 | scope-amendment |
| 3 | Đ38 | Thêm § Text as Code != LLM sinh code tự do | Khóa boundary | wording-amendment |
| 4 | Đ38 | Thêm 4 lớp atom: human_text, machine_semantics, binding/provenance/effectivity, render_view |
Text đủ máy đọc và render không là SSOT | wording-amendment |
| 5 | Đ38 | Thêm SSOT Catalog + Component Registry + Reuse Governance + BOM/compat/variant/golden path/traceability | Trụ cột v6 | wording-amendment |
| 6 | Đ38 | Thêm NT11 clause: Registry/Catalog chỉ khai phần PG không tự biết | Tránh duplicate PG catalog | cross-law-alignment |
| 7 | Đ38 | Thêm paired-check cho atomize/binding/render/BOM/compat/trace | Áp NT12 | cross-law-alignment |
| 8 | Đ38 | Thêm NT14 handoff: data, writer, checker, trigger, validation, failure handling | Khả thi thiết kế | cross-law-alignment |
| 9 | knowledge/dev/laws/dieu39-knowledge-graph-law.md |
Thêm §0.1 ranh giới Workflow/KG/Registry/truth promotion | Chống hiểu lệch | clarification-only |
| 10 | Đ39 | Sửa B2 “KG+AI thay workflow cứng” -> “KG+AI đề xuất/ưu tiên; workflow engine thực thi choreography” | KG không thay engine | wording-amendment |
| 11 | Đ39 | Sửa C1 “Đ38 -> AI graph hóa” -> “Đ38 annotation/binding đã validate -> DOT scaffold; AI chỉ propose” | Proposal vs truth | wording-amendment |
| 12 | Đ39 | Sửa §7B ABox thường: AI/DOT chỉ auto trong kg_auto_approve_rules, có provenance/authority/validation |
Chặn proposal thành truth | clarification-only |
| 13 | knowledge/dev/laws/constitution.md |
Corrective: “13 nguyên tắc” -> “14 nguyên tắc”; optional note runtime user vs owner | Dọn mismatch, không đổi nguyên tắc | constitution-touch / clarification-only |
| 14 | knowledge/dev/laws/law-01-foundation-principles.md |
Optional thêm ví dụ NT13: reuse_policy, compatibility_matrix, authority_model, golden_path, assembly_rules, routing metadata đều PG-driven | Làm NT13 nổi rõ | clarification-only |
| 15 | knowledge/dev/laws/dieu33-postgresql-law.md |
§14.2 đổi runtime Directus user sang directus, hoặc tách owner/admin workflow_admin với runtime user directus; ghi governance tables ở DB directus |
Khớp VPS SSOT | cross-law-alignment |
| 16 | knowledge/dev/laws/dieu32-approval-law.md |
Trước khi enact v6, implement/clarify amend_law/law_clarification handler |
Hiện amend_law reserved/unimplemented |
cross-law-alignment |
| 17 | knowledge/dev/laws/dieu35-dot-governance-law.md |
Không sửa ngay; khi triển khai tạo DOT domain/pairs cho normative.text_code |
Đ35 đã đủ | clarification-only |
| 18 | knowledge/dev/laws/dieu37-governance-organization-law.md |
Không sửa luật; seed jurisdiction/governance rows khi thiết kế Text-as-Code platform | Đ37 đã đủ | clarification-only |
| 19 | knowledge/dev/laws/dieu41-luat-van-hanh-ma-vps-v1.1.md |
Không sửa | VPS SSOT/trace/rollback đã đủ | no-change |
| 20 | knowledge/dev/laws/dieu43-system-context-law.md |
Optional add approved v6 design docs/pattern hẹp vào context pack sau khi được duyệt | Giúp agent đọc đúng nền v6 | cross-law-alignment optional |
5. Draft đi kèm
Tạo draft riêng tại:
knowledge/dev/reports/draft-amend-clarification-d38-d39-text-as-code-v6-2026-04-24.md
Draft đó có câu chữ đề xuất cho Đ38, Đ39, Đ33, Đ32 và note Hiến pháp/Đ43.
6. Tự kiểm
- Có tạo kiến trúc song song với Hiến pháp không? Không.
Text -> Code -> Workflow -> Knowledgeđược đặt dưới 5 tầng và PG truth. - Có biến KG thành workflow engine không? Không. Patch Đ39 khóa routing/retry/error handling về workflow engine/Đ34.
- Có biến knowledge proposal thành truth mặc định không? Không. Promotion cần rule auto/manual + provenance + authority + validation.
- Có khiến Registry/Catalog khai lại PG catalog không? Không. Patch Đ38 thêm NT11 anti-dup.
- Có làm hẹp tầm nhìn để vừa luật cũ không? Không. Đề xuất mở Đ38 thay vì co v6.
- Có chỗ chưa đạt NT14 không? Có nếu giữ Đ38 hiện tại; patch đề xuất thêm NT14 handoff bắt buộc.
- Có đáng amend Hiến pháp không? Không cần amend semantic. Chỉ có corrective/clarification nếu dọn wording/runtime user.
7. Kết luận
Nên tiếp tục v6 nhưng không enact trên nền Đ38 lẫn trạng thái. Thứ tự đúng: chốt trạng thái Đ38, amend Đ38 về scope/Text-as-Code/component governance, clarify Đ39 boundary, dọn Đ33 runtime user, rồi mới thiết kế Normative Core/Component Registry/BOM theo NT14.