KB-3F3B rev 2

Handoff S151-Design → S155-DOT (FINAL)

9 min read Revision 2

Handoff S151-Design → S155-DOT

2026-03-31 | OR v7.24 | HP v4.0.3 | Điều 35 v5.0 + Điều 36 v4.0 BAN HÀNH Paste TOÀN BỘ cho phiên mới. Claude đọc → tự làm → giải thích đơn giản cho user.


BỐI CẢNH 1 CÂU

S151 Ph1 (approval_requests migration) DONE — user sẽ paste report. Điều 35 (Quản trị DOT) + Điều 36 (Collection Protocol) BAN HÀNH sau 3 vòng Council (GPT+Gemini). Tiếp theo: review S151 report → nếu PASS → soạn prompt S155-DOT (bootstrap Điều 35+36).


★ VIỆC ĐẦU TIÊN — ĐỌC (theo thứ tự)

search_knowledge("operating rules SSOT v7.24 roadmap S155")
search_knowledge("Điều 35 DOT governance v5.0 FINAL bootstrap migration blocks seed")
search_knowledge("Điều 36 collection protocol v4.0 FINAL bootstrap seed SQL field lifecycle")
search_knowledge("hiến pháp v4.0 constitution tuyên ngôn 9 nguyên tắc")
search_knowledge("anti-patterns registry 16 patterns")
search_knowledge("skill v7 incomex-rules 36 mục 8 bước")

★ VIỆC THỨ HAI — REVIEW S151 REPORT

User sẽ paste report từ CLI agent. Kiểm tra:

# Kiểm tra Tiêu chí PASS
1 5 fields mới đã thêm vào approval_requests? action, target_collection, target_entity_code, source_context, date_updated
2 Data cũ đã migrate? entity_type→target_collection, entity_code→target_entity_code, action gán theo request_type
3 3 PG functions tạo? fn_auto_approve_add, fn_enforce_apr_lifecycle, fn_expire_stale_approvals
4 3 DOT tools tạo? dot-apr-propose (A), dot-apr-execute (B+SECRET), dot-apr-health (A)
5 Lifecycle test? INSERT action='add' → auto-approved? INSERT action='delete' → pending? Lifecycle ngược → EXCEPTION?
6 Pivot dòng phê duyệt? Tab Pivot hiện dòng mới, count đúng
7 5 tầng verify? PG ✓, Directus API ✓, meta_catalog ✓, KB ✓, Nuxt ✓
8 Cron setup? execute 5min, expire 5AM, health 4AM
  • TẤT CẢ PASS → update OR "S151 Ph1 ✅ DONE", chuyển S155-DOT
  • CÓ FAIL → soạn prompt fix cụ thể, giao lại agent

★ VIỆC THỨ BA — SOẠN PROMPT S155-DOT

Giải thích cho user (ĐẦU MỌI PROMPT):

Vấn đề: 154 "nhân viên ảo" (DOT) + 138 "phòng ban" (collections) không có sổ quản lý. Không biết ai làm gì, ai thiếu, phòng nào chưa chuẩn. Cách giải quyết: Tạo 4 sổ quản lý (SSOT tables) + đăng ký tất cả nhân viên + phân phòng ban + lập 6 "trưởng ban kiểm tra" tự giám sát hàng ngày.

Prompt S155-DOT phải tuân thủ:

  • Điều 35 §9.2: 3 migration blocks (Schema → Data → Constraint)
  • Điều 35 §9.4 + Điều 36 §10.4: Maintenance window — tắt cron TRƯỚC, bật SAU verify
  • Điều 36 §5.3: Singleton lock cho field-sync, skip per collection conflict
  • Seed SQL đóng băng: Dùng SQL trong Điều 35 §9.2 Block 2 + Điều 36 §10.2 — COPY-PASTE, không sáng tác

Scope S155-DOT (1 PR, 3 blocks):

