# ring2-audit — KIỂM vòng-ĐO soi-lead (H24) — bookend @open S163 (phiên-LOGIC L9)

> Vai: cặp mắt độc-lập trên OUTPUT của `lead-stale-auditor` + `lead-gap-auditor`.
> RANH: tao KIỂM 2 con-đo. Tao KHÔNG soi LEAD trực-tiếp. no-self-exempt: tao ≠ lead-stale/lead-gap.
> Chế-độ ghi: APPEND-LIÊN-TỤC. Mỗi verdict/phép falsify xong là đổ ngay xuống đây, KHÔNG gom.

---

## §0 — PIN input (fail-closed, đích-danh, KHÔNG glob "mới nhất")

| pin | path | byte đo lại | mtime đo lại | END-line |
|---|---|---|---|---|
| lead-stale | `.claude/workflows/runs/2026-07-30-S163-bookend-open/sub-lead-stale-open-S163.md` | **29.012 B** ✅ khớp pin | 2026-07-30 16:18:16 | `TOTAL=12 FLAG — COVERAGE=7/8 nhóm (G7 governance CHƯA CHẠM)` |
| lead-gap | `.claude/workflows/runs/2026-07-30-S163-bookend-open/sub-lead-gap-open-S163.md` | **37.978 B** ✅ khớp pin | 2026-07-30 16:31:40 | `TOTAL=4 FLAG — COVERAGE=7/7 nhóm` |
| ring2 (tao) | `sub-ring2-audit-open-S163.md` | — | mtime > 16:31:40 (tuần-tự C4b, SAU cặp H24) | — |

**Fail-safe (i) — PIN TỒN-TẠI: PASS.** Cả 2 output H24 tồn tại, byte khớp pin đích-danh, mtime hôm nay 2026-07-30 (tươi, cùng phiên). ⇒ KHÔNG NO-OP. Có measure để chấm.

**Tuần-tự C4b:** file tao ghi bắt đầu lúc > `16:31:40` = mtime lead-gap (con-đo trả sau cùng). Không song song.

**Ghi-chú lân-cận (không thuộc turf tao, chỉ ghi để lead thấy):** `sub-ring1-audit-open-S163.md` = **556 B** @16:20 — đúng dấu `skeleton-nấc-2` mà brief mô-tả (byte>0 mà ruột rỗng). Turf ring1 ≠ turf tao; tao chỉ nêu verbatim, không chấm.

---

## §1 — Kiểm ENUM ĐÓNG (verify độc-lập, KHÔNG nhận số của lead)

Đọc `.claude/agent-memory/memory-budget.json` → `lead_self_audit.flag_classes` bằng parser JSON (không grep chuỗi):
**N = 11**, đúng thứ tự: `view-stale-count` · `view-stale-status` · `view-stale-header` · `view-stale-role-desc` · `view-residual-asym` · `gap-carry-dropped` · `gap-carry-aged` · `gap-owner-specifics` · `gap-decision-sunk` · `gap-underfill` · `gap-incident-unrecorded`.

**Tao TỰ đếm tag trong 2 sub-file (không nhận bảng phân-rã của chúng):**

| vai | class | tao đếm | vai khai | ∈ enum? |
|---|---|---|---|---|
| lead-stale | `view-stale-count` | 5 (FLAG 3·6·7·10·11) | 5 | ✅ |
| lead-stale | `view-residual-asym` | 3 (FLAG 1·5·9) | 3 | ✅ |
| lead-stale | `view-stale-status` | 2 (FLAG 8·12) | 2 | ✅ |
| lead-stale | `view-stale-header` | 1 (FLAG 4) | 1 | ✅ |
| lead-stale | `view-stale-role-desc` | 1 (FLAG 2) | 1 | ✅ |
| lead-gap | `gap-carry-dropped` | 1 (FLAG-1) | 1 | ✅ |
| lead-gap | `gap-decision-sunk` | 2 (FLAG-2·3) | 2 | ✅ |
| lead-gap | `gap-underfill` | 1 (FLAG-4) | 1 | ✅ |

**⇒ 16/16 tag ∈ enum ĐÓNG. 0 tag tự chế. 5+3+2+1+1 = 12 ✅ · 1+2+1 = 4 ✅** — tổng khớp END-line cả 2 vai.

### §1-bis — Ca "ép-vừa-enum" S162 CÓ TÁI KHÔNG? → **KHÔNG. Ngược lại: cả 2 vai đã học.**

