Files
solution-erp/.claude/workflows/runs/2026-07-29-S160-khkk-dryrun-plan/run.md
2026-07-29 16:54:56 +07:00

7.1 KiB
Raw Blame History

run: 2026-07-29-S160-khkk-dryrun-plan — DRY-RUN toàn trình đến Hợp đồng cứng (Plan cha + spec/checklist per-wave)

Mở @S160 2026-07-29 ~15:45 (L8 window-2, ngay sau chốt đóng đầu việc arc-2). 🔴 Sub-file ghi-đĩa-TRONG-lúc-làm (chống #53). RAW sub-* ⟂ VERIFIED *-synthesis.md/spec (lead viết).

🔴 LỆNH ANH (verbatim, 2026-07-29 @S160)

"Hiện tao quyết định sẽ dry-run luôn cho đến hợp đồng cứng. Hợp đồng cứng trong folder D:\Dropbox\CONG_VIEC\SOLUTION\FORM Còn quy trình và cách đặt tên: D:\Dropbox\CONG_VIEC\SOLUTION\QUY_TRINH Spec vừa rồi build đúng rồi đó. Giờ cho 2 /fable-real invest bổ sung lại cái spec củ để chạy dry-run luôn đến hợp đồng cứng -> Ra cái spec-chi-tiết-cách-làm-checklist-cho cụ thể từng wave (Mỗi wave cho 1 spec-chi-tiet-cach-làm cu thẻ và checklist )luôn. (Lập 1 cái plan cha cho cái này luôn). /fable-clone review lại. /fable-real review lại chốt cuối. Sau đó cho Opus 5 MAX chạy hwm dry-run hết các wave ->Dựa vào Plan cha chạy từ spec cụ thể cho từng wave và kiểm tra luôn."

Đọc-hiểu chốt (lead — vá drift theo lane-1 F-09/F-20 + spec :27): ① spec KHKK cũ = RATIFIED, chỉ BỔ SUNG không viết lại · ② phạm vi mở rộng theo ranh ĐÃ CHỐT @S159 (spec :27): GĐ2 = b.7→12 (KHKK, spec cũ W1-W5; b.7 email BỎ — Q8 ĐÓNG) + GĐ3 Duyệt hợp đồng = b.13→18 (tận dụng Contract V2) + GĐ4 Hợp đồng cứng = b.19→21, ký cứng UPLOAD-ONLY (Hdc_* skeleton → trang thật)🧊 bản đầu run.md này viết "GĐ3 (b.13→21)" = SAI (13→21 là span verdict-LAI, không phải span GĐ3). Nhãn GĐ2: "Đề xuất ký kết hợp đồng" (spec :27, đời sáng @S159) → superseded "Kế hoạch ký kết HĐ" (PAUSE-1 chốt cuối + prod Khkk_G1 seeder) — Plan cha dùng nhãn MỚI, class/bảng English ContractSigningPlan* GIỮ — toàn trình chạy được end-to-end dạng dry-run để mọi người bấm thử + góp ý (khớp ❹ @S159) · ③ deliverable đợt này: 1 Plan cha + mỗi wave 1 spec-chi-tiết-cách-làm + checklist · ④ lệnh này ĐỒNG THỜI là lời giải cho gate "Wave 5 chạm HĐ ⇒ hỏi lại anh" (HANDOFF) — anh chủ động mở; riêng LỖ HỔNG authz S156 vẫn phải khoanh vùng đưa vào spec cho review chốt, KHÔNG tự coi là được sửa hay được bỏ qua.

Nguồn PIN

Nguồn Path Ghi chú
Spec KHKK cũ (RATIFIED) runs/2026-07-28-S157-ke-hoach-ky-ket-hd/spec-ke-hoach-ky-ket-hd-28-07-2026.md +NOTE W1 @S160 (Khkk_* tái dùng, dark-launch ĐẢO)
QT trình ký 21 bước runs/2026-07-28-S157-ke-hoach-ky-ket-hd/src-QT-TRINH-KY-HD.txt (14.425B) extract S157 từ QUY_TRINH docx
FO-002.01 Bảng kiểm tra HĐ runs/2026-07-28-S157-ke-hoach-ky-ket-hd/src-FO-002.01-bang-kiem-tra-HD.txt (21.287B) checklist per-phòng
RG-001 v02 mã số HĐ runs/2026-07-29-S160-khkk-dryrun-plan/src-RG-001-v02-ma-so-hd.txt (2.907B) extract @S160 — DIFF với forms-spec/codegen repo (repo parse Phase 0)
Catalog 8 form docs/forms-spec.md + FORM folder (6 template .doc/.docx/.xlsx còn lại) form-engine đã render 8 form
Verdict LAI b.7→21 STATUS S155→S158 mục ② b.13→21 TÁI DÙNG Contract V2 · b.7→12 DỰNG MỚI

taskList snapshot

# Stage Vai / cách Trạng thái
1 Scaffold + extract RG-001 v02 lead [x]
2 invest lane-1: NGUỒN/QUY-TRÌNH GĐ3-GĐ4 (b.13→21 chi tiết + RG-001 v02 diff + FO-002.01 checklist-map + "hợp đồng cứng" = gì cụ thể) /fable-real investigator-codebase #1 [ ]
3 invest lane-2: CODEBASE dry-run map (PE→KHKK→Contract→Hdc gap-map + reuse Contract V2 + authz khoanh vùng + dry-run mode + wave structure đề xuất) /fable-real investigator-codebase #2 [ ]
4 Plan cha + spec-chi-tiết + checklist per-wave lead (từ 2 invest + spec cũ) [ ]
5 Review ensemble — 6 lane reviewer tier:'opus' (run wf_0eb994aa-a63) /fable-clone reviewer [x]
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 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) [ ]

