Files
solution-erp/.claude/WAL.md
2026-08-06 22:14:14 +07:00

41 lines
7.7 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.

# WAL — auto-generated, không sửa tay
updated: 2026-08-06 | session: S178 (phiên-LOGIC L11, window 6) | branch: main
goal: **ĐIỂM DỪNG SẠCH** — cửa-sổ UAT màn KHKK đóng trọn: 6 đợt ship + **6/6 deploy VERIFIED** 2-vế ×2 app, 0 việc dở. Engine `SỬA-6` vẫn treo NGUYÊN, chưa vá điểm nào.
chain:
- [x] nối mạch /tiep @S178: Sàn-3 **2/5** tín-hiệu MẠNH kêu (① 2 orphan-run · ⑤ ORPHAN-L) · tick 51→52 · **3 LỆCH** ground-truth (residual đã bị hook commit · cửa thư tái-dựng ĐƯỢC · ORPHAN-L lệch -1 CỐ-HỮU do PAUSE-3 kép) · `_tiep-5.md` cân sổ
- [x] **đợt-1 `530af22`** (`B-m_oxS2`·`IsXERmML`): bỏ `(N dòng)` + cột STT + mã `<dự án> - <chi tiết>`. **Mig 72** + backfill (cố ý KHÔNG lọc `IsDeleted`). Mig 72 = dòng đầu `__EFMigrationsHistory` prod · backfill đo THẬT 7 dòng / 5 có hạng mục / **5/5 có mã**
- [x] **đợt-2 `b346b41`** (`DbWf4jNk`·`BqrZMtfo`): "Hạng mục (dự án)" → header mục 2 (NGOÀI ternary `lines.length===0`) · nút thêm vào `tbody`
- [x] **đợt-3 `cd79d1c`** (`gymC4mU_`·`BKyJyauY`): gỡ 2 nút góc phải · header chỉ còn mã đậm · nút **+** từng dòng · **allow-list xoá +`TraLai`** = VÁ LỆCH 2 TẦNG (gotcha #82) · +1 test CHỨNG CÓ RĂNG (stash vá→FAIL, trả vá→PASS) · **645/645**
- [x] **đợt-4 `4704aaf`** (`8z75Zyyu`·`Bfwi0T6c`): gộp panel "Thêm hạng mục" thành **1 DÒNG của bảng**. KHÔNG "+ đẻ dòng trống inline" vì unique 3-cột CỐ Ý không lọc NULL ⇒ dòng trống thứ 2 cùng NCC đụng dòng gốc
- [x] **đợt-5 `1fa079d`** (`Cx8NQ8lS`·`BYHa3JR8`): gỡ chú-thích "Thêm cho: NCC" + gỡ vẻ-khối-riêng + dọn `addFor.supplierName` gán-mà-không-đọc. 🔴 2 câu trả lời của anh MÂU THUẪN — chọn hướng làm CẢ HAI khớp, đã khai
- [x] **đợt-6 `ca9208f`** (`BG-xXFql`·`DyRJmp0R`): bỏ khung ô nhập DÒNG ĐÃ CÓ (ghost), GIỮ khung dòng thêm. 🔴 `:554``:685` class GIỐNG HỆT ⇒ sửa kèm ngữ-cảnh, KHÔNG replace-all; đối chiếu sau sửa: 2 ô còn khung đều ở dòng thêm
- [x] 🔴 **4 phép đo của LEAD hỏng rồi tự bắt + 1 vượt trần sổ**: ① dò thư quét `../AI_INFRA…` (repo không ở đó ⇒ `all=0` là RỖNG-VÌ-HỎI-SAI-CHỖ) · ② `HEAD~1` ≠ commit-trước-của-mình (hook `wal:` chèn giữa ⇒ so bản mới với CHÍNH NÓ) · ③ đọc DLL sai heap + lệch khung UTF-16 + quoting `\"` không phải PowerShell · ④ kỳ-vọng chuỗi=0 sai **3 lần** (`STT`·`Giá đề xuất`=6·`bg-brand-50/40`=12) vì đều DÙNG CHUNG · ⑤ WAL phình 73/40. **CONTROL DƯƠNG cứu cả 4**
- [x] `/pause` @PAUSE-6: `_pause-6.md` + `_context` PAUSE-6 (🔴 lead chèn NHẦM ĐẦU FLOW — `_context` là mới-nhất-ở-CUỐI, NGƯỢC `_mind`; đã sửa) + MIND-7 (`ctx-curator` bắt **7 điểm**, vá đủ, máy `dat=11 TRUOT=0`) + nén MIND-1 (51.260B→48.884B) + `_snapshot-1` `e1942a5`
- [!] 🔴 **residual-write:** `ctx-curator` GHI 2 tệp `.claude/agent-memory/ctx-curator/` (G-015). 🔴 **ĐÃ ĐỔI TRẠNG-THÁI @S178:** hook nuốt vào `ee21056``porcelain` nay RỖNG, giữ/revert giờ cần **revert-commit** chứ không discard nữa (đúng bẫy timing `session-start.md:285`)
- [!] 🔴 `/fable-real reviewer` `wf_264fb5c2-0db` = `SETUP-REVIEW: SỬA-6`**6 điểm CHƯA vá cái nào**. Spec: `runs/2026-08-06-S176-doi-style-3-vai/spec-va-doi-style-3-vai-06-08-2026.md`
- [!] 🔴 **SỬA-1 SỐNG-CHẾT:** thước dispatch `origin/main...HEAD` (**ba-chấm**) ⇒ mù uncommitted+untracked ⇒ đội STYLE gate PRE-commit **chết CÂM** (0 spawn, 0 `SKIP-CO-KHAI`). Sửa 4 site → 2-chấm `porcelain` lọc `??`. 🔴 **Bằng-chứng: cửa-sổ này 12 file đúng địa-phận cả 3 vai, 0 con được gọi**
- [!] 🔴 **SỬA-5a (rẻ nhất):** 3 vai style thiếu dir `agent-memory/<vai>/` ⇒ vô hình trong đo/budget. Đo lại **3/3 THIẾU CONFIRMED**
- [ ] SỬA-2 phạm-vi chuẩn quá rộng · SỬA-3 miễn-trừ dấu-cao-su · SỬA-4 thách-CLEAN nhánh DAT bẻ được · SỬA-5b vùng mù seam FE↔BE · SỬA-5c `README:67` thiếu nhãn hiệu-lực · SỬA-6a claim chép 4 site · SỬA-6b lead chép luật vào persona (`db:32/34-35/61`·`be:63`·`fe:4`) · 🔴 3 vai style **CHƯA spawn-probe** (registry no-hot-reload, cần restart CLI)
- [ ] 🔴 2 NỢ vòng-3: ① khung thẻ 2 nguồn sự-thật (`index.css:112` ⟂ utility ×2 app) · ② overclaim gotcha #66 **4 site / 2 CHUỖI KHÁC NHAU**
- [ ] 🔴 ghi synthesis cho **2** run-folder ORPHAN (`…S173-bookend-open` · `…S175-duan-budget-column`) · đính-chính `_context` mục "Lead đã flush (a)" — thật ra 1/7, đính chính bằng entry PAUSE-7
- [ ] E4 vế ➊ · governance (`STATUS:473` 86→87 · 5 slot HANDOFF · `ROTATE vrapp` · Carry 14 slug · slot (70) anchor) · A1 `ring2-audit` 26.440B · drift-audit quá hạn · 9 dir rỗng · STATUS/HANDOFF chưa phản-ánh Mig 72 + 6 đợt S177
- [ ] kéo thư — 🔴 **@S178 cửa này TÁI-DỰNG ĐƯỢC** (bác câu "không nằm trên đĩa này"): AI_INFRA ở `../../AI_INFRA` (**2 cấp**, lead cũ hỏi `../` = 1 cấp ⇒ đúng lỗi ① RỖNG-VÌ-HỎI-SAI-CHỖ). Đo: **se=0 · all=2 mới** (`…loi-do-luong-phan-1/2`, 2026-08-05). 🔴 4 vế adap-report của `all=6` **CHƯA tái-dựng** ⇒ carry kèm cờ, CẤM lặng bỏ
- [ ] ⚠️ roster **26** > `hmw_width.cap` **20** ⇒ full-roster-sweep LOUD-skip 6 lane cuối. Số cap = quyền anh, O-7 treo
- 🅿️ **PARK (anh @S176) — KHÔNG hỏi lại, KHÔNG tự làm:** cột DỰ ÁN 11 ô · `Project.BudgetTotal` rỗng 61/69
- 🔴 **GIỮ mã dự án lặp trên từng dòng** — anh chốt 2 lần cùng hướng (lý do: hình dung hạng mục lớn chứa hạng mục con) ⇒ **ĐỪNG hỏi lại**
- 🔴 **CHƯA ai soi mắt prod** vòng-4/4b (S176) + 6 đợt S177 — kết luận giao diện vẫn là ĐỌC MÃ (gotcha #3)
next: vá **SỬA-1** (4 site, ba-chấm → hai-chấm `porcelain` lọc `??`) → SỬA-5a → 2/3/4/5b/5c/6a/6b → re-review
verify:
- `curl -s https://admin.solutions.com.vn/ | grep -oE 'index-[A-Za-z0-9_-]+\.js'` → khác `index-BG-xXFql.js` = đợt SAU đã tới (mốc S177 đợt-6 = `ca9208f`; eoffice `index-DyRJmp0R.js`)
- `grep -rn 'origin/main\.\.\.HEAD' .claude/agents/ | wc -l`**4** = SỬA-1 CHƯA vá (đích: 0)
- `ls -d .claude/agent-memory/*-reviewer-style 2>/dev/null | wc -l`**0** = SỬA-5a chưa làm (đích: 3)
- 🔴 residual-write ctx-curator: `porcelain` NAY VÔ DỤNG (hook nuốt) ⇒ đo bằng `git log --name-only origin/main..HEAD | grep ctx-curator` → có = chưa revert (đích: đã quyết giữ/revert)
- 🔴 LUẬT ĐO bundle: `grep -o '<chuỗi>' | wc -l`, **KHÔNG** `grep -c`. Chuỗi DÙNG-CHUNG phải hỏi "còn ai dùng nữa không" TRƯỚC khi kết luận · **mọi phép đo kèm CONTROL DƯƠNG**
- 🔴 **so trước/sau bằng SHA ĐÍCH DANH, CẤM `HEAD~n`** (hook `wal:` chèn ở turn-boundary). Bundle CŨ vô dụng (deploy dọn `dist` ⇒ 900B SPA-fallback)
- 🔴 verify BE live = grep DLL prod `C:\inetpub\solution-erp\api\SolutionErp.Application.dll` UTF-8 **và** UTF-16 × 2 khung · DB = `sqlcmd -S .\SQLEXPRESS -d SolutionErp -E` (integrated auth, KHÔNG cần mật khẩu)
- `python scripts/session_ctx.py mind-check --session 11``dat=11 TRUOT=0 co=0` · 🔴 chạy khối DUAL-ACCEPT `tiep.md §0 ①` → kỳ vọng **2** ORPHAN · `ls .claude/sessions/session-11/` → _context · _mind · _snapshot-1 · _pause-1..6 · _tiep-1..**5** · 🔴 ORPHAN-L VẪN kêu `p=6 r=5` = lệch **-1 CỐ-HỮU** (PAUSE-3 bị PAUSE-4 đè, không `/tiep` xen giữa) — KHÔNG phải việc dở