# sub-ctx-audit-open — SOI-CHUỖI lớp trí-nhớ MỀM @open S182 (L13)

**VERDICT: `CTX-AUDIT: TRUOT — 7 FLAG`**
Ca **FALLBACK HỒI-TỐ ĐẦY-ĐỦ** (0 pause / 0 tiep ⇒ `ctx-curator` + `ctx-verifier` chưa chạy lần nào; 5-khoản + 4-khoản là **TỰ SOI**, không phải kiểm-vết).

> ⚠️ **#53:** first-return garble — câu garble chứa finding thật (`mind-blocks=1` vs đĩa 2). Recover bằng resume. **7/7 vai garble lượt này.**

---

## FLAG-1 [khoản 2+5] **HIGH** — `_mind-s-13:99` hồi sinh một quyết-định ĐÃ CHỐT + ĐÃ SHIP thành `{đang-cãi}`, kèm khẳng-định SAI

Dòng viết: `{đang-cãi}` 7 baseline `-Expect` … *"đã rơi khỏi mọi sổ bền"*.
**Sự thật đo được:** `owner-decisions-07-08-2026-dot-2.md:20` anh chốt câu **6 = "b — tách ra file dữ-liệu"** · `so-yeu-cau-chu-du-an.md:40` **`YC-007`** trạng thái **đóng** · **đã thi hành**: `scripts/naming-baseline.json` **1.354 B**, header *"Owner chot phuong an (b) tach-file-du-lieu @S181 (cau 6)"*; `naming-scan.ps1:129-131` đọc baseline thay hardcode; land `a3776eaa`.

**Cơ-chế:** `lead-gap` FLAG-6(a) đo bằng **một chuỗi TÊN CŨ** `-Expect` trên 5 tệp doc → 0 hit → kết "rơi". Quyết-định land dưới **tên khác** ("baseline"/"khoản 6") và trong `.json`+`.ps1` — **ngoài tập grep**; vai còn tự ghi control-dương *"`baseline` có hit ở STATUS"* mà **không lần theo sợi đó**.
🔴 **Bài: 0-hit theo TÊN đọc thành "đã rơi".**
**Rủi ro:** §D là bề mặt cửa-sổ mới đọc TRƯỚC TIÊN ⇒ **mời revert đúng cái single-source anh chọn ngược khuyến-nghị lead**.

## FLAG-2 [khoản 2] **HIGH** — món `{gần-chốt}` **V-5 RƠI THẬT**; đây là món `lead-gap` FLAG-6 **SÓT**

`_mind-s-12:114` `{gần-chốt}` **V-5 vị-từ mã-hoá** (*"chỉ chờ chỗ cắm"*). Vắng khỏi block-0 `_mind-s-13`; `HANDOFF` 0 · `WAL` 0 · `STATUS` 0 (hit duy nhất = chữ "0-mojibake" entry cũ G-009, **khác vật**, tách bằng `grep -o` ngữ cảnh). Nhà duy nhất còn sống = `bao-cao-cuoi.md:79` = **artifact ĐÓNG + đã gửi hub**, không phải hàng đợi việc.

🔴 **Control-dương nằm TRONG CÙNG MỘT DÒNG `:79`:** *"W3b cắm mã thoát (soak, tự tan) · **V-5 vị-từ mã-hoá chưa cắm** · …"* — `W3b` đi tiếp tới `HANDOFF:7` **và** `_mind-s-13:101`; V-5 **cùng câu, cùng người ghi, không đi đâu**.
⇒ **Số món rơi thật ≥ 3, không phải 2.**

## FLAG-3 [khoản 5] **MED** — VK-5: ba bề mặt, `_mind` ngược hai cái kia

