# sub-lead-view-S146 — H24 vai-STALE (force-fire @S146 closeout)

> Vai: `lead-view-auditor` (H24 §2(1) — soi VIEW LỆCH SOURCE). Propose-only, KHÔNG sửa file.
> Force-fire: `session-end §L.b(j)(vi)` P=8 `wal: pause` ⇒ OVERDUE(light) bất kể counter. Consent-gate ĐÃ GỠ (owner @S146 "3 → auto").
> counter=20 · `last_audit.light_at_counter`=17 · nhịp tự-nhiên chưa tới (17+6=23).
> Nền máy: `governance-detectors.ps1` TOTAL 47 (KHÔNG chạy lại — chỉ lăng-kính ngữ-nghĩa).
> Ghi ĐĨA TRONG LÚC LÀM — mỗi FLAG append ngay khi tìm ra.

---

## FLAG-1 — `view-stale-status` — MED

- **view:** `.claude/commands/tiep.md:100` — Sàn-3 §0 block ⑤ ORPHAN-L, gạch đầu dòng 🔴 "Khai hở (chống ghost-wire H18)": khai `closed.md` thuộc nghi-thức `/session-end` nhưng còn ở trạng-thái chưa-được-wire, lý-do nêu là "bảng VC-2 còn chờ anh duyệt".
- **source:**
  - `.claude/commands/session-end.md:363` — "§6.3-bis … Chân này **trước S146 CHƯA wire** … **Nay đóng.**"
  - `.claude/commands/session-end.md:365-369` — nghi-thức ĐÃ CÓ NGƯỜI GHI: ghi `.claude/sessions/session-<N>/closed.md`, FROZEN, 4 trường tối-thiểu, idempotent NO-OP nếu đã tồn-tại, NO-OP im-lặng nếu 0 thư-mục.
  - `.claude/commands/session-end.md:367` — nói THẲNG vào chính block đang stale: "⇒ `tiep.md §0` block **⑤ ORPHAN-L** hết kêu oan."
  - `.claude/WAL.md:9` owner-decision `[7]` — "(2) closed.md = **WIRE**"; `.claude/WAL.md:17` — "**§6.3-bis** closed.md FROZEN 4-truong idempotent NO-OP".
