# sub-lead-stale-S153 — bookend @open hình B (phiên-logic 6, cửa-sổ 1)

> Vai: `lead-stale-auditor` (H24 §2(1) vai-STALE) · INFORM-only · propose-only · KHÔNG Write ngoài file này.
> Nền máy đã đọc (KHÔNG chạy lại): `instrument-detectors.txt` TOTAL 46 + 4 INFORM C11.
> Đơn-vị tally = phiên-LOGIC 6. Class ∈ enum ĐÓNG `lead_self_audit.flag_classes` (5 view-*).
> Ghi TỪNG FLAG ngay khi thấy (anti-#53). File này hợp-lệ giữa chừng CHỈ khi có dòng END cuối.

## Nền máy — đọc rồi, KHÔNG lặp lại

- C2/B3 canonical resolve: mig=67 test=532 gotcha=83 table=89 menu=54 policy=216 — cross-check đĩa CHỈ phủ mig+gotcha (test/table/menu/policy KHÔNG có cross-check ⇒ bài S148 vẫn còn hiệu-lực: "0 flag" ở 4 token đó không đọc thành sạch).
- 13 derived-stale LOW (CLAUDE.md:93 + 2 SKILL.md + session-end.md:251) — máy đã bắt, tao KHÔNG lặp.
- H24-1 title-freshness: mốc-phải 2026-05-12; chỉ 2 doc có anchor parse được ⇒ trục này gần như MÙ (2/hàng-trăm doc), "1 flag" ≠ sạch.
- H24-3 session-label: `[skip] no doc carries BOTH` — vẫn Y NGUYÊN trạng thái S150 đã đo (trục 0 file hiệu-lực). KHÔNG đọc thành sạch.

---

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

**view:** `docs/STATUS.md:454` (ô canonical §Sub-agents), cuối row, trong ngoặc đỏ khai 3 nơi derived:
> `[§Sub-agents = CANONICAL single-owner flip-chain — S106 gộp per anh-confirm; derived `agents/README:3` · `session-start:37` · `session-end:113` trỏ về đây, KHÔNG tự enumerate mỗi flip → chống churn 4-file/flip]`

**source (3 lệnh, tái-dựng được):**
- `grep -n "Sub-agents" .claude/agents/README.md` → pointer flip-chain lead thật ở **`:5`** (dòng Architecture: *"lịch-sử flip-chain lead = canonical docs/STATUS.md §Sub-agents"*). `:3` là pointer **SỐ VAI**, không phải flip-chain.
- `grep -n "Sub-agents" .claude/commands/session-start.md` → flip-chain thật ở **`:48`** (*"Lịch-sử flip-chain đầy-đủ (S98→nay) = canonical …"*). `:37` hiện là ghi-chú mark `RC-pqhuy1987-11-07-2026-20-42-01` về **roster ∈-lệnh-engine-đắt** — không liên quan model.
- `grep -n "Sub-agents" .claude/commands/session-end.md` → flip-chain thật ở **`:315`** (dòng `Co-Authored-By: <lead model hiện tại>`). `:113` hiện là *"(i) BÁO dòng-nợ 4-vế"* của H24 — không liên quan model.

**lệch:** view nói "3 derived ở :3/:37/:113" — source: **3/3 số dòng đều trỏ SAI chỗ** (đúng phải :5/:48/:315). Bất-đối-xứng: phía derived bị chèn dòng (VALUE-update @S149 chèn `session-start:41-42`; session-end phình theo H24/ring), phía canonical giữ nguyên số cũ ⇒ đúng chân-dung "sửa một phía". Lớp này VỪA bị H1 F-3 bắt @S151 (cite-dòng-trống ở `agents/README §Memory discipline`) và đã vá **bằng cách bỏ số dòng**; ba cite ở đây là **phần còn lại của cùng lớp, không được quét cùng đợt**.

**vì sao máy mù:** detector có broken-gotcha-ref + dangling-wikilink, KHÔNG có kiểm `file:line` trỏ đúng nội-dung. C6 cite-2-tier = 0 flag nhưng nó không đo trục này.

**resolve:** đổi 3 cite sang **anchor không-số-dòng** (đúng luật đã áp @S151 — vá bằng BỎ số, không ĐỔI số), ví dụ `agents/README §Architecture` · `session-start BƯỚC 0.6` · `session-end §commit-format`. Hết flag khi 0 cite số-dòng còn lại trong ngoặc đó.

---

## FLAG-2 — `view-stale-header` — LOW

**view:** `docs/STATUS.md:439` — `## 🎯 CURRENT STATE (baseline S40 — re-ground sống liên tục, mốc gần nhất S151)`

**source:** `docs/STATUS.md:457` (nằm TRONG chính section đó): `**Bundle hash live (prod):** admin B2j1LQ-v · user C3wbJegk (S147 CI #407 — **re-stamp @S152**: FLAG-2 lead-stale bắt ô này đứng S134 qua 5 nhãn …)`. Xác nhận bằng git: `git show c2d01f0 -- docs/STATUS.md` có hunk đổi đúng dòng bundle (BVCukFP5/DoxyEOxh → B2j1LQ-v/C3wbJegk) và hunk §Sub-agents, **0 hunk chạm dòng 439**.

**lệch:** view nói "mốc re-ground gần nhất = S151"; source = section này ĐÃ re-ground @**S152** (bundle hash đo lại 2 lệnh độc-lập, giá-trị đổi thật). Header trễ đúng 1 nhãn.

**vì sao máy mù:** trục H24-3 session-label in `[skip] no doc carries BOTH a session label and an S-heading` ⇒ máy **không đo được** nhãn phiên trên STATUS (bài S150: `Last updated` bị đổi hình thành `CURRENT`). "0 flag ở H24-3" ≠ sạch.

**resolve:** bump `mốc gần nhất S15x` mỗi khi có giá-trị trong section được đo lại (S152 → và S153 nếu closeout hôm nay re-ground test 532 tươi). Hết flag khi nhãn ở `:439` ≥ nhãn stamp mới nhất xuất hiện trong section.

---

## FLAG-3 — `view-stale-count` — LOW

**view (2 site, 1 gốc):**
- `docs/HANDOFF.md:7` slot NEXT-anh **(29)**: *"3 carry-age **12/9/7** (`hook-vs-budget-cap`·`uat-s133`·`uat-s134`) — xử hay gia-hạn?"*
- `docs/HANDOFF.md:6` annotation cùng 3 slug: `hook-vs-budget-cap (12↑)` · `uat-s133-budget-freeze (9↑)` · `uat-s134-luyke (7↑)`

**source:** `instrument-detectors.txt:76/83/84` (đo @S153 trên CHÍNH file HANDOFF này) → `hook-vs-budget-cap` **13** · `uat-s133-budget-freeze` **10** · `uat-s134-luyke` **8**.

**lệch:** view 12/9/7 vs source 13/10/8 — lệch **đúng +1 cả 3**. Không phải "phiên mới trôi thêm": `git log -3 -- docs/HANDOFF.md` cho thấy file **không đổi từ `c2d01f0` (closeout S152)**, working tree clean. Nguồn +1 = **chính đoạn carry S152 mà closeout vừa append**. Chứng: `runs/2026-07-25-S152-h24-open-bookend/sub-lead-gap-S152.md:198` ghi *"Máy FIRE 3 (12/9/7)"* = số đo @**open** S152; closeout chép nguyên số @open vào dòng nó vừa viết ⇒ số lỗi-thời ngay lúc mực chưa khô.

**vì sao đáng ghi dù chỉ +1:** đây là lỗi **cấu-trúc lặp mỗi closeout**, không phải sai-sót một lần — mọi con số "đo @open" dán vào sổ owner-facing @close đều tự lệch +1 vì hành-vi ghi sổ làm tăng chính số đó (self-referential count). Quyết-định của anh ở slot (29) không đổi vì +1, nên **SEV LOW**; nhưng nếu ngưỡng M=6 nằm sát, +1 sẽ đổi kết-luận.

**resolve:** hoặc (a) re-đo carry-age **SAU** khi append đoạn carry rồi mới điền số, hoặc (b) bỏ số tuyệt-đối khỏi sổ, ghi *"≥M, xem `instrument-detectors` mục H24-2"* (đúng B1 trỏ-canonical). Hết flag khi số trong HANDOFF khớp lần đo mới nhất trên chính file đó.

---

## FLAG-4 — `view-stale-status` — HIGH

**view:** `docs/STATUS.md:454` (ô canonical §Sub-agents), khối `+S141/S142 trio-memory`, **2 mệnh-đề**:
1. *"Nghi-thức 2-đầu-phiên **consent-gated** (`session-start §2.1.9` + `session-end §L.b(k)`): em-main IN đề-xuất, **KHÔNG auto-run, anh gật mới chạy**; skip → ghi vết WAL `trio: skipped S<nn>`"*
2. *"(l2_*=0 = SEED-STATE đúng, **chưa chạy lần nào**) … 🔸 **Nấc trung-thực = executed-file / verified-pending-restart** — **3 vai CHƯA spawn-probe lần nào** (cần restart CLI + **anh consent**; KHÔNG được đọc thành verified-runtime)"*

**source — cả hai mệnh-đề đều đã bị lật, có vết owner:**
- `.claude/commands/session-start.md:272` (tiêu-đề §2.1.9): *"Bộ-ba đồng-kiểm memory — **AUTO 1 vòng/phiên GIỮA 2 bookend** (owner @S151; 🧊 adopt S141 dạng **consent-gated → superseded**)"* · `:276` mục (a) nhắc lại *"supersede consent-gate S141"* · `:165` cùng file.
- `.claude/commands/session-end.md:154` §L.b(k)(i): *"AUTO 1 vòng/phiên GIỮA 2 bookend (owner chốt @S151 2026-07-25 — supersede consent-gate S141)"* · `:184` *"🧊 lý-do 'anh không consent' **retired @S152**: cả 5 vòng AUTO"*.
- Owner (32) @S152, ghi ngay trong commit `c2d01f0`: *"vòng 1→5 AUTO — lô consent gỡ 9 site"*.
- CHÍNH `docs/STATUS.md:466` (Recently Done S151): *"Owner-decisions @S151: **trio-auto-1-vòng/phiên (giữa 2 bookend)**"* ⇒ **hai dòng trong CÙNG một file nói ngược nhau**.
- "chưa chạy lần nào" bác bằng đĩa: `ls .claude/workflows/runs/2026-07-25-S151-trio-memory/` và `…-S152-trio-memory/` → mỗi folder có `harness-{eval,refine,audit}-return.md` + `trio-synthesis.md` ⇒ trio đã chạy **≥2 lượt**, nấc thật đã vượt `verified-pending-restart`.

**vì sao HIGH:** đây là ô **CANONICAL** — vai khác (và chính em-main phiên sau) đọc nó để biết có được tự chạy trio hay phải xin phép. Đọc đúng chữ ở `:454` ⇒ trio **không** chạy khi thiếu người gật ⇒ mất 1 vòng/phiên mà owner đã ra lệnh AUTO. Và nó dạy sai **nấc** (nói chưa spawn lần nào trong khi đã có 2 lượt output) — đúng lớp "vắng-mặt trông giống ổn".

**không phải trap #3 (đóng-băng-có-chủ-đích):** khối này KHÔNG mang nhãn 🧊/FROZEN; các khối lân cận trong cùng row đã được cập-nhật sống (sweep model `9c909007` @S151/S152, rename @S149) ⇒ row là bề-mặt LIVE, không phải snapshot.

**resolve:** lật 2 mệnh-đề: consent-gated → **AUTO 1 vòng/phiên giữa 2 bookend (owner @S151, cả-5-vòng @S152)**, giữ 🧊 lineage; nấc → `executed-runtime` kèm 2 run-folder làm chứng. Hết flag khi `grep -c "anh gật mới chạy" docs/STATUS.md` = 0 **và** dòng nấc không còn chữ "CHƯA spawn-probe lần nào".

---

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

**view:** `docs/STATUS.md:454`, khối `+S121 lead-stale-auditor + lead-gap-auditor`: *"**Nhịp = `h24_cadence` {light 6/deep 15/jump 3}** cùng file (single-source H24 §2(3) — doc **TRỎ key, KHÔNG chép số**)"*. Đo trên chính dòng đó: `bookend` = **0** hit, `hình B` = **0** hit.

**source:** `.claude/commands/session-end.md:114` — *"🔄 **HÌNH B — cặp soi-lead BOOKEND VÔ-ĐIỀU-KIỆN @close (đảo @S149)**: spawn cặp MỌI closeout, **KHÔNG cổng nhịp light, KHÔNG consent**"* · `:116` — *"Deep GIỮ CỔNG NHỊP … **`light_every` hạ thành stats-only** — GIỮ SỐ (owner-ratified `e50a4bd0`), **đổi VAI TRÒ (cadence→stats)**"*. Đối-chứng hành-vi: lượt spawn NÀY là bookend @open ở counter **27** với `light 1/6` **chưa tới hạn** ⇒ cái làm nó chạy không phải cadence.

**lệch:** view mô-tả cơ-chế bắn của cặp H24 = **thuần cadence 6/15/3**; source = **bookend vô-điều-kiện 2 đầu**, `light_every` chỉ còn là **thống-kê**, chỉ `deep_every` còn giữ cổng. Ai đọc ô canonical sẽ kết luận sai rằng cặp chỉ chạy mỗi 6 counter — trong khi thực tế nó chạy S150·S151·S152·S153 liên-tiếp.

**kèm (KHÔNG tính flag riêng, vì số hiện KHỚP):** cùng câu đó **chép digits `{6/15/3}`** ngay sau khi tự dặn *"doc TRỎ key, KHÔNG chép số"* — tự mâu-thuẫn, và là đúng cái mồi drift mà H24 §2(3) lập ra để chặn. Hôm nay `memory-budget.json → h24_cadence` = 6/15/3 nên **chưa lệch** ⇒ tao KHÔNG phát FLAG cho nó (không có "cảm giác stale"), chỉ nêu để lượt sửa dọn luôn.

**resolve:** đổi câu thành *"Nhịp: hình-B bookend 2 đầu vô-điều-kiện (S149) · `deep_every` còn cổng · `light_every` = stats-only — số đọc `h24_cadence`"* (bỏ digits). Hết flag khi dòng có chữ `bookend`/`hình B` và không còn chuỗi `{light … /deep … /jump …}`.

---

## INFORM (không phải FLAG — nêu để lead định-đoạt)

- **[turf-handoff → lead chuyển phiên sau]** 2 slug carry MỚI @S152 — `[carry:h24-end-total-line]` và `[carry:ring4-write-lane]` (`docs/HANDOFF.md:6`) — **không xuất hiện** trong danh-sách carry của máy (`instrument-detectors.txt:74-100` liệt 27 slug, có `adap-apply-2-thu` cũng-mới-@S152 nhưng thiếu đúng 2 slug này). Hệ-quả: 2 carry đó **không bao giờ già** dưới mắt H24-2. Tao KHÔNG suy-đoán nguyên-nhân regex (khác turf, và là trục "cái THIẾU"/tooling) — chỉ ghi phép đo. *(Áp đúng luật turf-handoff `HANDOFF:8` ②: ghi "→ lead chuyển phiên sau", KHÔNG chỉ-định vai.)*
- **Khoản 5 nghĩa-vụ @close:** lead phiên này = **Fable 5** do anh chọn lúc launch. `session-start.md:41` quy định: đúng default ⇒ im; **anh chủ động đổi ⇒ nêu + ghi 1 dòng "chủ dự án đổi", 0 caveat**. Đầu phiên chưa có gì stale để flag; nếu closeout S153 không có dòng đó thì đấy là việc của trục **cái-THIẾU**, không phải của tao.

## VERIFIED-CLEAN (kèm LỆNH — chống báo-sạch-rỗng, bài S151)

1. **Roster 20 khớp 4 nơi, đếm PHẦN-TỬ không grep-số (bài S143):** `ls -1 .claude/agents/*.md | grep -v README | wc -l` = **20** · `VALID_ROLES` trong `.claude/workflows/hmw.js:22` liệt **20** tên · `agents/README.md:27` "Roster THẬT" liệt 7 core + 13 = **20** · bảng skill-assignment `agents/README.md:178-197` = **20 row**. `STATUS.md:454` cột giữa = **20**. 0 lệch.
2. **Sweep sha model @S152 giữ được:** `grep -rno "59ce1d0f"` trên 8 bề-mặt LIVE (STATUS · HANDOFF · agents/README · session-start · ultra-on · fable-real · fable-clone · adap-report) — **mọi** occurrence đều ở dạng lineage `9c909007 (re-stamp …; pre 59ce1d0f)`, kiểm tận nơi 4 site `README:39` · `ultra-on:9` · `fable-real:36` · `fable-clone:108`. 0 site còn khai sha cũ là published.
3. **Tên vai trước rename S149 = 0 live-claim:** `grep -rn "lead-view-auditor\|lead-omission-auditor\|tooling-harvest-audit\|h24-audit\|sleep-audit"` trên agents/ + commands/ + hmw.js + scripts/ + STATUS + HANDOFF + CLAUDE.md + mọi diary → tất cả hit đều là **ghi-chú rename** hoặc **narrative lịch-sử/lý-do-detector**. 0 chỗ dùng tên cũ như tên hiện-hành.
4. **Số học carry S151→S152 đúng:** `awk 'NR==11' | grep -o "\[carry:…\]" | sort -u | wc -l` = **26** @S151; S152 đóng 3 (`memory-ops-refine-queue`·`hub-republish-59ce1d0f`·`jump-dai-frozen`) ⇒ 26−3 = **23 GIỮ** khớp đúng chữ "GIỮ re-stamp 23 slug" và khớp 23 slug liệt tay ở `HANDOFF:6`. +3 mới = 26 mở.
5. **`CLAUDE.md:27` "grep trong repo sẽ ra 0 hit" ĐÚNG:** `grep -rn '"model"' .claude/*.json` = **0 hit** (repo có `.claude/settings.json` 330B nhưng không chứa khoá model); pin thật ở `~/.claude/settings.json` = `"model": "claude-opus-5[1m]"` — khớp "DEFAULT Opus 5 MAX" ở `STATUS:454`.
6. **Tally #53 không fork:** `STATUS:6` (CURRENT S152) = **60** · `STATUS:465` + `HANDOFF:13` = **50** nhưng cả hai đều nằm trong đoạn nhãn **S151** và `HANDOFF:13` còn kèm errata *"commit-subject `1b85713`=53 SAI"* ⇒ đóng-băng-đúng-thời-điểm, KHÔNG flag (trap #3).
7. **`STATUS:6` "counter 26"** = trong ngoặc nhãn `(S152, …)` ⇒ snapshot phiên S152, không phải claim hiện-hành ⇒ KHÔNG flag dù counter nay 27.

## Tally

- `view-residual-asym` 1 (FLAG-1) · `view-stale-header` 1 (FLAG-2) · `view-stale-count` 1 (FLAG-3) · `view-stale-status` 2 (FLAG-4, FLAG-5) · `view-stale-role-desc` 0.
- Đơn-vị = **phiên-logic 6**: 4 class fire ở đầu @open ⇒ đầu @close chỉ cần fire class MỚI (class đã quyết trong S153 NO-OP theo luật FIX-1 W2).

<!-- END sub-lead-stale-S153 · TOTAL=5 FLAG -->
