P3D — B3-A1b dot_domain_rules Species Decision
P3D — B3-A1b: dot_domain_rules Species Decision Design
Date: 2026-05-12 Mode: DESIGN ONLY — no seed, no dispatch
Question
dot_domain_rules cần map vào species nào?
| Option | Species | Tồn tại? | Pro | Con |
|---|---|---|---|---|
| A | governance_infra | ✅ Có (41 species live) | Nhất quán với nrm_approval_rules, nrm_doc_type_config, label_rules, binding_registry. Không cần tạo loài mới. | Imprecise — governance_infra phủ quá rộng |
| B | dot_rule (MỚI) | ❌ Cần tạo | Chính xác. dot_domain_rules là rule về DOT domain routing. | Tạo species cho 1 table = over-engineering. Không có table khác rõ ràng thuộc loài này. |
| C | rule_artifact (MỚI) | ❌ Cần tạo | Phủ nhiều rule tables: dot_domain_rules, label_rules, checkpoint_rules, nrm_approval_rules. | Cần remap các tables đã map governance_infra → phá consistency. Scope lớn. |
Evidence
Các "rule" tables trong hệ thống
| Table | Current species mapping | entity_type in catalog |
|---|---|---|
| label_rules | governance_infra (via catalog CAT-079) | governance_infra |
| universal_rule_registry | governance_infra (via catalog CAT-131) | governance_infra |
| nrm_approval_rules | → governance_infra (B3-A1a approved) | governance_infra |
| nrm_doc_type_config | → governance_infra (B3-A1a approved) | governance_infra |
| dot_domain_rules | ❌ unmapped | (needs probe) |
| checkpoint_rules | (needs probe) | (needs probe) |
Pattern: mọi rule table đã map/đang map đều dùng governance_infra.
dot_domain_rules bản chất
Chứa rules: DOT tool ↔ domain mapping, validation rules cho domain membership. Đây là governance infrastructure — quy tắc quản trị, không phải business entity hay content.
Recommendation: Option A — governance_infra
Lý do:
-
Nhất quán: 4+ rule tables khác đều dùng governance_infra. Tạo species riêng cho 1 table phá pattern.
-
Không over-engineering: Tạo loài cho 1 table = nợ kỹ thuật ngược (loài quá hẹp, phải maintain species row + mapping row cho 1 table).
-
Mở rộng an toàn: Nếu tương lai có 5+ rule tables với semantics khác biệt rõ (business rules vs governance rules vs routing rules), tạo rule_artifact species lúc đó + remap. Remap = UPDATE species_collection_map (metadata row, không code change).
-
Agent confidence: Agent probe xếp governance_infra = "safe default with well-known peer group". dot_domain_rules confidence thấp chỉ vì nó ở biên — nhưng biên của governance_infra, không phải biên của hệ thống.
Nếu GPT chọn Option B/C
Option B cần: INSERT entity_species row (species_code='dot_rule', composition_level='atom') → INSERT species_collection_map. Scope lớn hơn nhưng possible.
Option C cần: INSERT entity_species + remap nrm_*, label_rules, etc. Scope quá lớn, không nên.
Anti-hardcode note
Species assignment = metadata row, không code branch. Chọn sai species → UPDATE 1 row species_collection_map. Không có code nào break khi đổi species. Đây là quyết định metadata, rủi ro thấp.
B3-A1b dot_domain_rules Species Decision | 2026-05-12