3.0 KiB
W2-SYNTHESIS — Wave W2 KHKK: CRUD phiếu nháp + căn cứ b.8-9 + FE 3 page ×2 app (S161, 2026-07-29) — VERIFIED
Lead-verified synthesis (đóng run). Chi tiết: 4 sub-md + cicd-verify cùng cấp.
KẾT QUẢ: W2 SHIP PROD — cicd VERDICT=PASS 6/6, commit 6cbc6ad (20 file, +5.020/−23)
- BE: mega-file
ContractSigningPlanFeatures.cs(Create 4-rào + auto-Lines snapshot per-winner + MaKeHoach @CREATE + UpdateDraft null-safe + Get/List/inbox-precompute-V2/deleted + Dossier + Attachments + Delete allow-list M6 + picker) + Controller 15 action policy per-action 15/15. 4 quyết D1-D4 lane khai → lead duyệt cả 4. - FE: 3 page + types ×2 app SHA-pair · 6 leaf
Khkk_*hết ComingSoon · WfView 2-app-2-đường (user=matrix?type=10 whitelist+10 · admin=Designer deep-link) · rootKeHoachKyKet→/khkk/list. - Test: 566 → 574/0 (+8: 2 PIN + 6 acceptance — authz reflection ĐỘNG + không-đốt-mã-khi-409 + fixture-có-interceptor).
- Review: PWF 12 finding (3 CRIT · 5 MAJ · 4 MIN) → 11 FIXED cùng lượt + 1 GIỮ (F-10). Prod: picker trả PE thật
PE/2026/A/045— đường ống sống end-to-end.
BÀI ĐẮT NHẤT WAVE — "hợp-đồng 2-lane-song-song vỡ 6 điểm, mọi máy xanh"
2 lane viết FE↔BE song song từ CÙNG spec ⇒ 6 điểm đứt (route picker · peId body · dossier planId · PUT-vs-POST · peTenGoiThau · winnerSupplierNames) mà tsc + build + 574 test đều KHÔNG thấy; F-1/F-6 còn che nhau (mảng rỗng do 404 làm crash chưa lộ). Lập luận D1 của BE ("FE đọc cùng spec sẽ khớp") = lời khai là giả định, không phải phép đo — FE thực tế theo convention repo. ⇒ Luật cho wave sau: spec-là-hợp-đồng chưa đủ — sau khi 2 lane land phải có bước ĐỐI CHIẾU ROUTE+FIELD từng cái trên đĩa (reviewer trục-1 chính là bước đó; cân nhắc đưa thành checklist §③ chuẩn cho W3/W5/W6/W7).
An ninh: F-8/F-9 vá — "list bịt mà detail mở = rào thành UX"
Detail + download/view 0-rào trong khi twin PE có guard + luật nháp-riêng-tư S89 ⇒ EnsureCanViewAsync (owner ∥ Admin ∥ [rời-nháp ∧ wf-approver]) áp 2 site.
VẬN HÀNH — #53: 4/4 lượt spawn chết, THIỆT HẠI 0 BYTE
BE 16.5KB sub-md (tự mở 5 anchor + grep-cùng-lớp 3 site khi lead giao 1) · FE 4.5KB + 4 file land · test 3KB + 8 test land · reviewer 13.9KB ghi-từng-trục · cicd 7.9KB tới PHÉP 4. Mọi phần đuôi = lead solo theo sub-md. Ghi-đĩa-từng-mục tiếp tục là biến số quyết định.
TỒN SANG WAVE SAU
- F-10 upload/delete-attachment no-owner-check = lỗ CHUNG khuôn PE → bịt ĐỒNG BỘ 2 module 1 đợt riêng — cần anh gật (đụng PE prod).
- Dựng tay workflow type-3 + type-10 3-trạm qua Designer (trước W5; type-10 giờ dựng được — prod đã nhận type 10, picker có PE chờ).
- Tài khoản UAT non-Admin (carry từ W1).