Ràng buộc mang theo (từ sổ bền)

  • 🔴 GATE 5-ANCHOR (HANDOFF, reviewer đề @S157): trước thi công MỖI wave mở 5 anchor bất kỳ; ≥1 trượt ⇒ chấm lại TOÀN BỘ anchor wave đó. → nhúng vào Plan cha.
  • 🔴 Authz HĐ (S156): ContractWorkflowService.cs:48-66 Reject-trước-guard + ContractsController.cs:13 [Authorize] trần 22 endpoint ghi — dry-run mở menu cho mọi người ⇒ phải khoanh vùng + đề phương án trong spec (review chốt quyết).
  • 🔴 KHÔNG SQL tay cho menu (gotcha #84) — mọi thay đổi menu/permission qua seeder.
  • 🔴 Khkk_* + Hdc_* skeleton ĐÃ TỒN TẠI prod (arc-2) — tái dùng, ComingSoon → trang thật; seeder skip-existing.
  • Acceptance đo-được kiểu spec cũ: pin N + TÊN test (H5), tránh literal tự-lão-hoá (neo TÍNH-CHẤT).

Stages

  • 1. scaffold + extract (15:45-15:50)
  • 2+3. 2 lane /fable-real investigator-codebase model=fable — XONG + LEAD-VERIFIED (lane-1 25 mục 24.222B END-ok, 3 claim verify byte-đúng · lane-2 8 mục 32.242B END-ok, 4 claim verify byte-đúng + tự bẻ 2 grounding sai của đề bài [Hdc 7-leaf-per-type · PE không per-action-attribute])
    • lane-2 lượt-1 ~16:03: #53 garble → đĩa cứu §0-§2 → SendMessage-resume làm nốt Q3-Q7 sạch. Tally #53 phiên: ×1.
    • Lead đo bổ sung @S160: prod Contracts = 0 active + 0 deleted (admin-bypass :298/:440; sổ S156 "7 HĐ V1" STALE) · login prod field accessToken · KeHoachKyKet const có nhưng NGOÀI All.
  • 4. PLAN CHA + 7 SPEC-WAVE (lead viết sau verify — H21 pipeline): plan-cha-dry-run-toan-trinh-29-07-2026.md + spec-wave-{w1-schema-designer,w2-crud-nhap,w3-duyet-3-tram,w5-cau-khkk-hd,w6-duong-ong-hd-v2,w7-ban-cung-hdc,w8-authz}-29-07-2026.md (W4/W9 DEFER ghi trong plan cha). Wave-numbering: GIỮ W1-W5 spec ratified + nối W6-W8; 12 default đảo được; 1 mig duy nhất (69/W1).
  • harvest M9: entry S160 engine-label real-fable-S160 vào diary investigator-codebase (curate cùng lượt 23.285→22.452B, 2 entry S155 → archive moved-not-cut)