Files
solution-erp/.claude/workflows/runs/2026-07-29-S160-khkk-dryrun-plan/run.md
2026-07-29 18:43:24 +07:00

62 lines
7.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 | [x] |
| 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 | [x] |
| 4 | Plan cha + spec-chi-tiết + checklist per-wave | lead (từ 2 invest + spec cũ) | [x] |
| 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 — **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 | [x] @S161 — 4/4 xong + 1 site CÙNG-LỚP lòi thêm `plan-cha:75` (gỡ `ScannedSigned` khỏi bộ derive option-A, F-C6); DR-4 chốt = spec-hoá nhánh ADMIN (mirror PE `:731-748`) vào W6 §②-4 + 1 vế acceptance admin-inbox |
| 7 | hmw Opus-5-MAX thi công từng wave + kiểm (SAU vá DR) | hmw | [ ] |
## 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
- [x] 1. scaffold + extract (15:45-15:50)
- [x] 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.
- [x] 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).
- [x] 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)