Tiền-lệ tao chứng @S162: FLAG-16 bị nhồi vào `view-stale-count` cho một finding **không thuộc** class đó ⇒ tally thổi +1 (7 thật, ghi 8). Lượt này tao soi đúng cửa ấy:
- **lead-stale VC-6** *chủ động KHÔNG tái-flag* chuỗi `88→95` ở `_context-s-8.md:113`, trích đích danh phán-quyết của tao (`sub-ring2-audit-close-S162.md:115`) và giữ nguyên. ⇒ đúng cách xử một finding đã bị bác.
- **lead-gap FLAG-2** đi con đường LUẬT thay vì ép: nó phát hiện enum **thiếu ô** cho lớp *"số đúng đơn-vị không-canonical"*, và thay vì nhồi vào `gap-*` gần nhất, nó **escalate xin owner mở enum** — đúng nguyên văn `lead_self_audit._note`: *"a monitor may NOT invent a class; an unclassifiable finding is reported verbatim + escalated to the owner to extend this list"*. Tao verify câu này CÓ THẬT trong `memory-budget.json` (đọc key `_note`) — không phải lead-gap bịa luật để tự bào chữa.
⇒ **Ca S162 KHÔNG tái phát.** Đây là ĐẠT có giá trị: finding của tao kỳ trước đã đổi hành-vi cả 2 vai, không chỉ đổi con số.

---

## §2 — Falsify-log (thử PHỦ-ĐỊNH, không thử xác-nhận)

### F-1 · lead-stale FLAG-6 (slot 58, `_mind-s-8.md`) — **HELD** ⇒ verdict **ĐẠT**

Phép thử: *"giả sử 89,06% mới đúng và 98,21% là lead-stale đo nhầm file/nhầm cap."*
```
stat _mind-s-8.md          = 32.181 B   (mtime 2026-07-30 15:12:41)
mind_ctx_kb (JSON parse)   = 32  ⇒ cap = 32×1024 = 32.768 B
32.181 / 32.768             = 98,21 %   · headroom = 587 B
89,06 % của 32.768          = 29.183 B  ≠ 32.181 B  (lệch 2.998 B)
```
Bác không được: cap đúng, file đúng, số học đúng. **Số 89,06% trong `HANDOFF:17` là SAI, số 98,21% của lead-stale là ĐÚNG.**
Vế thứ hai ("tiền-đề *file SỐNG* hết đúng") cũng HELD: `ls session-9/` = **đúng 1 file** `_context-s-9.md` (16:01), **`_mind-s-9.md` KHÔNG tồn tại**; `session-8/_end` tồn tại (15:11) ⇒ cửa-sổ 8 đã đóng, `_mind-s-8` là artifact chết.
🔴 **Sức nặng đã xác nhận:** brief nói lead **đã dùng số này đính chính với owner** ⇒ nếu lead-stale sai thì sai tới tận owner. Nó không sai.

### F-2 · lead-stale FLAG-5 (`HANDOFF:65`, headroom `_INDEX`) — **HELD** ⇒ verdict **ĐẠT**

Phép thử: *"giả sử 522 B vẫn đúng, chỉ là đo ở thời điểm khác."*
```
stat _INDEX.md                        = 20.313 B
tiers.l2_index.cap_bytes (JSON parse) = 20.480 B
⇒ 99,18 % · headroom 167 B
19.958 B (số ở :65) ⇒ 97,45 % · headroom 522 B  — lệch 3,1×
```
Bác không được. Và vế `view-residual-asym` (chứ không phải `view-stale-count` đơn thuần) cũng HELD: tao đọc `HANDOFF:15` — slot (57) ghi **nguyên văn** *"(KHÔNG phải 97,45% / 522 B như slot (51-bis) cũ ghi)"* ⇒ **cùng file, cùng closeout, lead ĐÃ BIẾT số cũ chết mà vẫn để `:65` nguyên** với cờ 🔴 "CÒN CẦN SỐ CỦA ANH". Đúng định-nghĩa dư-lượng bất-đối-xứng. Class gán **chính xác**, không phải ép-vừa.

### F-3 · lead-gap FLAG-1 — claim đắt nhất: *"nghi-thức CÓ CHẠY mà acceptance TRƯỢT"* — **HELD toàn bộ 4 vế** ⇒ verdict **ĐẠT**

Đây là claim brief gọi là *"nếu đúng thì đổi cả cách vá; nếu sai thì lead sắp sửa nhầm chỗ"*. Tao **tự chạy lại detector** và **tự grep**, không đọc lời khai.

**Vế (1) — bộ số byte-identical.** Tao chạy `scripts/governance-detectors.ps1` tươi:
```
HANDOFF logic-segments (NEXT anh/em) = 25 ; of those, carry-lines = 18
  [ok] carry 'ctx-t9-dogfood'              streak=2 < M=6
  [ok] carry 'ring5-audit-gap'             streak=1 < M=6
  [ok] carry 'hmw-width-vs-roster'         streak=1 < M=6
  [ok] carry 'hmw-subfile-index-collision' streak=1 < M=6
  [ok] carry 'adap-apply-2-thu'            streak=3 < M=6
```
Đối chiếu 2 mốc trước (tao mở file, không tin trí nhớ):
- `runs/2026-07-29-S159-bookend-open/sub-lead-gap-open-S159.md` → **cùng 5 slug, cùng 5 streak** (2·1·1·1·3).
- `runs/2026-07-30-S162-bookend-close/sub-lead-gap-close-S162.md:41` → **cùng 5 slug, cùng 5 streak**, và `logic-segments=25 ; carry-lines=18` **y hệt**.
⇒ **3 mốc thời gian, 1 bộ số không đổi.** Segment mới + khối re-stamp 10 slug @S162 đã land giữa S159 và nay ⇒ thước THẬT SỰ không nhích. HELD.

