diff --git a/.claude/WAL.md b/.claude/WAL.md index 50d24cf..b08463f 100644 --- a/.claude/WAL.md +++ b/.claude/WAL.md @@ -36,7 +36,9 @@ chain: [!] wf: A-S4-đợt1 wave-2 hmw — run-id engine `wf_a5ee3ecb-a19` · 2 task: test-specialist (F-1b + F-12..F-16, F-15 CHỈ nửa-trước vì nút xóa thuộc đợt 2) · reviewer (soi diff TRƯỚC deploy, ưu tiên 2 mục LEAD tự viết chưa ai soi: endpoint PUT + F-6 userManager) [!] 🔴 A-DEPLOY **HOÃN — GATE ĐÓNG**. Anh lệnh deploy, em KHÔNG đẩy vì test ĐỎ. Đo thật: `dotnet test` = **6 FAIL / 505** (Domain 45 PASS · Infra 499P/6F; baseline cũ 532 ⇒ +18 test mới, 6 đỏ). Fail: **F12** (bài kiểm chứng TRUNG TÂM §F.0!) · F14 · F14_F5a · F1c · F16 · ZZ_DIAG_AddLevel (scaffold chẩn-đoán sub bỏ quên, KHÔNG phải test thật — phải gỡ) [!] 🔴 A-wave2 reviewer **KHÔNG SINH GÌ** — `reviewer-diff-dot1.md` không tồn tại, return rỗng ⇒ **diff đợt 1 CHƯA HỀ ĐƯỢC SOI**, kể cả 2 mục lead tự viết. Phải chạy lại -[ ] A-vá-lỗi wave-3: F14 lộ bug THẬT — guard F-5 không chặn trước `db.ApprovalWorkflowLevels.Remove(gone)` ⇒ EF ném "association ... severed" thay vì ConflictException lịch sự. Tức đúng cái F-14 sinh ra để bắt +[!] wf: A-wave3 hmw VÁ 6 ĐỎ — run-id engine `wf_4ea6451f-648` · 1 task implementer-backend. 2 LỚP lỗi lead đã phân loại: **A** `association severed` (F14, F14_F5a) — `ExecuteDelete` xoá DB nhưng KHÔNG đụng change-tracker ⇒ opinion còn trong RAM ⇒ `Remove(level)` ném · **B** `affected 0 rows` (F12, F1c, F16) — nghi `AsNoTracking` + entity MỚI bị đánh dấu `Modified` thay `Added` (chứng: ZZ_DIAG in `ApprovalWorkflowLevel/Modified`). +gỡ ZZ_DIAG scaffold +[ ] A-wave4: chạy LẠI reviewer (wave-2 sinh 0 file) — BẮT BUỘC trước deploy +[~] A-vá-lỗi wave-3 gốc: F14 lộ bug THẬT — guard F-5 không chặn trước `db.ApprovalWorkflowLevels.Remove(gone)` ⇒ EF ném "association ... severed" thay vì ConflictException lịch sự. Tức đúng cái F-14 sinh ra để bắt [ ] A-DEPLOY (sau khi wave-3 xanh + reviewer PASS) [ ] ⚠️ Deploy này mang **migration mới** `20260727033522_AddPeAllowApproverDelete` lên PROD — AddColumn bit default false, additive an-toàn, nhưng LÀ đổi schema prod thật [~] wf: A-S4-đợt1 hmw — run-id engine `wf_f1bfea65-ed9` · run-folder `.claude/workflows/runs/2026-07-27-S155-pe-delete-approver/` · 2 task: implementer-backend (F6 schema+mig+UpdateCommand+validator T1/T2+authz+F-5a+F-6+F-10) · implementer-frontend (F-11 5 dây, bẫy :605). Chết giữa chừng ⇒ /tiep §4 relaunch ĐÃ-CẮT-GỌT, đọc sub-*.md trên đĩa trước