BLOCK 1 — SCHEMA:

  1. CREATE TABLE dot_domains (24 records seed)
  2. CREATE TABLE dot_coverage_required
  3. CREATE TABLE collection_groups (9 records seed)
  4. CREATE TABLE collection_field_standards (11 records seed)
  5. ALTER TABLE dot_tools ADD 10 fields nullable
  6. ALTER TABLE collection_registry ADD/UPDATE group field

BLOCK 2 — DATA: 7. Seed dot_domains (SQL đóng băng trong Điều 35 §9.2) 8. Seed collection_groups (SQL đóng băng trong Điều 36 §10.2) 9. Seed collection_field_standards (SQL đóng băng trong Điều 36 §10.2) 10. Backfill dot_tools 154 records (tier, domain, file_path, coverage_status='partial') 11. Backfill collection_registry 138 records (group assignment — pre-check + review sample) 12. Đăng ký 6 bootstrap DOT set

BLOCK 3 — CONSTRAINT + ENABLE: 13. Pre-check domain NULL count → attach FK nếu clean 14. Attach CHECK constraints (tier, trigger_type, coverage_status) 15. Attach FK collection_registry.group → collection_groups.code 16. Setup cron (dot-dot-health 3AM, dot-collection-health 4AM, dot-dot-coverage Sunday 2AM) 17. Chạy dot-dot-health manual → 0 critical cho bootstrap set 18. Chạy dot-collection-health baseline → ghi compliance_pct 19. Chạy dot-collection-field-sync dry_run=true → report conflicts 20. Verify 5 tầng

DOT tools cần tạo (6 files):

  1. bin/dot/dot-dot-health.ts — 9 checks, cron 3AM
  2. bin/dot/dot-dot-coverage.ts — metrics, cron weekly
  3. bin/dot/dot-dot-register.ts — auto-classify, on-deploy
  4. bin/dot/dot-collection-create.ts — 14 bước protocol, Cấp B
  5. bin/dot/dot-collection-health.ts — 13 checks, cron 4AM
  6. bin/dot/dot-collection-field-sync.ts — singleton lock, type pre-check, skip per collection

Phase 1 Success Metrics:

  • 100% dot_tools có 10 fields mới
  • 100% domain FK valid
  • 100% collections có group FK valid
  • sync_field_standards=false cho GRP-CMS/LOG/JUNCTION/SYSTEM
  • dot-dot-health + dot-collection-health chạy baseline thành công
  • 0 field_type_conflict trong dry_run

Anti-patterns nhắc agent:

  • AP-09: KHÔNG INSERT SQL trực tiếp — dùng Directus API (ngoại trừ bootstrap Block 2 seed)
  • AP-15: KHÔNG ALTER TABLE thêm column — dùng Directus Fields API (ngoại trừ bootstrap Block 1)
  • Bootstrap = ngoại lệ 1 lần duy nhất, ghi rõ trong Điều 35 §9.2

25 QUYẾT ĐỊNH ĐÃ CHỐT

# Quyết định Phiên
1-18 (Xem handoff S153b) S148-S153b
19 Phương án B: Nuxt→Directus API→APR→PG trigger (user thêm data không code Nuxt) S151
20 Điều 35 v5.0 BAN HÀNH: Quản trị DOT, 6 chiều, 3 DOT tự quản trị, bootstrap 7 bước, 3 migration blocks S151
21 Điều 36 v4.0 BAN HÀNH: Collection Protocol, 14 bước, 3 tầng fields, 3 DOT, singleton lock S151
22 Council 3 vòng fixed: APR dedupe issue_signature, singleton lock sync, skip per collection conflict, maintenance window, seed SQL đóng băng S151
23 DOT A auto-approve, DOT B pending duyệt (Tuyên ngôn ②) S151
24 Naming convention = gợi ý metadata CHỈ, KHÔNG auto-insert dependencies (NT-9) S151
25 Giải thích đơn giản cho user mỗi prompt — vấn đề gì? cách giải quyết? S151

SAI LẦM + BÀI HỌC PHIÊN NÀY

