# _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 CÓ 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 có **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-3 — 2026-08-13T02:05 @ d6026b14 (window 3, @closeout — refresh bookend)

### A. Gói-turn

- Cửa-sổ 3 = `/tiep` nối S190 → **cứu prod 2 lớp** (cửa ngoài-giờ: cron Gitea + `Vietreport_Master` khỏi RECOVERY_PENDING) → **P0-2 eOffice trắng màn** → **vá GỐC #92** (`305b573f`: `npm ci` + lockfile-committed + GUARD-92) → CI **#488 PASS 6/6, hash CI==local 4/4** → runtime-verify 2 app console 0 lỗi → closeout 12 vai.
- Datum bền: **6/8 vai @close garble #53** — recover trọn bằng SendMessage-resume + artifact đĩa, **0 việc mất**.

### B. Hướng-tiếp + nhánh-đã-loại

- Đi tiếp: **anh kiểm prod GĐ3** trên bundle mới (`CR538vZx`/`C10ta-wB`); "ổn rồi" ⇒ mở W8.
- Nhánh ĐÃ LOẠI cửa này: **dọn npm-cache/workspace runner** (giả thuyết ② — run #488 bác: ra 4/4 hash trùng local mà không dọn lần nào) · **pin node runner** (chưa làm, chờ anh — không phải loại).

### C. Kế-hoạch (delta suy-nghĩ)

- 🔴 **ĐÍNH CHÍNH claim chết trong MIND-2 §C** (block đó BẤT BIẾN, không sửa đè — đây là bản đính chính hợp lệ): câu *"Root-cause P0 = disk KHÔNG phải node_modules ⇒ #92-candidate đóng được"* **ĐÃ BỊ BÁC 2 VÒNG**. Root-cause thật + chuỗi bác đo được ⇒ trỏ `docs/gotchas.md` §92 (không chép lại lập luận). Cùng claim còn nằm ở `_context-s-15.md:87` + `_snapshot-2.md:13` — **để nguyên** (rời đường nạp khi L15 đóng; sửa `_context` = phá luật CẤM-rewrite FLOW).
- **Bài lớn nhất cửa này:** *"vá một bề mặt rồi tưởng đã vá cả lớp"* — lead vá `gotchas.md` mà bỏ `STATUS`, tái diễn **đúng defect** mà `lead-stale` F1 vừa chỉ tên (*sửa một phía trong cùng một hơi viết*). `ctx-audit` F-1 bắt: 4 bề mặt mang claim, chỉ 1 được vá, và bề mặt **sống lâu nhất** (`STATUS`, canonical) thì bị bỏ ⇒ đã vá @closeout.
- **Verify deploy phải có 1 phép đo RUNTIME** — 2 lần trắng màn đều lọt vì mọi cổng đo FILE (byte-match + HTTP 200), không đo CHƯƠNG TRÌNH CHẠY. Byte-match giữa 2 đầu mà **cả hai đầu chưa ai chạy** thì hai file giống hệt nhau vẫn cùng crash.

### D. Đang-thảo-luận

- Pin node/npm runner (`.nvmrc`=20 CÓ ở `fe-*/` nhưng CI 0 bước đọc — ghost-wire class-2) — treo-chờ-anh
- Lớp ③ archive **đã bão hoà** (5/5 vật khoá, append/drain 2,5×) ⇒ cần đổi cơ-chế, không cắt sâu hơn — treo-chờ-anh
- Đơn-vị governor byte ⟂ ký-tự: `lead-gap` nay **99,8% theo KÝ-TỰ** ⇒ lần đầu 2 thước sắp đồng ý — đang-cãi
- `session-end` thiếu bước ghi block `_mind` (lần 3, `ctx-audit` F-3) — mới-nêu
- Ca-3 của *"bị 2-3 lần rồi"*: sổ truy được 2 ca có vết, ca-3 không vết — treo-chờ-anh

### E. Dòng-sống spawn/engine-run (window 3)

- Vá gốc + verify: `cicd-monitor` → **PASS 6/6** (run #488, hash CI==local 4/4) · artifact `.claude/workflows/runs/2026-08-12-S190-soltuon-dieu-chinh-hd/sub-cicd-va-goc-92.md`
- Bookend @close, artifact trong `.claude/workflows/runs/2026-08-13-S191-bookend-close/`: `tooling-auditor` **PASS_WITH_FLAGS 8** · `harvest-curator` **GATE-HOLD 6** · `lead-stale-auditor` **10 FLAG** · `lead-gap-auditor` **7 FLAG** · `ring1-audit` **33 ĐẠT/2 TRƯỢT** (2 TRƯỢT rơi vào PIN của lead) · `ring2-audit` **15 ĐẠT/0 TRƯỢT** · `harness-eval` **MIXED 37 trục** · `harness-refine` **3 action/16 BÁC/6 ESCALATE** · `harness-audit` (đang chạy) · `ctx-audit` **TRƯỢT 6 FLAG** · `ring5-audit` (đang chạy) · `ctx-verifier` @tiep-2 **13 cờ**
- Engine-đắt: 0 lượt cửa này (không gọi lệnh engine per-invocation nào).


## 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 mù). 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 cũ) — bền qua restart, né #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 có 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ị byte⟂ký-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-008↔YC-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 RED→BE GREEN 680→693→FE) — 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 7−5=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* và *tín-hiệu-bị-tắt*.

### D. Đang-thảo-luận

- Vá `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`
