Handoff S151-Design → S155-DOT (FINAL)
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:
- CREATE TABLE dot_domains (24 records seed)
- CREATE TABLE dot_coverage_required
- CREATE TABLE collection_groups (9 records seed)
- CREATE TABLE collection_field_standards (11 records seed)
- ALTER TABLE dot_tools ADD 10 fields nullable
- 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):
bin/dot/dot-dot-health.ts— 9 checks, cron 3AMbin/dot/dot-dot-coverage.ts— metrics, cron weeklybin/dot/dot-dot-register.ts— auto-classify, on-deploybin/dot/dot-collection-create.ts— 14 bước protocol, Cấp Bbin/dot/dot-collection-health.ts— 13 checks, cron 4AMbin/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
- 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?
- Skill v7: 36 mục, 8 bước, Desktop Checkpoint, CLI xác nhận/phản biện
- 1 prompt = 1 việc. GỘP 1 PR. MERGE ≠ DONE. Verify production.
- DOT THEO CẶP. Reports tại reports/. Update OR + handoff SAU MỖI prompt.
- Rà soát 9 NT + 3 Tuyên ngôn TRƯỚC giao prompt cho agent.
- Council review cho milestone quan trọng (đã làm 3 vòng cho Điều 35+36).
- User = ý tưởng/nguyên tắc/mục tiêu. AI = chi tiết kỹ thuật. KHÔNG hỏi multiple choice.