diff --git a/.claude/WAL.md b/.claude/WAL.md index 4cd7339..4da7aae 100644 --- a/.claude/WAL.md +++ b/.claude/WAL.md @@ -1,11 +1,17 @@ # WAL — auto-generated, không sửa tay -updated: — | session: — | branch: — -goal: (trống — không có mạch dở) +updated: 2026-07-17 | session: S133 | branch: main +goal: PE budget FREEZE-at-DaDuyet (UAT anh Kiệt 07-16 17:24-17:27): phiếu đã duyệt BẤT BIẾN, NS live = bản cập nhật gần nhất; pipeline /fable-real invest → lead spec → hmw Opus MAX implement → review → deploy chain: -(rỗng) +[!] 1. wf: hmw 1-task fable-real investigator-codebase (tier fable) — run 2026-07-17-S133-pe-budget-freeze-daduyet · wf_348f6155-167 +[ ] 2. lead verify findings (grep chéo read-sites PeWorkItemBudgets + finalize choke-point) + ghi spec-pe-budget-freeze-daduyet-17-07-2026.md +[ ] 3. hmw implement Opus MAX theo spec (BE Mig+service ‖ FE 2-app mirror → test-specialist) +[ ] 4. reviewer pre-commit (financial + mig) → commit push → cicd-monitor verify prod +[ ] 5. harvest per-turn + closeout -next: (trống) +next: chờ wf invest return → lead verify → spec verify: -(trống) +- ls .claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/ +- git log --oneline -3 +- grep -rn "PeWorkItemBudget" src/Backend/SolutionErp.Application/PurchaseEvaluations/ | head -20 diff --git a/.claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/run.md b/.claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/run.md new file mode 100644 index 0000000..d49157e --- /dev/null +++ b/.claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/run.md @@ -0,0 +1,24 @@ +# run — 2026-07-17-S133-pe-budget-freeze-daduyet + +- **engine:** `/fable-real investigator-codebase` (H21 lệnh-A per-invocation, alias "invest" anh gõ) → lead verify + ghi spec → **hmw implement Opus 4.8 MAX** (anh chỉ định "hwm cho đám Opus 4.8 MAX xử lý") → review → deploy +- **goal:** UAT anh Kiệt FDC (chat 2026-07-16 17:24-17:27): cập nhật ngân sách (`PeWorkItemBudgets` live, per Dự án × Hạng mục) làm **phiếu ĐÃ DUYỆT đổi số theo** (retro-display). Yêu cầu chốt: (R1) phiếu DaDuyet **bất biến** — không đổi gì hết; (R2) ngân sách đúng nhất cho phiếu mới = bản cập nhật **gần nhất** (live giữ nguyên semantics); (R3) "tức lại database tí là oki" — DB delta nhỏ, **không sinh bảng mới** (snapshot AddColumn). +- **session:** S133 · lead: Fable 5 (owner-choice) · HMW-mode ON + +## taskList snapshot + +1. `[fable-real:invest-pe-budget-freeze]` role=`investigator-codebase` · tier=`'fable'` (engine-đắt trong lượt lệnh anh gõ — H21) — deep-pass: + - MAP read-sites `PeWorkItemBudgets` trong PE flow (BE projection + FE 2-app consumer, file:line) → xác nhận cơ chế live-join gây retro-change trên phiếu DaDuyet. + - MAP write-sites (command role-gated PRO/CCM). + - Kiểm per-slip fields sẵn có (PE.BudgetPeriodAmount / CcmBudgetPeriodAmount Mig 59 / Detail.DonGiaNganSach·ThanhTienNganSach) — dùng lại được làm snapshot không. + - Liệt kê MỌI nhánh vào DaDuyet (CEO-final · level-finalize Mig 58/60 · CCM-threshold Mig 53) → 1 choke-point đặt snapshot (ứng viên: cùng site `ApplyApprovedPriceOnFinalize`). + - Propose spec 3-mục + checklist per-vai acceptance ĐO ĐƯỢC + backfill phiếu DaDuyet cũ + edge (TuChoi/TraLai-re-approve/WorkItemId null). + - RETURN structured (findings + checklistEvidence + memoryDelta) + ghi `sub-investigator-codebase-0.md` (ghi-đĩa-trong-lúc-làm — chống #53). + +(taskList implement sẽ append vào run.md này khi spec chốt + HMW implement phóng.) + +## Stages + +- [ ] 1. invest fable-real (wf: `wf_348f6155-167`) +- [ ] 2. lead verify + ghi `spec-pe-budget-freeze-daduyet-17-07-2026.md` +- [ ] 3. hmw implement Opus MAX theo spec (BE ‖ FE → test) +- [ ] 4. reviewer pre-commit → commit/push → cicd verify prod diff --git a/.claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/sub-investigator-codebase-0.md b/.claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/sub-investigator-codebase-0.md new file mode 100644 index 0000000..82c01c5 --- /dev/null +++ b/.claude/workflows/runs/2026-07-17-S133-pe-budget-freeze-daduyet/sub-investigator-codebase-0.md @@ -0,0 +1,21 @@ +# sub-investigator-codebase-0 — PE budget FREEZE-at-DaDuyet invest + +> RUN: 2026-07-17-S133-pe-budget-freeze-daduyet · engine /fable-real single deep-pass +> STATUS: IN-PROGRESS (ghi-đĩa-trong-lúc-làm chống #53 — bài S123/S128) + +## Đề bài +R1 phiếu DaDuyet bất-biến số NS · R2 PeWorkItemBudgets = live cho phiếu chưa duyệt · R3 DB delta nhỏ (AddColumn, no new table, reversible, idempotent backfill). + +## Tiến độ +- [ ] A READ-MAP PeWorkItemBudgets consumers +- [ ] B WRITE-MAP command budget +- [ ] C per-slip fields sẵn có semantics +- [ ] D FINALIZE-MAP Phase=DaDuyet +- [ ] E thiết kế snapshot +- [ ] F backfill changelog +- [ ] G edge +- [ ] H decision vs display +- [ ] I test list +- [ ] J spec-draft H21 + +## Findings (append trong lúc làm)