# sub-lead-stale-auditor — S152 bookend @CLOSE (hình B, 2026-07-26 ~00:55)

> Vai: H24 §2(1) vai-STALE — soi **VIEW LỆCH SOURCE**. Propose-only, không sửa file nào ngoài file này.
> Nền máy: `machine-baseline.md` (@open, TOTAL 47) — **KHÔNG chạy lại việc máy đã làm**; chỉ lăng-kính ngữ-nghĩa trên **DELTA** sinh ra SAU @open.
> Đối-chiếu lượt @open: `sub-lead-stale-S152.md` (3 FLAG — HANDOFF(29) 8/10/13 · STATUS:455 bundle · README:5 owner-choice). Lượt này soi **cái vá có đúng + có sinh lệch mới không**.
> Luật ghi: **APPEND TỪNG FINDING NGAY KHI THẤY** (anti-#53 · AS-17 skeleton-ruột-rỗng). Mỗi số kèm LỆNH, kể cả VERIFIED-CLEAN.
> PIN 5 trục DELTA: ① 3 vá @open · ② HANDOFF (30)(31)(32) + ⑥⑦⑧ · ③ 7-site sleep-AUTO · ④ queue memory-ops WAL `[x]` · ⑤ thư `59ce1d0f` → re-stamp `9c909007`.

---

## Trục ① — 3 vá FLAG @open: **VÁ ĐÚNG 3/3**, nhưng 1 vá **RE-STAMP một sha đã chết** (→ FLAG-3)

**VC-1 — FLAG-1 @open (`HANDOFF:7` mục 29) VÁ ĐÚNG.**
```bash
python -c "
import io
l7=io.open('docs/HANDOFF.md',encoding='utf-8').read().split('\n')[6]
i=l7.find('(29)'); print(l7[i:i+330])"
# (29) 🆕** 3 carry già ... (uat-s134-luyke streak **7** · uat-s133-budget-freeze **9** ·
#      hook-vs-budget-cap **12** — máy H24-2 đo tươi @S152, ring2 re-implement CONFIRMED;
#      🔴 bộ "8/10/13" cũ KHÔNG tồn tại ở thước nào — streak đếm carry-line, CHỈ tăng khi
#      thêm anchor `**NEXT`, dòng re-stamp nằm TRÊN anchor đầu KHÔNG vào phép đo)
```
⇒ bộ số **7/9/12** khớp đúng số tao re-implement @open (`hook-vs-budget-cap` 12 · `uat-s133` 9 · `uat-s134` 7) **và** mệnh-đề cơ-chế sai ("segment mới +1") đã bị thay bằng mô-tả đúng. Vá **cả số lẫn mô-hình** — không phải vá-lá. 🔴 Kết-luận "đúng" này **tính từ số đo trên**, không phải nhãn (anti-META-COUNT).

**VC-2 — FLAG-2 @open (`STATUS:455` bundle) VÁ ĐÚNG + giữ lineage như resolve đã nêu.**
```bash
sed -n '455p' docs/STATUS.md | grep -o 'B2j1LQ-v\|C3wbJegk\|BVCukFP5\|DoxyEOxh' | sort | uniq -c
#  1 B2j1LQ-v   1 C3wbJegk   1 BVCukFP5   1 DoxyEOxh      (@open: 2 BVCukFP5 / 2 DoxyEOxh / 0 cặp S147)
python -c "import io;print(io.open('docs/STATUS.md',encoding='utf-8').read().split('\n')[454][:210])"
# **Bundle hash live (prod):** admin **`B2j1LQ-v`** · user **`C3wbJegk`** (S147 CI #407 — re-stamp @S152 …)
#  🧊 *Chuỗi rotate lịch-sử giữ nguyên:* (S134 — `6664a61` …)
```
⇒ cặp live = S147, chuỗi rotate S134 hạ xuống **trong nhãn 🧊 lịch-sử** (đúng phương-án resolve tao đề-xuất, không xoá lineage).
**Sót bề-mặt anh-em? KHÔNG.** `grep -n -o 'BVCukFP5' docs/STATUS.md` → `:455 :491 :497 :514 :528`; 4 vết `:491/:497/:514/:528` nằm trong recap **Prev S140/S141-143** = đóng-băng-có-chủ-đích (trap#3) ⇒ **đúng khi để yên**. `:6`/`:465`/`HANDOFF:13` vẫn cặp S147 ⇒ 4/4 bề-mặt live đồng-thanh.

**VC-3 — FLAG-3 @open (`.claude/agents/README.md:5`) VÁ ĐÚNG phần được yêu-cầu.**
```bash
python -c "
import io;s=io.open('.claude/agents/README.md',encoding='utf-8').read().split('\n')[4]
print('owner-choice off =',s.find('owner-choice'),'| len',len(s));print(s[1180:1420])"
# owner-choice off = -1 | len 1868      (@open: hit tại offset 1224, ngoài mọi nhãn)
# … **Lead runtime = default Opus 5 MAX (thư `59ce1d0f` @S149; Fable = anh `/model`·`/fable-real`)…**
```
⇒ cụm in-đậm "per-session owner-choice" **biến mất hoàn-toàn** khỏi dòng (0 hit), thay bằng "default Opus 5 MAX" khớp ô canonical `STATUS:452`. Dòng dài 1830→1868B (sửa tại chỗ, không cắt ngữ-cảnh).
🔴 **NHƯNG bản vá này viết thêm `thư 59ce1d0f` vào ngay mệnh-đề vừa sửa** — tức đợt vá **tái-khẳng-định một sha đã bị hub re-stamp** (xem FLAG-3). Đây đúng loại "vá sinh lệch mới" mà lượt @close phải bắt.

---

## Trục ⑤ — thư `59ce1d0f` → **hub ĐÃ re-publish + RE-STAMP `9c909007`**: SE chưa biết ở 3 lớp

### Sự-thật nguồn (đo tươi, lệnh đầy đủ)
```bash
# 1) lenh CHINH BAO-CAO SE dang dung de ket luan "vang ca hub":
find "D:/Dropbox/CONG_VIEC/AI_INFRA" -name "*model-default-opus-5-max*" -type f
#  D:/Dropbox/CONG_VIEC/AI_INFRA/broadcasts/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md
#  => 1 HIT  (bao-cao SE ghi "0 hit")   mtime = Jul 25 10:06, 7.299B

# 2) stamp cua chinh thu:
sed -n '1,9p' "D:/…/AI_INFRA/broadcasts/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md"
#  status: PUBLISHED
#  reviewer_gate: "SELF-GATE chủ-dự-án hub (lệnh GẤP 25-07 · RE-STAMP sau bổ-sung Khoản-5 cùng ngày
#                  [G-024a: edit-after-stamp → re-stamp + sweep sha ledger cùng lượt] …)"
#  content_sha256: "9c9090073a0f3a915b27152243401b5c2bce0556eba86200c06c0d2631c47dc8"

# 3) sha cu con song o dau ben hub:
grep -rl "59ce1d0f" "D:/…/AI_INFRA" --include="*.md" | wc -l      # -> 3 (MAIN-INDEX · SUMMARY-INDEX · COMMS-LEDGER)
grep -rl "9c909007" "D:/…/AI_INFRA/broadcasts/outbox/"            # -> chinh file thu
```

**Đọc ra (máy SE mù trọn trục này — không detector nào dò repo hub):** thư **CÓ THẬT, đã PUBLISHED**, và hub tự khai trong `reviewer_gate` rằng nó **RE-STAMP sau khi bổ-sung Khoản-5 cùng ngày** theo G-024a. ⇒ `59ce1d0f` = sha **TRƯỚC** re-stamp (bản lead chép @S149); `9c909007` = sha **bản published**. Hai sha không mâu-thuẫn nhau về sự-thật — nhưng **mọi trích-dẫn của SE đang neo vào bản đã chết**, và SE **kết-luận sai** rằng thư không tồn tại.

### Census 17 file SE cite `59ce1d0f` — tách LIVE-claim ⟂ NARRATIVE
```bash
rg -l '59ce1d0f' --glob '!**/runs/**'     # -> 17 file
```
| # | file | loại | xử |
|---|---|---|---|
| 1 | `docs/governance/adap-reports/2026-07-25-…-opus-5-max.md:10,12,64` | **LIVE-claim** *"vắng CẢ PHÍA HUB · copy BẤT-KHẢ-THI · GIỮ nấc KẾ-THỪA cho tới khi hub trả lời"* | **FLAG-1** |
| 2 | `docs/HANDOFF.md:6` `[carry:hub-republish-59ce1d0f]` *(xin bản gốc / xác nhận kênh)* | **LIVE-claim** (carry-ledger owner-facing) | **FLAG-2** |
| 3 | `docs/HANDOFF.md:8` ② *"`/send-email` hub xin re-publish"* | **LIVE-claim** (NEXT-em phiên kế) | **FLAG-2** |
| 4-10 | `.claude/agents/README.md:5,:39` · `commands/{session-start:41, fable-real:36, fable-clone:108, ultra-on:9}` · `docs/governance/fable-real-runbook.md:3` | **LIVE-pointer** (sha dùng làm chứng-thư cho luật model đang hiệu-lực) | **FLAG-3** |
| 11-12 | `.claude/workflows/hmw.js:58,:68` · `scripts/spawn-model-audit.ps1` | **LIVE-pointer** trong code/script | **FLAG-3** |
| 13-14 | `.claude/auto-memory/project_harness4_two_tier_model.md:29` · `.claude/agent-memory/lead-stale-auditor/MEMORY.md:22` | **LIVE-pointer** (memory tự-inject) | **FLAG-3** |
| 15 | `docs/STATUS.md:452` ô canonical §Sub-agents | **LIVE-pointer** canonical | **FLAG-3** |
| 16-17 | `.claude/sessions/session-3/_context-s-3.md:70` · `session-4/_end:3` · `docs/changelog/sessions/2026-07-25-{1200,1930}-*.md` · `HANDOFF:5` recap S151 | **NARRATIVE-lịch-sử** (context-phiên · session-log · recap `Prev`) | **GIỮ NGUYÊN** — ngày/sha cũ là *mục-đích* của các file này (trap#3) |

---

## FLAG-1 — `view-stale-status` — **HIGH**

**view:** `docs/governance/adap-reports/2026-07-25-Governance-model-default-opus-5-max.md:12` — khối *"🔄 Đính-chính @S151"*, trạng-thái LIVE (không nhãn 🧊, không đóng-băng):
> *…thư vắng CẢ PHÍA HUB — `find AI_INFRA -name "*model-default-opus-5-max*"` = **0 hit** … ⇒ đề-nghị copy **BẤT-KHẢ-THI trung thực** — không có vật để copy … **Mọi trích dẫn id/sha/Khoản của report GIỮ nấc KẾ-THỪA cho tới khi hub trả lời**.*

**source:** `D:/Dropbox/CONG_VIEC/AI_INFRA/broadcasts/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md` — `status: PUBLISHED`, `content_sha256: 9c909007…`, mtime **Jul 25 10:06**; và **sổ SE của chính phiên này**: `.claude/sessions/session-5/_snapshot-1.md:13` *"thu-moi @pause: se=0 · **all=2 fan-out mới chưa kéo**"* + `.claude/WAL.md` `[ ] KÉO 2 thư fan-out`.

**view nói "thư không tồn tại ở hub, không có vật để copy, đang CHỜ hub trả lời" vs source "thư PUBLISHED trên đĩa hub từ 10:06 cùng ngày, sha tái-tính được = `9c909007`, và SE đã tự đếm được nó ở cửa `/pause` (all=2)".**

Lệnh (chạy lại đúng lệnh mà report cite — đó là điểm mấu-chốt):
```bash
find "D:/Dropbox/CONG_VIEC/AI_INFRA" -name "*model-default-opus-5-max*" -type f | wc -l   # -> 1   (report ghi 0)
grep -c 'status: PUBLISHED' "D:/…/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md"  # -> 1
grep -rl "59ce1d0f" "D:/…/AI_INFRA" --include="*.md" | wc -l                                    # -> 3   (report ghi 0)
```

**Máy mù ở đâu:** `governance-detectors.ps1` chỉ soi trong repo SE — **0 detector nào chạm đĩa hub**. Broken-pointer C1 cũng chỉ resolve link nội-bộ. Trục "claim về trạng-thái một artifact NGOÀI repo" là vùng máy không bao giờ với tới ⇒ chỉ mắt-người bắt được.

**Vì sao HIGH (không hạ chuẩn):** (a) đây là **outward-facing governance record** — `/adap-audit` phía hub sẽ đọc nó; nó đang khai với hub rằng hub **không có** thứ hub **đã publish**; (b) nó tự-tuyên **"GIỮ nấc KẾ-THỪA cho tới khi hub trả lời"** ⇒ một mệnh-đề *khoá trạng-thái* dựa trên tiền-đề đã sai, nên nó sẽ **tự giữ mình stale** ở mọi lượt đọc sau; (c) `:64` caveat (b) khai "sha `59ce1d0f` không tái-tính được ở SE — trái phản-xạ hash-verify" ⇒ **nay tái-tính ĐƯỢC** và ra số khác, tức bài học H18 stamp-integrity đang bị ghi ngược.

**resolve:** hết flag khi `:10/:12/:64` được đính-chính bằng đo tươi: thư **CÓ** ở `outbox/all`, sha published = `9c909007`, `59ce1d0f` = sha **pre-re-stamp** (hub tự khai G-024a re-stamp sau bổ-sung Khoản-5) — và nấc "KẾ-THỪA" được gỡ hoặc đổi thành "đã đối-chiếu bản published". **Không cần** thư mới cho hub (đó là điều FLAG-2 nói).

---

## FLAG-2 — `view-stale-status` — **MED-HIGH**

**view:** `docs/HANDOFF.md:8` NEXT-em ② — *"`/send-email` hub **xin re-publish** `59ce1d0f` hoặc xác nhận kênh truyền `[carry:hub-republish-59ce1d0f]`"* · và `docs/HANDOFF.md:6` carry-ledger — `[carry:hub-republish-59ce1d0f]` *(thư hub **xin bản gốc** / xác nhận kênh truyền)*.

**source:** cùng phiên S152, **sổ khác của chính lead**: `.claude/WAL.md` `[ ] KÉO 2 thư fan-out ("thu-moi @pause: se=0 all=2") → /adap-apply @bookend kế` + `.claude/sessions/session-5/_context-s-5.md:52` *"`thu-moi: se=0 · all=2` fan-out mới CHƯA kéo"*.

**view nói "việc kế = GỬI thư xin hub re-publish" vs source "thư đã VỀ (all=2), việc kế = KÉO + `/adap-apply`".**

Lệnh:
```bash
sed -n '6p;8p' docs/HANDOFF.md | grep -o 'xin re-publish\|xin bản gốc\|KÉO\|adap-apply' | sort | uniq -c
#  1 xin bản gốc      1 xin re-publish      0 KÉO      0 adap-apply
grep -o 'KÉO 2 thư fan-out[^→]*' .claude/WAL.md
#  KÉO 2 thư fan-out (`thu-moi @pause: se=0 all=2`)
grep -c 'all=2' .claude/sessions/session-5/_snapshot-1.md .claude/sessions/session-5/_context-s-5.md
#  _snapshot-1.md:1   _context-s-5.md:1
```

**Bản-chất (đây là DELTA của chính phiên này, không phải nợ cũ):** tri-thức "thư đã về" được lead ghi **3 nơi** (WAL · `_snapshot-1` · `_context-s-5`) trong lượt `/pause` lúc 00:28-00:40, nhưng **sổ owner-facing (`HANDOFF`) không được lật**. Đúng lớp gốc tao đã ghi @S150: *quyết-định/tri-thức đổ vào nơi lead làm việc, không đổ vào nơi anh đọc*. Hệ-quả cụ-thể: anh mở `HANDOFF` ở phiên kế sẽ **gửi một lá thư thừa** cho hub xin thứ hub đã gửi rồi.

**Vì sao MED-HIGH chứ không HIGH:** hại là *một hành-động thừa + một carry sống dai*, chưa sai-lệch sự-thật kỹ-thuật nào; và WAL (đường `/tiep`) sẽ dẫn đúng nếu phiên kế nối bằng `/tiep` thay vì đọc HANDOFF. Nhưng hai sổ đang **nói ngược nhau về cùng một vật** ⇒ phiên sau đọc trúng sổ nào là may rủi — đúng thứ tao đã bắt @S151 (`HANDOFF` có 2 khối NEXT-em mâu-thuẫn).

**resolve:** hết flag khi ② đổi thành *"`/adap-apply` KÉO 2 thư fan-out (đã về @pause S152; thư model-default sha published `9c909007`)"* **và** annotation của `[carry:hub-republish-59ce1d0f]` đổi từ "xin bản gốc" → "đối-chiếu bản published + re-stamp sha ledger", hoặc carry được đóng nếu `/adap-apply` chạy xong.

---

## FLAG-3 — `view-stale-count` — **MED**

**view:** **13 bề-mặt LIVE** neo chứng-thư luật-model vào sha `59ce1d0f` — trong đó có ô **canonical** `docs/STATUS.md:452` (*"Lead = **DEFAULT Opus 5 MAX** (thư `59ce1d0f` @S149…)"*), `.claude/agents/README.md:5` (**vừa được vá lượt này và re-stamp lại đúng sha đó**) + `:39`, 4 command (`session-start:41` · `fable-real:36` · `fable-clone:108` · `ultra-on:9`), `docs/governance/fable-real-runbook.md:3`, `.claude/workflows/hmw.js:58,:68`, `scripts/spawn-model-audit.ps1`, `.claude/auto-memory/project_harness4_two_tier_model.md:29`, `.claude/agent-memory/lead-stale-auditor/MEMORY.md:22`.

**source:** `content_sha256: "9c9090073a0f…"` tại `D:/…/AI_INFRA/broadcasts/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md:8` — **bản PUBLISHED duy-nhất**.

**view nói "thư `59ce1d0f`" vs source "bản published mang `9c909007`; `59ce1d0f` không khớp bất-kỳ artifact nào ở cả hai repo".**

Lệnh:
```bash
rg -l '59ce1d0f' --glob '!**/runs/**' | wc -l          # -> 17 file (13 LIVE + 4 narrative, xem census)
rg -l '9c909007' --glob '!**/runs/**' | wc -l          # -> 0      <-- SE chua co MOT vet nao cua sha that
grep -n 'content_sha256' "D:/…/outbox/all/2026-07-25-Governance-model-default-opus-5-max.md"
#  8: content_sha256: "9c9090073a0f3a915b27152243401b5c2bce0556eba86200c06c0d2631c47dc8"
```

**Vì sao `view-stale-count` chứ không `view-residual-asym` (tao tự phản-biện, vì @open tao xếp bundle-hash vào asym):** discriminator là **có hay không một đợt sửa một-phía**. Ca bundle `:455`: 3 bề-mặt đã đổi, 1 sót ⇒ **asym**. Ca này: **0/13 bề-mặt được đổi**, tất cả đồng-loạt trỏ số cũ sau khi source đổi số ⇒ đúng định-nghĩa `view-stale-count` ("bản-tóm-tắt còn trỏ **số** cũ sau khi source đã đổi"). Không có bất-đối-xứng nào để nói.
🔴 **Khai thẳng ranh-giới enum:** nếu anh thấy "sha-pointer" xứng một class riêng thì đó là **quyết-định MỞ-RỘNG enum của anh** — tao **không bịa tên mới**, xếp vào class gần nhất và nói rõ lý-do (luật CLOSED-enum, `lead_self_audit._note`).

**Vì sao MED không HIGH:** giá-trị **nội-dung** mà 13 bề-mặt khai (Opus 5 MAX toàn fleet) **ĐÚNG** — tao đã đọc thân thư, Khoản chính khớp. Cái sai chỉ là **con-số chứng-thư**. Nhưng đừng hạ xuống LOW: sha tồn tại **chính để verify-được**; một sha không resolve về đâu **trông y hệt đã-verify** — đó là lớp mà H18 stamp-integrity dựng ra để chặn, và auto-memory `feedback_absence_looks_like_clean` gọi tên là *vắng-mặt trông giống ổn*.

**resolve:** hết flag khi 13 bề-mặt live mang `9c909007` (giữ `59ce1d0f` dạng lineage *"sha pre-re-stamp @S149"* — **đừng xoá**, nó là vết thật của G-024a), sau khi lead chạy `python scripts/stamp_verify.py` trên bản published để tự tay xác-nhận. **Ưu tiên:** `STATUS:452` (canonical) → `hmw.js`/`spawn-model-audit.ps1` (code) → 4 command → README ×2 → runbook → 2 memory.

**INFORM (ngoài turf SE, 1 dòng):** hub cũng **chưa sweep xong sổ của chính mình** — `grep -rl 59ce1d0f AI_INFRA --include=*.md` = **3 hit** (`docs/architecture/MAIN-INDEX.md` · `docs/changelog/SUMMARY-INDEX.md` · `docs/governance/COMMS-LEDGER.md`) trong khi `reviewer_gate` của thư tự cam-kết *"re-stamp + **sweep sha ledger cùng lượt**"*. Đây là dữ-kiện đáng kèm khi SE trả lời hub — **không** phải FLAG của SE.

---

## Trục ② — HANDOFF (30)(31)(32) + ⑥⑦⑧ vs đĩa

**VC-4 — (31) "4 persona +block" KHỚP ĐĨA 4/4, và con-số 4 là ĐÚNG-ĐỦ (không thừa không thiếu).**
```bash
for f in database-agent harvest-curator office-document tooling-auditor; do
  printf "%-18s %s\n" "$f" "$(grep -c 'Anti-patterns (NEVER)' .claude/agents/$f.md)"; done
#  database-agent 1 · harvest-curator 1 · office-document 1 · tooling-auditor 1
grep -lc 'Anti-patterns (NEVER)' .claude/agents/*.md | wc -l          # -> 4   (dung 4 file toan roster 20)
grep -n '^## .*Anti-patterns (NEVER)' .claude/agents/{database-agent,harvest-curator,office-document,tooling-auditor}.md
#  :59 / :57 / :62 / :60  — deu co hau-to "B3 @S152 (owner 'them vao luon'; distill tu floor…, KHONG rac tu-khoa)"
git diff --stat 1b85713..HEAD -- .claude/agents/   # 4 file nay deu +8 dong  => block land THAT trong phien
```
⇒ view (31) nói "4 persona +block" — đĩa cho đúng 4, mỗi file đúng 1 block, và **git chứng-minh nó land trong phiên này** (không phải claim về việc chưa làm). Vế *"hành-vi persona ăn SAU RESTART"* cũng khai đúng giới-hạn (agent-registry nạp lúc khởi-động) — **không** overclaim.

**VC-5 — (32) "codified 7 site" ĐẾM ĐÚNG = 7 (đếm bằng git-hunk, không đếm bằng mắt).**
```bash
git diff 1b85713..HEAD -U0 -- .claude/commands/session-start.md .claude/commands/session-end.md \
  .claude/commands/sleep-recovery-memory-l2.md | grep -c '^@@'
#  -> 7      phan-ra: session-end :50 :68 :181 :184 (4) · session-start :184 :267 (2) · sleep-skill :55 (1)
```
⇒ khớp đúng phân-rã PIN (session-start ×2 · session-end ×4 · sleep-skill ×1). Nội-dung 7 hunk đều đảo cùng một chiều: `INFORM gợi-ý`/`KHÔNG auto-run`/`consent` → `🔄 AUTO chạy` + nhãn 🧊 supersede. **Đây là phần vá ĐÚNG.** Cái sai nằm ở **site thứ 8 không ai chạm** — FLAG-4.

**VC-6 — ⑦ ⑧ chưa tới hạn ⇒ KHÔNG flag (khai thẳng, đừng đọc thành "sạch").** ⑧ toàn item `@closeout` mà closeout chưa chạy ⇒ đúng khi còn mở. ⑦ vế "đóng bàn-giao trio còn lại" tao **không soi** (turf trio/gap). Chỉ soi được vế con-số của ⑥ → FLAG-5.

---

## FLAG-4 — `view-residual-asym` — **MED-HIGH**

**view:** `.claude/agents/ring4-audit.md:26` — *"nén được **consent** @`session-start §2.1.2` (sleep-check KÊU → **anh gật**) ⇒ mày chạy ngay tại open…"* · và `:27` — *"**Fail-safe:** sleep KHÔNG chạy phiên đó (chưa tới ngưỡng byte/shard, **hoặc anh không consent**) ⇒ pin input missing ⇒ NO-OP im-lặng."*

**source:** đợt codify 7-site cùng phiên — `.claude/commands/session-start.md:184` (*"KÊU → 🔄 **AUTO chạy** `/sleep-recovery-memory-l2 all`"*) + `:267` (*"Vế 'KHÁC sleep-check §2.1.2 (vẫn CONSENT)' **hết hiệu lực @S152**"*) + `session-end.md:181` (*"V4 nén-ngủ … 🔄 AUTO-khi-KÊU — owner @S152"*) + `:184` (*"🧊 lý-do 'anh không consent' **retired @S152**"*).

**view nói "lượt nén được kích bởi CONSENT của anh; anh không consent là một nhánh fail-safe hợp-lệ" vs source "từ S152 sleep-check AUTO-khi-KÊU; nhánh 'anh không consent' đã RETIRED".**

Lệnh:
```bash
sed -n '24p;26p;27p' .claude/agents/ring4-audit.md | grep -o 'KHÔNG consent-gate\|anh gật\|anh không consent'
#  KHÔNG consent-gate        <- :24
#  anh gật                   <- :26
#  anh không consent         <- :27
git diff --stat 1b85713..HEAD -- .claude/agents/ring4-audit.md     # -> RONG (khong cham phien nay)
git log -1 --format='%h %cI' -- .claude/agents/ring4-audit.md      # -> 398d343  2026-07-25T12:17:05+07:00 (S149-S150 closeout)
```

**Vì sao đây là `view-residual-asym` chuẩn-định-nghĩa:** một đợt sửa quét **7 site trong `commands/`** và **bỏ trọn `agents/`** — trong khi vai bị bỏ sót lại chính là **`ring4-audit`, vai post-step CỦA vòng V4 vừa đổi cổng**. Đúng khuôn "sửa `fe-admin` quên `fe-user`": hai bề-mặt mirror có chủ-đích (nghi-thức ⟂ persona thi-hành nghi-thức đó).
**Bằng-chứng bồi thêm — mâu-thuẫn NỘI-FILE:** `:24` đã ghi *"AUTO sau đo, KHÔNG consent-gate"* (đó là nói về ring4 tự chạy sau nén), còn `:26/:27` vẫn mô-tả **cổng của lượt nén** bằng consent. Cùng một file, hai chế-độ cổng ⇒ không thể đọc là "đóng-băng có chủ-đích" (trap#3): không có nhãn 🧊, không có mốc, câu ở thời hiện-tại, và nó nằm trong **mệnh-đề fail-safe** — tức nhánh mà vai sẽ THỰC SỰ rẽ vào khi quyết NO-OP.

**Hại cụ-thể (không lý-thuyết):** `ring4-audit` là vai propose-only đọc chính persona của mình để quyết chạy hay NO-OP. `:27` cho nó một lý-do NO-OP đã bị khai tử — nếu phiên nào sleep KÊU-mà-lỡ, vai này có thể tự giải-thích "chắc anh không consent" và **im-lặng hợp-lệ hoá một lượt trượt**. Đây đúng lớp `feedback_absence_looks_like_clean` (vắng-mặt trông giống ổn).

**Vì sao MED-HIGH:** claim owner-facing `(32)` tự tuyên *"**cổng consent CUỐI của 5 vòng đã gỡ**"* — với `:26/:27` còn sống thì câu đó **over-broad**; nhưng hại chỉ hiện khi shard-probe KÊU (hiện `pending=15 | nguong=15 => IM`, chưa KÊU) ⇒ chưa nổ ngay.

**resolve:** hết flag khi `:26` đổi *"nén được consent … anh gật"* → *"nén AUTO-khi-KÊU @§2.1.2 (owner @S152)"* **và** `:27` gỡ vế *"hoặc anh không consent"* (giữ 2 nhánh còn sống: chưa tới ngưỡng · lỗi), hoặc bọc cả hai trong nhãn 🧊 lineage như 7 site kia đã làm. Kiểm lại bằng **lệnh khác** với lệnh đã dùng để vá (bài `feedback_absence_looks_like_clean`): `grep -rn 'anh gật\|anh không consent' .claude/agents/ .claude/commands/` phải = 0 hit ngoài nhãn 🧊.

---

## FLAG-5 — `view-stale-status` — **LOW-MED**

**view:** `.claude/commands/sleep-recovery-memory-l2.md:55` — **nhãn ô đầu hàng** vẫn là **`| **Auto-check (INFORM-only)** |`**, và cuối cùng hàng đó còn *"khi **INFORM fire**, 2 site runtime … in kèm tổng byte"*.

**source:** **RUỘT CỦA CHÍNH HÀNG ĐÓ**, sửa cùng lượt: *"KÊU → **🔄 AUTO chạy** command trong phiên (owner @S152 …— 🧊 **INFORM-consent S144 superseded**…)"*.

**view nói "cơ-chế này INFORM-only" vs source (cùng dòng, cách ~300 ký-tự) "nó AUTO chạy command, nấc INFORM-consent đã superseded".**

Lệnh:
```bash
python -c "
import io;s=io.open('.claude/commands/sleep-recovery-memory-l2.md',encoding='utf-8').read().split('\n')[54]
print('len',len(s))
for k in ['Auto-check (INFORM-only)','AUTO chạy','INFORM-consent S144 superseded','khi INFORM fire']:
    print('%6d  %s'%(s.find(k),k))"
#  len 1320
#       2  Auto-check (INFORM-only)          <- nhan, CHUA lat
#     317  AUTO chạy                          <- ruot, DA lat
#     349  INFORM-consent S144 superseded     <- ruot tu khai nac cu chet
#     900  khi INFORM fire                    <- ve phu, CHUA lat
```

**Vì sao `view-stale-status` (không phải asym):** vật lệch là **chú-thích-trạng-thái của cơ-chế** ("INFORM-only" = *chỉ báo, không làm*) chưa lật sau khi quyết-định owner đã chốt — đúng ô định-nghĩa. Không xếp asym vì đây **không** phải hai bề-mặt mirror; nó là **một dòng tự mâu-thuẫn**.

**Vì sao chỉ LOW-MED:** ruột đã đúng và tự khai "superseded", nên người đọc hết dòng sẽ hiểu đúng; hại thực-tế là **grep-theo-nhãn** sẽ phân loại nhầm vai/cơ-chế này (chính `sleep-recovery-memory-l2.md:39` dùng `grep -il 'INFORM-only' .claude/agents/*.md` để **derive tập vai** — cùng token, khác tập-đo, nhưng cho thấy token này ĐANG được máy ăn ở chỗ khác ⇒ đừng để nó nghĩa-kép).

**resolve:** nhãn ô đổi thành `**Auto-check (AUTO-khi-KÊU @S152)**` + vế `:900` đổi "khi INFORM fire" → "khi probe KÊU". Hết flag khi `grep -o 'INFORM-only' .claude/commands/sleep-recovery-memory-l2.md | wc -l` chỉ còn các hit thuộc khối derive-vai (`:38/:39/:45`), **không** còn hit ở hàng `:55`.

---

## Trục ④ — queue memory-ops: claim WAL `[x]` vs máy — **4/4 SỐ KHỚP ĐĨA**, 1 số bị chở đi nơi khác thì stale (FLAG-5b→ gộp FLAG-6)

**VC-7 — 3 con-số byte trong WAL khớp TUYỆT-ĐỐI (đo trực-tiếp, KHÔNG chạy script ghi-state).**
```bash
for f in .claude/agent-memory/lead-gap-auditor/MEMORY.md \
         .claude/agent-memory/harvest-curator/MEMORY.md \
         .claude/agent-memory/cicd-monitor/archive/_INDEX.md; do
  printf "%9d  %s\n" $(wc -c < "$f") "$f"; done
#  16485  lead-gap-auditor/MEMORY.md      <- WAL "A1 (lead-gap 16485B)"        KHOP
#  16420  harvest-curator/MEMORY.md       <- WAL "A3 (harvest 16420B)"         KHOP
#  19322  cicd-monitor/archive/_INDEX.md  <- WAL "D1 (cicd idx 19322B)"        KHOP
```
Đối-chiếu @open: lead-gap **24.728B** (96,6% cap 25.600) → **16.485B** (64,4%); cicd `_INDEX` **22.634B** (110,5% cap 20.480) → **19.322B** (94,3%, **về DƯỚI cap**). ⇒ 2 WATCH nặng nhất của baseline đều đã hạ thật, **đo được**, không phải khai.
🔴 **Tao KHÔNG chạy `memory-archive-gate.ps1` / `mfe-eval.ps1`** để verify "A7 392" và "mfe 20/20": cả hai **GHI state-file** (`.archive-strikes.json` / `.mfe-state.json`) = bề-mặt-đo đang bị đóng-băng theo C1 `session-end §L.b(c)`. Chạy để kiểm sẽ **làm hỏng đúng thứ mình đang kiểm**. Khai thẳng: **2 số này tao KHÔNG verify được trong ràng-buộc lượt này** — đừng đọc "không flag" thành "đã xác-nhận".
```bash
ls -la .claude/agent-memory/.archive-strikes.json   # 558B  Jul 25 22:12  <- ton tai => ⑥ "-Apply dung so strike" DA LAM
python -c "import json,io;print(json.load(io.open('.claude/agent-memory/.mfe-state.json',encoding='utf-8-sig')))"
#  {'strikes_total': 25, 'rca_entries': 14, 'at': '2026-07-25', ...}  <- KHONG luu ty-so 20/20 => 0 nhan-chung tren dia
```

---

## FLAG-6 — `view-stale-count` — **MED**

**view:** `docs/HANDOFF.md:8` mục **⑥** — *"⑥ @S152 chạy `memory-archive-gate.ps1 -Apply` dựng sổ strike (bàn-giao H2 trio: A6 2-strike không tích được dưới lối DRY hiện-hành — **lead-gap 24.728B runway ~1,6 wave tới cap**)"* — đứng trong khối **NEXT em (phiên kế)**, **không** dấu ✅/`~~`.

**source:** đĩa **cùng phiên, sau A1**: `lead-gap-auditor/MEMORY.md` = **16.485B** (`wc -c`), và `.claude/WAL.md` `[x] queue memory-ops TRỌN: A1 (lead-gap 16485B) … sổ-strike `-Apply` dựng` + `.archive-strikes.json` mtime **22:12**.

**view nói "lead-gap 24.728B, runway ~1,6 wave là hết cap — và việc dựng sổ strike CÒN PHẢI LÀM" vs source "16.485B (còn ~9.1KB tới cap, runway rộng gấp mấy lần) — và sổ strike ĐÃ dựng lúc 22:12".**

Lệnh:
```bash
python -c "
import io;l8=io.open('docs/HANDOFF.md',encoding='utf-8').read().split('\n')[7]
i=l8.find('⑥');print(l8[i:i+230])"
#  ⑥ @S152** chạy `memory-archive-gate.ps1 -Apply` dựng sổ strike (… lead-gap 24.728B runway ~1,6 wave tới cap)
echo $(( 25600 - 16485 ))          # -> 9115 byte con lai  (view ngu-y con ~1,6 wave)
grep -c '✅\|~~⑥~~' <<< "$(python -c "import io;l8=io.open('docs/HANDOFF.md',encoding='utf-8').read().split('\n')[7];i=l8.find('⑥');print(l8[i:i+240])")"   # -> 0
```

**Bản-chất — và vì sao nó KHÁC (31)/(32) ngay dòng trên:** cùng một phiên, cùng một sổ, lead **đóng tường-minh** `(31)`/`(32)` ở `HANDOFF:7` (`~~(31)~~ ✅ ĐÓNG @S152`) nhưng **không** đóng ⑥ ở `HANDOFF:8` dù ⑥ đã xong và để lại **file chứng-tích có mtime**. ⇒ Đây là **bất-đối-xứng trong chính thao-tác bookkeeping của phiên**, cộng thêm **một con-số bị đông-cứng ở giá-trị TRƯỚC-drain**.
🔴 Tao xếp `view-stale-count` (không phải asym) vì **vật lệch chính là con-số** 24.728 vs 16.485 + suy-luận "runway ~1,6 wave" phái sinh từ nó; vế "chưa đánh dấu xong" là **tình-tiết tăng nặng**, không phải trục chính. (Nếu anh muốn tách vế bookkeeping thành ca asym riêng thì được, nhưng tao **không nhân đôi tally cho một gốc** — bài @S124.)

**Hại cụ-thể:** ⑥ là dòng biện-luận cho việc *"A6 2-strike không tích được"*; con-số 24.728B + "~1,6 wave" chính là **luận-cứ khẩn-cấp**. Giữ số cũ ⇒ phiên sau đọc sẽ tin lead-gap **sắp tràn cap** và có thể ưu-tiên nhầm một drain vừa mới làm xong.

**resolve:** hết flag khi ⑥ được (a) đánh `~~⑥~~ ✅ ĐÓNG @S152` như (31)/(32), **và** (b) nếu giữ lại phần biện-luận thì số đổi thành `16.485B (64,4% cap; @open 24.728B = 96,6% — đã drain A1)`. Nếu ⑥ chuyển thành nợ khác thì viết lại luận-cứ theo số tươi, đừng chở số cũ sang.

---
