KB-6553

P3D — B3-A1b dot_domain_rules Species Decision

4 min read Revision 1
p3dbirth-systemb3a1bdot-domain-rulesspeciesdesign

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:

  1. Nhất quán: 4+ rule tables khác đều dùng governance_infra. Tạo species riêng cho 1 table phá pattern.

  2. 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).

  3. 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).

  4. 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

Back to Knowledge Hub knowledge/dev/laws/dieu44-trien-khai/design/p3d-birth-b3a1b-dot-domain-rules-species-decision.md