`_mind-s-13:95` `{treo-chờ-anh}` ⟂ `owner-decisions-…-dot-2.md:49` *"✅ VK-5 — CHỐT GIỮ PHỤ LỤC @S181"* ⟂ `sub-lead-gap-auditor.md:95` *"4 câu `HANDOFF:6` — ĐÃ CHỐT … (4) VK-5 giữ phụ lục"*.
Vai **không phán bên nào đúng**: nếu lead đúng (chữ "OK" không chỉ nhánh) thì ledger đang **ngân một chữ OK quá tay** — đúng ca S179 mà `HANDOFF:64` giữ làm bài học; nếu ledger đúng thì §D đang giữ câu đã trả lời và sẽ **hỏi anh lần 2 (vi phạm A5)**.
**Hướng fail-safe:** hạ `owner-decisions:49` xuống nấc *"lead đọc là chốt, chưa có chữ chỉ nhánh"*.

## FLAG-4 [khoản 5] **MED** — deep-sweep H24: **đổi nhãn, không đổi kết quả**

`_mind-s-13:96` gán `{treo-chờ-anh}`; `HANDOFF:7` gán *"NEXT-em (tự chạy, không cần anh)"*; `HANDOFF:11` ghi `lead-gap` @S181 đã FLAG `gap-decision-sunk` vì lead **hạ** nó xuống ngang việc vặt, kèm *"Cổng kêu mà không đổi hành-vi = cổng không có răng."*
⇒ @S181 bị bắt vì **HẠ**, @S182 **NÂNG** lên treo-chờ-anh — **hai nước đi ngược chiều, cùng kết quả: không chạy**, 15/15 → **16/15**.
🔴 `treo-chờ-anh` **tệ hơn** ở một điểm: khoá món sau cánh cửa **chỉ anh mở được** ⇒ nợ trôi tiếp **với lý do trông chính đáng**.
**Máy mù trọn:** phụ-9 chỉ hỏi *"có nhãn chưa"*, không hỏi *"nhãn có chuyển chủ-thể trách-nhiệm không"*.

## FLAG-5 [khoản 5] **MED** — §B trỏ "4 câu số" = referent mơ hồ, bề mặt gần nhất của nó đã THỐI

`_mind-s-13:79` §B: *"chờ anh chốt **4 câu số**"*. §D phiên này có đúng 4 ý `treo-chờ-anh` — một cách đọc. Nhưng `HANDOFF:6` **cũng có đúng 4** câu dưới *"🔢 CHỜ ANH"*, và **cả 4 đã trả lời + thi hành @S181** (`936d1aed`), **bảng chưa lật**.
⇒ Cửa-sổ mới đọc §B rồi mở HANDOFF sẽ **khớp nhầm vào danh sách đã chết** và hỏi lại anh 4 câu đã trả lời. §B là ô dựng ra để **chống đảo lại vòng cũ**, ở đây nó **tự trỏ vào vòng cũ**.
**Sửa rẻ:** viết thẳng **số slot** thay vì đếm "4 câu".
*(`HANDOFF:6` thối là lane `lead-stale`; 11 FLAG lượt này rơi vào `:38 :40 :7 :11 :8 :9`+STATUS+persona, **không có** `:5`/`:6` — nêu vì `_mind` §B tựa vào đó, **không chấm vai kia**.)*

## FLAG-6 [cân-sổ ở chốt-kết] **MED** — `session-12/_end:7` khai `mind-blocks=1`, đĩa có **2**; lỗi **CẤU-TRÚC**, không phải gõ nhầm. **MÁY CÓ BẮT, mức `co-INFO`**

Đĩa: `grep -c '^## MIND-[0-9]' _mind-s-12.md` = **2**. `_end:7`: `markers: _pause=1 · _tiep=1 · _snapshot=0 · mind-blocks=1`.
**Cơ-chế chứng bằng mtime:** `_end` = **23:28:49**, `_mind-s-12.md` = **23:30:11** ⇒ block refresh-@closeout ghi **sau `_end` 82 giây** ⇒ dòng `mind-blocks=` **về nguyên tắc KHÔNG BAO GIỜ đếm được** block refresh-bookend.

