# sub-ring2-audit — S152 @open bookend (KIỂM vòng soi-lead H24)

> Vai: **vai-KIỂM độc-lập trên OUTPUT của 2 con-đo H24** (`lead-stale-auditor` + `lead-gap-auditor`). Tao KIỂM 2 con-đo — tao **KHÔNG soi LEAD trực-tiếp** (đó là việc của chúng).
> Propose-only. File này = artifact duy-nhất tao ghi. **APPEND TỪNG MỤC NGAY** (anti-#53, bài S151 của chính tao: verdict phải dán ra đĩa THEO TỪNG mục).
> Mỗi số kèm **LỆNH** sinh ra nó. Số không tái-dựng được ⇒ phán **"không dùng được"**, KHÔNG phán "bịa".

---

## §0 — PIN + fail-safe (nghĩa-vụ (i)): H24 CÓ chạy phiên này

```bash
cd .claude/workflows/runs/2026-07-25-S152-h24-open-bookend && wc -c *.md
#  4578 machine-baseline.md
#  1597 run.md
# 16263 sub-harvest-S152.md
# 21793 sub-lead-gap-S152.md      <-- PIN 2  (lead giao "~21,9KB" -> khop)
# 22284 sub-lead-stale-S152.md    <-- PIN 1  (lead giao "22.284B"  -> khop CHINH XAC)
# 20435 sub-tooling-S152.md
```

- **PIN-1 `sub-lead-stale-S152.md` = 22.284B** — khớp **byte-chính-xác** con số lead giao. TỒN TẠI, không rỗng.
- **PIN-2 `sub-lead-gap-S152.md` = 21.793B** — lead giao "~21,9KB"; đĩa 21.793B = 21,3 KiB / 21,79 KB. Sai-số nhãn-tròn, cùng bậc ⇒ **coi là khớp**, nhưng ghi rõ chênh (anti-"nghe-lời-khai").
- **Nền `machine-baseline.md` = 4.578B** TỒN TẠI ⇒ tao đọc số máy làm nền, không chạy lại việc máy đã làm (trừ cái tao CHỦ Ý tái-dựng).
- ⇒ **fail-safe KHÔNG kích. Có measure H24 tươi ⇒ tao ĐƯỢC chấm.** (Nếu 1 trong 2 PIN thiếu/rỗng thì luật của tao là NO-OP + CẤM ĐẠT-ảo.)

**Tuần-tự C4b (mày phải chạy SAU cặp H24):**
```bash
ls -la --time-style=+%H:%M:%S *.md
# 20:30 machine-baseline.md · 20:30 run.md · 20:46 sub-harvest · 20:47 sub-lead-stale · 20:48 sub-lead-gap · 20:49 sub-tooling
```
⇒ mtime 2 PIN = **20:47 / 20:48**; tao khởi-động sau đó ⇒ `mtime(output tao) > mtime(H24 return)` **THOẢ**. Không song-song.

**Ranh tao TỰ ÁP (khai trước để chấm được cả tao):** `sub-harvest-S152.md` + `sub-tooling-S152.md` cùng folder = **turf `ring1-audit`**, tao **KHÔNG mở**. `.claude/agent-memory/{trio}` = turf `harness-audit`. Diff-code = `reviewer`.

---

## §1 — Enum-check 5/5 + TÁI-DỰNG SỐ #1: `class_repeat.counts` vs số máy lead khai

### (a) 2 vai có tự chế class ngoài enum 11 không? → **KHÔNG. 5/5 hợp-lệ.**
```bash
python -c "import json,io; d=json.load(io.open('.claude/agent-memory/memory-budget.json',encoding='utf-8-sig'));
fc=d['lead_self_audit']['flag_classes']; print(len(fc)); [print(' ',k) for k in fc]"
# 11: 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
```
| FLAG | class 2 vai gán | ∈ enum-11? |
|---|---|---|
| stale FLAG-1 | `view-stale-count` | ✅ #1 |
| stale FLAG-2 | `view-residual-asym` | ✅ #5 |
| stale FLAG-3 | `view-residual-asym` | ✅ #5 |
| gap FLAG-1 | `gap-carry-dropped` | ✅ #6 |
| gap FLAG-2 | `gap-carry-dropped` | ✅ #6 |

Cả 2 bảng Tally cũng chỉ liệt **đúng 5 class view-\*** và **đúng 6 class gap-\*** = phân-hoạch khít enum, **0 class lạ, 0 class thiếu**. Ghi thêm 2 điểm KHEN có bằng-chứng (không phải khen suông):
- Cả hai vai **tự chặn META-COUNT đúng luật**: stale ghi *"2 instance CÙNG MỘT GỐC-LOẠI, đừng đọc thành 2 lần tái-phát"* (`:246`); gap ghi *"2 FLAG cùng class KHÔNG cộng 2"* (`:206`). ⇒ nghĩa `class_repeat` = **số LẦN class fire**, không phải số FLAG.
- gap **từ chối mở class mới** cho INFORM-1 (`:161` *"KHÔNG xin mở class mới … bịa class là vi-phạm luật vai"*) — đúng lằn enum ĐÓNG.

### (b) TÁI-DỰNG SỐ #1 — máy ghi tally có ĐÚNG như lead khai? **KHỚP 11/11.**
Lead khai: FIRE `view-stale-count` 3→4 · `view-residual-asym` 3→4 · `gap-carry-dropped` 5→6; RESET 5 class (stale-status 4→0 · header 2→0 · role-desc 2→0 · carry-aged 2→0 · decision-sunk 5→0).
```bash
python -c "import json,io; c=json.load(io.open('.claude/governance/.session-counter.json',encoding='utf-8-sig'))['class_repeat']['counts'];
print(len(c)); [print('  %-28s %r (%s)'%(k,v,type(v).__name__)) for k,v in c.items()]"
# 11
#   view-residual-asym 4 (int) · view-stale-count 4 (int) · gap-carry-dropped 6 (int)
#   gap-decision-sunk 0 · view-stale-status 0 · gap-owner-specifics 0 · gap-carry-aged 0
#   gap-incident-unrecorded 0 · view-stale-header 0 · view-stale-role-desc 0 · gap-underfill 0
```
Đối chứng từng dòng với pre-state ở `machine-baseline.md:44`: 3+1=**4** ✅ · 3+1=**4** ✅ · 5+1=**6** ✅ · 4→0 ✅ · 2→0 ✅ · 2→0 ✅ · 2→0 ✅ · 5→0 ✅ · 3 dòng vốn 0 giữ 0 ✅.
⇒ **11/11 dòng khớp**, và số máy khớp **đúng Tally 2 vai đề-xuất** (view-stale-count 1 FLAG⇒fire-1 · view-residual-asym 2 FLAG⇒fire-1 · gap-carry-dropped 2 FLAG⇒fire-1). Máy KHÔNG cộng 2 cho 2-FLAG-cùng-class ⇒ **luật chống META-COUNT có RĂNG ở tầng máy**, không chỉ trong văn.

### (c) 🟢 Nợ S151 của chính tao ĐÃ TRẢ (kiểm lại chứ không tin diary)
Diary tao @S151 escalate **D-2: `counts` 10-key / enum 11 — thiếu `gap-underfill`**. Đo lại hôm nay: `len(counts)=11` và `gap-underfill` CÓ mặt, kiểu `int`. ⇒ **D-2 CLOSED có bằng-chứng.** Invariant "counts chỉ chứa SỐ" (commit `2f39a7e`) còn nguyên: **11/11 = `Int32`**, 0 chuỗi.
⇒ đối lập với S150 (khi đó counts **lạc-hậu 9 dòng** vì máy chưa chạy): phiên này `h24-signal-write` **đã chạy exit-0 và ăn thật**.

### (d) 🔸 Một lệch nhãn-khoá cần lead biết (KHÔNG phải FLAG của 2 vai — turf tooling/H1)
```bash
python -c "...; print('_frozen_until_owner in counter:',raw.count('_frozen_until_owner'))"   # -> 0 hit
python -c "...; print('frozen:',raw.count('frozen'), 'light_at:',raw.count('light_at'))"     # -> frozen 1 · light_at 4
grep -o 'jump_on_class_repeat' .claude/agent-memory/memory-budget.json  # -> nằm trong h24_cadence (=3), KHÔNG trong lead_self_audit
```
- Lead giao tao "frozen=False": đúng theo nghĩa **không có khoá** — nhưng khoá S150 tên `_frozen_until_owner` nay **0 hit** ⇒ khoá đã GỠ (khớp `machine-baseline.md:44` "khoá frozen ĐÃ GỠ"), không phải "có key = False". Nêu để lần sau đừng đọc "False" thành "key tồn tại".
- `jump_on_class_repeat=3` sống ở `h24_cadence`, **không** ở `lead_self_audit` ⇒ gap-auditor `:215` viện-dẫn số 3 là **ĐÚNG GIÁ-TRỊ**, chỉ không nêu đường-dẫn. Không trừ điểm.

---

## §2 — VERDICT PER-FLAG (nghĩa-vụ (ii)): 5 FLAG, chấm từng cái, KHÔNG gộp

> Luật tao tự áp: verdict = **nội-dung FLAG có thật trên đĩa hay không** + **class có đúng enum**. Khuyết-tật của *bằng-chứng* (số sai nhãn, tập-đo hẹp, cite lệch file) ghi RIÊNG thành **khuyết-tật ngoài FLAG** — không dùng nó đánh trượt FLAG có ruột đúng, cũng không tha.

### FLAG-1 (stale) `view-stale-count` MED → **ĐẠT**

**view — tao tự đọc nguyên-văn, không chép lời khai:**
```
python -c "import io; s=io.open('docs/HANDOFF.md',encoding='utf-8').read().split(chr(10))[6]; i=s.find('(29)'); print(len(s)); print(s[i:i+430])"
# 1401
# (29) 3 carry già máy vừa bắt lại (uat-s134-luyke streak **8** · uat-s133-budget-freeze **10**
#      · hook-vs-budget-cap **13** — số tươi @close S151, segment mới +1; số 7/9/12 là lúc đo @giữa-phiên)
#      — close-sweep hay giữ tiếp?
```
⇒ view **ĐÚNG như FLAG khai**: 8/10/13 in đậm, bộ 7/9/12 bị dán nhãn "@giữa-phiên" (= cũ).

**TÁI-DỰNG SỐ #2 — tao TỰ VIẾT LẠI detector từ `scripts/governance-detectors.ps1:892-916` (đọc source rồi implement; KHÔNG copy python của vai-stale, KHÔNG chạy lại .ps1):**
```
python -c "
import io,re
raw=io.open('docs/HANDOFF.md',encoding='utf-8').read()
rx=re.compile(r'(?m)^\*\*(?:[^\x00-\x7F]+\s*)?NEXT\s+(?:anh|em)\b')
marks=[m.start() for m in rx.finditer(raw)]
segs=[raw[marks[i]:(marks[i+1] if i+1<len(marks) else len(raw))] for i in range(len(marks))]
cx=re.compile(r'\[carry:([a-z0-9][a-z0-9._-]*)\]')
cl=[]
for s in segs:
    ks=[]
    for m in cx.finditer(s):
        if m.group(1) not in ks: ks.append(m.group(1))
    if ks: cl.append(ks)
for k in cl[0]:
    n=0
    for c in cl:
        if k in c: n+=1
        else: break
    if n>=6: print('FIRE %-24s streak=%-3d total-presence=%d'%(k,n,sum(1 for c in cl if k in c)))
print('mark-lines=',[raw.count(chr(10),0,m)+1 for m in marks])
print('segs=%d carry-lines=%d universe=%d'%(len(segs),len(cl),len(cl[0])))
print('keys ABOVE mark[0] =',len(set(cx.findall(raw[:marks[0]]))))"
# FIRE hook-vs-budget-cap       streak=12  total-presence=13
# FIRE uat-s133-budget-freeze   streak=9   total-presence=9
# FIRE uat-s134-luyke           streak=7   total-presence=7
# mark-lines= [7,8,29,33,34,37,38,42,43,46,47,50,51,54,55,96,121,122]
# segs=18 carry-lines=15 universe=29
# keys ABOVE mark[0] = 26
```
⇒ **12/9/7 CONFIRMED bằng code độc-lập** (khớp `machine-baseline.md:27`, khớp FLAG). Bộ **8/10/13 KHÔNG tồn tại** dưới ngữ-nghĩa streak. **FLAG có thật.**

**Tao đi xa hơn FLAG 1 bước — và nó làm FLAG MẠNH hơn:** tao thử CỨU bộ 8/10/13 bằng câu hỏi *"có thước nào cho ra 13 không?"* → `total-presence` (số carry-line chứa key, không cần liên-tiếp) của `hook-vs-budget-cap` = **13**. Nhưng 2 key kia total-presence = **9 và 7** ⇒ nếu view dùng thước đó thì phải ghi 7/9/13, không phải 8/10/13. ⇒ giả-thuyết "view dùng thước khác" **BỊ BÁC**; giả-thuyết vai-stale ("một mô-hình +1 sai áp cho cả bộ") **GIỮ**. Trùng 1/3 là ngẫu-nhiên.

**Cơ-chế "+1 KHÔNG xảy ra" — verify TRỰC TIẾP trên source (phần mạnh nhất của FLAG):** `:893-897` dựng `$segs` **từ `$marks[0].Index` trở đi**; đo được `marks[0]` = **LINE 7**, và `HANDOFF:6` (khối re-stamp @S151, **26 slug** = đúng `keys ABOVE mark[0] = 26`) nằm **TRÊN** nó ⇒ **loại trọn khỏi phép đo**. ⇒ mệnh-đề *"segment mới +1"* là **sai CƠ-CHẾ**, không chỉ sai số. Vai-stale phán đúng.

**Khuyết-tật ngoài FLAG: 0** — mọi số nó nêu (kể cả `segments=18 carry-lines=15`) tao tái-dựng 1:1.

---

### FLAG-2 (stale) `view-residual-asym` MED → **ĐẠT** (+2 khuyết-tật ngoài FLAG)

**TÁI-DỰNG SỐ #3 — bundle-hash, 2 lệnh ĐỘC-LẬP + MỞ RỘNG tập-đo sang file vai-stale không grep:**
```
# L1: grep, dem theo dong
grep -n -o 'B2j1LQ-v\|C3wbJegk\|BVCukFP5\|DoxyEOxh' docs/STATUS.md docs/HANDOFF.md | sort | uniq -c
# L2: python, dem doc-lap per-line (khong dung grep)
python -c "
import io
for f in ['docs/STATUS.md','docs/HANDOFF.md']:
    for i,l in enumerate(io.open(f,encoding='utf-8').read().split(chr(10)),1):
        h={t:l.count(t) for t in ['B2j1LQ-v','C3wbJegk','BVCukFP5','DoxyEOxh'] if t in l}
        if h: print('%-16s :%-4d %s len=%d'%(f,i,h,len(l)))"
```
**Hai lệnh KẾT QUẢ Y HỆT:**

| bề-mặt | cặp | đọc-được |
|---|---|---|
| `STATUS:6` · `STATUS:465` · `HANDOFF:13` | **S147 `B2j1LQ-v`/`C3wbJegk`** | đúng **3** surface — khớp 3 nguồn FLAG khai |
| `STATUS:455` | **S134 `BVCukFP5`/`DoxyEOxh` ×2** | **0** lần cặp S147 ⇒ **FLAG có thật** |
| `STATUS:491/:497/:514/:528` | S134 (cũ) | recap **S141–S143 / S140 / "State GIỮ NGUYÊN" ×2** — frozen, đúng như FLAG khai |
| **MỚI: `HANDOFF:31/:35/:40`** | S134 (cũ) | vai-stale **KHÔNG grep HANDOFF cho cặp cũ** — tao grep thêm |

**Mở rộng tập-đo KHÔNG phá FLAG (khai cả 2 chiều):** 3 hit mới đều mở đầu `**Prev S140:**` / `**Prev S138–S139:**` / `**Prev S134:**` ⇒ **recap đóng-băng hợp-lệ** (trap#3), không phải bề-mặt sống. ⇒ mệnh-đề *"S147 sửa 3 bề-mặt, bỏ đúng 1"* **giữ hiệu-lực**; tao ghi 3 hit này thành **VERIFIED-CLEAN** để phiên sau đừng flag oan.

**Vị-trí `:455` — verify chứ không tin lời khai:**
```
python -c "
import io,re
L=io.open('docs/STATUS.md',encoding='utf-8').read().split(chr(10))
[print(i,l[:80]) for i,l in enumerate(L,1) if re.match(r'^#{1,3} ',l) and 430<i<470]"
# 437  ## CURRENT STATE (baseline S40 — re-ground sống liên tục, mốc gần nhất S151)
# 462  ## Recently Done (S151 — 2026-07-25)
```
⇒ `:455` nằm **TRONG §CURRENT STATE** (437 < 455 < 462); bảng canonical `441-453`, `:454` trống, `:455` = dòng bundle ⇒ *"ngay dưới bảng canonical"* **CHÍNH XÁC**. Đây là cái làm FLAG đáng MED thật: không phải recap, mà là **ô hiện-hành**.

**Khuyết-tật ngoài FLAG:**
- **D-a (số sai NHÃN):** FLAG ghi *"TOÀN BỘ 13.120 ký-tự của dòng này"*. Đo: `len(s)` = **12.381 ký-tự** · `len(s.encode('utf-8'))` = **13.120 byte** ⇒ 13.120 là **BYTE** bị gọi là "ký-tự". Cùng lớp bẫy byte-vs-char cắn @S130. Không phá kết-luận, nhưng số phải đúng nhãn mới dùng lại được.
- **D-b (tập-đo hẹp hơn lời khẳng-định):** câu *"bỏ đúng 1 bề-mặt"* nêu sau khi chỉ grep cặp cũ **trong STATUS**. Muốn nói "đúng 1" phải quét cả HANDOFF (tao quét: may là 3 hit kia đều frozen). ⇒ **kết-luận đúng nhờ thực-tế, không nhờ phép đo.**

---

### FLAG-3 (stale) `view-residual-asym` MED → **ĐẠT** (bằng-chứng khít nhất trong 5 FLAG)

**TÁI-DỰNG SỐ #4 — offset trên `.claude/agents/README.md:5`:**
```
python -c "
import io
s=io.open('.claude/agents/README.md',encoding='utf-8').read().split(chr(10))[4]
print('chars=%d bytes=%d'%(len(s),len(s.encode('utf-8'))))
for n in ['lead DEFAULT Opus 5 MAX','superseded-VALUE','Lead runtime = per-session owner-choice','Lineage:']:
    print('  off=%-6s %s'%(s.find(n),n))"
# chars=1830 bytes=2000
#   off=179    lead DEFAULT Opus 5 MAX
#   off=296    superseded-VALUE
#   off=1224   Lead runtime = per-session owner-choice
#   off=1662   Lineage:
```
⇒ **4/4 offset khớp CHÍNH XÁC** (179/296/1224/1662) + `line len = 1830` khớp. Điểm chốt FLAG được xác-nhận bằng **thứ-tự offset**: `Lineage:` 1662 > 1224 ⇒ cụm in-đậm ở 1224 **KHÔNG nằm trong** mệnh-đề lineage; nhãn tuyết duy-nhất ở off **265** thuộc mệnh-đề TRƯỚC. **FLAG có thật, cơ-chế đúng.**

**Tao đọc nguyên ngữ-cảnh 1224 để TỰ THỬ BÁC (không chấm qua offset suông):**
> `**Lead runtime = per-session owner-choice (Fable ↔ Opus); lịch-sử flip-chain lead = canonical [docs/STATUS.md §Sub-agents]**`

- Vế sau **CÓ trỏ canonical** cho phần lịch-sử ⇒ **tình-tiết giảm-nhẹ thật**, vai-stale không nêu, tao ghi vào.
- Nhưng vế đầu vẫn là **khẳng-định thì-hiện-tại về runtime**, in đậm, **đối-lập trực-diện** với chính dòng đó ở off 179 (`superseded-VALUE`). ⇒ **MED giữ**, không hạ.

**Khuyết-tật ngoài FLAG: 0.**

---

### FLAG-1 (gap) `gap-carry-dropped` MED-HIGH → **ĐẠT** (+2 khuyết-tật ngoài FLAG; tao BỔ-SUNG positive-control mà vai-gap thiếu)

**TÁI-DỰNG SỐ #5 — B-token trên `HANDOFF:8` (NEXT em), 2 regex độc-lập:**
```
python -c "
import io,re
s=io.open('docs/HANDOFF.md',encoding='utf-8').read().split(chr(10))[7]
print('chars=%d'%len(s))
print('M1 ->',sorted(set(int(x) for x in re.findall(r'\bB(\d{1,2})\b',s))))
print('M2 ->',sorted(set(re.findall(r'B\d{1,2}',s))))
print('B3 on line8?',('B3' in s))"
# chars=1372
# M1 -> [1, 2, 4, 5, 7, 10]
# M2 -> ['B1','B10','B2','B4','B5','B7']
# B3 on line8? False
```
⇒ **{B1,B2,B4,B5,B7,B10}, 0 B3** — khớp tuyệt-đối. **Lane lead: B3 VẮNG, xác nhận.**
**Lane owner** (B3 ghi rõ "→ owner + lead"): slot NEXT anh `HANDOFF:7` = `(4)(5)(6)(7)(11)(12)(13)(14)(15)(20)(21)(22)(26)(27)(28)(29)`; tao đã đọc nguyên slot (29) ở FLAG-1 và (26) ở FLAG-2 ⇒ 0 slot mang B3. **0 route trên CẢ HAI lane: CONFIRMED.**

**🔴 Tao thêm POSITIVE-CONTROL mà vai-gap KHÔNG chạy — chỗ tao gia-cố FLAG:**
```
for r in database-agent harvest-curator office-document tooling-auditor; do printf "%-18s %s\n" "$r" \
  "$(grep -c -iE 'anti-pattern|NEVER|KHÔNG BAO GIỜ' .claude/agents/$r.md || true)"; done
#  database-agent 0 · harvest-curator 0 · office-document 0 · tooling-auditor 0
for r in reviewer ring2-audit lead-stale-auditor lead-gap-auditor; do printf "%-20s %s\n" "$r" \
  "$(grep -c -iE 'anti-pattern|NEVER|KHÔNG BAO GIỜ' .claude/agents/$r.md || true)"; done
#  reviewer 8 · ring2-audit 1 · lead-stale-auditor 2 · lead-gap-auditor 2
```
⇒ 4 vai = **0**, 4 vai đối-chứng = **8/1/2/2** ⇒ **pattern CÓ RĂNG**; "0" là **vắng thật**, không phải regex chết. Vai-gap chỉ chạy vế-0 — regex hỏng thì cũng in 0 y hệt và không ai biết (bài `feedback_faultinjection_proves_teeth`). **B3 KHÔNG phải dương-giả: CONFIRMED-máy.**

**git-claim kiểm được:**
```
git log --oneline -3 --name-only -- .claude/agents/
# 1b85713 (closeout S151) -> CHI .claude/agents/README.md
# 398d343 (S149-S150)     -> README + harness-eval + harness-refine + lead-gap + lead-stale + ring1/ring2/ring4
```
⇒ *"closeout S151 chỉ chạm README, 4 persona KHÔNG sửa"* **CHÍNH XÁC**.

**Khuyết-tật ngoài FLAG:**
- **D-c (số KHÔNG DÙNG ĐƯỢC như nhãn):** vai-gap ghi `grep -oE '\bB3\b.{0,60}' docs/HANDOFF.md docs/STATUS.md → 6 hit`. Tao chạy **đúng lệnh literal đó** → **10**; pattern trần `\bB3\b` → cũng **10**. Phân-rã: HANDOFF **6** + STATUS **4** ⇒ số 6 = **count của MỘT file trong HAI file được nêu** ⇒ **"không dùng được"** như nhãn. 🔴 Tao **KHÔNG phán "bịa"**: cơ-chế hợp-lý (báo số file đầu), và **kết-luận không đổi** — tao đọc ngữ-cảnh **10/10** hit: HANDOFF `:52 :53 :65×2 :68×2` = B3 mega-line tách-dòng S126/S130; STATUS `:452 :563 :578×2` — trong đó **`:452` là TÊN DETECTOR `C2/B3`** (nghĩa thứ 3!). ⇒ *"TẤT CẢ là B3 KHÁC"* **HELD trên tập-đo ĐẦY ĐỦ**, mạnh hơn bản gốc.
- **D-d (cite lệch tập-đo):** vai-gap dẫn `"B3 VERIFY→APPEND"` làm ví-dụ nghĩa-khác — grep 2 file nó đo → **0 hit**. Nghĩa đó **CÓ THẬT** nhưng ở nơi khác: `.claude/agents/harness-refine.md:57` · `agents/README.md:241` · `governance/ACTIVE-MARKS.md:3`. ⇒ ví-dụ đúng, **địa-chỉ gán sai**.

---

### FLAG-2 (gap) `gap-carry-dropped` MED → **ĐẠT phần "datum không tới đích"** · 🔴 **1 khuyết-tật NẶNG ngoài FLAG (nhãn "lỗi" trái với chính config)**

**TÁI-DỰNG SỐ #6 — `87693` có mặt ở đâu:**
```
grep -rn -oE '87\.?693' docs/HANDOFF.md docs/STATUS.md .claude/WAL.md \
  .claude/governance/ACTIVE-MARKS.md docs/changelog/sessions/2026-07-25-1930-S151-*.md
# (rong) = 0 hit  -> khop dung 5 so 0 vai-gap khai
grep -rln --include=*.md -E '87\.?693' .
#  runs/2026-07-25-S151-h24-open-bookend/machine-baseline.md
#  runs/2026-07-25-S151-h24-open-bookend/sub-lead-gap-S151.md
#  runs/2026-07-25-S151-trio-memory/harness-eval-return.md
#  runs/2026-07-25-S151-trio-memory/instruments-S151.md
#  runs/2026-07-25-S152-h24-open-bookend/sub-lead-gap-S152.md   <- chinh file no
```
⇒ **87.693 chỉ sống trong run-folder** (artifact phiên), **0 bề-mặt bền** ⇒ *"vế MỚI không tới đích"* **CONFIRMED**.

**Slot đích — đọc nguyên-văn:**
```
python -c "
import io; s=io.open('docs/HANDOFF.md',encoding='utf-8').read().split(chr(10))[28]; i=s.find('(26)')
print('chars=%d off=%d'%(len(s),i)); print(s[i:i+300])
print('reserve=%d harness_floor=%d'%(s.count('reserve'),s.count('harness_floor')))"
# chars=8780 off=8530
# (26) **`crystallized_backfill.target` 210000 > headroom đo tươi 190.437 tok** => chỉ-báo underfill
#      **hỏng mẫu-số** … anh **hạ target / tuyên ASPIRATIONAL / giữ** (số = quyền anh) `[carry:underfill-mau-so]`.
# reserve=0 harness_floor=0
```
⇒ slot (26) TỒN TẠI, chỉ chứa vế cũ, **0 `reserve` · 0 `harness_floor`** ⇒ *"NỬA VẮNG"* **CONFIRMED**. `grep -c harness_floor docs/HANDOFF.md` = **1**, hit đó đúng là lịch-sử *"Owner-directed: `harness_floor` 30K→100K + measured→55K"* ⇒ khớp `:95-96`.

**🔴 KHUYẾT-TẬT NẶNG (tao tự đi đọc config — vai-gap KHÔNG dẫn dòng này):** `.claude/agent-memory/memory-budget.json` → `harness_floor._owner_override_note`, **nguyên-văn**:
> *"CAVEAT (honest, unchanged): harness_floor is an ACCOUNTING/AWARENESS figure (separate house, A3 anti-double-count); **it is NOT actively subtracted by the current scripts** (mfe-eval.ps1 / crystallized-backfill.ps1 govern via token_governor caps, not this floor). **If owner wants 100K wired as an ACTIVE reserve subtracted from headroom, that is a separate change.**"*

Lệnh: `python -c "import json,io; print(json.load(io.open('.claude/agent-memory/memory-budget.json',encoding='utf-8-sig'))['harness_floor']['_owner_override_note'])"` · walk-tree xác-nhận `harness_floor.rounded_up_tokens = 100000` và `crystallized_backfill.target = 210000`.

⇒ Việc script **không trừ** reserve là **có khai, có chủ-đích, đang chờ owner** — **KHÔNG phải "lỗi"**. Vai-gap `:96` viết *"không ghi **lỗi KHÔNG-TRỪ**"* và `:99` *"mỗi lần đo lại là một lần tái-khẳng-định **mẫu-số hỏng**"* ⇒ **nhập một tiền-đề (trừ mới đúng) mà chính config phủ-định**.
🔸 Nghịch-lý đáng ghi: **dòng config nó bỏ sót lại là bản MẠNH NHẤT của chính luận-điểm nó** — câu *"that is a separate change"* = **một cửa quyết-định owner tường-minh**, và cửa đó cũng **vắng** khỏi slot (26). Dẫn được câu đó thì FLAG-2 thành "thiếu đúng cái owner-hook mà config chỉ tên", khỏi cần nhãn "lỗi".
⇒ Verdict: **ĐẠT** (vật thiếu THẬT, class đúng, đích được chỉ-định tồn tại và trống) · **kèm khuyết-tật khung-diễn-giải phải sửa TRƯỚC khi lead chép vào HANDOFF** — chép nguyên "mẫu-số hỏng / lỗi không-trừ" là **đưa tiền-đề sai vào bề-mặt bền**, đúng cái class `view-*` mà vai kia đang bắt.

---

## §3 — Verify 2 disposition-BÁC: bác ĐÚNG hay bác để né việc?

> Đây là chỗ dễ gian nhất của con-đo: gọi một thứ là "dương-giả" thì nó biến mất khỏi tally mà không ai kiểm. Tao chấm **cả hai chiều**: bác có căn-cứ không, VÀ có phải né-việc không.

### D-0 — `broken-gotcha-ref` #91 (máy C1 MED) → **BÁC ĐÚNG**

```
python -c "
import io,re
s=io.open('docs/changelog/sessions/2026-07-25-1930-S151-bootstrap-trio-auto-fixes.md',encoding='utf-8').read().split(chr(10))[24]
print('chars=%d'%len(s))
print('bare \"gotcha 91\" =',len(re.findall(r'gotcha 91',s)), '| \"#91\" =',len(re.findall(r'#91',s)))
for m in re.finditer(r'[\"“”\`][^\"“”\`]{0,40}gotcha 91[^\"“”\`]{0,40}[\"“”\`]',s): print('ENCLOSED ->',m.group(0))"
# chars=274 | bare "gotcha 91" = 1 | "#91" = 0 | ENCLOSED -> "gotcha 91"
grep -c '^### [0-9]\+\.' docs/gotchas.md    # -> 83   (tail -3 -> ### 81. / ### 82. / ### 83.)
```
Ngữ-cảnh nguyên-văn tao đọc: *"…(**"gotchas 111.616B"** lùi match "11") → chốt `(?!\d)`. Live: #111 tắt, **positive-control "gotcha 91" giữ răng."*

**Ba căn-cứ ĐỘC-LẬP xác nhận vai-stale bác đúng:**
1. **Enclosure use⟂mention có thật, đo được:** literal `gotcha 91` nằm **trong ngoặc-kép** (regex enclosure của tao bắt được) ⇒ vai-trò **mention** (tên một fixture test), không phải **use** (viện-dẫn một gotcha).
2. **Không có cặp view↔source nào lệch:** câu đó không khẳng-định "có 91 gotcha"; `gotchas.md` max **83** không mâu-thuẫn mệnh-đề *"fixture tên `gotcha 91` vẫn bị bắt"*.
3. 🔸 **Tao bắt thêm 1 điểm vai-stale bỏ qua — nó làm luận-điểm bác MẠNH hơn:** dòng đó có **0 lần** xuất-hiện token `#91`. Máy in *"cites **#91**"* ⇒ **chính lời buộc-tội của máy đã thêm dấu `#` không có trên đĩa**. Cái bị so với "max 83" thậm chí không phải một citation dạng `#N`.

**Có phải né-việc không? KHÔNG** — vai-stale vẫn **chuyển turf tường-minh** (INFORM discriminator `"..."`/`` ` `` cho lane máy, kèm đánh-đổi "mention thật-sự-stale trong ngoặc sẽ lọt"). Đúng nấc: nó không sửa detector (turf H1), không giấu.
**Tao tự thử xếp lại class khác:** `view-residual-asym`? — cần một đợt-sửa một-phía; ở đây **không có bề-mặt anh em nào** để bất-đối-xứng. `view-stale-count`? — cần view trỏ **số cũ của cùng đại-lượng**; đây là **literal đầu vào test**. ⇒ **0 class trong enum-11 khớp** ⇒ *"MED này không sinh FLAG lead-view nào"* **ĐÚNG**.

### D-1 — RAG 2447-vs-2448 → **BÁC ĐÚNG** (tao đo LIVE độc-lập, không đọc baseline)

**TÁI-DỰNG SỐ #7 — tao tự gọi MCP, không tin `machine-baseline.md:41`:**
```
mcp__rag-unified__list_projects
# -> solution_erp: chunk_count = 2448 ; last_indexed_at = 2026-05-29T23:26:13 (stale-known)
```
⇒ live **2448** xác nhận độc-lập.

**3 bề-mặt STATUS — tao grep chính-xác, không tin liệt-kê:**
```
for n in 2447 2448 2441; do grep -rn -o "$n" docs/STATUS.md docs/HANDOFF.md .claude/commands/session-start.md; done
# 2447 -> STATUS:6 · STATUS:453 · STATUS:465    (dung 3, 0 noi khac, 0 hit trong HANDOFF)
# 2448 -> STATUS:6 · STATUS:477                  <-- BAO DONG cua tao
# 2441 -> STATUS:453
```
🔴 **Tao tưởng bắt được bất-đối-xứng nội-bộ ngay trên `:6` — rồi TỰ BÁC:**
```
python -c "...; print(s[m.start()-130:m.start()+90]) for m in re.finditer('2448',s)"
# STATUS:6   -> "... sha re-anchor `2448393` ..."      <- COMMIT SHA, khong phai chunk-count
# STATUS:477 -> "... commit `2448393` + (re-anchor @S151 ...)"
```
⇒ **BROKE nghi-vấn của chính tao.** `:6` chỉ có **một** giá-trị chunk = 2447. Mệnh-đề *"ba bề-mặt đồng-thanh 2447, 0 bất-đối-xứng nội-bộ"* **HELD**. Ghi ra đây để phiên sau khỏi đi lại đúng cái báo-động-giả này.

**🔸 Tao bổ-sung bằng-chứng vai-stale KHÔNG có — nó biến "phán đoán hợp-lý" thành "có số":** chuỗi lịch-sử trong recap đóng-băng của STATUS là **đơn-điệu tăng theo phiên**:
```
grep -rn -oE 'RAG [*]{0,2}24[0-9][0-9]' docs/STATUS.md
# :340 2431 · :352 2431 · :319 2433 · :283 2434 · :223 2436 · :201 2437 · :177 2438 · :145 2439 · :6/:465 2447
```
⇒ **đại-lượng này THẬT SỰ là bộ-đếm runtime tăng đơn-điệu, mỗi closeout +N** — đúng luận-điểm 1 và 3 của vai-stale (*"flag này không bao giờ resolve bền"*). BÁC **có nền số**, không phải né.

**Consumer — tao verify nguyên-văn thay vì tin trích:**
```
sed -n '294p' .claude/commands/session-start.md
# "- `mcp__rag-unified__list_projects` - verify collection `proj_solution_erp` con song
#   (chunk-count so LIVE voi row \"RAG chunks\" trong `docs/STATUS.md` §CURRENT STATE - B1,
#    KHONG chep so o day; 🧊 moc cung \"~3076\" cu = thuoc hong, ...)"
```
+ row `RAG chunks` ở `:453` **nằm trong §CURRENT STATE** (437 < 453 < 462, đo ở §2). ⇒ INFORM của vai-stale (*"cấu-trúc so-khớp-tuyệt-đối này sẽ LUÔN lệch ở lần mở phiên kế"*) **chính xác về cơ-chế**, và dòng đó **đã tự gỡ** thước cứng cũ ⇒ nó biết vấn-đề, chỉ chưa có ngưỡng. Đúng turf tooling. **Không né.**

---

## §4 — FALSIFY-LOG (nghĩa-vụ (iii)): 7 phép thử phủ-định · **4 HELD / 3 BROKE**

> Luật tao tự áp (bài S149/S150 của chính tao): **phép thử của tao cũng phải bị falsify**. 3/7 phép dưới đây là tao đi bác **chính nghi-vấn của tao** — và cả 3 đều BROKE, tức tao suýt tạo báo-động-giả.

| # | Phép thử phủ-định | Kết |
|---|---|---|
| **F1** | **Bác cơ-chế của gap INFORM-1.** Nó nói *"universe = nhóm segment line 8+11+24+28"*; tao nghi sai vì detector lấy `carryLines[0]`. Đo: liệt kê 15 carry-line kèm dòng-bắt-đầu ⇒ `carryLines[0]` = segment mở tại **line 8**, **trải dài tới line 28** (mark kế ở line 29) và chứa tag ở đúng **8/11/24/28** = **29 key**. Đối-chứng: **union toàn bộ 15 carry-line = 36 key ≠ 29** ⇒ số 29 của nó là **universe thật**, không phải union bừa. | 🔴 **BROKE** (nghi-vấn của TAO sai; gap **ĐÚNG**) |
| **F2** | **Cứu bộ 8/10/13 của view** bằng giả-thuyết "vai-stale dùng sai thước": thử thước `total-presence` (không cần liên-tiếp) ⇒ **7/9/13**. Không khớp 8/10/13. Thử `streak` ⇒ 7/9/12. Không thước nào ra 8/10. | **HELD** (stale FLAG-1 đứng) |
| **F3** | **Phá "bỏ đúng 1 bề-mặt"** của stale FLAG-2 bằng cách grep cặp bundle CŨ trong **HANDOFF** (file nó không quét) ⇒ ra thêm **3 hit `:31/:35/:40`**. Đọc ruột: cả 3 mở đầu `**Prev S140:**`/`**Prev S138–S139:**`/`**Prev S134:**` = recap đóng-băng hợp-lệ. | **HELD** (FLAG đứng; tập-đo hẹp nhưng kết-luận đúng) |
| **F4** | **Bác D-1** bằng "STATUS:6 có cả 2448 ⇒ có bất-đối-xứng nội-bộ!" ⇒ đọc ngữ-cảnh: `2448393` = **commit SHA**. | 🔴 **BROKE** (báo-động-giả của TAO) |
| **F5** | **Bác con số "6 hit" của gap** bằng chạy **đúng lệnh literal** của nó ⇒ **10**; pattern trần cũng **10** (HANDOFF 6 + STATUS 4). | 🔴 **BROKE số** (nhưng **kết-luận HELD** trên tập đầy-đủ 10/10) |
| **F6** | **Bác B3-blind-spot** bằng nghi *"grep chết nên in 0"*: chạy **positive-control** 4 role-file khác ⇒ **8/1/2/2**. | **HELD** (pattern có răng, 0 là vắng thật) |
| **F7** | **Bác honest-zero `view-stale-role-desc`** bằng săn tên-vai đã CHẾT: STATUS còn `lead-view` ×7 · `lead-omission` ×6 · `h24-audit` ×2 · `tooling-harvest-audit` ×1 · `sleep-audit` ×1. Đọc từng ngữ-cảnh ⇒ **toàn bộ là narrative lịch-sử / dòng RENAME-lineage `:452`**, 0 câu luật thì-hiện-tại. Đối chiếu: **20/20 tên vai trên đĩa đều có trong `agents/README`**. | **HELD** (0-fire đúng; **M-1@S150 của chính tao ĐÃ được vá**) |

---

## §5 — THÁCH-CLEAN (nghĩa-vụ (iv), BẮT BUỘC): nhắm class tuyên 0-fire + 3 chỗ khai "Không soi"

> Bài S150 của chính tao: **CLEAN nguy nhất nằm ở class con-đo tự tuyên 0**, không ở class nó fire nhiều. Phiên này tao soi **5 mũi**; 3 mũi ra CLEAN thật (ghi rõ để khỏi báo oan), **2 mũi ra thứ hai vai KHÔNG có**.

### 🔴 M-1 — **FLAG BỊ SÓT**: `view-stale-count` instance thứ HAI (tally #53 = **50 vs 53**) rơi đúng KHE giữa 2 vai

**Vật:**
```
grep -o 'tally chốt 50' docs/HANDOFF.md docs/STATUS.md
#  docs/HANDOFF.md:5   (segment S151, LIVE)      "tally chốt 50"
#  docs/STATUS.md:6    (header CURRENT, LIVE)    "tally chốt 50"
#  docs/STATUS.md:463  (Recently Done S151)      "tally #53 = 50 (derive)"
git log --format=%s | grep 'tally #53'
#  1b85713  "... (tally #53=53, AS-17 promote)"      <-- BAT DOI XUNG
python -c "print(33+5+7+5)"   # 50   <- derive-from-body theo chinh than so: qua-S148 33 + S149 5 + S150 7 + S151 5
grep -o '×50 qua S151' .claude/auto-memory/MEMORY.md   # 1 hit (auto-memory dong tinh 50)
```
⇒ **3 bề-mặt doc + auto-memory nói 50** (và phép cộng derive-from-body ra **đúng 50**), **1 bề-mặt bền là commit-subject nói 53**. Một trong hai sai; commit-subject **bất-biến** nên vá = 1 dòng đính-chính, không phải rewrite.

**Vì sao đây là FLAG THẬT của vòng H24 chứ không phải tao lấn việc:**
- Class khớp **`view-stale-count`** (enum #1) — cùng class vai-stale **ĐÃ fire** phiên này. Tức không phải mở class mới, mà là **instance thứ 2 bị bỏ**.
- 🔴 **Vai-gap đã nêu ĐÍCH DANH vai nhận** — `sub-lead-gap-S152.md:194`: *"lệch SỐ tally: `HANDOFF:5` 'tally chốt 50' vs commit `1b85713` 'tally #53=53' vs auto-memory '×50 qua S151' — số-cũ/số-lệch ⇒ **turf `lead-stale-auditor`**, tao KHÔNG nhận."*
- **Vai-stale KHÔNG hề nhận:** `grep -c 'tally chốt\|1b85713\|derive-from-body' sub-lead-stale-S152.md` → **0**. Hit `#53` duy-nhất trong file nó là chữ *"anti-#53"* ở `:5` (luật ghi của chính nó).

**🔴 Phát hiện CƠ-CHẾ (giá-trị hơn cả cái FLAG) — nghi-thức chữa S149 KHÔNG THỂ chạy được ở cấu-hình này:**
```
ls -la --time-style=+%H:%M:%S runs/2026-07-25-S152-h24-open-bookend/sub-lead-*.md
#  20:47:33  sub-lead-stale-S152.md      <-- ghi xong TRUOC
#  20:48:45  sub-lead-gap-S152.md        <-- moi day turf sang, SAU 72 giay
```
⇒ Vai-gap đẩy turf **sau khi** vai-stale đã đóng file **72 giây**. Bài S149 của tao (*"honest-zero đẩy-turf phải nêu ĐÍCH DANH vai nhận"*) **đã được tuân-thủ đúng chữ** — và vẫn rơi, vì **vai nhận không tồn tại nữa ở thời-điểm được gọi tên**. ⇒ Nghi-thức đó **cần-nhưng-không-đủ**: với 2 vai chạy song-song, người nhận khả-thi **duy nhất** là **lead** (hoặc tao). **Đề-nghị sửa luật:** turf-handoff phải ghi *"→ lead: chuyển cho X phiên SAU"*, không phải *"→ X"*.

### 🔴 M-2 — Khuyết-tật SỐ có hệ-thống của `lead-stale-auditor`: **byte bị gọi là "ký-tự", ×2 lần**
```
python -c "
import io
H=io.open('docs/HANDOFF.md',encoding='utf-8').read().split(chr(10))
S=io.open('docs/STATUS.md',encoding='utf-8').read().split(chr(10))
print('STATUS:455  chars=%d bytes=%d'%(len(S[454]),len(S[454].encode('utf-8'))))
print('HANDOFF:29  chars=%d bytes=%d'%(len(H[28]),len(H[28].encode('utf-8'))))"
# STATUS:455  chars=12381 bytes=13120   <- no ghi "13.120 ky-tu"
# HANDOFF:29  chars=8780  bytes=10389   <- no ghi "mega-line 10.389 ky-tu"
```
⇒ **2/2 con số độ-dài dòng trong báo-cáo của nó đều là BYTE mang nhãn "ký-tự"**, lệch **+6,0%** và **+18,3%**. Một lần là typo; **hai lần cùng chiều cùng lớp = công-cụ đo của nó trả byte** (đúng lớp bẫy `Get-Content` no-Encoding @S130 đã ghi trong auto-memory). Không phá kết-luận nào, nhưng vai này **chuyên trách "số lệch"** ⇒ đơn-vị của chính nó phải chuẩn thì số mới tái-dụng được.

### 3 mũi soi ra CLEAN THẬT (ghi để khỏi báo oan — honest-zero của TAO, kèm lệnh)
- **`view-stale-header` 0-fire + trục H24-3 (chỗ vai-stale khai "không đo lại phiên này")** → **CLEAN**. `docs/STATUS.md` có **0** chuỗi `Last updated` (⇒ 0 nhãn phiên để lệch); `docs/HANDOFF.md` có **5** (`:5 :10 :13 :22 :27`) và cái **mới nhất `:5` = "2026-07-25 tối (S151…)"** — đúng phiên closeout gần nhất, đang @open S152 nên **chưa được phép là S152**. 3 cái dưới đều mang tiền-tố `(kỳ S149–S150)` / `(kỳ S147)` = **nhãn kỳ tường-minh**, không phải header tụt hậu.
- **`view-stale-role-desc` 0-fire** → **CLEAN** (F7): 20 file trên đĩa, **20/20 tên có mặt trong `agents/README`**; tên-vai đã chết chỉ còn trong lineage/narrative. 🔸 1 datum không thành FLAG: `investigator-api` **không xuất-hiện lần nào trong `docs/STATUS.md`**, và ô canonical `:452` chỉ nêu đích-danh **12/20** vai — nhưng ô đó **không tự khai là bảng liệt-kê đầy-đủ** (nó khai SỐ, và số 20 đúng) ⇒ **không đủ yếu-tố phát flag**, chỉ đặt lên bàn.
- **`.claude/commands/session-end.md` (chỗ vai-stale khai "chỉ chạm qua grep VC-4")** → **CLEAN trên trục tao soi được**: 0 hit cả 5 tên-vai đã chết (`lead-view`/`lead-omission`/`h24-audit`/`tooling-harvest-audit`/`sleep-audit`), và **0 chỗ chép số roster**. 🔸 Vế còn nợ khai thẳng: `session-end.md:251` **đang nằm trong 15 LOW derived-stale của máy** (`machine-baseline.md:23`) — máy phủ chỗ đó, tao không phủ toàn-diện.

### Mũi thứ 5 — gap honest-zero `gap-incident-unrecorded = 0`: **đúng LUẬT, nhưng đúng chỗ M-1 nứt**
Tao verify vế nó khai: `grep -o 'AS-17' docs/governance/error-ledger.md | wc -l` → **4** · `docs/HANDOFF.md` → **3** ⇒ sự-cố S151 (garble ×5/6, skeleton-rỗng) **CÓ vết bền thật** ⇒ honest-zero **hợp-lệ, không phải né**. Nhưng **con số của chính sự-cố đó** (tally 50 vs 53) là thứ nó **đẩy đi** và không ai nhận ⇒ ranh *"sự-cố có được ghi không"* ⟂ *"số của sự-cố có đúng không"* là ranh **đúng luật** nhưng **hở ở mối nối** — xem M-1.
