03 — Điều 45 Compatibility Matrix
03 — Điều 45 Compatibility Matrix
Date: 2026-05-26 (revised post-GPT Council Round 1 — v0.2) Scope: Chứng minh Điều 45 (v0.2 DRAFT) không xâm phạm Điều 30/31/35/36/37/44 và xác lập rõ ranh giới. v0.2 note: 5 patch mới (§6.6/§6.7/§11.5/§13.4/§15.5) đều là subsection mới dưới section hiện có; KHÔNG amend luật ngang cấp nào. Compatibility matrix dưới đây giữ nguyên — chỉ thêm verify rằng patch v0.2 không tạo conflict mới.
§1. Matrix tổng quan
| Luật | Trạng thái | Quan hệ với Điều 45 | Có amend không? |
|---|---|---|---|
| Điều 22 System Issues | BAN HÀNH | Heaviest event consumer (131,407 rows = 99.7% event_outbox). Issues emit qua queue. |
KHÔNG |
| Điều 28 Display Rules | BAN HÀNH | UI exposure qua Directus collection vẫn áp dụng. Queue exposure layer L5 thuộc D28 + D35. | KHÔNG |
| Điều 29 Phân loại Collection | BAN HÀNH | Birth events theo D36; Điều 45 vocab event_domain='birth_registry' đăng ký. |
KHÔNG |
| Điều 30 Regression Protection | BAN HÀNH v1.1 | Queue event_type ratification PHẢI có regression coverage. | KHÔNG |
| Điều 31 System Integrity | BAN HÀNH v1.2 | Refusal contract đồng nhất (§8.5). Watchdog reads queue health views. system_issues là consumer. | KHÔNG |
| Điều 32 Metadata Governance | (status) | Vocab discipline đồng pha. | KHÔNG |
| Điều 35 DOT Governance | BAN HÀNH v5.2 FINAL | DOT là producer + executor. dot_iu_command_run + dot_iu_command_catalog vẫn thuộc D35. | KHÔNG |
| Điều 36 Collection Protocol | DRAFT 30% | NVSZ ratify ở mức luật (§14). Birth event flow tuân D36. | KHÔNG (ngược lại — D36 cross-ref Điều 45 §14 sau ban hành) |
| Điều 37 Governance Organization | BAN HÀNH v3.3 | event_subscription dùng vocab actor_ref (user:, agency:, role:, agent:) đồng nhất D37. |
KHÔNG |
| Điều 39 Knowledge Graph | (status) | KG events đăng ký event_domain='kg'. |
KHÔNG |
| Điều 43 Context Pack | (status) | system milestone events → red_zones section. | KHÔNG |
| Điều 44 IU-0 Implementation | DRAFT v0.1.2 | Queue substrate sinh ra dưới D44 trien-khai. Sau Điều 45 ban hành: queue invariants ownership chuyển sang Điều 45. D44 KHÔNG bị amend, chỉ delegate. | KHÔNG (chỉ delegate ownership via cross-ref) |
§2. Chi tiết — Điều 30 Regression Protection
Điều 30 v1.1 ban hành 2026-03-22. Quy định: thay đổi code phải có regression test; SSOT operating rules; Playwright + branch protection.
Giao thoa với Điều 45:
| Aspect | Điều 30 | Điều 45 | Conflict? |
|---|---|---|---|
| Thêm event_type mới | Yêu cầu test (regression coverage) | §6.4 yêu cầu ratification + inclusion rubric | Đồng nhất |
| Đổi worker logic | Yêu cầu Playwright + CI guard | §15 yêu cầu observability cursor + health fn | Bổ trợ |
| Migration queue substrate | Yêu cầu rollback path | §18.4 sub-design pack tự có rollback | Bổ trợ |
Verdict: không conflict. Điều 45 §18.1 thừa nhận đã có lỗi (ratify post-hoc); future amend phải qua D30 regression cycle.
§3. Chi tiết — Điều 31 System Integrity
Điều 31 v1.2 ban hành. Quy định: contract-driven validation; 3-loop validation; watchdog; system_issues; refusal contract; "đúng/đủ/sạch/sống".
Giao thoa với Điều 45:
| Aspect | Điều 31 | Điều 45 | Conflict? |
|---|---|---|---|
| Refusal contract | "Một khi contract không thoả mãn, refusal" | §8.5 worker refusal + §17 hard-reject | Pattern đồng nhất |
| system_issues | system_issues là SoT của health alerts | system/issue_opened event_type đăng ký, heaviest traffic |
Đồng pha |
| Watchdog | watchdog reads system_issues + integrity views | §15.3 healthcheck function contract — watchdog đọc | Bổ trợ |
| "Sống" (liveness) | watchdog detect "đã chết" | §15.4 liveness contract — worker silent > N × cadence → critical alert | Đồng pha |
| Contract violation | system_issues with severity | Queue payload violation → system_issues queue.payload_violation |
Bổ trợ |
Verdict: Điều 45 mở rộng surface của Điều 31 (queue events là health signal). Không conflict.
§4. Chi tiết — Điều 35 DOT Governance
Điều 35 v5.2 FINAL ban hành 2026-04-18. Quy định: DOT lifecycle, register, run modes {plan, apply, verify}, ADMIN fallback, paired test, fix_repair_dot, verify 3-tầng.
Giao thoa với Điều 45:
| Aspect | Điều 35 | Điều 45 | Conflict? |
|---|---|---|---|
| DOT vocab | category {collection, piece, lifecycle, read, health, ...} | event_domain={iu, dot, ...} (khác layer) | KHÔNG conflict — orthogonal |
| run_mode/run_status vocab | {plan,apply,verify} × {planned,applied,verified,refused,failed} | Ratify trong §6.3 | Đồng nhất |
| DOT là producer (DOT emits events) | DOT runs ledgered | §11.3 — Điều 45 chủ quản giao tiếp | Đồng pha |
| DOT là executor (DOT consumes review/approval tasks) | Điều 35 quản DOT lifecycle | §11.1 executor layer | Bổ trợ |
| dot_iu_command_run | Schema thuộc D35 | Không sửa | KHÔNG |
| dot_iu_command_catalog | Catalog thuộc D35 | Không sửa | KHÔNG |
| ADMIN fallback audit | Audit schema thuộc D35 | Không sửa | KHÔNG |
Verdict: clean separation. Điều 35 chủ quản DOT lifecycle; Điều 45 chủ quản queue/event surface mà DOT đi qua. Không có DOT command nào bị Điều 45 vô hiệu.
§5. Chi tiết — Điều 36 Collection Protocol + D36 NVSZ
Điều 36 v5.0 DRAFT 30%. Quy định: Collection birth gate; Species + Collection mapping; entity linking 5-tầng; 3 vùng dữ liệu; NVSZ design.
Giao thoa với Điều 45:
| Aspect | Điều 36 | Điều 45 | Conflict? |
|---|---|---|---|
| Birth gate | birth_trigger + birth_registry + tac_birth_gate_config | event_outbox emit birth_registry.entity_born event_type |
Bổ trợ |
| Species + Collection | collection_registry + species_collection_map | Vocab event_domain='birth_registry' đăng ký | Bổ trợ |
| NVSZ design | iu_core schema + vector_excluded CHECK | §14 ratify 4-layer guarantee ở mức luật | Bổ trợ — Điều 45 nâng D36 design lên luật |
| iu_core.iu_staging_record | 7-state lifecycle thuộc D36 NVSZ Macro A | Vocab §6.2 ratify; Điều 45 không sửa schema | KHÔNG |
| Collection vs Queue scope | Collection birth + lifecycle | Queue substrate ở mức infrastructure | KHÔNG conflict — orthogonal |
Verdict: Điều 45 §14 nâng D36 NVSZ design lên mức luật chung. Khi D36 BAN HÀNH (v5.0 FINAL), cross-ref ngược: D36 §X tham chiếu Điều 45 §14 hoặc inline rule.
§6. Chi tiết — Điều 37 Governance Organization
Điều 37 v3.3 BAN HÀNH 2026-04-01. Quy định: tổ chức bộ máy quản trị; agency hierarchy; role; 11 NT + 3 CQ; scale 500 luật/1000 cơ quan.
Giao thoa với Điều 45:
| Aspect | Điều 37 | Điều 45 | Conflict? |
|---|---|---|---|
| Agency model | agency:{code} | event_subscription.recipient_ref dùng agency: prefix |
Đồng nhất |
| Role | role:{name} | event_subscription dùng role: prefix |
Đồng nhất |
| User | user:{login} | event_subscription dùng user: prefix |
Đồng nhất |
| AI Agent | (D37 mở mở) | event_subscription dùng agent:/{slug} prefix |
Bổ trợ |
| Routing policy | D37 quản agency/role authority | Điều 45 §16.1 cross-ref — agency routing dùng D37 vocab | Đồng pha |
| Resolution authority cho dead-letter | D37 quản authority | §8.4 dead-letter resolution policy thuộc DP3, dùng D37 authority | Bổ trợ |
Verdict: clean. Điều 45 không định nghĩa agency vocab — dùng D37. D37 không quản queue substrate — dùng Điều 45.
§7. Chi tiết — Điều 44 IU-0 Implementation
Điều 44 v0.1.2 controlled DRAFT. Quy định: IU-0 minimum standard; CRUD; packaging; outbox-as-IU-layer.
Giao thoa với Điều 45:
| Aspect | Điều 44 | Điều 45 | Conflict? |
|---|---|---|---|
| IU outbox layer | "outbox layer" trong 9-layer packaging (07b §5) | event_outbox là instance của layer này | Conceptual đồng nhất |
| IU CRUD hot path | CRUD contract thuộc D44 | Queue substrate vs CRUD orthogonal — D44 quản CRUD, D45 quản event sinh ra từ CRUD | Bổ trợ |
| Information Unit two-way trigger | (D44 IU spec) | §12.3 IU two-way bridge concrete | Bổ trợ |
| Cutting flow (MARK→CUT) | Thuộc D44 trien-khai operator | Substrate (iu_core.iu_staging_record) ratify §6.2; flow operator-driven §3.3 |
Đồng pha |
fn_iu_* function prefix |
Lịch sử triển khai dưới D44 | §3.3 ratify giữ tên — không đổi | KHÔNG conflict |
Verdict: Điều 44 và Điều 45 phân vai rõ — D44 chủ quản IU-0 minimum standard, D45 chủ quản queue infrastructure (cả cho IU lẫn non-IU). Sau ban hành Điều 45:
- D44 KHÔNG bị amend.
- Phần queue substrate trong D44 trien-khai (P3D4C0X, P3D4C1, P3D4C1U design) được delegate ownership sang Điều 45 — design docs vẫn ở thư mục cũ nhưng cross-ref Điều 45 cho invariants.
§8. Matrix tóm tắt: vocab cross-law
| Vocab key | Owner law | Ratified by Điều 45? |
|---|---|---|
event_domain ∈ {iu,birth_registry,governance,tac,kg,system,dot,health,piece} |
Điều 45 | ✅ §6.1 |
event_stream ∈ {comment,review,update,birth,task,alert,health} |
Điều 45 | ✅ §6.1 |
delivery_lane ∈ {immediate,delayed} |
Điều 45 | ✅ §6.1 |
event_severity ∈ {info,warning,critical} |
Điều 45 | ✅ §6.1 |
payload_classification ∈ {safe_metadata,restricted} |
Điều 45 | ✅ §6.1 |
iu_staging_record.lifecycle_status 7-state |
D36 NVSZ Macro A | ✅ §6.2 ratify |
dot_iu_command_run.run_mode ∈ {plan,apply,verify} |
D35 | ✅ §6.3 cross-ratify |
dot_iu_command_run.run_status ∈ {planned,applied,verified,refused,failed} |
D35 | ✅ §6.3 cross-ratify |
iu_piece_membership.piece_role 7-vocab |
D44 IU | KHÔNG (out of queue scope) |
dot_iu_command_catalog.category 13-vocab |
D35 | KHÔNG (out of queue scope) |
actor_ref prefix vocab |
D37 | KHÔNG ratify, dùng từ D37 |
iu_route_dead_letter.resolution ∈ {replayed,discarded,superseded} |
Điều 45 | ✅ §8.4 |
§9. Cross-reference cập nhật sau ban hành
Sau Điều 45 BAN HÀNH v1.0, các file sau cần cập nhật (KHÔNG amend luật cũ — chỉ thêm cross-reference):
| File | Hành động |
|---|---|
knowledge/dev/architecture/index.md |
Thêm Điều 45 vào danh sách luật |
knowledge/dev/laws/dieu44-trien-khai/v0.6-iu-core-cutting-operator-start-here/ |
Cross-ref Điều 45 §11 boundary nếu mới |
knowledge/dev/laws/dieu44-trien-khai/design/23-p3d4c0x-… |
Cross-ref: thiết kế giờ "thuộc Điều 45 implementation seam" |
knowledge/dev/laws/dieu44-trien-khai/design/07b-iu0-packaging-crud-vector.md |
Cross-ref §5 outbox layer giờ instance của Điều 45 |
knowledge/dev/laws/dieu36-collection-protocol-law.md (khi v5.0 FINAL ban hành) |
Cross-ref NVSZ giờ ratified by Điều 45 §14 |
KHÔNG đụng vào: D31 v1.2, D35 v5.2 FINAL, D37 v3.3, D30 v1.1, D44 v0.1.2 controlled DRAFT.
§10. Boundary kiểm tra cuối
| "Có thể có rule X trong Điều 45 không?" | Trả lời |
|---|---|
| Quy định DOT pair test policy | KHÔNG — D35 §X |
| Quy định Collection birth gate criteria | KHÔNG — D36 |
| Quy định regression test schedule | KHÔNG — D30 |
| Quy định agency hierarchy | KHÔNG — D37 |
| Quy định IU-0 minimum standard | KHÔNG — D44 |
| Quy định system_issues lifecycle | KHÔNG — D22 + D31 |
| Quy định vocab event_domain/stream/lane | CÓ — Điều 45 |
| Quy định worker liveness threshold | CÓ — Điều 45 §15.4 (concrete số trong DP) |
| Quy định payload classification | CÓ — Điều 45 §4 |
| Quy định lease primitive | CÓ — Điều 45 §8.3 |
| Quy định inclusion criteria queue | CÓ — Điều 45 §6.4 |
| Quy định dead-letter resolution | CÓ — Điều 45 §8.4 |
Boundary clean.
§11. v0.2 patch impact analysis (GPT Council Round 1)
Mỗi patch v0.2 phải verify zero-conflict với mọi luật ngang cấp:
| Patch v0.2 | Vị trí | Có amend luật khác không? | Verify |
|---|---|---|---|
| §6.6 event_vs_job | sau §6.5 | KHÔNG | Định nghĩa nội bộ Điều 45; không đụng D22/D31/D35/D36 |
| §6.7 work_state_machine | sau §6.6 | KHÔNG | 9 states là invariant của Điều 45; D35 run_status ratify nguyên (§6.3) như subset rút gọn — không bị ép mở rộng |
| §11.5 executor_boundary | sau §11.4 | KHÔNG | Strengthen ranh giới đã có ở §11.1-11.4; D35 DOT vẫn quản DOT lifecycle |
| §13.4 MOT clause | sau §13.3 | KHÔNG | Strengthen quan hệ luật MOT-queue; chưa ban hành substrate MOT — không amend luật nào |
| §15.5 silent-gap invariant | sau §15.4 | KHÔNG | Nâng cấp §15.4 từ event-emit thành violation; D31 watchdog vẫn là consumer, không bị ép thay đổi schema |
Verdict: v0.2 zero new conflict. Cross-reference đã được nhúng vào mỗi patch (xem ngay trong law file).