🔴 **Hệ quả nặng:** bản vá S162 dựng vế fail-LOUD *"`|block|` không tăng thì `_end` BẮT BUỘC mang `mind-refresh: BỎ QUA — <lý do>`"* — nhưng từ `_end`, ca **đã refresh** và ca **bỏ qua refresh** in ra **CÙNG MỘT con số**. **Vế fail-LOUD mất răng ngay tại sổ nó phải kêu.**

**Phép quyết định (ĐÃ CHẠY):** `mind-check --session 12` → `(6) bat-bien: co` / `co-INFO lech tu-khai: '_end' mind-blocks=1 vs DIA 2 (DIA THANG)` / `verdict: dat=9 TRUOT=0 co=2 exit 0`.
⇒ Máy **có răng ở mức cờ-INFO, KHÔNG chặn** (exit 0), và cờ đó **chỉ sống ở phiên 12 — không ai đọc lại sau khi phiên đóng**. Đúng hợp-đồng §(iv): **đĩa thắng**, bất-biến chuỗi vẫn ĐẠT.
**Sửa rẻ:** đếm `mind-blocks=` **SAU** bước refresh.

## FLAG-7 [khoản 3] **LOW-MED** — §E thiếu đúng lượt spawn cuối của chính cửa-sổ mình, và thiếu CÓ HỆ-THỐNG

§E phủ **12/12** vật đã có verdict lúc ghi: 5 probe (1 dòng, trỏ registry) + 6 vai bookend + `ring4-audit` **NO-OP có khai** ⇒ ✅ **ca NO-OP KHÔNG bị bỏ im — ĐẠT, ghi công lead.** Verdict đối chiếu **4/4 khớp** sub-file + synthesis.
**Thiếu:** `ctx-audit` — **0 hit** dưới marker (2 hit duy nhất `:10`, `:22` đều **trong khối luật**; control-dương `ring2-audit`=2, `ring4-audit`=1).
**Cơ-chế:** block-0 ghi ở Phase 3.5, `ctx-audit` spawn ở Phase 3.5**(iii)** ⇒ block-0 **luôn ghi một nhịp TRƯỚC lượt cuối nó phải kể** — 🔴 **CÙNG HÌNH với FLAG-6**. Tiền lệ vá được: @S173 §E có dòng cho vai **đang chạy**.

---

## Khoản 1 — block-0 có NỘI-DUNG THẬT: **ĐẠT**

Không dựa metadata. Mảnh khuôn/máy không tự sinh được: tên ý §D (*"`ring1-audit` persona ghi «CẤM tự chạy ở open»"* `:102`) + E-verdict cụ thể (`ring1-audit` → `41 ĐẠT / 7 TRƯỢT / 8 KC` `:111`) + §B nhánh-đã-loại (d) (*"12 là ĐÚNG SỐ, chỗ sai là cây `:44-77`"* `:84`).
🟢 **Block-0 GIÀU NỘI-DUNG NHẤT trong 5 phiên vai chấm** — khác hẳn S173 (4/4 phiên block-0 = bản sao SCAFFOLD-META).

## Khoản 4 — việc ĐÃ-CHỐT chỉ dùng con-trỏ: **ĐẠT**

§A/§E dùng path đầy đủ tới run-folder/sub-file; **0 ca chép lại nội-dung verdict đã chốt**. §A `:74` trỏ `bookend-open-synthesis.md` thay vì chép bảng.

## Khoản 6 — 🎣 MỒI-NGẦM gieo cho @close

> **MỒI = ý `_mind-s-13:102` — `{mới-nêu}` "`ring1-audit` persona ghi «CẤM tự chạy ở open» mà lead giao @open 5 phiên liền — sửa persona hay sửa vận hành".**

