KB-A563
Patch chỉ dẫn — Sửa chui Đ35 v5.2 (S178 Fix 23)
3 min read Revision 1
patchdieu35description-contracts178-fix23
PATCH CHỈ DẪN — SỬA CHUI Đ35 v5.2 (S178 Fix 23)
Mục tiêu: Thêm §4.1.1 DOT Description Contract + CHANGELOG entry vào
dieu35-dot-governance-law.mdFile:knowledge/dev/laws/dieu35-dot-governance-law.md(rev 6, 34KB) Lý do patch riêng: File 34KB — rewrite toàn bộ rủi ro sửa nhầm nội dung gốc.
PATCH 1: Thêm §4.1.1 sau "SECURITY DEFINER an toàn"
Vị trí chèn: Sau dòng:
**SECURITY DEFINER an toàn:** Mọi function SECDEF v5.1 đặt `SET search_path = public, pg_catalog`. Owner = `workflow_admin`.
Trước dòng:
### 4.2 dot_domains (giữ v5.0)
Nội dung chèn:
### ★ 4.1.1 DOT Description Contract (bổ sung S178 Fix 23, Đ43 Phase C Track A)
DOT description (field `description` trong `dot_tools`) PHẢI tuân quy cách Đ3 §2.1 (machine-checkable) VÀ bổ sung 3 phần nội dung DOT-specific:
**Cấu trúc bắt buộc:**
\```
[MỤC ĐÍCH]: 1 câu — DOT làm gì.
[TRIGGER → OUTPUT]: Kích hoạt bởi gì → tạo ra kết quả gì.
[PAIRED]: Cặp với DOT nào — vai trò chính hay phụ (NT12).
\```
**Machine-checkable DOT bổ sung:**
| Tiêu chí | Kiểm tra |
|----------|---------|
| D1: Đủ dài DOT | `length(btrim(description)) >= 50` (cao hơn baseline Đ3 = 30) |
**Config PG:**
\```sql
INSERT INTO dot_config(key, value, description) VALUES
('dot_tools_description_min_length', '50',
'Đ35 §4.1.1: DOT min length riêng. Function Đ4 đọc key = TG_TABLE_NAME || _description_min_length.');
\```
**Ví dụ tốt:**
> Quét health check H11 — đếm row thiếu description trên tất cả bảng governed. Trigger: cron 30 */3. Output: ghi system_issues nếu missing_count > 0. Paired: DOT-CONTEXT-PACK-BUILD (phụ kiểm).
**Ví dụ xấu (vi phạm):**
> "Script chạy APR" — vi phạm D1 (quá ngắn), thiếu trigger, thiếu paired.
**Liên kết:** Đ3 §2.1 (baseline), Đ3 §2.2 (quy cách per entity type), Đ4 §2.1 (enforcement trigger đọc `dot_tools_description_min_length`).
PATCH 2: Thêm CHANGELOG entry
Vị trí: Cuối bảng CHANGELOG, trước dòng cuối cùng *Điều 35 v5.1 FINAL | ...*
Nội dung chèn:
| S178 Fix 23 | 2026-04-20 | +§4.1.1 DOT Description Contract: DOT description phải ghi mục đích + trigger + paired (NT12). Min length 50 ký tự config-driven. Hội đồng 2 vòng APPROVE FINAL (Gemini 10 + GPT 9.4). Sửa chui — giữ version v5.2. |
CÁCH ÁP DỤNG
Agent CLI trên VPS hoặc Desktop patch trực tiếp file KB:
- Đọc file gốc
- Tìm anchor text "SECURITY DEFINER an toàn"
- Insert §4.1.1 sau đó, trước §4.2
- Thêm CHANGELOG entry cuối bảng
- Upload lại KB
Hoặc Desktop update_document với full content khi context cho phép.