KB-18BD rev 2
H11a — Description Basic Missing (amended with description_policy filter)
4 min read Revision 2
h11adescription-governancedescription-policyamended-2026-05-04
id: H11a name: Description Basic Missing severity: CRITICAL category: description-governance law: dieu43-system-context-law §9.1 related: H11b, dieu3-metadata §2.5, dieu3-metadata §2.6 deployed: 2026-04-22 session: S178-Fix28 amended: 2026-05-04 (IU-0 Description Policy Tiering — file 15 rev2 §7.1)
H11a — Description Basic Missing (CRITICAL)
Ý nghĩa
Entity GOVERNED thuộc collection có description_policy = 'required_detailed' mà description IS NULL hoặc btrim(description) = ''. Đây là dấu hiệu hạ tầng auto-gen hỏng: trigger trg_desc_guard_<table> không chạy, hoặc lookup template 4 tầng trả NULL cho mọi tầng (Tier 1–4 đều thiếu). Severity CRITICAL vì hiến pháp NT6 yêu cầu mọi entity kiến trúc sinh ra phải có mô tả cơ bản.
★ 2026-05-04 amend: Chỉ flag cho collections có description_policy = 'required_detailed' (Tier A — thực thể kiến trúc). Collections structured_exempt (Tier B — IU data rows, bản ghi vận hành) được miễn vì có structured metadata thay thế. Collections unclassified (Tier C) cũng skip H11a CRITICAL — chưa classify thì chưa flag. Xem collection_registry.description_policy.
SQL Query
-- Count per table (★ amended: filter description_policy = 'required_detailed')
SELECT v.source_table,
count(*) AS h11a_findings
FROM v_entity_full_classification v
JOIN collection_registry cr ON cr.collection_name = v.source_table
WHERE v.governance_role = 'governed'
AND cr.description_policy = 'required_detailed'
AND (v.description IS NULL OR btrim(v.description) = '')
GROUP BY v.source_table
ORDER BY h11a_findings DESC;
-- Detail list
SELECT v.source_table, v.entity_code, v.status
FROM v_entity_full_classification v
JOIN collection_registry cr ON cr.collection_name = v.source_table
WHERE v.governance_role = 'governed'
AND cr.description_policy = 'required_detailed'
AND (v.description IS NULL OR btrim(v.description) = '')
ORDER BY v.source_table, v.entity_code;
-- Count total
SELECT count(*) AS h11a_total
FROM v_entity_full_classification v
JOIN collection_registry cr ON cr.collection_name = v.source_table
WHERE v.governance_role = 'governed'
AND cr.description_policy = 'required_detailed'
AND (v.description IS NULL OR btrim(v.description) = '');
Hành động khi có finding
- Xác minh trigger
trg_desc_guard_<table>tồn tại:\d <table>trong psql. - Xác minh template:
SELECT key FROM dot_config WHERE key LIKE 'desc_template_%';— phải có ít nhấtdesc_template_default. - Nếu cả hai OK mà vẫn có finding → backfill bằng
UPDATE <table> SET description = '<computed>'quafn_render_description_template(fn_description_context()). - Nếu finding sau deploy hoàn tất Fix 28 Step 9 → alert CRITICAL ngay.
Viện dẫn liên luật
- Đ3 §2.5: 2 mức mô tả (cơ bản + chi tiết). Description Policy Tiering (Tier A/B/C).
- Đ3 §2.6: Lookup template 4 tầng SSOT
dot_config. - Đ4 §2.1: Tiêu chí C1 (không rỗng). fn_description_birth_guard đọc
description_policy. - Đ43 §9.1: Định nghĩa H11.
- File 15: Description Policy Option 1 Execution Pack —
collection_registry.description_policy.