**Lý do chọn:** ý chưa-chốt **DUY NHẤT trong §D không có bất kỳ nhà nào**. Đo: `carry:ring1*` trong HANDOFF = **0** · `"CẤM tự chạy"` trên HANDOFF/STATUS/WAL = **0/0/0** · `"R-3 / persona thối"` trong HANDOFF = **0**; **control-dương** `carry:ring5-audit-gap` = **6 hit** (ý anh em CÓ nhà). Không slug, không slot, không sổ ⇒ **rủi ro rơi cao nhất**, đúng khuôn vừa giết V-5 (FLAG-2) và suýt giết baseline (FLAG-1).
**Cách chấm @close:** **grep NỘI DUNG**, không neo số dòng (bài S158) — tìm cụm persona/vận-hành `ring1` ở block `_mind` mới · `_tiep-*` · WAL · HANDOFF. **ĐẠT** nếu được mang tiếp HOẶC đóng-CÓ-KHAI; **TRƯỢT** nếu biến mất im lặng.
🔴 **Khai kẽ (không tô thành tính năng):** single-lead ⇒ *"bên bị chấm không biết mồi"* chỉ đúng **xuyên cửa-sổ**; trong cùng cửa-sổ này lead đọc được return ⇒ mồi **không mù**.

## checklistEvidence — số TỰ tái dựng (không tin lời khai)

- Đĩa s13: `_pause-*|pause-*` = **0** ⇒ p=0; `^## MIND-[0-9]` = **1**; kỳ vọng `[p, p+3]`=[0,3] ⇒ **ĐẠT**. Máy in y hệt ⇒ **0 lệch**.
- Đĩa s12: p=**1**, |block|=**2**, [1,4] ⇒ **ĐẠT** (tự-khai lệch ⇒ FLAG-6).
- 5 mục A-E **5/5** đúng thứ tự, 0 mục trống. Nhãn D **9/9** đúng chuỗi có dấu ⇒ **trượt-cấu-trúc = 0** (sai là **NỘI DUNG** nhãn — FLAG-1/3/4 — **máy không thấy**).
- 3 rào tự soi (dòng >68): rào-1 = 0 · rào-2 = 0 · rào-3 = 0; **control-dương** `^- ` = **25** ⇒ thước sống, 0-hit là thật. **Máy KHÔNG hở.**
- §B vs `WAL next:` — WAL rỗng 182 B, `next: (trống)` ⇒ không có lệch để "tin sổ máy"; hệ quả gộp vào FLAG-5.
- **Tự re-chạy thay vì tin PIN:** `mind-check --session 13` → `dat=11 TRUOT=0 co=0 exit 0`, **khớp PIN từng số**. 🟢 **Lần đầu trong 4 lượt PIN của lead còn tươi** (S162 · S169×3 · S172 đều hết hạn). Kỷ luật re-chạy giữ, nhưng lần này nó **xác nhận lead, không bắt lead**.

## Thách-CLEAN

Máy 0 trượt 0 cờ ⇒ nghĩa vụ kích hoạt. Soi 2 chỗ máy mù: (a) §E vs `runs/`+registry → FLAG-7 + xác nhận NO-OP ĐẠT; (b) ý D vs WAL/owner-decisions/sổ REQUEST → FLAG-1, 3, 4. **7/7 FLAG đều NGOÀI tầm máy** (ngữ-nghĩa + liên-phiên).

## Khai lane

FLAG-1 lộ lỗi đi qua **3 tầng** rồi vào `_mind`: `lead-gap` FLAG-6 phát → `ring2` chấm `lead-gap` **6/6 ĐẠT** (G-6 chỉ kiểm vế **tự-rút P5/P7/P8**, không đo lại 2 món còn khai "rơi") → lead promote vào §D. Vai **KHÔNG chấm** `lead-gap`/`ring2` (lane khác); chỉ nêu **đường lây** vì đích đến là §D — lane của mình. **Escalate lead phán.**

## memoryDelta đề xuất (propose-only — vai PHÁN, lead GHI)

- `mind-carry-restore-stale-form` — vớt carry mà **không re-đo trạng-thái** ⇒ hồi sinh việc đã chốt.
- `mind-selfcount-before-refresh` — FLAG-6 + FLAG-7 **CÙNG MỘT HÌNH**: sổ cân được ghi **một nhịp trước** sự kiện cuối nó phải kể.
- `carry:v5-vi-tu-ma-hoa` — món rơi cần nhà thật.
