wal: pause
This commit is contained in:
@ -39,8 +39,9 @@
|
||||
| 5b | Synthesis + lead-verify 5 claim (5/5 CONFIRMED đĩa) → `review-synthesis-clone-s160.md`; disposition: 2 owner-gate + ~18 fix | lead | [x] |
|
||||
| 5c | Owner-decision (AskUser): **W8=O-A để mở** + **đổi tên test khớp repo** | anh @S160 | [x] |
|
||||
| 5d | Fix NHÓM-2 (13 spec-edit: W8→O-A biên bản · seeder UPGRADE · W3 2-write-path+changelog-KHKK+bỏ-port · W6 view-per-HĐ-3-site · W7 param-type · tên test khuôn repo · dựng WF 3-trạm · disclose §4.7) | lead | [x] |
|
||||
| 6 | `/fable-real reviewer` chốt cuối trên spec ĐÃ SỬA | `/fable-real` | [!] |
|
||||
| 7 | hmw Opus-5-MAX thi công từng wave + kiểm | hmw | [ ] |
|
||||
| 6 | `/fable-real reviewer` chốt cuối — **VERDICT GO-WITH-FIXES** (reviewer #53 chết sau Trục-1+Trục-2; lead finalize on-behalf từ đĩa: 12/13 fix landed-đúng + 30 anchor CONFIRMED + 0 HIGH leftover; 3 dư-lượng nhỏ DR-1..3 + 1 check DR-4) | `/fable-real` | [x] |
|
||||
| 6b | Vá 3 dư-lượng DR-1 (W7 badge bảng §①) · DR-2 (W3 anchor#5 →:356-360) · DR-3 (W1 anchor +:1256-1257) + check DR-4 (W6 admin-inbox) | lead | [ ] |
|
||||
| 7 | hmw Opus-5-MAX thi công từng wave + kiểm (SAU vá DR) | hmw | [ ] |
|
||||
| 6 | Review chốt cuối | `/fable-real reviewer` | [ ] |
|
||||
| 7 | hmw Opus-5-MAX chạy dry-run từng wave theo Plan cha + kiểm | hmw (worker-tier-pin) | [ ] |
|
||||
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
> Nhiệm vụ: xác minh 13 fix clone-review ĐÃ LAND + ĐÚNG, không đẻ lỗi mới, HIGH đã đóng thật.
|
||||
> Giả định lead sửa ẩu — tìm ra.
|
||||
|
||||
## VERDICT-pending
|
||||
|
||||
(chưa chốt — append trong lúc làm)
|
||||
## VERDICT: GO-WITH-FIXES (3 dư-lượng NHỎ, 0 HIGH cấu-trúc sót)
|
||||
> 🔴 Dòng verdict + LỖI-MỚI + LEFTOVER dưới = **LEAD finalize ON-BEHALF từ đĩa @/pause** (reviewer chết #53 khi mới xong Trục-1+Trục-2, thân verify đã đủ — 12/13 fix LANDED-ĐÚNG + ~30 anchor CONFIRMED THẬT; chỉ thiếu 3 section chốt). Đây KHÔNG phải bịa: mọi kết-luận dưới đều đọc thẳng từ Trục-1/Trục-2 mà chính reviewer đã ghi ở dưới.
|
||||
> **13/13 fix áp; 12 landed-đúng · 1 half-fix (W7). 0 HIGH cấu-trúc leftover** (F-S1..S3 · F-O1..O4 · F-B1..B7 · F-C1..C3 · F-01..04 đều đóng hoặc moot-đúng theo O-A). ⇒ ĐỦ điều-kiện vào hmw SAU khi vá 3 dư-lượng dưới.
|
||||
|
||||
## KIỂM-13-FIX
|
||||
|
||||
@ -28,14 +28,47 @@ Checklist rút từ `review-synthesis-clone-s160.md:56` (13 spec-edit) + NHÓM-2
|
||||
|
||||
Trục-2 code-anchor cần chấm đĩa: DbInitializer:2367-2374 · CWS:190-193 · ContractChangelogConfiguration:22-26 · ContractAttachmentFeatures:56-152 · ApprovalWorkflowsV2Page:1267-1268 · ContractFeatures:334-350 + :301/:381/:486 · ContractsController:16-24 · DbInitializer:239-265.
|
||||
|
||||
## LỖI-MỚI
|
||||
### Kết quả đọc spec (trục-1, sơ bộ):
|
||||
- 7. W1: LANDED-ĐÚNG — §②-8 UPGRADE-if-exists đủ khuôn 2367-2374 + SAU revoke (mirror :2098-2101) + 13/13 role; §③-B đo CỜ CanCreate=1∧CanUpdate=1 (F-04); §②-10 ẩn 2 checkbox :1267-1268 khi typeCode==10; Designer site :144-148 ghi rõ "KHÔNG phải comment :143".
|
||||
- 8. W2: LANDED — §③-B 2 tên English-predicate + mục "Grant ăn (F-04)" đo CỜ.
|
||||
- 9. W3: LANDED — §②-3(a) 2-write-path (nhánh cấp-cuối + admin-override CWS:190-193 gán qua biến, lớp #81) + khuôn RULE = ContractFeatures.cs:356-360 thay PEWS:1008 (F-B4) · §②-3(b) KHÔNG PORT 2 nhánh sớm (F-B3) · §②-4 changelog KHKK-riêng CẤM LogWorkflowTransitionAsync + FK-547 + ContractChangelogConfiguration.cs:22-26 (F-B2) · §③-B 6 tên English + acceptance finalize test CẢ 2 write-path. ⚠️ NGHI VẤN: §③-A anchor #5 vẫn ghi "PurchaseEvaluationWorkflowService.cs:1008 (RULE choke-point)" — thân spec vừa phán khuôn này SAI (F-B4). Anchor-label mâu thuẫn thân.
|
||||
- 10. W5: LANDED — §③-B prod-curl chạy tới currentApprovalLevelOrder=1 + duyệt tiến Bước 2 (F-B5) · §②-2(b) GIỮ guard ApplicableType==Contract + test ca ÂM `CreateContract_ForgePeWorkflowId_ThrowsApplicableTypeGuard` (F-B6) · 5 tên English.
|
||||
- 11. W6: LANDED — §②-3 per-HĐ membership CẢ 3 call-site :301/:381/:486 (F-S3/F-C2), KHÔNG role-blanket, admin thấy-hết · §③-B `List_HardCopyActor_NotAdmin_SeesDaPhatHanhContract` (F-01) + `View_UserOutsideWorkflow_WithUnrelatedRole_Gets403` pin role (F-S4) + kiểm-xóa-mềm :381 · 5 tên English. ⚠️ B13 (inbox thêm nhánh admin) KHÔNG thấy chữ tường minh trong §②-4 — cần đối chiếu lane wave-logic xem B13 đòi gì.
|
||||
- 12. W7: LANDED phần lớn — §②-2(b) param type ListContractsQuery + controller (F-C1) · §②-2(a) CoverChecklist=5 (F-09) · §②-4 O-A giữ [Authorize] trần · 3 tên English · §③-B vai-thật Director/HrAdmin/CostControl (F-C2/F-01). 🔴 LỖI-MỚI: bảng mapping `:12` VẪN ghi b.19 evidence=upload `ScannedSigned` + badge "Đã ký GĐ"=has(ScannedSigned) — mâu thuẫn thẳng §②-2(c) "badge KHÔNG từ ScannedSigned" (F-C6). Fix áp NỬA spec: §② sửa, bảng §① không sửa.
|
||||
- 13. W8: LANDED-ĐÚNG — biên bản O-A 0-code, 3 rủi ro disclose (Reject-trước-guard :49-66 · attachment :56-152 0-IDOR · Create ăn seq :113-118), khoanh ZZTEST+backup, đường bật lại O-B/O-C vẫn owner-gated.
|
||||
|
||||
(appending...)
|
||||
### Trục-2 — anchor đĩa (đã chấm, tất cả bằng Read/Grep trực tiếp @HEAD):
|
||||
- DbInitializer.cs:2367-2375 khuôn UPGRADE TryGetValue+lật-cờ+continue = THẬT ✅ (lưu ý: khuôn gốc không có vế CanDelete — W1 phải mở rộng thêm cờ D, spec đã ngầm nói "viết method mới khuôn")
|
||||
- ContractWorkflowService.cs:191-198 admin-override `contract.Phase = targetPhase` GÁN QUA BIẾN = THẬT ✅ (spec W3 ghi :190-193 = dòng comment+if — sát đúng) · Reject-branch :49-66 đúng 0-guard ✅ · submit :70-89 không đọc workflow (F-B5 premise ✅) · :84 pointer init V2-only ✅ · ConflictException :115-116 ✅ · guard trình :73-78 Drafter∨DeptManager ✅
|
||||
- ContractChangelogConfiguration.cs:22-25 FK ContractId Cascade THẬT ✅ · IChangelogService.cs:28 LogWorkflowTransitionAsync(Guid contractId,…) ✅ ⇒ FK-547 premise đứng
|
||||
- ContractAttachmentFeatures.cs: Upload :56-103 · Download :111-124 · Delete :130-152 — 3 handler load theo Id, 0 IDOR 0 phase-guard THẬT ✅
|
||||
- ApprovalWorkflowsV2Page.tsx:144-148 TYPE_CODE_TO_INT ✅ · checkbox allowApproverFinalize :1267-1268 ✅ (allowApproverSkipToFinal ở :1256-1257 — anchor "2 checkbox :1267-1268" chỉ trỏ trúng 1, lệch ~11 dòng, LOW)
|
||||
- ContractFeatures.cs: GetEligiblePhases :334-351 0 phase-9/10 ✅ · 3 call-site :301/:381/:486 ĐỦ ✅ · Forbidden :488-489 ✅ · RULE-comment :356-360 đúng khuôn LUẬT+grep+không-đếm-số ✅ · PhaseActorRoles :421-430 100% legacy ✅ · DTO 12-field :323-327 ✅ · filter :305-307 ✅ · delete-guard :632-633 so-sánh-SỐ ✅ · forge-guard :84-86 + comment :77-78 ✅ · codegen-create :113-118 ✅
|
||||
- ContractsController.cs:16-24 = 7 param 0 `type` ✅ · :13 [Authorize] trần ✅ · /deleted :28-36 CÓ type (đối chứng)
|
||||
- PEWS:1008 RULE có số-đếm "4 site" ✅ (F-B4 tố đúng — khuôn này tự mâu thuẫn, W3 trỏ sang :356-360 là chuẩn)
|
||||
- ContractAttachment.cs:5-11 enum {1,2,3,99} — slot 4/5 TRỐNG ✅ (InitialSigned=4/CoverChecklist=5 không đụng) · comment ScannedSigned=2 "chữ ký NCC ở DangInKy" y nguyên lý-do F-C6 ✅
|
||||
- ApprovalWorkflow.cs:53-67 ApplicableType dừng 9, slot 10 trống ✅ · :95 class Level trong file ✅ · :116-125 4 cờ return-mode ✅
|
||||
- DbInitializer.cs:239-268 seed QT-HD-V2-001 đúng 1 Bước CCM × 1 Cấp ✅ (F-02 premise) · :2098-2102 SeedProcurementMasterAccessAsync chạy SAU revoke ✅ · :2204-2214 read-only concat Khkk/Hdc/Contracts ✅ · :2242-2243 skip-existing continue ✅ · :1779-1786 Khkk_G1+6 leaf ✅ · :1862-1867 Hdc 7-leaf loop ✅
|
||||
- MenuKeys.cs:41 const + KeHoachKyKet ∉ All (grep 0-hit trong array) · Contracts ∈ All :168 ✅
|
||||
- Bridge: CreateContractFromEvaluationFeatures :53-60/:68-71/:88-90/:145 4/4 ✅ · PurchaseEvaluationsController body record 3-field ~:379-382 ✅ (bia-mộ drop-field ngay dưới)
|
||||
- fe-user Layout.tsx:63-69 Hdc 7 dòng ✅ · MyContractsPage :29/:34-35 đọc type/phase ✅ (đối chứng: type CHỈ gửi khi deleted — active list phải client-filter ⇒ F-C1 premise ĐÚNG)
|
||||
- ContractCodeGenerator.cs:25 "MB" ✅ · :33/:40-53 per-prefix seq ✅
|
||||
- AuthorizePolicyRegressionTests.cs:138-139 lưới All-membership ✅ · :120-129 hardcode 4 action AWV2Controller ⇒ F-C5 moot-logic sau O-A ĐỨNG ✅
|
||||
- ProposalFeatures.cs ~:424 "assume 1 step" + :427-439 flatten + :258-267 guard type ✅
|
||||
|
||||
## LEFTOVER
|
||||
## LỖI-MỚI (do fix đẻ ra — 3 dư-lượng NHỎ, vá trước hmw)
|
||||
|
||||
(appending...)
|
||||
- **DR-1 [MED] W7 half-fix (badge nguồn):** §②-2(c) sửa "badge KHÔNG từ `ScannedSigned`" NHƯNG bảng §① `:12` VẪN ghi `b.19 evidence=upload ScannedSigned` + `badge "Đã ký GĐ"=has(ScannedSigned)`. Fix áp NỬA spec (§② sửa, bảng §① sót) — đúng lớp "vá-1-nửa-cùng-lớp" S122. **Vá:** sửa bảng §① W7 dùng `InitialSigned`/`SealedCopy`, khớp §②-2(c).
|
||||
- **DR-2 [LOW] W3 anchor-label ⟂ thân:** §③-A gate-5-anchor #5 vẫn liệt `PurchaseEvaluationWorkflowService.cs:1008 (RULE choke-point)` trong khi §②-3(a) vừa phán khuôn :1008 SAI (F-B4, thay bằng `ContractFeatures.cs:356-360`). Anchor-label stale so thân. **Vá:** đổi anchor #5 W3 → `:356-360`.
|
||||
- **DR-3 [LOW] W1 anchor off-by-11:** "2 checkbox `:1267-1268`" chỉ trỏ trúng `AllowApproverFinalize`; `AllowApproverSkipToFinal` ở `:1256-1257`. **Vá:** anchor W1 ghi cả 2 dải (`:1256-1257` + `:1267-1268`).
|
||||
- **DR-4 [check] W6 B13:** nhánh admin-inbox (F-B13 clone) chưa thấy chữ tường minh §②-4 W6 — cần xác nhận W6 có mở inbox cho admin thấy HĐ ChoDuyet không (admin đang lấy `PhaseActorRoles.Keys` 0 ChoDuyet). Đối chiếu lúc thi công W6.
|
||||
|
||||
## LEFTOVER (HIGH clone-review — trạng thái đóng)
|
||||
|
||||
- Đóng THẬT: F-S1 (grant upgrade W1) · F-B1 (2-write-path W3) · F-B2 (FK-547 W3) · F-B3 (bỏ port + ẩn checkbox W1/W3) · F-B5 (Cấp-1 W5) · F-B6 (forge W5) · F-C1 (param type W7) · F-C2/F-01 (view phase-9 W6 + W7-depends-W6) · F-S3 (3-site W6) · F-S4 (role-pin ÂM W6) · F-02 (dựng WF 3-trạm plan §4).
|
||||
- MOOT-đúng theo O-A (anh chốt để mở): F-O1/F-O2 (W8 default→gỡ) · F-C3 (grant HrAdmin/AuthorizedSigner — không siết thì không grant) · F-C5 (AuthorizePolicyRegression Contracts) · F-S2 (attachment IDOR → disclose §4.7 thay vì vá).
|
||||
- 0 HIGH cấu-trúc còn sống.
|
||||
|
||||
## END
|
||||
<!-- END sub-reviewer-chot-cuoi-s160 · VERDICT=GO-WITH-FIXES (lead-finalize on-behalf từ đĩa, reviewer #53 chết sau Trục-1+Trục-2) · 12/13 landed-đúng + 1 half-fix · 30 anchor confirmed · 3 dư-lượng nhỏ + 1 check · 0 HIGH leftover -->
|
||||
|
||||
(pending)
|
||||
|
||||
Reference in New Issue
Block a user