[CLAUDE] Docs: S162 closeout - cay 4-folder GD ship prod + bookend-close 5 vong/10 vai
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m54s

- Cay 4-folder giai doan duoi tung goi thau (bfc7b79, cicd PASS 5/5 Run #432)
- Bookend-close: H1 PASS_WITH_FLAGS · H2 GATE-FAIL 4 · H24 20 FLAG · trio MIXED
  · ring1 26D/2T · ring2 19D/1T · harness-audit 43D/4T · ctx-audit TRUOT 7 FLAG
- Lead va trong phien: F-01/F-02/F-04 + A1 archive + A2 distill + skill KHKK
  + comment mirror self-ref (SHA-pair 6/6 giu, build x2 EXIT 0)
- MIND-5 = refresh @closeout dau tien (nhip thu 5, theo de ctx-audit)
- STATUS 3 row canonical + dong CURRENT · HANDOFF 6 slot danh so (54)-(59)
- gotcha #85 · error-ledger E-015/E-016 + AS-19/AS-20 · Phase 12 roadmap
- 4 errata khai thang: tally view-stale-count thoi 1 · enum thieu 1 class
  · tong L1 lech 54 B · A2 tren trigger duong-gia (R10)

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-30 15:13:18 +07:00
parent bfc7b79f72
commit e5123ff5e1
52 changed files with 2221 additions and 157 deletions

View File

@ -795,6 +795,22 @@ Cron task `solution-erp-skill-audit-monthly` fire 9:00 AM ngày 1 mỗi tháng.
6. **Permission leaf 50 NEW** — admin Designer phải seed cẩn thận tránh broken inheritance tree (gotcha #35)
7. **FullCalendar lib new dep** cho G-O2 + G-O5 + G-P1 — skill `dependency-audit-erp` chạy trước commit
## 🎯 Phase 12 — Dry-run TOÀN TRÌNH đến Hợp đồng cứng (S160-S162) — 6/8 wave DONE
> Pipeline owner giao @S160: *"dry-run luôn cho đến hợp đồng cứng"* → plan-cha + 7 spec-wave (`runs/2026-07-29-S160-khkk-dryrun-plan/`) qua 2 vòng review (`/fable-clone` 6 lane → `/fable-real` chốt cuối GO-WITH-FIXES). **GATE 5-ANCHOR bắt buộc trước mỗi wave** (≥1 anchor trượt ⇒ chấm lại toàn bộ anchor của wave).
- [x] **W1 — Schema + Designer** `a8027c0` · Mig **69** `AddContractSigningPlans` (7 bảng, SQL tables 89→96) · cicd PASS 6/6 · suite 566
- [x] **W2 — CRUD + nhập** `6cbc6ad` · 15 action policy + Dossier + picker PE THẬT (`PE/2026/A/045`) · cicd PASS 6/6 · suite 574
- [x] **W3 — Duyệt V2 3 trạm** `df52fa0` · test-before RED→GREEN 6 PIN · GĐ2 trọn vòng đời prod · cicd PASS 5/5 · suite 580
- [x] **W6 — Đường ống HĐ V2** `761d818` · `isV2Approver` 3-site + guard-trình null-trap · cicd PASS · suite 587
- [x] **W7 — Bản cứng (GĐ4 1-MỐC)** `3119cb9` · `?type` + badge `hasSealedCopy` + trang ×2 SHA-pair + 3 PIN · cicd PASS 3/3 · suite **590/0**
- [x] **Cây 4-folder GĐ (ngoài plan — lệnh owner @S162)** `bfc7b79` · 3 file MỚI + 3 trang ×2 app SHA-pair 6/6 · cicd PASS 5/5 Run #432 · FE-only 0-mig
- [ ] 🔴 **BLOCKER — chốt NGƯỜI DUYỆT 3 trạm PRO/CCM/CEO** (18 user prod; quyền owner, HANDOFF slot **(54)**) ⇒ dựng 2 workflow type-3 + type-10 qua **Designer UI** (KHÔNG SQL tay — gotcha #84) → verify GET matrix
- [ ] **W5 — Cầu KHKK→HĐ** (spec `spec-wave-w5-cau-khkk-hd-29-07-2026.md`; §③-C **CẤM** tạo HĐ `HopDongMuaBan`) — chặn bởi BLOCKER trên. Vá luôn **F-2**: phiếu liên-danh N-HĐ hiện chỉ nối HĐ[0] (`CreateContractFromEvaluationFeatures.cs:145`)
- [ ] **E2E toàn trình** PE `PE/2026/A/045` → KHKK → HĐ → bản cứng; re-curl `hasSealedCopy` đóng treo cicd N=0 (Contracts prod hiện **0**)
- [ ] **Trang GĐ3 của cây 4-folder** (owner nói *"áp CẢ các trang GĐ khác"*, lead giao 3/4 — HANDOFF slot **(55)**)
- ⏸️ **W8 — Siết authz HĐ**: owner chốt **O-A "để mở, không siết"** @S160 (đúng ❹ *"đang phát triển → cho hiển thị hết để mọi người góp ý"*) ⇒ **gỡ khỏi dry-run**, rủi ro disclose có ý thức. Gồm cả lỗ hổng S156 (`ContractWorkflowService.cs:49-66` Reject-trước-guard + controller `[Authorize]` trần) + F-10 attachment owner-check.
## 📦 Post-launch (Phase 11+ — future, defer Phase 10 done)
- [ ] **Email outbox** (MailKit + SMTP) — blocked chờ SMTP config (Phase 9 hard blocker)