diff --git a/.claude/WAL.md b/.claude/WAL.md index ba70752..0afac3b 100644 --- a/.claude/WAL.md +++ b/.claude/WAL.md @@ -20,8 +20,9 @@ chain: [ ] B3 /fable-real review chốt · B4 fan-out Opus MAX · B5 dry-run E2E [ ] closeout: seed diary vai (C2 A∖B=∅) · tally garble (+ngược-#53 ev#4) · nhãn D · K3-STATUS-row -next: đợi anh liếc 6 OG (OG-1 gộp · OG-2 roster-LIVE · OG-3 NĐUQ-tham-khảo · OG-6 SOÁT TRANSCRIBE · - OG-7 đổi-rào-1-PE-N-phiếu · OG-5 extract-mơ-hồ) — HOẶC anh im thì B2-cụm-1 chạy default spec v2. +next: OG-1 ✅ (schema-GỘP + UI-1-1, verbatim "thiết kế gộp nhưng giao diện thì cho 1-1") · OG-2 ✅ ("Đúng + đội hình cũ") · OG-7 ✅ ("PE cho nhiều… rào hiển thị 1-1 — User cần thì bung") — NGUYÊN TẮC OWNER MỚI: + "máy rộng, UI hẹp". OG-3/OG-6/OG-8(authz-per-nhóm) đã GIẢI THÍCH, chờ anh gật/soát → rồi B2-cụm-1. Files: runs/2026-07-31-S164-4gd-khkk-fanout/{draft,spec-v2,b1b-synthesis,transcribe,sub×4} verify: diff --git a/.claude/workflows/runs/2026-07-31-S164-4gd-khkk-fanout/spec-4gd-khkk-tong-quat-31-07-2026.md b/.claude/workflows/runs/2026-07-31-S164-4gd-khkk-fanout/spec-4gd-khkk-tong-quat-31-07-2026.md index 9e0ce84..e57c794 100644 --- a/.claude/workflows/runs/2026-07-31-S164-4gd-khkk-fanout/spec-4gd-khkk-tong-quat-31-07-2026.md +++ b/.claude/workflows/runs/2026-07-31-S164-4gd-khkk-fanout/spec-4gd-khkk-tong-quat-31-07-2026.md @@ -37,13 +37,14 @@ Chuỗi 4 GĐ per-gói-thầu theo SOL-CCM-SP-002: GĐ1 Duyệt NCC (PE = CHA, ## ④ [OWNER-GATE] — 4 cũ + 2 mới (nối vào PRE từng wave ở trên) -| OG | Câu hỏi | Default nếu anh không đổi | Chặn wave | +| OG | Câu hỏi | Trạng thái | Chặn wave | |---|---|---|---| -| OG-1 | Gộp HĐ: N hạng-mục-đã-duyệt cùng (NCC × dòng-danh-mục) → 1 HĐ? | GỘP | K2, K7 | -| OG-2 | Roster 8 workflow: map vai → đội hình LIVE `QT-DN-V2-001`? | Đội hình live (verify LIVE trước seed) | K3 | -| OG-3 | NĐUQ đợt này chỉ THAM KHẢO (text), máy chưa enforce? | Tham khảo | — | -| OG-6 | Bảng danh mục transcribe từ 7 ảnh — anh soát trước seed (hay gửi file 15-trang)? | Transcribe + anh soát | K1 | -| OG-7 | 1 PE được N phiếu KHKK (mỗi nhóm 1 phiếu) — đổi rào 1-PE-1-phiếu? | Đổi rào theo (PE, nhóm) | K2 | -| OG-5 | Extract mơ hồ (B2 trùng số "7", "TPB/TBP") → hỏi khi gặp | — | K1 | +| OG-1 | Gộp HĐ | ✅ **CHỐT @S164** (verbatim: *"thiết kế gộp nhưng giao diện thì cho 1-1 (Khi user đổi ý thì mình làm luôn)"*) ⇒ **schema GỘP-capable (N line chung ContractId) + UI default 1-1** (bridge = 1 hàm nhận list-line, UI truyền 1 line; bung gộp = FE sau, 0 đổi máy) | K2, K7 | +| OG-2 | Roster 8 workflow | ✅ **CHỐT @S164** (*"Đúng đội hình cũ"*) — map đội hình `QT-DN-V2-001`, **verify bản LIVE (không archived) trước seed** | K3 | +| OG-7 | 1 PE → N phiếu | ✅ **CHỐT @S164** (*"PE cho nhiều, nhưng… rào hiển thị 1-1 lại — User cần thì bung ra"*) ⇒ **BE mở N-phiếu/PE (đổi rào 2 site :342/:1201 → (PeId, ApprovalGroup)) + UI default hướng-1**: PE có phiếu rồi → hiện phiếu + nút phụ "Tạo thêm cho nhóm khác" (thay 409 chặn hẳn) | K2 | +| OG-3 | NĐUQ tham khảo (máy chưa enforce — ảnh 0 số ngưỡng; enforce = wave sau khi anh cho bảng số) | ⏳ đã giải thích, chờ anh gật | — | +| OG-6 | Soát bảng transcribe 86 dòng (gõ tay từ ảnh; 4 ô ⚠️ cuối file) HOẶC anh gửi file 15-trang | ⏳ đã giải thích, chờ anh soát | K1 (seed) | +| OG-8 | Authz per-nhóm: đợt này XEM/TẠO chung 1 bộ khóa module (duyệt vẫn đúng người theo luồng); khóa-xem-theo-nhóm = wave riêng | ⏳ đã giải thích, chờ anh | — | +| OG-5 | Extract mơ hồ → hỏi khi gặp | mở | K1 | END spec v2 — 8 wave · 8 quyết định · 6 OG · 14 vá B1b áp đủ.