- **lệch cụ-thể:** view nói cơ-chế **chưa có người ghi + còn chờ owner duyệt**; source nói owner **đã chốt WIRE** và nghi-thức **đã land trong CÙNG phiên S146**. Hai câu ở hai file cùng lớp `.claude/commands/` nói ngược nhau về CÙNG một cơ-chế.
- **KHÔNG phải nhiễu — đây là dư-lượng thật, không phải lineage:** câu ở :100 viết ở thì HIỆN-TẠI, không có dấu 🧊 (repo dùng 🧊 rất nhất-quán cho lineage — xem chính `tiep.md:69`, `:76`, `session-end.md:119`, `:140`). Nó còn kéo theo một hệ-quả SAI: "chỉ ca *pause rồi đóng thẳng không tiep* mới thiếu đối-ứng" — ca đó nay **đã có** đối-ứng.
- **Nghịch-lý nội-tại (bằng-chứng mạnh nhất, cùng file):** MÁY ở ngay trên đã wire rồi — `tiep.md:89` ghi đối-ứng gồm "hoặc closed.md do đóng-L", `tiep.md:94` `c=0; [ -f "$d/closed.md" ] && c=1`, `:95` `[ "$p" -gt $((r + c)) ]`. ⇒ **code đọc `closed.md` thật, chỉ PROSE còn nói "chưa wire"**. Đây là lật-ngược của ghost-wire (H18 class-2 defined-but-unread): ở đây là **wired-but-declared-unwired** — và trớ trêu là nó nằm đúng dưới nhãn "chống ghost-wire H18".
- **resolve:** `tiep.md:100` lật sang trạng-thái đã-wire + trỏ `session-end.md §6.3-bis`, HOẶC hạ nguyên câu cũ xuống 🧊 lineage (giữ vết theo khuôn repo). Kèm sửa hệ-quả "chỉ ca … mới thiếu đối-ứng". Hết flag khi 0 surface `.claude/commands/**` còn khai `closed.md` chưa-wire ở thì hiện-tại.
- **Ghi-chú ranh-giới:** KHÔNG flag `.claude/workflows/runs/2026-07-22-S145-apply-hub-answers/sub-implement-CE-sessionmodel.md:272` (câu tương-tự) — run-trace S145 = **snapshot đóng-băng đúng thời-điểm ghi**, sửa nó mới là sai (bẫy #3 frozen-by-design).

---

## FLAG-2 — `view-residual-asym` — MED

**Cùng gốc FLAG-1 (`closed.md` đã wire) nhưng surface KHÁC, và ở đây bất-đối-xứng nằm NGAY TRONG MỘT FILE.**

- **view:** `docs/governance/session-model-se-draft.md` — 3 site còn khai `closed.md` chưa-wire:
  - `:5` — khối "⏳ CHƯA — vẫn chờ anh duyệt bảng VC", câu cuối khẳng-định `/session-end` chưa ghi `closed.md`.
  - `:54` — 🔴 "Chân này CHƯA wire (nghi-thức closeout thuộc VC-2 còn chờ anh) — khai rõ, không claim kín."
  - `:113` — 🔴 "Hở CÒN LẠI, khai thẳng: … chưa wire (VC-2 chờ anh) ⇒ ca *pause rồi đóng thẳng không qua /tiep* sẽ kêu oan."
- **source:** `docs/governance/session-model-se-draft.md:81` — **CÙNG FILE**, bảng §4-bis "OWNER-DECISION @S146", cột **"Đã land @S146"**, dòng 2 `Wire closed.md | giống hub | session-end §6.3-bis — … Khoá nốt vòng ORPHAN-L ⇒ hết kêu oan ca "pause rồi đóng thẳng"`. Đối-chứng ngoài file: `.claude/commands/session-end.md:363-369`.
- **lệch cụ-thể:** :81 nói **đã land + đã khoá ORPHAN-L**; :113 nói **chưa wire + vẫn kêu oan** — hai câu **phủ-định nhau từng chữ** về cùng một ca. :5 và :54 cùng phía với :113.
- **Vì sao là residual-asym chứ không phải "doc cũ chưa ai đụng":** file này **ĐÃ được sửa @S146** — header `:3` tự khai *"CẬP-NHẬT TRẠNG-THÁI @S146 … sửa cho khớp đĩa"*, `:72` đã lật meld-forward-gap sang ✅ ĐÃ ĐÓNG, `:81` mới thêm. ⇒ đợt sửa **có chạy**, chỉ **không phủ hết**. Đúng chân-dung "sửa nguồn quên gương", lần này gương nằm cùng file.
- **Nguy-hiểm riêng của site :5:** nó là **khối trạng-thái ĐẦU FILE** — người đọc (kể cả hub khi review) dừng ở đó. Một khối tự nhận "cập-nhật @S146" mà nội-dung sai thì **đáng tin hơn nên hại hơn** một dòng cũ không ai cập-nhật.
- **resolve:** lật :5 / :54 / :113 sang trạng-thái đã-wire (hoặc hạ 🧊 lineage), giữ nguyên :81. Hết flag khi trong `session-model-se-draft.md` **0 câu ở thì hiện-tại** nói `closed.md` chưa wire.

---

## FLAG-3 — `view-residual-asym` — MED

**Suspect #1 của lệnh — VERIFY ĐỘC-LẬP: sweep "gỡ consent H24" @S146 CHƯA phủ hết. Còn 6 occurrence / 2 file.**

- **source (sự-thật mới, 3 nguồn khớp):**
  - `.claude/commands/session-end.md:106` §L.b(j)(ii) — "OVERDUE → 🔴 **SPAWN AUTO, KHÔNG consent** (owner chốt @S146: "3 → auto"; THAY luật consent-gate era-S122)".
  - `.claude/commands/session-start.md` §2.1.8(e) — "OVERDUE(light|deep) → 🔴 **SPAWN AUTO cặp H24 NGAY, KHÔNG consent** (owner chốt @S146 "3 → auto")" + "⚠️ **KHÁC** sleep-check §2.1.2 (vẫn CONSENT) và **KHÁC** trio §2.1.9 (vẫn CONSENT) — 3 cổng nay **không còn cùng khuôn**".
  - `.claude/WAL.md:9` owner-decision `[7](3)` — "V2 = **auto** (go cong NGUOI, GIU cong NHIP 6/15/3)".
- **view — 6 site còn khai H24 = consent-gated, tất cả ở thì hiện-tại, KHÔNG có dấu 🧊:**

| # | site | nguyên-văn (rút gọn) | vì sao SAI |
|---|---|---|---|
| 1 | `.claude/commands/session-end.md:110` | h24-audit AUTO "(owner S145, **KHÁC (ii) consent-gate của chính H24**)" | (ii) ở `:106` nay **cũng** auto ⇒ vế tương-phản **sụp**; câu tự-mâu-thuẫn với dòng cách nó 4 dòng |
| 2 | `.claude/commands/session-end.md:110` | Fail-safe: "H24 KHÔNG chạy phiên này (chưa nhịp / **không consent**)" | nhánh `không consent` nay **không thể xảy ra** = nhánh chết |
| 3 | `.claude/commands/session-end.md:135` | "cặp chạy @`session-start` §2.1.8 (**OVERDUE + anh consent**)" | §2.1.8 nay là OVERDUE ⇒ auto, **không có** vế consent |
| 4 | `.claude/agents/h24-audit.md:4` (frontmatter `description`) | "AUTO fire SAU khi cặp H24 chạy (… session-start §2.1.8 khi **OVERDUE+consent**)" | 🔴 nặng nhất — `description` **được nạp vào mô-tả vai**, sai ở đây lan sang mọi lượt spawn |
| 5 | `.claude/agents/h24-audit.md:25` + `:27` | "(session-end §L.b(j) hoặc session-start §2.1.8 khi **OVERDUE + anh consent**)" ×2 | như #3 |
| 6 | `.claude/agents/h24-audit.md:28` | Fail-safe: "H24 KHÔNG chạy phiên đó (chưa tới nhịp / **anh không consent**)" | như #2 — nhánh chết |

- **Bằng-chứng đây là sweep-sót, KHÔNG phải "chưa tới lượt sửa":** lead **đã truy đúng class này và tuyên-bố đóng** — `session-model-se-draft.md:85` ghi *"Kết-nhiễm đã chặn: **2 chỗ** (`session-end §L.b(k)(i)` · `session-start §2.1.9(a)`) viện 'trio consent cùng khuôn sleep-check + H24' … **đã gỡ vế H24**"*. Kiểm 2 chỗ đó: `session-end.md:140` ✅ đã gỡ · `session-start.md:253` ✅ đã gỡ. ⇒ sweep **chạy đúng, đếm sai phạm-vi**: nó tìm nơi H24 bị **viện làm khuôn cho vai khác**, mà bỏ nơi H24 bị **viện làm mốc tương-phản** ("KHÁC (ii) consent-gate") và nơi nó nằm trong **điều-kiện fire của vai khác** ("§2.1.8 khi OVERDUE + anh consent").
- 🔴 **Đây là TÁI-DIỄN nguyên si bài S143** (`agents/README.md:28` tự ghi): sweep đặt acceptance theo **hình-dạng chuỗi** ⇒ "0 hit" ⇒ tuyên-bố sạch, trong khi site sống dùng **cách diễn-đạt khác**. S143 là enum-tên-vs-grep-số; lần này là consent-như-chủ-ngữ vs consent-như-tham-chiếu-chéo. **Cùng một lớp lỗi, cách nhau 3 nhãn phiên.**
- **Hệ-quả vận-hành thật (không chỉ prose):** `h24-audit` là vai **AUTO bám cặp H24 wherever it fires**. Contract của nó (`h24-audit.md:25/:27/:28`) dạy rằng cặp H24 chỉ fire *khi anh consent*. Một lượt chạy `h24-audit` đọc đúng contract của mình có thể **NO-OP nhầm** ở đầu `session-start` (thấy "không consent" ⇒ tưởng cặp không chạy) — đúng ca **ĐẠT-ảo im-lặng** mà chính `:124` cấm ("Auto ≠ chạy-mù").
- **resolve:** gỡ vế consent ở 6 site (`session-end.md:110` ×2, `:135`; `h24-audit.md:4`, `:25`, `:27`, `:28`); fail-safe rút về **một** điều-kiện `chưa tới nhịp`. Hết flag khi grep `consent` trong `.claude/agents/h24-audit.md` + `.claude/commands/session-end.md` **không còn occurrence nào gán cho H24** (sleep-check §2.1.2 + trio (k)(i)/§2.1.9 **GIỮ** — 3 cổng nay khác khuôn).
- ⚠️ **CẨN-TRỌNG khi vá (bẫy tự-tham-chiếu W0.4):** `session-model-se-draft.md:85` và `session-end.md:119` **cố-ý** chứa chữ "consent" để kể luật CŨ (🧊 RETIRED). Đừng quét mù theo chữ `consent` rồi xoá luôn 2 chỗ đó — mất vết lineage. Phân-biệt **use ⟂ mention**.
