Files
solution-erp/.claude/sessions/session-15/_context-s-15.md
2026-08-12 22:55:48 +07:00

107 lines
10 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.

# _context-s-15 — SESSION-MODEL narrative durable
<!-- SCAFFOLD-META: sID=15 | ts-moc=2026-08-10T21:32:10+07:00 | nguon-ts=git log -1 --format=%cI @ HEAD d4799ddd | generator=scripts/session-scaffold.ps1 -->
> **sID (LOGIC-session) = 15.** 1 phiên-logic (bootstrap → work → sweep) trải nhiều window vật-lý nối bằng `/pause`+`/tiep`. Window = 0-ID governance; **sID = đơn-vị LOGIC**. Folder pin: `.claude/sessions/session-15/`.
> ts-mốc khởi-tạo = **2026-08-10T21:32:10+07:00** (nguồn: `git log -1 --format=%cI @ HEAD d4799ddd`) — mốc git-committer, KHÔNG phải wall-clock tuỳ-tiện.
>
> 🔴 **CẤM rewrite / tự-tóm block FLOW** (chống self-summary lossy). FLOW = append-only @`/pause`-only; vượt cap `session_ctx_kb` → distill SECTION CŨ thành pointer/gist, TUYỆT ĐỐI KHÔNG sửa entry verbatim đã ghi.
---
## (a) STOCK-map — reference-not-copy
> Bảng pointer tới nguồn durable. **KHÔNG copy nội-dung** (chống drift). Điền @bootstrap; row session-specific append dưới các row stable.
| Tên | Path | 1-dòng |
|---|---|---|
| WAL | `.claude/WAL.md` | mạch-việc-dở máy-state (H-22) — nối bằng `/tiep` |
| AI-context | `CLAUDE.md` | AI agent context SOLUTION_ERP (scope + quick-rules) |
| Trạng-thái | `docs/STATUS.md` | canonical mọi con-số (mig · bảng · test · roster) |
| Bàn-giao | `docs/HANDOFF.md` | brief 5 phút + bảng số chờ-anh + carry |
| Sổ đếm H24 | `.claude/governance/.session-counter.json` | counter + nhịp lead-self-audit |
| Thư cross-project | `broadcasts/_index.md` | INBOUND directed (`outbox/se`) — fan-out `outbox/all` KHÔNG vào đây |
| _(session-specific)_ | _(path)_ | _(1-dòng — append @bootstrap phiên này)_ |
---
## (b) FLOW — append-only @pause-only
> 🔴 **CẤM rewrite FLOW.** Mỗi `/pause` APPEND đúng 1 entry theo SCHEMA dưới (đặt DƯỚI dòng `FLOW-START`). Entry cũ = immutable. FLOW = SOURCE durable của "đang-đến-đâu"; bảng-đầu-việc = VIEW derive từ đây (single-source).
<!-- ENTRY-SCHEMA (guidance, KHONG phai entry that — /pause command dien; parser real-entry match `^### PAUSE-\d+`, placeholder `<k>` khong false-match):
### PAUSE-<k> <ts ISO-8601>
> anh: <tin-nhan anh VERBATIM — copy nguyen-van, KHONG paraphrase>
**(1) quyet-dinh da CHOT** / **(2) delta con SONG** / **(3) con-tro**
```json
{ "machine_block": "python scripts/session_ctx.py machine-block --session <N> --json" }
```
-->
<!-- FLOW-START — entries append bên dưới dòng này, mới nhất ở CUỐI -->
### PAUSE-1 2026-08-11T12:13:20+07:00
> anh: /pause
> anh (P0 chen giữa pause, kèm 2 ảnh eoffice trắng): "fix nhanh cái này" · "sao refresh lại ra màn hình trắng"
**(1) quyết-định đã CHỐT trong cửa này:**
- Bookstart L15 chạy TRỌN MỘT LƯỢT (12 vai, sau khi anh bắt lỗi lead dừng 0.7(b) — PN-002) → push `9b3c0edb`.
- **YC-028 giải trọn 4 tầng:** T1 disk 0-byte (dọn ~30GB cache automation + AUTO_CLOSE OFF ×3 DB + gỡ nén 4 file template #88) · T2 orphan-sshd của chính lead (kill 3 con → A/059 47s→0,38s; tự khai, RCA) · T3 Gitea tầng-app câm nuốt push (restart + workflow_dispatch → run **#486 ship trọn**: gate 680 EXACT · bundle rotate ×2 · marker 10/10) · T4 RAM (pin `max server memory` unbounded→**1200MB**, PLE 522→1123).
- FE tách "404 thật ⟂ lỗi hệ thống + thử lại" 5 site ×2 app **LIVE prod**. Sổ: +YC-028 +PN-002 (YC-027 nhắc→2) · gotcha **#89/#90/#91** (STATUS row 88→91) · RCA `YC028-S189` + `SCORE-T2-S189` + `H24-RESET-S189` · commits `92d8215a` + `f8f2ef96` (đều pushed, 0 tồn).
- Khối chấm điểm = **KHÔNG ĐO ĐƯỢC** (A8) — tầng-3 bác phép đếm tầng-2, tầng-1 0 lỗi.
- **P0 SAU deploy #486 (chen giữa /pause):** bundle CI crash `React null useState` — build LỆCH local >100KB CÙNG commit ⇒ BUILD-ENV runner hỏng (workspace + node_modules ghi dở đêm disk-0; npm-cache-wipe 11:05 của lead có thể góp — khai cả hai). **Hotfix scp dist LOCAL lành đè fe-user+fe-admin → SỐNG** (form render + marker=1 + JS 200/1.691.607B), outage ~15'. KHÔNG revert (source lành). Vá-gốc = dọn workspace runner + dispatch verify — CỬA NGOÀI-GIỜ.
**(2) delta còn SỐNG:**
- (3B) NGOÀI GIỜ: bật `[cron.archive_cleanup]` Gitea + `compact /u` `Vietreport_Master` (offline ~10s) + báo đội VIETREPORT: DB họ đang bị nén NTFS.
- Đo lại A/059 sau 30-60' (gitea re-index lắng — số 0,58s hiện đo giữa lúc nó nhai nền) · cân nhắc `AsSplitQuery` GetPurchaseEvaluationQuery:867 (wave BE riêng có test+review).
- 9 mục chờ-anh: (76)(77)(78)(79) · (89) a/b/c · (74) · value_protect · lật ô YC-008↔YC-010 · YC-025 review GĐ3 · "ổn rồi" mở W8.
- NEXT-em: ring5@open · YC-027 đủ-cửa (2/4→4/4) · regex `**🆕**` detector · [carry:sentinel-truoc-bu] · [carry:reset-doi-het] (đã có ca thật H24-RESET-S189) · w7b-inbox-param.
**(3) con-trỏ:** `runs/2026-08-10-S189-bookstart-open/` (15 artifact: 12 bookstart + cicd 2-vòng + synthesis) · `.claude/WAL.md` · HANDOFF khối S188 (3 mục NEXT-em đã lật ✅ @S189) · ctx-curator verdict: **SUA-9** (return #53 → resume-đòi-verdict; 9 điểm toàn grep+control-dương — nặng nhất: P0 0-hit nhà bền · vá-gốc runner không vào đường-tiếp · verbatim anh lọt vào _mind; đã áp trọn 9/9 vào MIND-1 + chính entry này).
```json
{ "machine_block": "anchor=f8f2ef96 (YC-028 đóng trọn) · changed_files=[] — mọi việc cửa-sổ ĐÃ COMMIT trước pause; dirty lúc pause = 10 MEMORY seed C2 + marker/snapshot/mind (vào wal: pause)" }
```
### PAUSE-2 2026-08-12T22:52:12+07:00
> anh: /pause
> (window-2 L15 — nối bằng /tiep-1 @15:12, chạy trọn YC-029 + YC-030 rồi anh gõ /pause. Tin-nhắn cuối anh trước pause = 5 phán quyết Q1-Q5 + "Xong thì push và deploy lên nhé. Để tao kiểm tra" — verbatim ở sổ YC-030 + PAUSE này.)
**(1) quyết-định đã CHỐT trong cửa này:**
- **YC-029 "SOLTUON-12-08-2026" TRỌN** — pipeline 6 bước anh chỉ định (invest-Fable 3-chặng → clone-review 3-lane → style-Fable ×2 → clone-style 4-lane → tổng-hợp GO_WITH_NOTES → fan-out Opus 5 wave). Ship 5 wave: W4 `1cc16a2d` (17 leaf admin) · W1 `09ebd20e` (bug menu A+B chết + slice HD-*) · W2 `7b291014` · W3 `ed3b39ff` (pendingMe đổi-endpoint) · W5 `2ae62f3f` (xoá đồng-khuôn KHKK 5-nấc + 13 test-before). Chuỗi review bắt **2 BLOCKER tiền-đề** + 1 anchor-code-chết trước khi viết 1 dòng.
- **YC-030 (anh phán Q1-Q5 + push-deploy) TRỌN** — Q1 layout KHKK-thuần (bác hoán-đổi W2, remake ContractListPanel) · Q2 Select-loại giữ · Q3 port 3 món [Mig 73 `AddContractEndedByLevelFinalize` + ApproveV2 finalize + DTO/body nở + máy-duyệt dời panel-3 ×5 host] · Q4 = xác nhận W5 (approver KHÔNG xoá, chỉ trả-lại) · Q5 thay QT-HD-V2-001 bằng 7 HD-* (data-op Dev+prod). Commit `69860362` (BE) + `59cb1217` (FE) + `091073f9` (docs).
- **DEPLOY PROD PASS** — đĩa VPS dọn 4.7→26.6GB (repo-archive 13GB cache thuần + IIS-log, an toàn #89) TRƯỚC push → CI #600 (run_number #487) success ~11m → **test 697** (45+652) · Mig73 prod top · bundle rotate ×2 byte-match CI↔prod · smoke 200/401 · #91-guard OK. cicd-monitor PASS 6/6 + **lead re-verify độc-lập KHỚP** (bundle mới live + cũ chết-SPA + Mig73 prod). Q5 prod: QT-HD-V2-001→0/0 (2 HĐ pin đều ZZTEST-K8 terminal) ⇒ type-3 selectable = 7 HD-*.
- Sổ: +YC-029 +YC-030 (YC-025 lật đóng — review = lượt này) · gotcha giữ 91 · test canonical 680→697 (chỉ-cicd-verify) · STATUS +row S190.
- #53 ~13 lượt cửa-sổ (invest ×2 · review lens-2 · style-fe · workers B6 3/6 · WQ3-BE · WQ3b) — **mất 0 việc**, artifact-first + lead-đo-đĩa-commit-on-behalf. Vòng review đối-kháng trả cổ tức đều (be2 đo LocalDB CanDelete phá claim policy).
**(2) delta còn SỐNG:**
- CỬA NGOÀI-GIỜ (anh gật giờ): bật `[cron.archive_cleanup]` Gitea (chống #89 tái phát — repo-archive lại 13GB, cần restart service dùng-chung VIETREPORT ⇒ để tránh cắt CI) + compact Vietreport_Master + báo VIETREPORT.
- 🔴 **NÉN 2 agent-memory over-cap** (`investigator-codebase` 23.1KB · `reviewer` 25.4KB VƯỢT 24.4KB read-limit) — nợ sau seed C2 lượt này; làm ở lượt có ngân sách (LT3 bậc-3, không nén giữa /pause).
- carry: `[carry:w5-host-ondeleted]` (5 host clear-selection sau xoá) · `[carry:w8-delete-policy]` (policy DELETE gắn khi "ổn rồi" + grant Drafter cùng commit) · gotcha #92-candidate ĐÓNG được (root-cause runner = disk KHÔNG phải node_modules — deploy.yml tự-xóa fresh mỗi run) · un-delete a79dd579 Dev nếu muốn sạch.
- chờ-anh (tồn trước): (76)(77)(78)(79) · (89) · (74) · value_protect · lật ô YC-008↔YC-010 · tồn (22)(67)(72).
**(3) con-trỏ:** `runs/2026-08-12-S190-soltuon-dieu-chinh-hd/` (~28 artifact: invest 3-chặng + review 7-lane + style 6 + workers 8 + spec-v2.3 + style-gate-v2 + b5-plan + verify-local + cicd-deploy) · commits `1cc16a2d..091073f9` (8 [CLAUDE]) · prod eoffice `BIN1bEGo`/admin `D2FHMRPX` · Mig 73 · sổ YC-029/030.
```json
{ "machine_block": "python scripts/session_ctx.py machine-block --session 15 --json → anchor=091073f9 @22:10:10 · changed_files=5 (WAL + cicd-MEMORY + 3 run-artifact) — code YC-029/030 ĐÃ COMMIT+PUSH+DEPLOY trước pause; dirty lúc pause = 7 MEMORY seed C2 + marker/mind/snapshot (vào wal: pause)" }
```
---
## (c) STOCK-touched — máy-derive
> Bảng file-đã-đụng trong phiên, **máy-derive** từ `git diff --name-only <anchor>..HEAD` @pause/snapshot. KHÔNG điền tay.
| File | Δ | Ghi-chú |
|---|---|---|
| _(anchor `f8f2ef96` = commit cuối cửa-sổ)_ | 0 | máy-derive @PAUSE-1: `changed_files=[]` — mọi thay đổi đã commit TRƯỚC pause (3 push: `9b3c0edb`·`92d8215a`·`f8f2ef96`); dirty-lúc-pause (10 MEMORY seed + marker) vào `wal: pause`, KHÔNG hiện ở đây (giới hạn anchor..HEAD chỉ thấy phần committed) |
| _(anchor `091073f9` @PAUSE-2)_ | 5 | máy-derive `machine-block --session 15`: WAL · cicd-monitor/MEMORY · 3 run-artifact (sub-cicd-deploy · sub-wq3-test · sub-wq3b-fe). 🔸 Code YC-029/030 (25 file src+fe+tests) ĐÃ COMMIT+PUSH+DEPLOY TRƯỚC pause ⇒ nằm ngoài `anchor..HEAD` (anchor = commit docs cuối); dirty-lúc-pause = 7 MEMORY seed C2 + marker/mind/snapshot → vào `wal: pause` |