Handoff S153b → S151: Skill v7 DONE, Approval Design CHỐT, Nuxt Input vấn đề mở
Handoff S153b → S151
2026-03-31 | OR v7.19 | Hiến pháp v4.0.2 | Skill v7 FINAL Paste TOÀN BỘ cho Claude phiên mới. Claude đọc → tự làm → không hỏi lại.
BỐI CẢNH 1 CÂU
S153b DONE (Skill v7 FINAL 36 mục 8 bước, PR#654). Hiến pháp v4.0.2 (+Data Thông Minh 5 cấp, +Phê duyệt THÊM/XOÁ, +Giải thích Từ ngữ, +Điều 34 WF ghi chú). S151 thiết kế XONG, chốt 9 quyết định, SẴN SÀNG soạn prompt cho CLI agent. CÓ 1 vấn đề thiết kế mở cần bàn TRƯỚC khi soạn prompt.
18 QUYẾT ĐỊNH ĐÃ CHỐT
| # | Quyết định | Phiên |
|---|---|---|
| 1 | Hiến pháp v4.0 BAN HÀNH. 20 files laws/ (incl. terminology-glossary). | S148 |
| 2 | 9 Nguyên tắc (5 cũ + 4 mới). | S148 |
| 3 | 7 Lớp (gồm hạ nguyên tử). 33 species. Species = meta-layer NGOÀI 6 lớp. | S148 |
| 4 | 23 prefix (14 active, 2 pending, 7 planned). | S148 |
| 5 | PG 16 DUY NHẤT. Chatwoot + Lark CHỐT. i18n vi/ja/en. Multi-domain. | S148 |
| 6 | Pivot = trang chính. Registries cũ BỎ. | S149 |
| 7 | S149 DONE: 9/9 L1, L2 PIV-201→206, VIEW_MAP removed, 5 tầng PASS. | S149 |
| 8 | GỘP NHIỀU BƯỚC 1 PR. DOT THEO CẶP. | S149 |
| 9 | Skill v7 FINAL: 36 mục, 8 bước (0→7), 3 câu tuyên ngôn, Desktop checkpoint trong prompt, mẫu báo cáo gạch từng bước + evidence. PR#654 VPS verified. | S153b |
| 10 | CHIẾN LƯỢC DATA THÔNG MINH 5 cấp: Đúng → Đủ → Sạch → Sống → Thông minh. Đã ghi vào Hiến pháp v4.0.2. | S153b |
| 11 | SCR GỘP vào approval_requests (request_type='schema_*'). KHÔNG tạo collection riêng. 1 table, phân sau khi data lớn. | S151-prep |
| 12 | THÊM → auto-approve → DOT Cấp B chạy ngay. XOÁ → pending → Desktop duyệt → DOT đao phủ thi hành. Nguyên tắc xuyên suốt cho MỌI thay đổi hệ thống. | S151-prep |
| 13 | Secret dùng chung SYNC_SECRET (GSM → env var VPS). Quy mô nhỏ, chặn nhầm là đủ. Không khắt khe quá. | S151-prep |
| 14 | DOT đao phủ: backup trước xoá. Không quyết định, chỉ thi hành lệnh đã duyệt. | S151-prep |
| 15 | Pivot dòng phê duyệt — pending count hiện trên Tab Pivot. | S151-prep |
| 16 | Tương lai: multi-AI review (2-3 ông cùng duyệt). Webhook → Chatwoot/Lark. | S151-prep |
| 17 | Workflow: DOT trọn vẹn từng cái trước. Lắp ráp WF phức tạp → bàn sau. Tránh phức tạp hoá. | S151-prep |
| 18 | Lớp 3 (DB sống) = thiết kế cốt lõi. Không có Lớp 3 → không lắp ráp → chuỗi Assembly sụp → Tầng 4 không thể xây. | S153b |
VẤN ĐỀ MỞ — BÀN TRƯỚC KHI SOẠN PROMPT S151
Bài toán: User thêm data TỪ Nuxt mà KHÔNG code Nuxt
Tình huống: User nhìn quy trình trên Nuxt → muốn thêm 1 bước, thêm 1 dòng, thêm 1 cột. Trước đây agent code từ Nuxt (form, handler, API call) = SAI LẦM kỹ thuật (AP-11, §0-BA). KHÔNG được lặp lại.
Câu hỏi cần trả lời:
- Cấu trúc mới giải quyết bài toán này THẾ NÀO?
- User click "Thêm" trên Nuxt → data vào PG bằng cách nào mà KHÔNG code Nuxt?
- DOT auto xử lý ra sao? Đồng bộ 5 tầng thế nào?
Gợi ý hướng đi (chưa chốt):
- Nuxt chỉ render form từ Directus (Directus đã có form/interface built-in)
- User submit → Directus API trực tiếp (Nuxt chỉ proxy, không xử lý)
- Directus webhook → trigger đồng bộ
- HOẶC: User tạo request (approval_requests) → DOT xử lý
- Cần bàn kỹ: Assembly First → PG/Directus đã giải quyết chưa?
Huyên nhấn mạnh: "Tuyệt đối không code Nuxt. Nhưng vấn đề là cấu trúc mới sẽ giải quyết thế nào để đồng bộ? DOT auto, và không code từ Nuxt?"
THIẾT KẾ S151 ĐÃ CHỐT — TÓM TẮT
Mô hình
Agent muốn thay đổi → INSERT approval_requests (form) →
THÊM: auto-approve → DOT Cấp B → Directus API → 5 tầng
XOÁ: pending → Desktop duyệt → DOT đao phủ → backup + xoá → 5 tầng
Collections
approval_requests(prefix APR) — trung tâm phê duyệt MỌI THỨ (Điều 32)- SCR gộp vào APR (request_type='schema_add', 'schema_delete', 'birth_orphan', 'reclassify'...)
DOT Tools (Phase 1: 2 cái, Phase 2: +2 cái)
- Phase 1:
dot-scr-propose(Cấp A) +dot-approval-execute(Cấp B + secret) - Phase 2:
dot-scr-scan(Cấp A, cron) +dot-executioner(Cấp B, đao phủ xoá)
3 câu tuyên ngôn ĐÃ TRẢ LỜI
- Vĩnh viễn: Agent chỉ INSERT form, KHÔNG CÓ quyền ALTER TABLE. DOT = cổng duy nhất.
- Nhầm: THÊM auto (rủi ro thấp). XOÁ bắt buộc duyệt + backup. Nhầm duyệt = vẫn có backup.
- Tự động: THÊM hoàn toàn tự động. XOÁ tự động trừ bước duyệt.
5 câu thiết kế ĐÃ TRẢ LỜI
- Tổng thể: Agent → form (APR) → auto/manual approve → DOT execute → 5 tầng
- Khép kín: INSERT APR → PG trigger phân loại → approve → execute → verify. Cron scan drift.
- Tool: 4 DOT (propose, execute, scan, executioner). PG triggers. Directus API. Cron.
- Môi trường: approval_requests, meta_catalog, pivot_definitions, birth_registry
- Metadata > code: Thêm loại phê duyệt = INSERT request_type mới. KHÔNG sửa code.
SAI LẦM + BÀI HỌC PHIÊN NÀY
| # | Sai | Bài học |
|---|---|---|
| 1 | Prompt S153 thiếu quy trình 2 mũ → agent dừng giữa chừng | Skill PHẢI có quy trình 2 mũ đầy đủ 8 bước |
| 2 | Skill 18 CP cũ thiếu thiết kế sản phẩm → agent nhảy vào code | Skill v7: 5 câu thiết kế + 3 câu tuyên ngôn BẮT BUỘC trước code |
| 3 | Báo cáo chỉ ghi "PASS" → báo cáo ảo (AP-02) | Skill v7: mẫu báo cáo gạch từng bước + evidence. Thiếu = FAIL. |
| 4 | Hiến pháp thiếu giải thích từ ngữ → agent lẫn Lớp/Tầng/Layer | terminology-glossary.md file riêng + HP dẫn chiếu |
| 5 | Thiếu Data Thông Minh trong HP → agent không biết chiến lược | 5 cấp (Đúng→Đủ→Sạch→Sống→Thông minh) ghi ĐẦU HP |
VIỆC CẦN LÀM PHIÊN MỚI
TRƯỚC KHI SOẠN PROMPT
- Đọc handoff này + OR v7.19 + HP v4.0.2:
search_knowledge("operating rules SSOT v7.19")
search_knowledge("hiến pháp v4.0.2 constitution data thông minh")
search_knowledge("terminology glossary lớp tầng layer")
search_knowledge("dieu32 approval law draft")
search_knowledge("handoff S153b S151 approval phê duyệt")
- BÀN VỚI USER vấn đề mở: User thêm data từ Nuxt mà KHÔNG code Nuxt → giải pháp kỹ thuật? Trình bày phương án → user chốt → rồi mới soạn prompt.
SAU KHI BÀN XONG
-
Soạn prompt S151 Phase 1: collection approval_requests + dot-scr-propose + dot-approval-execute + PG triggers + Pivot dòng phê duyệt. Theo đúng Skill v7 format (Desktop Checkpoint → MỤC TIÊU → BƯỚC → VERIFY → SAU DONE).
-
Giao CLI agent. 1 prompt = 1 việc. Quy trình 2 mũ.
ROADMAP SAU S151
- S151 Phase 2: dot-scr-scan + dot-executioner
- S150: Pivot Ma trận L5
- S152: Duplicate Engine (Điều 14)
TÀI LIỆU QUAN TRỌNG
| Tài liệu | Path | Rev |
|---|---|---|
| Hiến pháp v4.0.2 | knowledge/dev/laws/constitution.md |
rev 3 |
| OR v7.19 | knowledge/dev/ssot/operating-rules.md |
rev 4 |
| Skill v7 FINAL | .claude/skills/incomex-rules.md (VPS) |
PR#654 |
| Giải thích Từ ngữ | knowledge/dev/laws/terminology-glossary.md |
rev 1 |
| Điều 32 draft | knowledge/dev/architecture/dieu32-approval-law-draft.md |
rev 1 |
| Điều 34 WF draft | knowledge/dev/architecture/dieu34-workflow-law-draft.md |
rev 1 |
| Điều 9 SCR | knowledge/dev/laws/law-09-schema-governance.md |
rev 1 |
| S151 Design | Artifact trong phiên này (copy bên dưới) | Final |
| Anti-patterns | knowledge/dev/ssot/anti-patterns.md |
15 patterns |
| S153b Report | knowledge/current-state/reports/s153b-skill-v7-report |
rev 1 |
NGUYÊN TẮC ĐIỀU HÀNH
- Skill 36 mục, 8 bước. Desktop Checkpoint trong prompt. CLI xác nhận/phản biện.
- 1 prompt = 1 việc. GỘP 1 PR. MERGE ≠ DONE. Verify production.
- 3 câu tuyên ngôn TRƯỚC MỌI thiết kế: Vĩnh viễn? Nhầm được không? 100% tự động?
- 5 câu thiết kế TRƯỚC MỌI code: Tổng thể? Khép kín? Tool? Môi trường? Metadata > code?
- THÊM → chạy ngay. XOÁ → phê duyệt → DOT đao phủ.
- DOT trọn vẹn từng cái. WF lắp ráp → sau.
- Nuxt = màn hình. CẤM code Nuxt. KHÔNG LẶP LẠI sai lầm cũ.
- search_knowledge TRỰC TIẾP. CẤM background agent.
- Update OR + TD + handoff SAU MỖI prompt.
- Data Thông Minh 5 cấp: Đúng → Đủ → Sạch → Sống → Thông minh.
S151 DESIGN (CHỐT) — TÓM TẮT
approval_requests schema (từ Điều 32 draft, bổ sung)
| Field | Kiểu | Ý nghĩa |
|---|---|---|
| id | serial PK | Auto |
| code | text UNIQUE | APR-NNN |
| request_type | text | schema_add / schema_delete / birth_orphan / reclassify / retire / new_dot / rule_change / ... |
| entity_type | text | Collection liên quan |
| entity_code | text | Entity cụ thể (nullable) |
| title | text | Mô tả ngắn |
| current_state | jsonb | Trạng thái hiện tại |
| proposed_action | jsonb | Phương án đề xuất |
| evidence | text | Lý do, DOT nào phát hiện |
| source | text | DOT/AI nào đề xuất |
| priority | text | critical / high / normal / low |
| status | text | pending → approved → applied / rejected / expired |
| reviewed_by | text | User/AI nào duyệt |
| reviewed_at | timestamp | Khi nào duyệt |
| review_note | text | Ghi chú |
| applied_at | timestamp | Khi nào thực thi |
| date_created | timestamp | Auto |
Lifecycle
- pending → approved → applied (THÊM: auto-approve)
- pending → approved → applied (XOÁ: manual approve + DOT đao phủ + backup)
- pending → rejected (ghi lý do)
- pending → expired (30 ngày không xử lý)
PG Triggers
- AFTER INSERT: log + auto-approve nếu request_type='schema_add'
- AFTER UPDATE status='approved': trigger DOT execute (THÊM) hoặc queue cho đao phủ (XOÁ)
- CONSTRAINT: status chỉ chuyển đúng chiều
DOT Phase 1
- dot-scr-propose (Cấp A): INSERT approval_requests
- dot-approval-execute (Cấp B + SYNC_SECRET): thực thi THÊM đã approved qua Directus API
DOT Phase 2
- dot-scr-scan (Cấp A, cron): scan schema drift → tạo APR tự động
- dot-executioner (Cấp B + SYNC_SECRET): đao phủ — backup + xoá đã approved