# Sai Bài học
1 Prompt S151 v1 thiếu DOT health (động cơ phụ) Rà soát 9 NT + 12 lưu ý TRƯỚC giao agent. NT-7 dual-trigger dễ quên nhất.
2 Prompt S151 không biết table đã tồn tại Agent khảo sát TRƯỚC code = đúng. Prompt bổ sung migration kịp thời.
3 Thêm field Directus bằng curl tay thay vì DOT DOT 100% = nguyên tắc, nhưng setup 1 lần chấp nhận. Ghi TD-476 cho DOT generic.
4 Điều 35 v1 thiên mục tiêu, thiếu cách làm Luật = quy định để làm. Kiểm tra 4 câu hỏi: mục tiêu? làm sao? tuân thủ? khả thi?
5 Điều 36 thiếu scope field standards Không phải mọi collection giống nhau. GPT phát hiện. Thêm scope + sync_field_standards flag.
6 Auto-approve DOT B nguy hiểm DOT có quyền ghi + SECRET = rủi ro cao → pending duyệt. GPT phát hiện.
7 Bootstrap gà-trứng DOT quản trị DOT nhưng DOT đầu tiên chưa tồn tại → seed tay 1 lần = ngoại lệ lịch sử.
8 Gemini review nông (vòng 1: 0 🔴, "tuân thủ tuyệt đối") GPT review sâu hơn nhiều. Luôn đọc kỹ báo cáo council, không chỉ tin phán quyết.

ROADMAP SAU S151

# Mission Vấn đề (ngôn ngữ đơn giản) Status
1 S151 Ph1 "Hộp thư góp ý" cho mọi thay đổi ✅ DONE (chờ review)
2 S155-DOT "Sổ quản lý nhân viên ảo + phòng ban" 🔴 TIẾP THEO
3 S151 Ph2 "Quy trình sa thải có kiểm soát" (đao phủ XOÁ)
4 S150 "Bảng báo cáo đa chiều" (Pivot L5)
5 S152 "Chống trùng lặp" (Duplicate Engine)

TÀI LIỆU QUAN TRỌNG

Tài liệu Path Rev
OR v7.24 knowledge/dev/ssot/operating-rules.md rev 10
Điều 35 v5.0 FINAL knowledge/dev/architecture/dieu35-dot-governance-law-draft.md rev 7
Điều 36 v4.0 FINAL knowledge/dev/architecture/dieu36-collection-protocol-law-draft.md rev 5
HP v4.0.3 knowledge/dev/laws/constitution.md rev 3
Skill v7 .claude/skills/incomex-rules.md PR#654
Anti-patterns knowledge/dev/ssot/anti-patterns.md 16 patterns
S151 Prompt chính Artifact "S151 Phase 1 — Prompt cho CLI Agent (v2)" phiên này
S151 Prompt bổ sung Artifact "S151 BỔ SUNG — Migration" phiên này
Council R1-R3 reports/council-review--dieu35-36- 6 reports
Handoff S153b knowledge/current-state/handoff-s153b-session.md Ngữ cảnh trước

NGUYÊN TẮC ĐIỀU HÀNH PHIÊN MỚI

  1. Giải thích đơn giản cho user ĐẦU MỌI prompt: vấn đề gì? cách giải quyết thế nào?
  2. Skill v7: 36 mục, 8 bước, Desktop Checkpoint, CLI xác nhận/phản biện
  3. 1 prompt = 1 việc. GỘP 1 PR. MERGE ≠ DONE. Verify production.
  4. DOT THEO CẶP. Reports tại reports/. Update OR + handoff SAU MỖI prompt.
  5. Rà soát 9 NT + 3 Tuyên ngôn TRƯỚC giao prompt cho agent.
  6. Council review cho milestone quan trọng (đã làm 3 vòng cho Điều 35+36).
  7. User = ý tưởng/nguyên tắc/mục tiêu. AI = chi tiết kỹ thuật. KHÔNG hỏi multiple choice.