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.md File: 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:

  1. Đọc file gốc
  2. Tìm anchor text "SECURITY DEFINER an toàn"
  3. Insert §4.1.1 sau đó, trước §4.2
  4. Thêm CHANGELOG entry cuối bảng
  5. Upload lại KB

Hoặc Desktop update_document với full content khi context cho phép.