2.2 KiB
2.2 KiB
REVIEWER-GATE-K2: IN-PROGRESS — chưa chốt
sub-reviewer-gate-k2 — GATE K2 (adversarial, trước commit-push) — S164/S165
Luật ghi-đĩa-trong-lúc-làm (#53): mỗi mục đo xong ghi NGAY. Dòng-1 = verdict, cập nhật cuối cùng. Vai: reviewer READ-only. KHÔNG sửa prod-code. Được chạy dotnet/npm build.
§0 Tiền đề đo được (git, trước mọi phán)
- Branch
main.git status --porcelain: 31 file M + 5 file untracked (2 mig K2 + 1 test file K2 + 2 auto-memory). - Diffstat vùng code: 31 files changed, +1005/-126 (gồm cả .claude/docs).
- File K2 untracked:
20260731085624_AddKhkkApprovalGroupCatalogAndFinalizeRuntime.cs+.Designer.cstests/.../Application/ContractSigningPlanGroupAndCatalogTests.cs.
§1 Trọng tài BUILD/TEST — reviewer tự chạy tươi (nguyên văn)
dotnet build SolutionErp.slnx→Build succeeded. 0 Warning(s) 0 Error(s)·Time Elapsed 00:00:18.24⇒ KHỚP claim 0W/0E.dotnet test SolutionErp.slnx:- Domain:
Passed! - Failed: 0, Passed: 45, Skipped: 0, Total: 45, Duration: 69 ms - Infrastructure:
Passed! - Failed: 0, Passed: 562, Skipped: 0, Total: 562, Duration: 1 m 11 s - Tổng 607/0 = 45D + 562I ⇒ KHỚP claim
sub-test-k2.md:1từng con số.
- Domain:
§2 Ranh giới (a)-(d) — đo trên diff
- (a)
ContractSigningPlanWorkflowService.cs: diff CHỈ 1 hunk@@ -164,6 +164,23 @@(+17/-0) nằm trọn trongSubmitAsync.ReturnOrRejectAsync(:359 plan.Phase = targetPhase) +ApplyApprovedValuesOnFinalize+:295 = DaDuyet0 dòng đổi ⇒ ranh B3-B4 GIỮ theo NỘI DUNG. - (b) K1
ContractCatalog*:git status --porcelaintrên 3 path K1 = 0 dòng (đã commit50e6d8c) ⇒ không bị đụng. - (c) route/menu:
App.tsx·lib/menuKeys.ts·components/Layout.tsxKHÔNG có trong diff ⇒ 0 route/menu mới (K4a turf giữ). (MenuKeys.csBE cũng không trong diff của wave K2 — chỉ.claude/skills/permission-matrix/SKILL.mdlà doc.) - (d) 3 test lead vá:
ContractSigningPlanSchemaTests.cs(+56/-…) +ContractSigningPlanApprovalTests.cs(+19) vẫn còn trong diff, file mớiContractSigningPlanGroupAndCatalogTests.cstách riêng ⇒ không bị lane đè.