K2-TEST: DONE — suite 607/0 (45D+562I, +9 mới)

# sub-test-k2 — K2 TEST SUITE (S164/S165, wave 2/8)

> 🔴 **[lead on-behalf @S165]** Lane test-specialist LÀM XONG VIỆC nhưng chết ở return (#53 — return rỗng
> no-StructuredOutput) VÀ **không tạo artifact này dù prompt ép** (vi phạm ghi-trong-lúc-làm lần 2 trong
> wave). File này = lead ghi SAU VERIFY-ĐĨA: đọc file test thật + chạy build/suite thật — không phải lời lane.

## Sản phẩm lane (disk-truth)

- File MỚI `tests/SolutionErp.Infrastructure.Tests/Application/ContractSigningPlanGroupAndCatalogTests.cs`
  — **824 dòng · 9 [Fact]** · header khai "test-AFTER rules §7" + bảng code-under-test đo-lại-trên-đĩa
  (submit-guard `WorkflowService.cs:174-182` · rào `Features.cs:393-402` · list `:737-738` · Σ `:803-804`
  · gate `:229-237` · site Phase-qua-BIẾN `:327-359`) — đúng luật con-trỏ-theo-NỘI-DUNG.
- 9 test (tên = hành-vi, khuôn tiếng Việt nhà):
  1. `Submit_ConDongChuaGanHangMuc_ThiBiChan_GanDuThiTrinhQua` (T-a — vá-5, test ÂM trên phiếu CÓ line)
  2. `Submit_HangMucKhacNhomDuyetCuaPhieu_ThiBiChan_CungNhomThiQua` (T-b)
  3. `Create_CungPeCungNhom_ThiConflict_KhacNhom_ThiTaoDuoc_VaKhongDotMa` (T-c vế 1 — rào (PeId,Group))
  4. `Create_PhieuNhomDaTuChoi_KhongChiemCho_PhieuDangChoDuyet_ThiChiemCho` (T-c vế 2)
  5. `List_LocTheoNhomDuyet_ChiTraDungNhom_VaTotalKhopFilter` (T-d)
  6. `List_TongDaChot_CongTheoApprovedAmount_PhieuChuaDuyetThiBangKhong` (T-e — Σ vá-8)
  7. `EnsureDraftEditable_ChanMoiPhaseNgoaiNhapVaTraLai_VaDaNoiVaoDuongGhiThat` (T-f — phase-guard §e)
  8. `Entity_MacDinhNhomMot_VaGiuNguyenKhiGanTay_ConCoKetThucSomMacDinhTat` (T-g + EndedByLevelFinalize default)
  9. `Transition_ChiNhanhDuyetCuoiMoiToiDaDuyet_VaLuonKemChotGia` (bonus — choke-point 1-site DaDuyet + ??=)

## Trọng-tài (lead chạy SAU khi mọi lane dừng — #68)

- `dotnet build` **0W/0E** · `dotnet test` **607/0 = 45D + 562I** (553 + 9, delta rơi trọn Infra đúng chỗ).
- 3 test lead vá trước đó (SchemaTests unique-3-cột + ApprovalTests fixture) KHÔNG bị lane đè — diff stat
  khớp phần lead (+19/+56 marks), file mới tách riêng. Ranh giữ đúng.
- k = **9**, khai đủ. Bug-BE lộ ra = 0 (9/9 pass ngay trên BE đã land).

END sub-test-k2 — VERDICT=DONE (9 test T-a..T-g+2 · suite 607/0 · artifact lead-on-behalf sau verify-đĩa)
