KB-1664 rev 11

Handoff S178 Fix 28 → Fix 29

7 min read Revision 11
handofffix28s178description-governance

Handoff S178 Fix 28 → Fix 29

Phiên: S178 Fix 28 | Ngày: 2026-04-22 HP: v4.6.3 (14 NT) | Đ43: v1.2 FINAL rev 6


§0. TÓM TẮT 1 CÂU

4 luật amend + 1 phụ lục KB + §VIII bước 1-9 deploy + nâng cấp cửa khai sinh (serve UPDATE + smart template PG introspection). H11a=0, H11b=1238. A11 chờ 48h gate. Còn: auto-heal DOT (NT12), B2-B4, Đ43 Phase 4a.


§1. ĐÃ LÀM

# Việc Status
Task 1 Rà viện dẫn liên luật 2 mức — 3 bổ sung
Task 2 Update 4 luật KB + tạo phụ lục Đ3
Đ3 +§2.5 +§2.6 sửa §2.2 ✅ rev 5
Đ4 +§2.1.1 auto-gen + companion trigger ✅ rev 5
Đ35 §4.1.1 +mapping cột PG + template ✅ rev 13
Đ43 §9.1 tách H11→H11a/H11b + §9.2.1 routing ✅ rev 51
Phụ lục Đ3 description templates ✅ rev 1
§VIII 1-6 Seed 10 template + 3 function + ALTER birth guard + 42 trigger ✅ commit 5c50a93
§VIII 7-9 Provenance legacy + H11a/H11b + backfill 1459 entity ✅ commit fbfb522
admin_fallback_log id=22 + backup table _desc_backup_fix28
H11a=0, H11b=1238, trigger ordering 21/21 PASS
GAP 1 Nâng cấp cửa: auto-gen serve UPDATE SET = '' ✅ commit 8d11e88
GAP 3 Template thông minh PG introspection ({_identifier} + {_table_display_name}) ✅ commit 8d11e88
GAP 3b 67 dot_domain_rules re-gen ✅ commit 8d11e88
A11 DROP context_pack_health_checks ⏳ 48h gate chưa qua, deadline 2026-04-23T08:17 UTC

§2. CHƯA LÀM

# Việc Trạng thái
GAP 1 Cửa serve UPDATE SET = '' ALTER fn_description_birth_guard bỏ IF TG_OP='INSERT'
GAP 3 Template thông minh PG introspection ALTER fn_description_context + UPDATE template default
GAP 3b 67 dot_domain_rules re-gen UPDATE + trigger
A11 DROP DROP context_pack_health_checks 48h gate chưa qua (~24h nữa, deadline 2026-04-23T08:17 UTC)
Auto-heal DOT Y tá trực: DOT cron đọc H11a findings → UPDATE desc = '' → trigger gen Prompt riêng chưa soạn
NT12 hoàn chỉnh Paired DOT cho H11a/H11b (detect + xử lý + báo cáo) Sau auto-heal DOT
B2 Backfill description chi tiết bởi AI Sau NT12 hoàn chỉnh
B3 Project Identity trang bìa Sau B2
B4 Architecture Annotation 4 lớp Sau B2
A11 DROP Deadline 2026-04-23T08:17:39Z — prompt từ Fix 26 Cần chạy sớm
Retroactive APR admin_fallback_log id=22 — deadline 48h (2026-04-24) TODO
TD-S178-31 Amend Đ35 bổ sung fn_log_issue spec Backlog
TD-S178-32 dot-hc-executor delegation map → dot_config Backlog

§3. QUYẾT ĐỊNH KỸ THUẬT

# Quyết định Lý do
1 Đảo thứ tự: bước 9 TRƯỚC bước 7 Tránh sai provenance (PROV-HUMAN cho entity auto-gen)
2 {code} trong template default = hardcode = vi phạm HP PG introspection thay thế
3 Trigger serve UPDATE + INSERT Y tá trực tương lai dùng UPDATE
4 Companion trigger mở rộng AFTER INSERT OR UPDATE PROV-DOT tự gán cho cả backfill
5 Giữ companion trigger AFTER INSERT (R2 P9) Luật đúng: trigger không biết ai gây UPDATE → caller gán PROV-DOT
6 PG introspection thay {code} hardcode pg_constraint + pg_attribute → {_identifier} runtime. Không bao giờ "hết giấy"