**Vế (2) — 23 slug viết dạng tên-trần không token.** Tao grep độc-lập trên `docs/HANDOFF.md:86`:
```
sed -n '86p' | grep -o '\[carry:' | wc -l        ⇒ 6
distinct [carry:x] ⇒ adap-apply-2-thu · h24-end-total-line · ring4-write-lane
                     · hub-republish-59ce1d0f · jump-dai-frozen · memory-ops-refine-queue
sed -n '86p' | sed 's/.*GIỮ re-stamp//' | grep -o '`[a-z0-9][a-z0-9-]*`' | wc -l  ⇒ 23
```
⇒ **6 token thật · 23 tên trần trong backtick** — khớp CHÍNH XÁC con số lead-gap khai. Máy grep `[carry:` **không thể** thấy 23 cái kia. HELD.

**Vế (3) — `adap-apply-2-thu` ĐÃ ĐÓNG mà vẫn trong tập-đo.** `docs/HANDOFF.md:79` verbatim: `✅ ĐÓNG @S153: [carry:adap-apply-2-thu]`. Detector vẫn in nó **streak=3**. ⇒ tập-đo 5 phần-tử chứa **1 carry chết**. HELD — và đây là vế tao thấy sắc nhất: nếu nó chạm 6, máy sẽ FIRE báo-động-giả cho việc đã xong 10 nhãn phiên.

**Vế (4) — ranh turf.** lead-gap **chủ động nhường** vế *"số 26 slug sai"* sang `view-stale-count` (turf lead-stale) và chỉ giữ vế *"cam-kết lưu ở dạng máy không đọc được"*. Tao xác nhận đây là phân-turf **đúng**, không phải né việc — xem §5 kiểm đếm-đôi.

🔴 **Kết luận F-3: claim ĐÚNG, và hệ-quả đúng như brief cảnh báo — lối vá "chạy lại nghi-thức re-stamp" là SAI CHỖ.** Nghi-thức đã chạy @S162 rồi mà thước không nhích. Cái phải sửa là **DẠNG LƯU** (token vs tên trần), không phải **tần suất chạy**.

### F-4 · lead-gap FLAG-4 `gap-underfill` — kiểm CẢ claim LẪN control-dương — **HELD** ⇒ verdict **ĐẠT**

Brief dặn đúng: *"0-hit không kèm control-dương thì không tin được"*. Tao chạy lại **cùng một phép grep** cho từ đích và từ lân-cận:

| bề-mặt owner | `source_order` | `backfill` | `crystallized` | `headroom` |
|---|---|---|---|---|
| `docs/HANDOFF.md` | **0** | 13 | 5 | 5 |
| `docs/STATUS.md` | **0** | 53 | 10 | 6 |
| `.claude/governance/ACTIVE-MARKS.md` | **0** | 0 | 0 | 0 |
| `docs/changelog/migration-todos.md` | **0** | 3 | 0 | 0 |

⇒ **control-dương THẬT**: `backfill` = **13/53/0/3** — trùng khít con số lead-gap khai. Chủ-đề có mặt dày đặc; riêng `source_order` (nghĩa-vụ RÓT) = 0 khắp nơi ⇒ **không phải "grep hỏng"**.

| lệnh nghi-thức | `source_order` | `pour` | `rót` | `backfill` |
|---|---|---|---|---|
| `session-start.md` | **0** | **0** | **0** | 3 |
| `session-end.md` | **0** | **0** | **0** | 5 |
| `tiep.md` | **0** | **0** | **0** | 0 |
| `pause.md` | **0** | **0** | **0** | 0 |

⇒ **0 bước rót trên cả 4 lệnh**, đúng bảng lead-gap. Nửa ĐO + nửa BÁO có (`backfill` 3/5), nửa NẠP không. HELD.
Tao cũng verify **luật** mà FLAG-4 dựa vào là có thật, không phải bịa: `token_governor.pct_print._note` trong `memory-budget.json` ghi nguyên văn *"Headroom > 0 WHILE high-value content still unloaded = under-fill (WRONG) → load more … Headroom = a **FLAG**, NOT a saving target."* ⇒ class `gap-underfill` gán **đúng theo luật tự-viết của repo**, không ép-vừa.

🔸 **Tao đo thêm vế kho (lead-gap khai 1.167.001 B) — số nó đưa là CẬN DƯỚI, không thổi:**
```
archive/*.gist.md          = 20 file / 277.963 B   ⇐ khớp CHÍNH XÁC con số lead-gap
archive/*.md (non-gist)    = 41 file / 972.531 B   ⇐ lead-gap chỉ tính 31 file / 889.038 B (tập value-marked ⊂ 41)
```
⇒ tổng đĩa thực **1.250.494 B** > **1.167.001 B** lead-gap khai. Nó **báo ÍT hơn thực tế** ⇒ mệnh-đề *"kho gấp ~2,1–2,4× headroom"* càng đúng. Không có thổi-phồng để lấy HIGH.

