Điều 37 — Luật Tổ chức Bộ máy Quản trị v3.3 BAN HÀNH (KHÔI PHỤC ĐẦY ĐỦ)
ĐIỀU 37 — LUẬT TỔ CHỨC BỘ MÁY QUẢN TRỊ v3.3
(Governance Organization Law — BAN HÀNH)
v3.3 | S150+ (2026-04-01) | Council: Gemini 9.0/9.5 + GPT 7.9 = THÔNG QUA v3.3 = v3.2 + 6 sửa từ Council vòng 2 (F1-F6). Rà soát: 11 NT ✅ | 3 CQ ✅ | Scale 500 luật/1000 cơ quan ✅ | Council 2 vòng ✅ Tuân thủ: HP v4.4.0 (11 NT), Điều 0, 0-B, 0-G, 0-H, 5, 13, 14, 22, 24, 26, 28, 29, 31, 32, 35, 36 ★ S165: Khôi phục nội dung đầy đủ §1-§12 (trước đó bị cắt cụt do agent S157 upload thiếu).
★ GHI CHÚ VẬN HÀNH (S157 — Điều 38 triển khai)
law_registry → normative_registry (Điều 38 v2.3). Đ38 gộp law_registry vào normative_registry (chứa cả laws + TDs + amendments). Điều 37 vẫn tham chiếu "law_registry" trong nội dung luật (enacted = bất biến). Thực tế production:
normative_registry= bảng thật (chứa laws + TDs)v_law_registry= VIEW read-only lọcdoc_type = 'law'cho backward compatibility- Tất cả FK trong governance_relations, law_jurisdiction, law_dot_enforcement → trỏ
normative_registry.code
MỤC TIÊU
Xây dựng hệ thống quản lý chiều TOP-DOWN (Luật → Cơ quan → Thực thể) để KHỚP với chiều BOTTOM-UP đã có (Thực thể → Khai sinh → Phân loại). Khi 2 chiều khớp nhau qua mọi tầng trung gian → không gì lọt.
Sau khi Điều 37 hoàn thành, hệ thống PHẢI trả lời được MỌI câu hỏi sau bằng 1 query PG:
| # | Câu hỏi | Trước Đ37 |
|---|---|---|
| 1 | Có bao nhiêu luật? Enacted? Draft? | ❌ Đọc text |
| 2 | Luật X quản lý domain nào? Phạm vi đến đâu? | ❌ Đọc text |
| 3 | Domain nào CHƯA có luật quản lý? (khoảng trống) | ❌ Không ai biết |
| 4 | 2 luật nào CHỒNG CHÉO phạm vi? | ❌ Không ai biết |
| 5 | Luật X có bao nhiêu DOT thực thi? Luật nào 0 DOT? ("tủ kính") | ❌ Không ai biết |
| 6 | DOT Y phục vụ luật nào? DOT nào "hoang dã" (0 luật)? | ❌ Phải nhớ |
| 7 | Collection Z thuộc phạm vi luật/cơ quan nào? Collection nào "vô chủ"? | ❌ Phải nhớ |
| 8 | Cơ quan A có liên kết với cơ quan B không? Liên kết nào hỏng? | ❌ Không kiểm tra |
| 9 | Khi tạo cơ quan mới → đã đăng ký + liên kết đủ chưa? | ❌ Trí nhớ |
| 10 | Toàn bộ bộ máy quản trị đang khỏe hay đang lỗi? | ❌ Không dashboard |
| 11 | Luật enacted nhưng cơ quan thực thi ngừng hoạt động? | ❌ Không phát hiện |
Sau Điều 37: TẤT CẢ 11 câu = ✅.
5 NHIỆM VỤ CHÍNH
| # | Nhiệm vụ | Nghĩa | Sản phẩm |
|---|---|---|---|
| NV1 | Đăng ký cơ quan thực thi | Biết có gì, loại gì, thuộc luật nào. Sinh ra = đăng ký. Không đăng ký = mồ côi. | normative_registry (★ thay law_registry) + governance_registry |
| NV2 | Quản lý liên kết luật ↔ cơ quan | Ai phục vụ ai, ai phụ thuộc ai — từ khi sinh, trong quá trình, đến nghỉ hưu/xóa. Tận dụng PG catalog (NT11). | governance_relations + law_dot_enforcement |
| NV3 | Quản lý phạm vi bao trùm của luật | Luật nào cover domain nào. Khoảng trống + chồng chéo → ma trận đơn giản. | law_jurisdiction + 6 ma trận pivot |
| NV4 | Định nghĩa rõ thuật ngữ | Cơ quan, Thực thể, Nhà máy, Liên kết, Hợp đồng, Phạm vi, Mồ côi — mỗi từ 1 nghĩa duy nhất. | terminology-glossary.md Section 8 |
| NV5 | Quản lý rủi ro thực thi | Luật enacted nhưng cơ quan thực thi ngừng hoạt động → phát hiện + escalate. | DOT-GOV-VERIFY + MTX-GOV-HEALTH |
KHÔNG PHẢI NHIỆM VỤ CỦA ĐIỀU 37
- Quản lý từng thực thể cụ thể (Điều 0-G, 35, 36)
- Nội dung chi tiết từng luật (Điều tương ứng)
- Xử lý trùng lặp cụ thể (Điều 14)
- Self-healing cụ thể (Điều 22)
- Knowledge graph phổ quát cho mọi entity
- Chuẩn hóa nội dung text luật
§1. GIẢI THÍCH TỪ NGỮ (riêng Điều 37)
Chi tiết đầy đủ:
terminology-glossary.mdSection 8.
| Thuật ngữ | Định nghĩa |
|---|---|
| Luật (Law) | Điều luật trong Hiến pháp. Có mã LAW-XX. Luật QUY ĐỊNH, không tự làm. Tầng đỉnh top-down. |
| Cơ quan (Agency) | Hệ thống có thẩm quyền quản lý. 3 loại: Collection, DOT, Nhà máy. QUẢN LÝ thực thể, không phải thực thể. |
| Thực thể (Entity) | Đối tượng BỊ QUẢN LÝ. |
| Nhà máy (Factory) | Loại cơ quan đẻ ra thứ khác. Thuộc tính output_target: user/system/assembly. |
| Liên kết (Relation) | Quan hệ giữa cơ quan/luật. ≠ Hợp đồng. 2 tầng: vật lý (PG tự biết, READ-ONLY) + logic (khai báo). |
| Hợp đồng (Contract) | Liên kết có NGHĨA VỤ bắt buộc. Hợp đồng ⊂ Liên kết. |
| Phạm vi (Jurisdiction) | Tập domains + collections mà 1 luật/cơ quan chịu trách nhiệm. |
| Mồ côi Điều 37 | Cơ quan thiếu liên kết cần thiết (top-down). ≠ mồ côi Điều 0-G (bottom-up). |
| Khoảng trống (Gap) | Domain/collection không thuộc phạm vi luật nào. |
| Chồng chéo (Overlap) | 2 luật cùng primary trên 1 domain. Cần review, không nhất thiết lỗi. |
§2. TUYÊN BỐ CỐT LÕI
"Hệ thống quản lý thực thể từ dưới lên (bottom-up) đã tốt. Nhưng thiếu quản lý từ trên xuống (top-down): Luật → Cơ quan → Thực thể. Điều 37 xây chiều top-down. Khi 2 chiều khớp nhau qua mọi tầng trung gian → hệ thống toàn vẹn."
5 TẦNG QUẢN LÝ (★ Council v3.0 — chuẩn hóa)
TẦNG 1: LUẬT → normative_registry (★ thay law_registry, 38+ luật enacted)
↓
TẦNG 2: PHẠM VI → law_jurisdiction (luật × domain: primary/secondary/reference)
↓
TẦNG 3: CƠ QUAN → governance_registry (12+ cơ quan: collection/dot/factory)
↓
TẦNG 4: LIÊN KẾT → governance_relations (vật lý + logic + hợp đồng)
↓
TẦNG 5: THỰC THI → law_dot_enforcement (DOT nào thực thi luật nào, vai trò)
§3. PHẠM VI
TRONG phạm vi Điều 37:
- Đăng ký Luật (mã, tên, phạm vi) trong PG
- Đăng ký Cơ quan quản trị (Collection, DOT, Nhà máy) — chiều top-down
- Quản lý Liên kết giữa Luật↔Cơ quan, Cơ quan↔Cơ quan, Luật↔Luật
- Quản lý Phạm vi (jurisdiction) từng luật theo domain
- Phát hiện: khoảng trống, chồng chéo, mồ côi, liên kết hỏng
- Quy trình onboarding cơ quan mới + luật mới
NGOÀI phạm vi:
| Vấn đề | Luật phụ trách | Điều 37 CHỈ làm |
|---|---|---|
| Nội dung chi tiết DOT | Điều 35 | Biết DOT phục vụ luật nào |
| Tạo/xóa collection | Điều 36 | Biết collection thuộc phạm vi luật nào |
| Khai sinh entity | Điều 0-G | Biết cơ quan khai sinh có hoạt động |
| Tạo/quản lý khuôn | Điều 28 | Biết khuôn có liên kết với birth |
| Xử lý trùng lặp cụ thể | Điều 14 | Phát hiện 2 cơ quan overlap scope |
★ RANH GIỚI ĐIỀU 31 vs ĐIỀU 37:
| Loại vấn đề | Điều 31 xử lý | Điều 37 xử lý |
|---|---|---|
| Lỗi kỹ thuật (trigger fail, FK broken) | ✅ Phát hiện + báo cáo | ❌ |
| Vi phạm pháp luật (cơ quan A không hợp tác với B) | ❌ | ✅ Phiên dịch lỗi → jurisdiction breach |
| Cơ quan ngừng hoạt động | Điều 31 phát hiện DOT không chạy | Điều 37 escalate: luật enacted mà cơ quan chết |
§4. NGUYÊN TẮC
- TOP-DOWN 5 TẦNG: Luật = gốc. Mọi cơ quan thuộc luật. Mọi luật có phạm vi.
- KHAI TỐI THIỂU (NT11): PG catalog tự phát hiện liên kết vật lý. Chỉ khai cái PG KHÔNG tự biết. Khai lại = THIẾT KẾ SAI.
- ASSEMBLY FIRST (NT8): Tận dụng dot_domains, meta_catalog, birth_registry, system_issues, pivot_definitions, PG catalog.
- MỌI CƠ QUAN CÓ MÃ (NT1, Điều 0-G): Sinh ra → khai sinh → mã → mới hoạt động.
- MA TRẬN ĐƠN GIẢN: Phức tạp → ma trận ✅/❌. Người và máy nhìn là rõ.
- RELATION VẬT LÝ = READ-ONLY (★ Council): Liên kết PG catalog chỉ scan ghi. KHÔNG INSERT thủ công.
- ENACTED = BẤT BIẾN (★ F1): Luật enacted không sửa. Muốn thay đổi → Amendment mới.
- 1 DOMAIN MAX 1 PRIMARY (★ F4): PG trigger chặn 2 luật primary cùng domain.
- AGENT RULE CỨNG (★ F6): KB = context. PG = operational. Lệch → system_issues.
- BOOTSTRAP CONFIDENCE GATE (★ F5): Sau seed → DOT-GOV-VERIFY → 0 critical = PASS.
- VALIDATE FK THẬT (★ F2+F3): primary_collection + health_dot phải tồn tại và active.
§5. SCHEMA — 6 COLLECTIONS
THỨ TỰ TẠO (FK dependency):
normative_registry (đã có) → (law_jurisdiction, governance_registry, law_dot_enforcement) → governance_relations → governance_audit_log
5.1. law_jurisdiction — Phạm vi bao trùm
| Field | Type | Constraint |
|---|---|---|
| id | integer | PK auto |
| law_code | string | NOT NULL, FK → normative_registry.code ON DELETE RESTRICT |
| domain | string | NOT NULL, FK → dot_domains.code ON DELETE RESTRICT |
| coverage_type | string | NOT NULL, PG CHECK (primary/secondary/reference) |
| description | text | nullable |
| status | string | DEFAULT 'active', PG CHECK (active/retired) |
| UNIQUE(law_code, domain) |
5.2. governance_registry — Danh bạ cơ quan
| Field | Type | Constraint |
|---|---|---|
| code | string | PK (GOV-XXX) |
| name | string | NOT NULL |
| type | string | NOT NULL, CHECK (collection/dot/factory) |
| primary_collection | string | nullable, Trigger 4 validate |
| governing_law | string | nullable, FK → normative_registry.code |
| health_dot | string | nullable, Trigger 5 validate |
| status | string | DEFAULT 'active' |
| description | text | nullable |
| output_target | string | nullable, CHECK (user/system/assembly) — chỉ type=factory |
| composition_level | string | DEFAULT 'compound' |
| species_code | string | DEFAULT 'agency' |
5.3. law_dot_enforcement — Sổ thực thi DOT
| Field | Type | Constraint |
|---|---|---|
| id | integer | PK auto |
| law_code | string | NOT NULL, FK → normative_registry.code ON DELETE RESTRICT |
| dot_code | string | NOT NULL, Trigger 7 validate |
| enforcement_role | string | NOT NULL, CHECK (primary/audit/support) |
| status | string | DEFAULT 'active' |
| UNIQUE(law_code, dot_code) |
5.3.1. Kế thừa enforcement và jurisdiction khi amend
Khi một luật enacted được amend theo Kiểu A (code-split — tạo code mới, bản cũ nhận superseded_by), hệ thống PHẢI tự động kế thừa dữ liệu governance từ code cũ sang code mới:
A. Kế thừa enforcement:
- PG trigger trên
normative_registrykhiNEW.status = 'enacted': tự query predecessor (SELECT code FROM normative_registry WHERE superseded_by = NEW.code AND status = 'enacted'), rồiINSERT INTO law_dot_enforcement ... SELECT ... FROM law_dot_enforcement WHERE law_code = <old_code> ON CONFLICT DO NOTHING. - Nếu predecessor có 0 enforcement rows VÀ
nrm_doc_type_config.requires_enforcement = true→ INSERTsystem_issueskind =enforcement_gap_inherited, severity =warning. Cảnh báo nợ lịch sử, KHÔNG chặn enact. - Sau khi copy, nếu new code vẫn 0 active enforcement VÀ requires_enforcement = true → DOT_NRM_ENACT verify HARD FAIL. Đây là lỗi blocking — khác biệt với case warning ở trên.
- Kiểu B (in-place, giữ code): bỏ qua — enforcement giữ nguyên.
- Luật tĩnh không cần DOT: operator PHẢI set
nrm_doc_type_config.requires_enforcement = falseTRƯỚC khi enact. Không được để requires_enforcement = true mà không seed enforcement.
B. Kế thừa jurisdiction:
6. Cùng trigger kế thừa enforcement, tự động copy law_jurisdiction rows từ code cũ sang code mới (ON CONFLICT DO NOTHING). Đảm bảo ma trận bao phủ (Jurisdiction Matrix) liên tục.
7. Nếu amend thay đổi scope (thêm/bớt domain) → operator khai thủ công sau khi copy.
C. Nguyên tắc chung:
8. Mọi bước kế thừa PHẢI idempotent và replay-safe. Dùng ON CONFLICT DO NOTHING hoặc logic tương đương. Re-run trigger không được tạo duplicate.
5.4. governance_relations — Liên kết cơ quan/luật
| Field | Type | Constraint |
|---|---|---|
| id | integer | PK auto |
| source_type | string | NOT NULL, CHECK (law/agency) |
| source_code | string | NOT NULL, Trigger 6 validate |
| target_type | string | NOT NULL, CHECK (law/agency) |
| target_code | string | NOT NULL, Trigger 6 validate |
| relation_type | string | NOT NULL (owner/depends_on/cooperates/enforces/produces/consumes) |
| discovery_method | string | NOT NULL, CHECK (manual/physical/inferred) |
| status | string | DEFAULT 'active' |
| description | text | nullable |
| UNIQUE(source_code, target_code, relation_type) |
★ RULE: discovery_method = 'physical' → READ-ONLY (Trigger 6)
5.5. governance_audit_log — Nhật ký kiểm toán
| Field | Type | Constraint |
|---|---|---|
| id | integer | PK auto |
| relation_id | integer | FK → governance_relations.id |
| checked_at | timestamp | DEFAULT NOW() |
| checked_by | string | NOT NULL (DOT code hoặc agent) |
| result | string | NOT NULL (pass/fail/warning) |
| detail | json | nullable (JSONB) |
§6. DOT — 6 CÔNG CỤ TỰ ĐỘNG
| # | DOT | Cấp | Trigger | Chức năng |
|---|---|---|---|---|
| 1 | DOT-GOV-BOOTSTRAP | B | 1 lần (seed) | Đọc KB+PG catalog → seed. Ngoại lệ §10. |
| 2 | DOT-GOV-VERIFY | A | Cron daily + on-demand | Kiểm tra toàn bộ governance. |
| 3 | DOT-GOV-ONBOARD | B | On INSERT cơ quan mới | Auto đăng ký + 5 hợp đồng mặc định. |
| 4 | DOT-GOV-DISCOVERY | A | Cron weekly | Quét PG catalog → phát hiện liên kết vật lý. |
| 5 | DOT-GOV-LAW-HEALTH | A | Cron daily | Luật enacted + 0 DOT active = báo đỏ. |
| 6 | DOT-GOV-CONFLICT | A | Cron weekly | Scan jurisdiction chồng chéo. |
3 VÒNG KHÉP KÍN
- Onboarding: Tạo cơ quan → auto đăng ký + 5 hợp đồng → DOT kiểm tra
- Monitoring: DOT daily kiểm tra enforcement → vi phạm = system_issues
- Discovery: DOT weekly quét mồ côi, biệt lập, 1 chiều
§7. MA TRẬN — 6 BỨC TRANH
| Ma trận | Hàng × Cột | Ô = gì | Phát hiện |
|---|---|---|---|
| MTX-CONTRACT | Cơ quan × Cơ quan | ✅/❌ | Ai chưa hợp tác |
| MTX-LAW-DOMAIN | Luật × Domain | primary/secondary/❌ | Khoảng trống |
| MTX-LAW-OVERLAP | Luật × Luật | overlap count | Chồng chéo |
| MTX-LAW-DOT | Luật × DOT type | count | Luật "tủ kính" |
| MTX-GOV-HEALTH | Cơ quan × Metric | pass/fail | Cơ quan lỗi |
| MTX-GOV-TOPOLOGY | 5 tầng top-down | connected/orphan | Đứt kết nối |
§8. TẬN DỤNG PG CATALOG (NT11)
3 rule: catalog-first, source tagging, read precedence. 4-layer abstraction (TD-D). Scan daily + on-demand. PG = SSOT operational. KB = text context.
§9. QUAN HỆ VỚI LUẬT KHÁC
Tận dụng ADDITIVE: Điều 0-G (birth), 13 (meta_catalog), 22 (system_issues), 26 (pivot), 32 (approval), 35 (dot_tools/domains), 36 (collection_registry).
§10. SEED — DOT-GOV-BOOTSTRAP
Đọc KB + PG catalog + collection_registry → seed. Ngoại lệ 1 lần. SAU seed → DOT-GOV-VERIFY ngay → 0 critical = PASS (★ F5). SAU đó mọi thao tác qua DOT.
§11. NỢ KỸ THUẬT
GĐ 1 — Bootstrap (ĐÃ HOÀN TẤT S160)
TD-A (jurisdiction backfill) ✅, TD-B (enforcement backfill) ✅, TD-C (catalog scan) ✅, TD-J (audit partition) ✅.
GĐ 2 — Cải tiến dần (Council vòng 2)
| TD | Nội dung | Nguồn |
|---|---|---|
| TD-D | v_system_topology Materialized View | GPT+Gemini |
| TD-E | Nuxt orphan scanner (Đ28 whitelist) | v3.1 |
| TD-F | scope_summary text từng luật | v2.0 |
| TD-G | Dashboard auto-group >20 rows | v3.2 |
| TD-H | Jurisdiction granularity → collection/prefix/species | GPT |
| TD-I | DOT-LAW-GEN automation (>30 luật) | Gemini |
| TD-K | dot-law-validator: KB vs PG khớp | Gemini vòng 2 |
| TD-L | governance_audit_log gắn MỌI trigger | Gemini vòng 2 |
| TD-M | Semantic trigger governance_relations | GPT vòng 2 |
| TD-N | Luật Exemption chặt (>10) | GPT vòng 2 |
| TD-O | Amendment chain normative_registry | Gemini+GPT vòng 2 |
| TD-P | Agent rule → Operating Rules formal | GPT vòng 2 |
§12. PG TRIGGERS — 8 CHẶN
| # | Trigger | Bảng | Chặn gì |
|---|---|---|---|
| 1 | trg_law_enacted_must_have_enforcement | normative_registry | Enacted + 0 DOT → REJECT |
| 2 | trg_law_enacted_immutable | normative_registry | Enacted bất biến → REJECT UPDATE (cho phép → retired) |
| 3 | trg_jurisdiction_one_primary_per_domain | law_jurisdiction | 2 primary cùng domain → REJECT |
| 4 | trg_gov_validate_primary_collection | governance_registry | primary_collection không tồn tại → REJECT |
| 5 | trg_gov_validate_health_dot | governance_registry | health_dot không tồn tại/inactive → REJECT |
| 6 | trg_gov_validate_source_target + trg_gov_manual_no_physical | governance_relations | Trỏ không khí → REJECT. Manual ghi physical → REJECT |
| 7 | trg_gov_validate_dot_code | law_dot_enforcement | DOT không tồn tại → REJECT |
| 8 | trg_amend_inherit_enforcement_jurisdiction | normative_registry | Enacted + có predecessor → auto copy enforcement + jurisdiction từ code cũ (§5.3.1). Idempotent ON CONFLICT DO NOTHING |
CQ2: Agent muốn nhầm → PG reject ở 8 điểm. Không bypass (CẤM --admin).
CHANGELOG
| Version | Nội dung |
|---|---|
| v1.0 | S150+ Dự thảo đầu tiên. 4 tầng, 5 ma trận, 3 vòng khép kín. |
| v2.0-v2.1 | +NV5, +NT11, +Glossary, +Council prompt. |
| v3.0-v3.2 | Council vòng 1. +5 tầng. +Relation physical READ-ONLY. |
| v3.3 | Council vòng 2. 6 sửa F1-F6. +12 TD GĐ 2. |
| ★ S157 | law_registry → normative_registry (Đ38). VIEW read-only. FK updated. |
| ★ S165 | Khôi phục nội dung đầy đủ §1-§12 (trước đó bị cắt cụt). |
| ★ S178-Fix19 | +§5.3.1 kế thừa enforcement+jurisdiction khi amend. +Trigger #8. Council GPT 8.7 + Gemini 9.5. |
Điều 37 v3.3 BAN HÀNH | 11 NT ✅ | 3 CQ ✅ | Council 2 vòng ✅ | 8 PG trigger | 6 DOT | 6 ma trận | 12 TD GĐ 2 | ★ S165 KHÔI PHỤC ĐẦY ĐỦ | ★ S178-Fix19 +§5.3.1 amend inheritance