§4. SAI LẦM + BÀI HỌC

# Sai lầm Bài học
1 Prompt bước 1-6 viết step-by-step thay vì mục tiêu mở Prompt = mục tiêu + tiêu chí + ràng buộc. Agent tự quyết cách làm.
2 Prompt bước 7-9 thiếu "ngắn + gaming" scope (R1 P8) Đối chiếu dự thảo từng bước trước khi soạn prompt
3 Prompt bước 7-9 thiếu admin_fallback_log (Đ3 §2.4) Rà luật TRƯỚC khi cho chạy, không phải sau
4 Thứ tự bước 7→9 gây sai provenance Companion trigger AFTER INSERT chỉ fire INSERT, phải tính trường hợp UPDATE
5 {code} hardcode trong template default Hardcode xuất hiện ở mọi tầng — kể cả template data. Rà NT phải soi cả template content.
6 Ban đầu đề xuất đảo backfill trước H11a (sai bản chất) Hiểu đúng vai trò: H11a = chuông, backfill = dọn. Chuông phải sống để phát hiện, không phải tắt chuông rồi dọn.
7 Prompt nâng cấp cửa đổi companion trigger AFTER INSERT → AFTER INSERT OR UPDATE Vi phạm R2 P9 CHỐT DỨT KHOÁT. Luật đúng (trigger không biết ai gây UPDATE). Sửa prompt, không sửa luật.
9 §VIII bước 8: upload KB docs nhưng KHÔNG INSERT rows H11a/H11b vào PG Assembly First = PG trước. Review agent phải verify PG rows, không chỉ KB "200 OK". Xem fix28-h11-split-deployment-gap.md.
8 {code} trong template default = hardcode không ai nhận ra Hardcode không chỉ ở code — template data cũng chứa hardcode. Rà NT phải soi mọi tầng kể cả config values.

§5. DỮ LIỆU CÓ SỐ

  • 4 luật amend: Đ3 rev 5, Đ4 rev 5, Đ35 rev 13, Đ43 rev 51
  • 1 phụ lục mới: dieu3-phu-luc-description-templates.md
  • §VIII 1-6: 342 dòng SQL, 10 template, 3+1 function, 42 trigger, 21 bảng governed
  • §VIII 7-9: 1713 PROV-HUMAN, 1223 PROV-DOT, 1459 backfill (1223 NULL + 236 ngắn + 0 gaming), H11a=0, H11b=1238
  • Git: 5c50a93 (bước 1-6) + fbfb522 (bước 7-9) + 8d11e88 (nâng cấp cửa + smart template)
  • admin_fallback_log id=22 → status retroactive_documented
  • A11 DROP: 48h gate chưa qua, deadline 2026-04-23T08:17 UTC, prompt sẵn sàng

§6. TÀI LIỆU

Tài liệu Path Rev
Dự thảo BAN HÀNH knowledge/current-state/reports/du-thao-description-governance-package-fix27.md rev 3
Đ3 knowledge/dev/laws/law-03-metadata.md rev 5
Đ4 knowledge/dev/laws/law-04-birth-process.md rev 5
Đ35 knowledge/dev/laws/dieu35-dot-governance-law.md rev 13
Đ43 knowledge/dev/laws/dieu43-system-context-law.md rev 51
Phụ lục Đ3 knowledge/dev/laws/dieu3-phu-luc-description-templates.md rev 1
Migration SQL bước 1-6 /opt/incomex/migrations/desc-autogen-engine.sql commit 5c50a93
Migration SQL bước 7-9 /opt/incomex/migrations/ commit fbfb522
Upgrade birth gate /opt/incomex/migrations/ commit 8d11e88

Handoff Fix 28 → Fix 29 | 2026-04-22