### F-5 · lead-stale FLAG-3 (`STATUS:479` bundle hash) — **HELD phần thực-chất · BROKE phần NEO DÒNG** ⇒ verdict **ĐẠT (kèm errata anchor)**

**Vế thực-chất — HELD.** `docs/STATUS.md:479` verbatim: `**Bundle hash live (prod):** admin **8-QYcMOg** · user **DptYR4wL** (đo LIVE @S157 …)`. Đối chứng bundle prod THẬT theo `runs/2026-07-30-S162-cay-4-folder-gd/sub-cicd-monitor-2.md`:
```
admin   js index-DXoYDy7R.js  css index-BZ5F-g1w.css
eoffice js index-o8KDluD1.js  css index-yNZDmVNz.css
```
⇒ ô tự nhận **"live (prod)"** đang trỏ cặp hash của **3 đời deploy trước** (S157 → #426/S159 → `bfc7b79`/S162). Bác không được. Class `view-stale-count` gán đúng.

🔴 **Vế NEO — BROKE (phép falsify của tao ĂN ở đây).** lead-stale viết: *"Ngay TRONG `docs/STATUS.md` dòng **`:9`** (khối S159→S160) đã ghi admin js `D0sXA0fe` · user js `Y6dW_5CM` ⇒ cùng file tự mâu thuẫn"*. Tao grep:
```
grep -n -o 'D0sXA0fe\|Y6dW_5CM' docs/STATUS.md   ⇒  13:D0sXA0fe   13:Y6dW_5CM     (KHÔNG có hit nào ở dòng 9)
sed -n '9p'  ⇒ "③ Bookend-close 5 vòng, 10 vai: H1 PASS_WITH_FLAGS 10 finding…"  — 0 hash
sed -n '13p' ⇒ "✅ S159→S160, 2026-07-29 — phiên-LOGIC L8…" + "bundle admin js `D0sXA0fe`/css `DWDbm5As` … user js `Y6dW_5CM`/css `6YIAufJR`"
```
⇒ **nhãn segment ĐÚNG (S159→S160) nhưng số dòng SAI: `:13`, không phải `:9`.** Mệnh-đề *"cùng file tự mâu thuẫn"* vẫn **ĐÚNG** — chỉ là ở dòng khác.
**Vì sao tao vẫn cho ĐẠT chứ không TRƯỢT:** finding tồn tại thật, class đúng, resolve đúng hướng; sai lệch là **con-trỏ**, không phải **sự-việc**. Nhưng phải errata, vì hại cụ-thể: lead cầm `:9` đi sửa sẽ mở đúng dòng **không chứa gì** → dễ kết luận nhầm "đã sửa rồi" hoặc "flag dương-giả". Đây đúng lớp *vắng-mặt trông giống ổn*.
**Errata cho lead:** `STATUS:9` → đọc là **`STATUS:13`**.

---

## §3 — TỰ TÁI-DỰNG SỐ (nghĩa-vụ (iv) — chọn dòng `class_repeat` vì nó LOAD-BEARING: chạm 3 ⇒ kéo audit tới sớm)

Tao parse trực tiếp `.claude/governance/.session-counter.json` → `class_repeat.counts` (JSON, không grep chuỗi), so với bảng lead-gap khai:

| class | ĐĨA (tao đo) | lead-gap khai | khớp |
|---|---|---|---|
| `gap-carry-dropped` | **8** | 8 | ✅ |
| `view-residual-asym` | **6** | 6 | ✅ |
| `view-stale-count` | **6** | 6 | ✅ |
| `view-stale-status` | **3** | 3 | ✅ |
| `gap-decision-sunk` | **2** | 2 | ✅ |
| `gap-underfill` | **2** | 2 | ✅ |
| `view-stale-header` | **2** | 2 | ✅ |
| `gap-owner-specifics` | **1** | 1 | ✅ |
| `view-stale-role-desc` | **1** | 1 | ✅ |
| `gap-carry-aged` | **0** | 0 | ✅ |
| `gap-incident-unrecorded` | **0** | 0 | ✅ |

**11/11 khớp tuyệt đối.** Nền cũng khớp: `counter=37` · `last_ticked_session=S163` · `last_at.light=36` · `deep=25` ⇒ light 1/6, deep 12/15, **KHÔNG overdue** — lead-gap INFORM-3 đúng.

### 🔴 §3-bis — CHỖ SỐ NÀY VỠ: END-line lead-gap khai **"3 class chạm/vượt jump=3"** — thật là **7**

Đây là con-số tao được giao kiểm ("*nếu đúng thì kéo audit tới sớm, số này load-bearing*"). Tao dựng lại **cả 11 class**, không chỉ 6 gap-*:

| class | đĩa | fire kỳ này? | sau kỳ này | ≥ jump=3? |
|---|---|---|---|---|
| `gap-carry-dropped` | 8 | ✅ FLAG-1 | **9** | ✅ |
| `gap-decision-sunk` | 2 | ✅ FLAG-2·3 | **3** | ✅ |
| `gap-underfill` | 2 | ✅ FLAG-4 | **3** | ✅ |
| `view-stale-count` | 6 | ✅ 5 FLAG | **7** | ✅ |
| `view-residual-asym` | 6 | ✅ 3 FLAG | **7** | ✅ |
| `view-stale-status` | 3 | ✅ 2 FLAG | **4** | ✅ |
| `view-stale-header` | 2 | ✅ 1 FLAG | **3** | ✅ ← **vừa chạm ngưỡng kỳ này** |
| `view-stale-role-desc` | 1 | ✅ 1 FLAG | 2 | ❌ |
| `gap-owner-specifics` | 1 | ❌ | 0 | ❌ |
| `gap-carry-aged` | 0 | ❌ | 0 | ❌ |
| `gap-incident-unrecorded` | 0 | ❌ | 0 | ❌ |

⇒ **7 class chạm/vượt jump=3, KHÔNG phải 3.**

**Phân xử công-bằng — lỗi nằm ở END-LINE, không ở thân bài.** Trong thân (`§ Số đo JUMP`) lead-gap viết đúng: *"sau kỳ này **3 class CỦA TAO** chạm/vượt"* — có chữ **"của tao"**, scope chuẩn xác, và nó khai rõ đơn-vị + cấm chép đè. Nhưng **END-line rụng mất chữ "của tao"**: `· 3 class chạm/vượt jump=3 ·`. END-line là thứ lead đọc và mang đi.
**Và lỗ này là lỗ CỦA CẶP, không của riêng lead-gap:** `lead-stale` **không tính jump cho 5 class view-\*** — nó chỉ ghi *"Lưu-ý tally cho lead (đừng tự cộng tay)"* rồi dừng. ⇒ **4 class view-\* chạm/vượt ngưỡng KHÔNG được ai nêu**, trong đó `view-stale-header` **vừa chạm 3 lần đầu tiên** — đúng loại sự-kiện mà `jump_on_class_repeat` sinh ra để bắt.
🔴 Đây là **lớp meta-count blind-spot tái diễn**: cả 2 vai ĐO tốt trong turf, nhưng con-số **TỔNG-HỢP-VỀ-CẶP** thì không ai sở hữu.

---

## §4 — THÁCH-CLEAN (2 hướng, cả hai BẮT BUỘC)

### §4-A · Ô XANH `lead-gap` Nhóm B — **THỦNG** ⇒ verdict **TRƯỢT**

lead-gap khai: *"Nhóm B — việc rớt khỏi work-state ⇒ **0 FLAG** (`_end` ↔ `HANDOFF` khớp 1:1)"*, kèm câu tự-bảo-vệ *"Vế này SẠCH — nêu ra vì 'vắng ≠ chưa soi'"*.
🔴 **Nhưng phép đo của nó chỉ có 2 sổ closeout.** `docs/changelog/migration-todos.md` — sổ **atomic-task theo phase**, đúng nghĩa work-state — **không được mở một dòng nào**. Tao mở:

`migration-todos.md:798` `## 🎯 Phase 12 — … 6/8 wave DONE` → **đúng 4 mục `[ ]`**. Tao truy từng mục xem có mặt trên work-state surface không:

| # | mục `[ ]` Phase 12 | HANDOFF | `_end` | phán |
|---|---|---|---|---|
| 1 | BLOCKER chốt NGƯỜI DUYỆT 3 trạm | ✅ slot (54) | ✅ | có nhà — lead-gap Nhóm C đúng |
| 2 | Trang GĐ3 cây 4-folder | ✅ slot (55) (`GĐ3`×2) | ✅ ×1 | có nhà — Nhóm D đúng |
| 3 | W5 Cầu KHKK→HĐ | `W5`×3 | **0** | có nhà ở HANDOFF |
| 4 | **E2E toàn trình + re-curl `hasSealedCopy`** | `E2E`×1 · `hasSealedCopy` **0** | **0** | ⚠️ tiêu-chí nghiệm-thu vắng |

🔴 **VÀ ĐÂY LÀ CÁI THẬT SỰ RỚT — defect `F-2`, nằm LỒNG trong bullet W5:**
```
migration-todos.md:  Vá luôn **F-2**: phiếu liên-danh N-HĐ hiện chỉ nối HĐ[0]
                     (`CreateContractFromEvaluationFeatures.cs:145`)
```
Đo trên 3 bề-mặt work-state:
```
"CreateContractFromEvaluation"  HANDOFF=0 · _end=0 · STATUS=2
"liên-danh"                     HANDOFF=1 · _end=0 · STATUS=2
"hasSealedCopy"                 HANDOFF=0 · _end=0 · STATUS=0
```
🔴 **Bẫy tao suýt mắc — kiểm control trước khi kết luận:** STATUS **có** 2 hit `CreateContractFromEvaluation`, thoạt nhìn tưởng "có nhà". Tao mở ra đọc: cả 2 hit đều trỏ **`:88`** (`Contract.GiaTri` / `ApprovedPrice` — quyết-định range S117), **KHÔNG phải `:145`** và **không nói gì về liên-danh N-HĐ chỉ nối HĐ[0]**. ⇒ hit là **dương-giả do trùng tên file**; defect `:145` thật sự có **0 nhà** ngoài `migration-todos`.

**Phán:** đây là **`gap-workstate-drop` thật** — một **defect code đã biết** (nối sai cardinality, đúng lớp bài học *cardinality-change-grep-consumers*) sống **duy nhất** trong một bullet con của một mục `[ ]` bị chặn, **không có** trên HANDOFF/`_end`, **không có** slot số, **không có** carry token. Ngày W5 bị hoãn tiếp (nó **đang** bị chặn bởi BLOCKER (54) — tức chắc chắn hoãn), F-2 chìm theo.
⇒ **Nhóm B "0 FLAG" là honest-zero KHÔNG ĐỦ RĂNG.** Nó đo *"2 sổ closeout có khớp nhau không"* rồi kết luận *"không việc nào rớt"* — hai mệnh-đề khác nhau. Hai sổ có thể khớp nhau hoàn hảo **và cùng thiếu** một việc.
🔸 **Công bằng với lead-gap:** 2/4 mục `[ ]` nó BÁC đúng (54)(55), và nó tự-BÁC có chạm đĩa thật (`RÚT-1`). Lỗi không phải lười — lỗi là **chọn sai tập-đo**.

### §4-B · Vùng `lead-stale` CHƯA CHẠM (G7 governance) — **CÓ FLAG THẬT** ⇒ "12" xác nhận là **SÀN**

lead-stale tự khai G7 = **0 dòng** ACTIVE-MARKS · **0 dòng** `harness-11-engine` · counter=37 nhận từ lead chưa tự đo. Tao soi vào đúng vùng đó:

**(a) Xác nhận FLAG thật trong G7 — tao tự đo, không nhận lời `ring1`:**
```
docs/governance/ctx-soft-memory-se-draft.md:38  → "roster 20 đã dày, sàn chỉ đòi ghi≠kiểm"
đĩa: ls .claude/agents/*.md − README = 23   (detector cũng in roster=23)
cùng file, header:  "Trạng thái: DRAFT chờ anh chốt 4 câu đánh số — CẤM wire trước khi anh duyệt"
.claude/workflows/hmw.js:41-42 · :229 · :236 → ctx-audit · ctx-curator · ctx-verifier ĐỀU CÓ
```
⇒ **hai lệch cùng file**: (i) `roster 20` vs đĩa **23** = `view-stale-count`; (ii) header khai **"DRAFT · CẤM wire"** trong khi 3 vai `ctx-*` **đã wire vào `hmw.js` và chạy thật trong chính phiên này** = `view-stale-status`. 🔴 Vế (ii) nguy hơn vế (i): nó bảo người đọc **đừng wire** thứ **đã wire rồi**.
**⇒ G7 có ≥1 FLAG thật mà `lead-stale` không thấy vì không mở.** Điều này **chứng-minh bằng ca**, không phải bằng lý-lẽ, rằng `TOTAL=12` là **SÀN**. Lead-stale tự khai đúng ("cấm đọc vùng chưa chạm thành sạch") — tao xác nhận lời tự-khai đó là **thật**, không phải khiêm-tốn hình-thức.

**(b) Nhưng G7 KHÔNG đồng loạt hỏng — tao soi 2 mục và cả 2 SẠCH (báo để lead đừng vá bừa cả nhóm):**
- `ACTIVE-MARKS.md` (31.197 B, mtime 07-24): 3 con-trỏ ở header đều còn sống — `session-start §2.1.4` ✅ · `session-end §L.b(h)` ✅ · `harness-11-engine §E` ✅. Các số roster cũ (`roster 12`, `11-agent`) **nằm trong thân mark đã ký**, và file **đã có sẵn cơ-chế xử**: chú-thích `:36`/`:44` nói rõ *"thân mark ghi ∈ roster 12 … con-số của thời-điểm ký"* + chú-thích S149 xử trọn vụ rename 5 vai. ⇒ **đóng-băng CÓ CHỦ-ĐÍCH theo luật P4/P8, KHÔNG phải stale.** Tao **KHÔNG flag** — flag ở đây sẽ là dương-giả, và tệ hơn: sẽ xúi sửa một bản ký.
- `harness-11-engine.md` (91.952 B): grep các trục đếm roster/agent ⇒ **0 hit** ⇒ không có số roster để lệch trên trục đó.

---

## §5 — RANH 2 VAI: kiểm ĐẾM ĐÔI

**Nghi-can số 1 — slot (58) (`lead-stale` FLAG-6 ⟂ `lead-gap` Nhóm E): KHÔNG đếm đôi. Sạch.**
`lead-gap` đặt slot (58) ở **INFORM-1**, khai tường minh *"turf vai-stale, tao KHÔNG tính vào TOTAL"*, rồi **BÁC** vế của chính nó (câu hỏi thiết-kế ĐÃ được hỏi ở `HANDOFF:17` với đủ 3 lựa chọn). Tao verify `TOTAL=4` của nó = FLAG-1·2·3·4, **không cái nào là slot (58)**. ⇒ 1 sự-việc, 1 lần đếm, đúng vai. Tally **không bị thổi**.

🔴 **Nhưng tao tìm ra lỗi NGƯỢC LẠI — nghiêm hơn đếm-đôi: HÀNG BÀN-GIAO RƠI GIỮA 2 TURF.**
`lead-gap` **4 lần** chủ động nhường vế "số sai" sang `lead-stale`. Tao đối chiếu với **5 FLAG `view-stale-count`** mà `lead-stale` thật sự phát (FLAG-3 bundle · 6 `_mind` · 7 `CLAUDE.md` mig · 10 menu-key · 11 skill ef-core):

| lead-gap nhường | sang class | lead-stale có nhặt? |
|---|---|---|
| FLAG-1: *"26 slug @S152"* sai (thật 23 giữ) | `view-stale-count` | ❌ **KHÔNG** |
| FLAG-4: `190.437` → nay `160.924` tok | `view-stale-count` | ❌ **KHÔNG** |
| INFORM-G1: slug `retro-harvest` mô-tả nợ đắt hơn thật | `view-*` | ❌ **KHÔNG** |
| honest-zero: sổ garble khai *"×66 qua S158"* đã cũ | `view-*` | ❌ **KHÔNG** |

⇒ **4/4 hàng nhường đi, 0/4 được nhặt.** Không vai nào sai — `lead-gap` nhường đúng luật turf, `lead-stale` không có nghĩa-vụ đọc file của `lead-gap` (2 vai chạy song song, `lead-stale` xong 16:18 **trước** `lead-gap` 16:31). Nhưng hệ-quả đo được: **4 finding có thật, được nêu tên đích danh, rơi khỏi CẢ HAI TOTAL.**
🔴 Đây là **khuyết-tật cấu-trúc của cặp H24, không phải lỗi cá-nhân**: không có bước hợp-lưu sau khi 2 vai trả. Cùng một hình-dạng với §3-bis (jump-count không ai sở hữu). **Đề-xuất cho lead (INFORM, không phải quyết-định của tao):** vai chạy SAU đọc file vai chạy TRƯỚC, hoặc lead gom mục "hàng nhường" khi tổng-hợp.

---

## §6 — VERDICT PER-FLAG (16 FLAG · 2 trục: CLASS đúng enum ⟂ SUBSTANCE có thật)

🔴 **Đọc đúng 2 cột:** cột **class** tao phủ **16/16** (đối chiếu enum ĐÓNG 11 phần-tử + tự đếm tag). Cột **substance** tao phủ **8/16** — 8 FLAG còn lại tao **CHƯA CHẠM**, và **CẤM đọc thành ĐẠT**.

| vai | FLAG | class khai | class ĐÚNG? | substance | verdict |
|---|---|---|---|---|---|
| stale | 1 | `view-residual-asym` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 2 | `view-stale-role-desc` | ✅ | **phần**: roster đĩa **23** (detector in `roster=23`) + `hmw.js:41-42` CÓ đủ 3 `ctx-*` ⇒ enumeration 20 thiếu 3 = có thật | **ĐẠT** |
| stale | 3 | `view-stale-count` | ✅ | **HELD** (`:479` = hash S157; prod thật `DXoYDy7R`/`o8KDluD1`) · 🔴 **BROKE neo**: `:9` → thật là **`:13`** | **ĐẠT + errata anchor** |
| stale | 4 | `view-stale-header` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 5 | `view-residual-asym` | ✅ | **HELD** (20.313/20.480 = 99,18% / 167 B ⟂ `:65` ghi 522 B; `:15` đã biết mà `:65` không sửa) | **ĐẠT** |
| stale | 6 | `view-stale-count` | ✅ | **HELD** (32.181/32.768 = **98,21%**, KHÔNG 89,06%; `_mind-s-9` chưa tồn tại ⇒ tiền-đề "SỐNG" chết) | **ĐẠT** |
| stale | 7 | `view-stale-count` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 8 | `view-stale-status` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 9 | `view-residual-asym` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 10 | `view-stale-count` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 11 | `view-stale-count` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| stale | 12 | `view-stale-status` | ✅ | chưa chạm | **ĐẠT (class-only)** |
| gap | 1 | `gap-carry-dropped` | ✅ | **HELD 4/4 vế** (detector byte-identical ×3 mốc · 6 token vs 23 tên trần · carry chết trong tập-đo · turf) | **ĐẠT** |
| gap | 2 | `gap-decision-sunk` | ✅ | **HELD** (`không-canonical` = 0/0/0/0 trên 4 sổ owner, 1 hit duy nhất ở `_end` FROZEN) | **ĐẠT** |
| gap | 3 | `gap-decision-sunk` | ✅ | **HELD** (`Bảng cứng`: HANDOFF 1 — ở `:44` khối lineage · STATUS 1 · todos 0 · MARKS 0; trong khối CHỜ-ANH `:9-23` = **0**) | **ĐẠT** |
| gap | 4 | `gap-underfill` | ✅ | **HELD + control-dương thật** (`source_order` 0/0/0/0 ⟂ `backfill` **13/53/0/3**; 4 lệnh `pour`=0; kho đĩa 1.250.494 B > 1.167.001 B nó khai) | **ĐẠT** |

**⇒ 16/16 FLAG ĐẠT. 0 FLAG dương-giả. 0 tag ngoài enum. 0 ép-vừa-enum (ca S162 KHÔNG tái).**

### 2 claim NGOÀI tập FLAG bị TRƯỢT

| # | claim | vai | phán |
|---|---|---|---|
| T-1 | END-line *"3 class chạm/vượt jump=3"* | lead-gap | 🔴 **TRƯỢT** — thật **7** class. Thân bài đúng ("3 class **của tao**"), END-line rụng scope. `lead-stale` không tính jump cho 5 class `view-*` ⇒ **4 class ≥ ngưỡng không ai nêu**, gồm `view-stale-header` **vừa chạm 3 lần đầu**. |
| T-2 | Nhóm B *"0 FLAG — `_end` ↔ `HANDOFF` khớp 1:1"* | lead-gap | 🔴 **TRƯỢT** — tập-đo thiếu `migration-todos.md` Phase 12. Defect **F-2** (`CreateContractFromEvaluationFeatures.cs:145`, liên-danh N-HĐ chỉ nối HĐ[0]) có **0 nhà** trên HANDOFF/`_end` (2 hit STATUS là dương-giả — trỏ `:88`, khác việc). |

---

## §7 — CHƯA CHẠM (khai thẳng — CẤM đọc thành "sạch")

1. **Substance 8/12 FLAG `lead-stale`**: FLAG-1 · 4 · 7 · 8 · 9 · 10 · 11 · 12. Tao chỉ verify **class**, không mở source của chúng.
2. **2 BÁC Nhóm F** của lead-gap (6-vai-baseline · slot (59)) — không tự đo `measured{}` 17/23.
3. **`RÚT-1`** + **4 INFORM** lead-gap · **7 VERIFIED-CLEAN** lead-stale (VC-1..VC-7) — không tái-dựng.
4. **G7 còn lại**: `reinject-ledger.md` · thân `harness-11-engine.md` (91.952 B, chỉ grep 1 trục) · `.session-counter.json` `history[]` 28 entry (chỉ đọc 3 cuối).
5. **Nền tao NHẬN từ lead, KHÔNG tự đo**: test 590 PASS · detectors TOTAL 44 + 6 INFORM · hotload 657.229 B · headroom 160.924 tok. (counter **37** + roster **23** thì tao **CÓ** tự đo lại — khớp.)
6. **INFORM-2 lead-gap** (`signal_reset_done:false` · `signal_session:"S162"`): tao **xác nhận 2 khoá có thật trên đĩa** đúng giá-trị đó, nhưng **không thẩm-định** hệ-quả tally — ngoài tầm đo của tao lượt này.

---

## §8 — 3 việc nên đưa lead (INFORM-only · propose-only · tao KHÔNG sửa file nào ngoài file này)

1. 🔴 **Sửa END-line jump trước khi ghi tally**: **7** class chạm/vượt `jump_on_class_repeat=3`, không phải 3. `view-stale-header` vừa chạm ngưỡng lần đầu — đúng sự-kiện cơ-chế jump sinh ra để bắt.
2. 🔴 **F-2 cần một nhà**: defect `CreateContractFromEvaluationFeatures.cs:145` (liên-danh N-HĐ nối HĐ[0]) chỉ sống trong bullet W5 đang bị chặn. Cấp slot/carry token, đừng để chìm theo W5.
3. 🔴 **Errata neo**: `lead-stale` FLAG-3 trỏ `STATUS:9` → đọc là **`STATUS:13`**. Và **G7 có FLAG thật** (`ctx-soft-memory-se-draft.md:38` roster 20 vs 23 + header "DRAFT · CẤM wire" trong khi 3 vai `ctx-*` đã wire & chạy) ⇒ `TOTAL=12` là **SÀN**, đã chứng bằng ca.

---

END ring2-audit-open-S163 — VERDICT=PASS_WITH_FLAGS (16/16 FLAG ĐẠT · 2 claim ngoài-FLAG TRƯỢT · 2 ô-xanh thủng) — TOTAL=16 Đ/2 T — COVERAGE=18/27 claim
