Files
solution-erp/.claude/sessions/session-15/_mind-s-15.md
2026-08-12 23:11:23 +07:00

173 lines
21 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.

# _mind-s-15 — SESSION-MODEL lớp MỀM (trí-nhớ suy-nghĩ 4 tầng)
<!-- SCAFFOLD-META: sID=15 | ts-moc=2026-08-10T21:32:10+07:00 | nguon-ts=git log -1 --format=%cI @ HEAD d4799ddd | render=lead Write @session-start Phase 3.5 (session-scaffold.ps1 KHONG render tep nay) -->
<!-- MIND-RULES-START -->
> **sID (LOGIC-session) = 15.** Tệp này giữ 4 thứ KHÔNG nằm ở WAL / HANDOFF / `_context`: **(A)** gói-turn · **(B)** hướng-tiếp · **(C)** kế-hoạch delta-suy-nghĩ · **(D)** đang-thảo-luận (+ **(E)** dòng-sống spawn). Nhà: `.claude/sessions/session-15/_mind-s-15.md`.
> 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.
>
> **GHI = lead (single-writer)** @4 nhịp: block-0 cuối bootstrap · refresh @`/pause` · đọc + đối-chiếu @`/tiep` · mục E gom MỌI spawn/engine-run. **KIỂM = máy + vai** (tách khỏi ghi): `python scripts/session_ctx.py mind-check --session 15` mỗi cửa (~$0) + vai `ctx-audit` @2 bookend (INFORM-only, quyền phán TRƯỢT).
> **Trần tệp** = khoá `mind_ctx_kb` trong `.claude/agent-memory/memory-budget.json` — **B1: trỏ khoá, CẤM chép số vào tệp này.**
### 🔴 CHIỀU CHÈN — NGƯỢC với `_context` (đọc trước khi chèn block đầu tiên)
- **`_mind` = MỚI-NHẤT-Ở-TRÊN.** Block mới chèn NGAY DƯỚI **dòng marker điểm-chèn** (dòng comment nằm ngay trên block top, dưới khối luật này).
- **3 dòng comment marker của tệp** (mở khối luật · đóng khối luật · điểm-chèn) xuất hiện **ĐÚNG 1 LẦN** mỗi cái. Vì vậy phần chữ ở dưới CHỈ gọi chúng bằng **mô-tả**, KHÔNG viết lại tên marker.
- **`_context` FLOW = MỚI-NHẤT-Ở-CUỐI**. **HAI TỆP NGƯỢC CHIỀU NHAU** — CẤM "adopt verbatim" khuôn bên kia sang đây.
- **Số hiệu = ĐẾM số block hiện có TRƯỚC KHI chèn** (block-0 chiếm số 0).
- **Block cũ BẤT BIẾN** (append-only). **Ngoại lệ DUY NHẤT**: nén khi vượt trần — nén block CŨ NHẤT **trừ block-0 và block top**; **<3 block TỪ-CHỐI nén**, giương cờ.
- **Việc ĐÃ-CHỐT chỉ con-trỏ** **CẤM chép nội-dung**.
- **Mục trống ghi đúng chuỗi `(trống — khai)`**. CẤM bỏ heading.
- **5 heading = `### A.` `### E.`** (thứ tự cố định) hợp-đồng hình-dạng cho máy + vai.
- **Mục D: mỗi ý 1 dòng + BẮT BUỘC nhãn DẤU** `{mới-nêu | đang-cãi | gần-chốt | treo-chờ-anh}`.
### 3 RÀO NỘI-DUNG (máy `mind-check` phép 1-3)
1. **Rào-1 — CẤM verbatim lời anh.** Dạng bị bắt = dòng blockquote mở đầu bằng `anh` + hai chấm:
> anh: <lời anh nguyên-văn — dòng NÀY hợp-lệ vì nằm TRONG khối luật>
Verbatim **nguồn-duy-nhất** = `_context` FLOW. Trong `_mind` chỉ được TRỎ: `xem PAUSE-<k>`.
2. **Rào-2 — CẤM khoá thời-gian ở ĐẦU DÒNG.** Mốc sống trong dòng heading, sau em-dash. Regex canonical = `_TS_KEY_RE` trong `scripts/session_ctx.py`.
3. **Rào-3 — CẤM secret, KỂ CẢ dưới dạng ví-dụ.** Tập cấm = `SECRET_PATTERNS` trong `scripts/session_ctx.py` trỏ nguồn, KHÔNG chép mẫu. Quét NHÁP trước khi chèn.
### Enclosure use ⟂ mention
Máy chỉ quét phần **DƯỚI** marker đóng khối luật. Khối luật được phép chứa chuỗi bị cấm để **giải thích**. Đừng dịch ví-dụ xuống dưới, đừng viết nội-dung thật lên trên.
<!-- MIND-RULES-END -->
<!-- diem-chen: block MOI chen NGAY DUOI dong marker duoi day (moi-nhat-o-TREN -- NGUOC chieu _context FLOW).
Marker duoi day phai giu NGUYEN-VAN, KHONG viet chu-thich cung dong: may khop chuoi DAY-DU
(`_MIND_TOP_MARKER` trong scripts/session_ctx.py) -- khac khuon `FLOW-START` cua _context (khong may nao doc). -->
<!-- MIND-TOP -->
## MIND-2 — 2026-08-12T22:52:12+07:00 @ edad406f (window 2, @pause-2)
### A. Gói-turn
- Cửa-sổ 2 L15 chạy 2 mã liền: **YC-029** (5 điều chỉnh GĐ3 anh review prod) + **YC-030** (5 phán quyết Q1-Q5 + push-deploy) — TRỌN cả pipeline 6-bước anh chỉ định lẫn 5-wave fan-out lẫn deploy prod PASS. 8 [CLAUDE] commit `1cc16a2d..091073f9`, test **693→697** (+4 finalize cửa này; STATUS row canonical lật 680→697 vì trước đó ô stale ở 680), Mig 73, bundle rotate ×2 verify độc-lập.
- **#53 ~13 lượt cửa-sổ này, mất 0 việc** — datum bền nhất chuỗi: worker chết SAU code TRƯỚC sổ (W2/W3) hoặc để-file-dở (WQ3b) đều được lead đo-đĩa commit/hoàn-nốt on-behalf. Artifact-first là thiết-kế cứu, không phải may.
- **Vòng review đối-kháng trả cổ tức ĐO ĐƯỢC**: ensemble bắt 2 BLOCKER tiền-đề ("bỏ type=3 trang tự suy" · "BE pendingMe sẵn") mà invest-Fable + lead-verify đều lọt vì nghe-xuôi-khuôn; be2 đo LocalDB 12/13 CanDelete=0 phá claim policy trước khi ship. Lead một mình KHÔNG bắt được các ca này.
### B. Hướng-tiếp + nhánh-đã-loại
- Đi tiếp: **anh kiểm prod** (eoffice 7 loại HĐ + admin 7 mục Designer) — chờ phản hồi lệch-ý-thì-chỉnh. NEXT-em tự chạy: nén 2 memory over-cap · bật cron Gitea (cửa ngoài-giờ, cần restart) · session-log.
- Nhánh ĐÃ LOẠI cửa này: **hoán-đổi-2-khung** (W2 ship rồi anh bác Q1 → remake KHKK-thuần; giữ làm vết bài "đọc-ý bậc-2 phải hỏi khi 3 cách đọc khác chức-năng") · **gắn policy DELETE** (be2 số thật khoá oan + ngược chốt (82) → dời W8) · **approver-delete cho HĐ** (Q4 anh chốt KHÔNG — khác PE, đóng vĩnh viễn) · **revert khi #53** (artifact cứu, không cần).
### C. Kế-hoạch (delta suy-nghĩ)
- **"khuôn X sẵn" phải MỞ X đọc, grep chỉ bắt chỗ-thiếu không bắt cơ-chế** — lên hạng luật lõi cửa này (2 BLOCKER + anchor-code-chết đều class này). Áp cho MỌI spec viện-dẫn khuôn.
- **GỘP 2 thứ thành 1 = kiểm lại mọi thứ cái-bị-gộp gánh một mình** (WQ1 cột-list gộp vào cây → M-1/HĐ-ngoài-gói/Select-chết/badge-mất-nguồn). Cùng họ "đổi cardinality grep consumers".
- **Deploy sau sự-cố = đo TIỀN-ĐỀ hạ-tầng TRƯỚC push** (đĩa 4.7GB < ngưỡng dọn trước, không push ). Root-cause P0 hôm qua = disk KHÔNG phải node_modules (deploy.yml tự-xóa fresh) #92-candidate đóng được, không cần "dọn workspace".
- **Q5 data-op 2 môi-trường**: seeder-tắt-từ-lúc-sinh (env mới) + UPDATE tay (env ) bền qua restart, #75; inspect-before-change bắt Dev-0-pin prod-2-pin (đều ZZTEST terminal, an toàn).
### D. Đang-thảo-luận
- Nén 2 agent-memory over-cap (investigator 23.1K · reviewer 25.4K vượt read-limit) mới-nêu (nợ sau seed C2, làm lượt ngân sách)
- Bật cron.archive_cleanup Gitea chống #89 tái phát mới-nêu (NEXT-em ngoài-giờ, §B; cần restart service dùng-chung VIETREPORT chọn giờ CI lắng bóng sân em, không phải chờ-anh)
- `ring2-audit` over-cap 27.458B (carry MIND-1 §D archive-máy đã loại · refine SPLIT-tay · audit 60,1% bất-khả-drain) đang-cãi (cửa này KHÔNG đụng, chưa drain)
- (76) hai governor sai đơn-vị byteký-tự treo-chờ-anh (carry từ MIND-1, chưa đụng cửa này)
- value_protect phủ khối hợp-đồng-vai treo-chờ-anh
- Con-trỏ-bó về WAL [chờ anh]: (77)(78)(79) · (89) · (74) · lật ô YC-008YC-010 · "ổn rồi" mở W8 (nay gồm cả `w8-delete-policy`) · tồn (22)(67)(72) treo-chờ-anh
### E. Dòng-sống spawn/engine-run
- YC-029 pipeline: `/fable-real investigator-codebase` (3-chặng #53×2 READY) · `/fable-clone reviewer` 3-lane (FAIL-11×2+#53 2 BLOCKER) · `/fable-real` style ×2 (25 SF + 20 SB) · `/fable-clone` style 4-lane (STYLE-GATE-v2 + BS-3 số thật) · `/fable-real reviewer` tổng-hợp (GO_WITH_NOTES) verdicts + con-trỏ = run-folder sub-*.md.
- B6 fan-out 5 wave YC-029 (implementer-fe/be + test-specialist): W4 sạch · W1 sạch · W2/W3 #53-on-behalf · W5 3-worker (test REDBE GREEN 680693FE) con-trỏ `sub-b6-w1-worker.md`..`sub-b6-w5c-fe.md` + `sub-gate-w5-reviewer.md` (gate #53 lead-gate on-behalf).
- YC-030: WQ1-FE (layout KHKK-thuần, FLAG-panel-không-nhân-đôi `sub-wq1-fe.md`) · WQ3-BE (#53-ruột-đủ-đĩa, Mig73 `sub-wq3-be.md`) · WQ3-TEST (GREEN 4/4 probe-vi-phân `sub-wq3-test.md`) · WQ3b-FE (#53 lead hoàn-nốt 5 host `sub-wq3b-fe.md`).
- `cicd-monitor` deploy #600 **PASS 6/6** (697 · Mig73 · bundle byte-match · smoke · #91-guard), tự-ghi MEMORY 19KB `sub-cicd-deploy-yc030.md`. Lead re-verify độc-lập KHỚP.
- `ctx-curator` @pause-2 (carve-out §1) SUA-5 (nhãn cron + con-trỏ-bó W8 + con-trỏ E workers + carry ring2 + số 693-not-680; áp trọn 5/5 vào bản này), verdict ghi biên-nhận.
## MIND-1 — 2026-08-11T12:13:20+07:00 @ f8f2ef96 (window 1, @pause-1)
### A. Gói-turn
- Cửa sổ 1 của L15 đi trọn ba hồi: bookstart 12 vai TRỌN MỘT LƯỢT (sau PN-002) sự cố prod A/059 **4 tầng giải trọn** (disk-0-byte orphan-sshd-của-chính-lead Gitea-tầng-app-câm RAM-unbounded), ship #486 verify 2 vòng cicd **P0 chen giữa /pause**: bundle #486 crash `React null useState`, CI build LỆCH local >100KB CÙNG commit ⇒ **BUILD-ENV runner hỏng** (workspace giữ giữa run + 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 đè 2 site → SỐNG** (form render + marker CÓ), outage ~15'. Anh báo màn-hình-trắng — nguyên văn: xem `_context` PAUSE-1.
- #53 lên ~11 lượt cửa sổ này (delta so MIND-0 §A: +cicd ×2 +ctx-curator), vẫn **0 byte mất** — bài artifact-first giữ nguyên; riêng vai text-only (curator) không có đĩa để cứu ⇒ resume-đòi-verdict là đường duy nhất.
- Vòng kiểm bác lead **4 lần đúng cả 4** — 3 lần đầu: MIND-0 §A; **MỚI lần 4**: `harness-audit` bác "bề-mặt-đo chưa chạm" bằng 2 SHA trong cửa sổ. Cộng `ctx-curator` SUA-9 (toàn grep + control dương) = lớp kiểm đang trả cổ tức đều.
### B. Hướng-tiếp + nhánh-đã-loại
- Đi tiếp: đợi anh (danh sách chờ-anh — WAL, không tự đếm số ở đây) · **CỬA NGOÀI-GIỜ gộp 1 lần**: DỌN WORKSPACE RUNNER + dispatch run verify CI lành (vá-gốc P0) + (3B) Gitea cron + decompress + đo lại A/059.
- 2 nhánh ĐÃ LOẠI từ trước: giữ nguyên, xem MIND-0 §B (archive-ring2-theo-máy · vá-ef-core-theo-H1).
- Nhánh ĐÃ LOẠI MỚI — `git revert 92d8215a` khi P0: SOURCE lành (dist local cùng commit chạy sạch), hỏng ở BUILD-ENV ⇒ revert là vá nhầm tầng + mất bản vá #44. Loại luôn *chờ-CI-rebuild*: env còn thối thì rebuild lại ra bundle thối.
- Nhánh ĐÃ LOẠI MỚI — `AsSplitQuery` ngay giữa sự cố: payload thật bé (2K row), gốc là CPU-đói; wave BE riêng có test+review.
### C. Kế-hoạch (delta suy-nghĩ)
- Sai-đơn-vị: 3 ca giữ nguyên (MIND-0 §C) — **DELTA**: nâng thành câu hỏi thường trực trước MỌI phép so cap/ngưỡng: *"đơn vị của máy đếm có đúng là đơn vị của vật bị đo?"*
- **Cost-của-thuốc vào báo cáo** (mới cửa này, 3 ca): restart-gitea → re-index bẩn số đo (cicd tự khai) · ssh|head → orphan 3 core (lead, RCA) · npm-cache-wipe → nghi góp bundle hỏng (lead, WAL). Thuốc nào cũng có hoá đơn — giấu dưới "transient" là gian số.
- **"Vắng-mặt cái đáng-lẽ-có" mạnh hơn mọi tín hiệu xanh** (mới): Gitea câm chỉ lộ qua `updated_at`(DB) ⟂ `head`(git-đĩa) LỆCH TRONG CÙNG API — đã khắc #91 thành phép Stage-2 của verifier.
- **Build-env = trạng thái TÍCH LŨY** (mới, từ P0): self-hosted runner giữ workspace ⇒ một đêm disk-0 để lại di chứng nhiều NGÀY sau; "build xanh" ≠ "artifact lành" — thói quen build-local-trước-push vừa cứu outage, giữ.
### D. Đang-thảo-luận
- `ring2-audit` over-cap **27.458B** vá đường nào (archive-máy ĐÃ LOẠI vì xoá thước · refine đề SPLIT-tay · audit chứng 60,1% bất-khả-drain theo spec hiện hành) — đang-cãi
- (76) hai governor sai đơn-vị — **chứng MỚI cửa này**: theo KÝ-TỰ 0/29 vai vượt (max 96,5%) ⇒ cảnh báo byte đang kêu oan — treo-chờ-anh
- value_protect phủ khối hợp-đồng-vai (quyền anh; audit nêu 0/10 pattern phủ) — treo-chờ-anh
- Lật ô YC-008↔YC-010 (số gõ nhầm dòng con, T3 xác nhận) — treo-chờ-anh
- Dọn workspace runner + rebuild verify (vá-gốc P0; làm ở CỬA NGOÀI-GIỜ) — mới-nêu
- Pin `max server memory` cho các máy SQL nhỏ khác cùng hạ tầng (default unbounded = bom chậm) — mới-nêu
- Con-trỏ-bó (KHAI: đây là BÓ con-trỏ về WAL [chờ anh], không phải 1 ý): (77)(78)(79) · (89) a/b/c · (74) · YC-025 review GĐ3 · "ổn rồi" mở W8 · tồn (22)(67)(72) — treo-chờ-anh
*(Ghi chú rời-§D theo luật điểm-8 curator: phép-kiểm-ĐỦ-CỬA · ring5@open · regex 🆕 — cả 3 đã vào WAL NEXT-em, xử lý như D4/D5 của MIND-0.)*
### E. Dòng-sống spawn/engine-run
- 12 spawn bookstart @open: verdicts + con-trỏ = MIND-0 §E (TRỎ, không chép lại).
- `cicd-monitor` ×2 vòng — FAIL-8/11 (chẩn "CI chưa từng được gọi" — đúng) → PARTIAL-8/9 (ship TRỌN; 1 fail latency do RAM+re-index, tự khai cost) — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-cicd-monitor-yc028.md`
- P0 hotfix trắng-màn: **em-main SOLO 0 spawn** — vết = WAL chain `[x] P0` + `_context` PAUSE-1 (đã bổ) + console-error + so-size 3 bundle; không đẻ run-folder cho hotfix 15'.
- `ctx-curator` @pause-1 (carve-out §1) — **SUA-9** (return #53, resume-đòi-verdict OK; 9 điểm toàn grep+control, đã áp trọn vào bản này) — verdict ghi `_context` PAUSE-1 mục (3).
## MIND-0 — 2026-08-11T00:45:53+07:00 @ 8dc5fd7f (window 1, @open)
### A. Gói-turn
- Bootstrap L15 chạy **TRỌN MỘT LƯỢT** sau khi owner bắt lỗi: lead mở phiên vẫn dừng ở `0.7(b)` hỏi consent trong khi `PN-001`/`YC-026`/`YC-027` đã chốt từ lượt trước ⇒ câu trả lời **đã nằm sẵn trên sổ**, hỏi lại là tự chế cổng. `lead-gap-auditor` sau đó xếp đúng ca này vào `gap-incident-unrecorded` (F-1) — 0 hit trên 7 sổ bền.
- 12 vai chạy, **8 lượt return dính #53, mất 0 byte**. Từ vai thứ 5 lead đưa artifact-first vào **lệnh gốc** thay vì vá sau ⇒ không lượt nào phải cứu lại, chỉ cần bảo làm nốt. Nghĩ đáng giữ: **độ bền nằm ở NƠI ĐỔ DỮ LIỆU, không nằm ở chất lượng đường truyền về**.
- Vòng kiểm bác lead **3 lần** và lần nào cũng đúng: (i) hướng đọc `_end` ⟂ WAL — lead lấy *thứ tự thời gian* làm thước, thước đúng là **đếm nhân chứng** (6 chọi 1); (ii) giả thuyết "thói quen khắc luật" cho YC-027 2/4 cửa — `ring2` đưa phản ví dụ `YC-021` 3/4 ⇒ cái thiếu là **phép kiểm ĐỦ-CỬA**; (iii) lead tuyên "bề-mặt-đo chưa chạm" — `harness-audit` chứng `c610ed0d`+`9694ae9a` đã đổi 2 file corpus **trong** cửa sổ.
- Lead tự thoát một bẫy nhờ may: công thức đếm Migration in trong `STATUS:471` áp đúng chữ ra **71** (nạn nhân `AddPeApprovedBudgetSnapshot.cs`); lead tình cờ dùng mẫu hẹp hơn nên ra **72** đúng. `ring1` xác nhận bằng 4 engine + bất-biến-cặp 72×2-file.
### B. Hướng-tiếp + nhánh-đã-loại
- Đi tiếp: chạy loạt vá đang **xếp hàng sau verdict cuối** (error-ledger tầng-2-sai · `CLAUDE.md:77` · WAL dòng 2 · `contract-workflow/SKILL.md:458` · 3 mục NEXT-em đã xong · `h24-signal-write` · dọn stray dir rỗng), rồi chờ việc kế của owner.
- Nhánh **ĐÃ LOẠI** — thi hành đơn thuốc `PROPOSE archive` của máy cho `ring2-audit`: `harness-audit` tái dựng số học (`floorStart 75=2`, `after-est 24.928` byte-exact) chứng move-set đúng là {`## 🎯 Role baseline`, `## 📅 Runs`} ⇒ **chạy là xoá thước của một vai KIỂM**. Loại ở tầng cơ-chế, không phải hoãn.
- Nhánh **ĐÃ LOẠI** — vá `ef-core-migration/SKILL.md:99` theo F-6 của H1: `ring1` phán **dương-giả** (`:21-23` cấm đọc số từ bảng, `:25` tự tuyên tụt-sau hợp lệ), `lead-stale` đúng ⇒ vá `CLAUDE.md:77` một mình là đóng trọn defect.
- Nhánh **ĐÃ LOẠI** — in điểm đáp-ứng-yêu-cầu: `A8` còn lệnh cấm in chừng nào chưa có tỉ lệ phủ sóng ⇒ ghi `KHÔNG ĐO ĐƯỢC`, kể cả khi tầng-2 đã nặn ra được một con số.
### C. Kế-hoạch (delta suy-nghĩ)
- **Đổi cách đọc "cảnh báo còn kêu":** trước gom thành một dòng nợ; nay tách **2 gốc ngược nhau***thước sai đơn vị* (sửa thước, cảnh báo tự tắt) ⟂ *việc đã xong mà sổ chưa lật* (sửa sổ, đừng đụng thước). Gộp là mất hướng xử lý. Ca sống: byte⟂ký-tự vs 3 mục NEXT-em đã land.
- **Đổi cách tuyên đóng-băng:** "chưa ghi bề-mặt-đo" phải khai **CHỦ THỂ** — lead không ghi ≠ bề mặt không đổi, vì vai ghi diary và Stop-hook nuốt vào `wal:`. Nấc đúng: đóng băng **giữ cho 6 nguồn hotload**, KHÔNG giữ cho corpus agent-memory.
- **Lớp sai-đơn-vị lên hạng class:** byte⟂ký-tự (2 over-cap giả) · dòng⟂slug (19 vs 56 carry, lặp 3 lượt) · streak⟂tuổi (`gap-carry-aged=0` Goodhart) — ba ca cùng tuần, cùng hình: hai đại lượng chung tên gọi tắt, phép đếm đúng mà đếm nhầm thứ.
- **Nghi thức tự tắt đèn của mình:** re-stamp 47 slug reset **51/56 slug về streak=1** ⇒ làm đúng nghi thức là vô hiệu hoá máy đo-tuổi. Cần nghĩ lại quan hệ giữa *hành-vi-được-thưởng**tín-hiệu-bị-tắt*.
### D. Đang-thảo-luận
-`ring2-audit` over-cap bằng đường nào, khi drain chỉ được 6,4% và 60,1% file bất-khả-drain theo spec — đang-cãi
- Mở rộng `value_protect` phủ khối hợp-đồng-vai (audit nêu, cố ý không tự đề xuất sửa vì là quyền owner) — treo-chờ-anh
- Dựng **phép kiểm ĐỦ-CỬA** cho mọi luật khắc vào file lệnh (thay giả thuyết thói-quen đã bị bác) — mới-nêu
- Gọi `ring5-audit` ở cả cửa MỞ, không chỉ cửa ĐÓNG (guard RCA `ONESHOT-S188` hiện không fire được @open) — gần-chốt
- Sửa regex `**🆕 Last updated:**` trong detector (máy đang bám mốc cũ 9 ngày) — thuộc turf detector/H1, mới-nêu
- Câu (76) hai governor sai đơn vị: nay có thêm chứng 0/29 vượt theo ký-tự — treo-chờ-anh
- (89) 4 class H24 vượt ngưỡng JUMP · (74) rotate · (76)(77)(78)(79) · tồn (22)(67)(72) — treo-chờ-anh
- Review 1 lần module GĐ3 trên prod theo `YC-025` — treo-chờ-anh
- Lật ô `YC-008``YC-010` trong sổ yêu-cầu (số gõ nhầm dòng con, tầng-3 xác nhận) — treo-chờ-anh
### E. Dòng-sống spawn/engine-run
- `tooling-auditor` — PASS_WITH_FLAGS 7 — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-tooling-auditor-open-S189.md`
- `harvest-curator` — GATE-FAIL-5 — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-harvest-curator-open-S189.md`
- `ring1-audit` — 26Đ/4T/6KC trên 36 claim — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-ring1-audit-open-S189.md`
- `lead-stale-auditor` — 11 FLAG deep (SÀN≠TỔNG) — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-lead-stale-auditor-open-S189.md`
- `lead-gap-auditor` — 7 FLAG deep — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-lead-gap-auditor-open-S189.md`
- `ring2-audit` — 7Đ/3T/14KC trên 24 claim, enum-gate 18/18 — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-ring2-audit-open-S189.md`
- `harness-eval` — MIXED 38 trục / 13 REGRESSION — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/harness-eval-return.md`
- `harness-refine` — 2 action / 16 BÁC — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/harness-refine-return.md`
- `harness-audit` — 24Đ/7T/4KC, re-chạy 4 instrument / 98 số — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/harness-audit-return.md`
- `score-counter` — 4 mục nhắc≥2 (tầng-3 BÁC phép đếm) — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-score-counter-open-S189.md`
- `score-count-auditor` — SAI-TẦNG-2 (L1+L2), tầng-1 0 lỗi — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-score-count-auditor-open-S189.md`
- `ctx-audit`@open, PIN tệp này + run-folder — `.claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-ctx-audit-open-S189.md`