# sub-lead-gap-auditor — DEEP sweep @open S192 (phiên-LOGIC L16)

- ngày: 2026-08-13 · counter H24 = **66** · nhịp: `light 6/6 deep 1/1 OVERDUE:light,deep` ⇒ **DEEP**
- vai: `lead-gap-auditor` — soi **CÁI KHÔNG CÓ** (⟂ `lead-stale-auditor` = cái CÓ-nhưng-LỆCH)
- **PROPOSE-ONLY** — không Write/Edit ngoài file này, không commit, không RAG-write (B3: em-main VERIFY → APPEND)
- enum ĐÓNG đọc từ `.claude/agent-memory/memory-budget.json` → `lead_self_audit.flag_classes` (12 class, niêm-phong @S181)

---

## 0. Phương-pháp — DỰNG TẬP KỲ-VỌNG TRƯỚC, so sau

Không đọc-xuôi rồi đợi thiếu-sót nhảy ra (nó không nhảy ra). Trình tự thật đã chạy:

1. Đọc `memory-budget.json` (enum + nhịp) + `.session-counter.json` (tally + history) — **trước** khi đọc bất-kỳ bề-mặt nào lead surface.
2. Dựng **tập cam-kết** từ nguồn: `HANDOFF` (66 slug uniq) · `_context-s-15.md` · run-folder S190/S191 · `STATUS` · `WAL` · `error-ledger` · `migration-todos` · `ACTIVE-MARKS` · `so-yeu-cau`.
3. Chỉ **sau đó** mới so với cái lead surface phiên này (`run.md` S192 + `_context-s-16.md`).

**Đo cứng đã chạy (tái lập được):**

| phép đo | kết quả |
|---|---|
| `[carry:*]` uniq toàn repo | **81** (gồm 3 artifact regex: rỗng/`x`/`slug`) |
| `[carry:*]` uniq trong `docs/HANDOFF.md` | **66** |
| khối RE-STAMP @S191 (`HANDOFF:27`, 1.507 B) | **52** slug |
| khối RE-STAMP @S188 (`HANDOFF:18`) | **47** slug |
| `HANDOFF` ∖ RE-STAMP@S191 | **14** slug |
| RE-STAMP@S188 ∖ RE-STAMP@S191 | **4** slug (3 có dấu ĐÓNG hợp-lệ) |
| `.claude/WAL.md` | **182 B / 11 dòng** — reset trắng sau closeout S191, `chain: (rỗng)` |

🔴 **Bẫy mega-line đã né:** `HANDOFF:27` chứa 52 slug trên **1 dòng vật-lý**. `grep -c` ra 1. Mọi số trên đây dùng `grep -o … | sort -u | wc -l`.

🔴 **Thước dùng cho "đã đóng":** `grep 'ĐÓNG'` trên **dòng** chứa slug là thước HỎNG (mega-line chứa "ĐÓNG" của slug KHÁC ⇒ dương-giả — bài S179). Thay bằng **proximity ±45/±120 ký-tự quanh từng occurrence** + **control-dương** (`snapshot-cmd` = 2 hit, `gotcha-92-candidate` = 1 hit ⇒ thước có bắt được dấu đóng thật, không phải grep rỗng đọc thành sạch).

---

## FLAG-1 — `gap-carry-dropped` — **HIGH**

**`[carry:w8-delete-policy]` VẮNG khỏi khối RE-STAMP @S191, trong khi có mặt ở CẢ BA nguồn mà chính khối ấy tuyên là đã quét.**

- **hứa ở:**
  - `docs/HANDOFF.md:5` (segment `Last update` **@S191 — cùng closeout viết ra khối RE-STAMP**): *"**Chờ anh: KIỂM PROD GĐ3 tiếp** (eoffice đã sống lại) — lệch-ý-thì-chỉnh; **"ổn rồi" ⇒ mở W8 + `[carry:w8-delete-policy]`**"*
  - `.claude/sessions/session-15/_context-s-15.md` — occ **1**, **cùng một câu** với `w5-host-ondeleted`: *"carry: `[carry:w5-host-ondeleted]` (5 host clear-selection sau xoá) · `[carry:w8-delete-policy]` (policy DELETE gắn khi "ổn rồi" + grant Drafter cùng commit)"*
  - `.claude/workflows/runs/2026-08-12-S190-.../` — occ **6** (`run.md`, `style-gate-v2.md`, `sub-b5-plan-final.md`)
- **hiện:** **VẮNG** khỏi `HANDOFF:27` (52 slug). Trên **7 sổ bền** chỉ còn 2 vết rời: `HANDOFF:5` (1) + `so-yeu-cau-chu-du-an.md` (1, và chỉ đóng **vế approver**). `STATUS` = 0 · `WAL` = 0 · `error-ledger` = 0 · `migration-todos` = 0 · `ACTIVE-MARKS` = 0.
- **im:** sinh @S190 (2026-08-12) ⇒ **trượt qua đúng 1 lượt RE-STAMP**, lượt đầu tiên nó đủ điều-kiện vào.
- **🔴 LOẠI ĐƯỢC BÀO-CHỮA "bỏ cả khối vì gấp" — bằng ĐỐI-CHỨNG NỘI-KHỐI, không bằng lý-lẽ:**
  header khối RE-STAMP @S191 (`HANDOFF:26`) **tự quảng-cáo đúng việc nó vừa hỏng**:
  > *"🔴 2 slug lần đầu vào được sổ carry sau khi bị nuốt: `w5-host-ondeleted` (5 nhà khác, HANDOFF 0) · `reset-doi-het` (chỉ sống ở `_context`)"*

  `w5-host-ondeleted` = **anh em sinh đôi cùng câu** với `w8-delete-policy` trong `_context-s-15.md`, và có **ÍT** vết hơn ở run S190 (**2** vs **6**). Khối vớt được đứa **ít vết hơn**, bỏ đứa **nhiều vết hơn**, và đứa bị bỏ lại là đứa duy nhất có mặt ở **HANDOFF** (`:5`) — nguồn quét thứ ba. ⇒ **bỏ CÓ CHỌN LỌC**, không phải bỏ cả khối.
- **hệ-quả:** `w8-delete-policy` là khoản **có điều-kiện mở của owner** (*"ổn rồi" ⇒ mở W8*). Không nằm trong danh-sách carry ⇒ lượt bookend kế **không có gì để disposition** ⇒ khi anh nói "ổn rồi" thì không sổ nào nhắc phải mở W8 + grant Drafter cùng commit.
- **resolve:** thêm `[carry:w8-delete-policy]` vào khối RE-STAMP (52 → 53) **hoặc** ghi dấu đóng tường-minh nếu lead cho là đã đóng trọn (hiện `so-yeu-cau` chỉ đóng **vế approver-delete**, vế *policy DELETE + grant Drafter* còn mở). Hết flag khi slug có nhà trong khối carry HOẶC có dấu `✅ ĐÓNG @Sxxx` neo được.

---

## FLAG-2 — `gap-carry-dropped` — **MED**

**`[carry:bao-cao-cuoi-cho-duyet]` biến mất khỏi khối RE-STAMP mà KHÔNG có một dấu đóng nào trên 7 sổ bền.**

- **hứa ở:** `HANDOFF:18` (RE-STAMP @S188, 47 slug — CÓ mặt) và `HANDOFF:87` (khối S185).
- **hiện:** **VẮNG** khỏi `HANDOFF:27` (RE-STAMP @S191). Occurrence còn lại trên sổ bền: `HANDOFF` = 3, tất cả là nhắc-tên, **0 dấu đóng**; `STATUS`/`WAL`/`error-ledger`/`migration-todos`/`so-yeu-cau`/`ACTIVE-MARKS` = **0**.
- **thước + control-dương:** cửa-sổ ±120 quanh mọi occurrence — `bao-cao-cuoi-cho-duyet` ra **1** hit và hit đó **không phải dấu đóng**, mà là câu *từ chối* đóng; đối chứng cùng lệnh: `snapshot-cmd` = **2** hit đóng thật, `gotcha-92-candidate` = **1** hit `✅ ĐÓNG @S191`. ⇒ thước có răng, số 0 không do grep rỗng.
- **câu từ chối, nguyên-văn `HANDOFF:90`:** *"(ii) **`[carry:bao-cao-cuoi-cho-duyet]` đủ điều-kiện ĐÓNG** … — nhưng đóng carry thuộc nghi-thức `session-end §L.b(j)(iv)`, lane-4 chỉ **nêu ứng-viên**, không tự đóng."*
- **im:** nêu ứng-viên @S185 ⇒ **7 nhãn phiên** (S185→S191) không ai chạy nghi-thức đóng; @S191 thì nó **rơi khỏi danh-sách** thay vì được đóng.
- **🔴 vì sao đây là gap chứ không phải dọn-dẹp đúng:** 3/4 slug rời khỏi danh-sách S188→S191 (`snapshot-cmd`, `hub-republish-59ce1d0f`, `tiep-reload-underfill`) đều **có dấu đóng neo được** trong HANDOFF (`✅ ĐÓNG @S148` · `~~…~~-đóng` · `tự BÁC ⇒ ĐÓNG carry đó` @S168). Slug này là **đứa duy nhất** rời đi **không dấu**. Nghi-thức yêu-cầu *"Đóng = lật trạng-thái, KHÔNG xoá dòng"*; đây là xoá dòng.
- **resolve:** hoặc ghi `✅ ĐÓNG @S19x` kèm 3 bằng-chứng lane-4 đã nêu (duyệt + đã gửi hub + dấu RC), hoặc trả slug về danh-sách. Hết flag khi có **một trong hai**, neo được bằng grep.

---

## FLAG-3 — `gap-carry-dropped` (trục tally/JUMP) — **MED**

**Tally đúng, ngưỡng JUMP vẫn KHÔNG có đường code nào đọc — sang nhãn phiên thứ 12 kể từ khi chính SE tự khai lỗ này.**

- **tally hiện tại** (`.claude/governance/.session-counter.json` → `class_repeat.counts`, đọc @S192):
  `gap-carry-dropped` **18** · `view-stale-count` 16 · `view-residual-asym` 15 · `view-stale-status` 12 · `gap-decision-sunk` 11 · `view-stale-header` 10 · `gap-owner-specifics` 2 · `gap-underfill` 1 · `gap-carry-aged` 0 · `gap-incident-unrecorded` 0 · `view-stale-role-desc` 0 · `view-claim-broader-than-sample` 0.
  ⇒ **6/12 class ở hoặc vượt** `jump_on_class_repeat` = **3**. `gap-carry-dropped` = **18 = 6,0×** ngưỡng.
- **có tăng sau FLAG-1/FLAG-2 không:** **CÓ, nhưng chỉ +1.** Đơn-vị tally = **phiên-LOGIC**, 1 quyết-định/class (`h24-signal-write.ps1`) ⇒ FLAG-1 và FLAG-2 **cùng class** `gap-carry-dropped` chỉ đẩy **18 → 19**, không phải 18 → 20. 🔴 Ghi rõ để lượt ghi-sổ không cộng đôi.
- **🔴 ngưỡng JUMP có ai ĐỌC không — đo, không suy:**
  `grep -rn 'jump_on_class_repeat' scripts/ .claude/hooks/` (*.ps1, *.py) ⇒ **đúng 2 hit, cả 2 ở `scripts/governance-detectors.ps1:932` và `:947`**, và cả 2 nằm **bên trong chuỗi GỢI-Ý-SỬA**, không phải đường đọc giá-trị:
  - `:932` → `'create memory-budget.json carrying h24_cadence { light_every, deep_every, jump_on_class_repeat }'`
  - `:947` → `'W2: add h24_cadence { light_every, deep_every, jump_on_class_repeat }'`

  ⇒ **0 reader thật.** Đối chứng cùng file: `light_every` **CÓ** reader thật (detector H24-2 dùng làm `M`, `:951` fail-loud khi thiếu) ⇒ phép grep có răng, số 0 không do thước hỏng.
- **🔴 ĐÂY KHÔNG PHẢI PHÁT-HIỆN MỚI CỦA TAO — và đó chính là điều đáng báo:** `memory-budget.json` → `lead_self_audit._sealed_P3B_S181` **tự khai nguyên-văn**: *"LO CON LAI, KHAI THANG: nguong jump_on_class_repeat KHONG co may nao doc (lane F do @S180 - slot 68 dong mot nua) => lop loi moi day sang error-ledger CUNG khong co rang JUMP"*. Đo @S180 ⇒ nay **S192 = 12 nhãn phiên**, trạng-thái **y nguyên**.
- **hệ-quả đo được:** 6 class ở/vượt ngưỡng mà **0 nhịp nào bị kéo sớm**. Cơ-chế JUMP tồn tại **trọn vẹn trên giấy** (contract `.session-counter.json:9` mô tả đủ) và **0% trong máy** — `gap-carry-dropped` leo từ 3 (@S148) lên 18 (@S191) mà không kích được gì.
- **im:** slot **(89)** hỏi thẳng đúng câu này @S188 (*"ring2 hỏi thẳng: ngưỡng jump có ai đọc không?"*) ⇒ **3 nhãn phiên** (S189·S190·S191) không đáp, và **không được nhắc lại** phiên này (xem FLAG-4).
- **resolve:** anh chọn 1 trong 3 nhánh của slot (89) — **(a)** kéo audit-sớm chuyên-đề · **(b)** đổi ngưỡng · **(c)** giữ nguyên đọc-theo-nhịp **và ghi rõ JUMP là chỉ-báo-người-đọc, không phải cổng-máy** (nếu (c), lỗ này **hết** là gap, thành thiết-kế có chủ-đích). Hết flag khi có **một** trong ba, neo được trên sổ bền.

---

## FLAG-4 — `gap-decision-sunk` — **HIGH**

**5/6 quyết-định-đang-treo CHÌM: được 3 vai audit đưa lên mặt @S189, rồi 0 hit suốt S190·S191·S192.**

**Phép đo (đếm occurrence từng nhãn slot trên từng run-folder / `_context`):**

| slot | nội-dung | S189 | S190 | S191 | **S192** | verdict |
|---|---|---|---|---|---|---|
| **(89)** | 4 class H24 ở/vượt JUMP=3 — *"ngưỡng jump có ai đọc không?"* | 8 | 0 | 0 | **0** | 🔴 **CHÌM** |
| **(76)** | 2 governor bộ-nhớ đo SAI ĐƠN-VỊ (byte ⟂ ký-tự) | 4 | 0 | 0 | **0** | 🔴 **CHÌM** |
| **(77)** | `migration-todos.md` đóng băng S168 — dựng lại hay khai tử? | 2 | 0 | 0 | **0** | 🔴 **CHÌM** |
| **(78)** | `check-email.md:67` mâu thuẫn P6 | 2 | 0 | 0 | **0** | 🔴 **CHÌM** |
| **(79)** | `YC-002` lật sang đóng? | 3 | 0 | 0 | **0** | 🔴 **CHÌM** |
| **(74)** | rotate mật khẩu prod `vrapp` | 2 | 0 | 0 | **0** | 🟡 **owner-held → INFORM** |

- **`_context` phiên-LOGIC:** `_context-s-15.md` giữ **cả 6** slot (74=6 · 76=7 · 77=6 · 78=6 · 79=6 · 89=6). `_context-s-16.md` (phiên này) = **0/6**.
- **🔴 (74) KHÔNG tính là flag** — `HANDOFF:121` ghi tường-minh *"**(74)** `ROTATE` mật-khẩu prod `vrapp` — **việc anh**, treo từ S153, chưa có mốc"* + `:23` *"em không đụng credential"*. **Vắng ≠ bỏ rơi**: owner đang chủ-động giữ ⇒ **INFORM-only**, không biến thành nhiễu.
- **thước có răng:** cùng lệnh đếm ra 8/4/3/2/2/2 ở S189 ⇒ 0 ở S190-S192 là **vắng thật**, không phải regex hỏng.
- **hứa ở:** `docs/HANDOFF.md:20` (89) · `:55` (76) · `:63` (77) · `:67` (78) · `:69` (79) — **vẫn còn chữ trên HANDOFF**, nên đây **không** phải carry-rớt; đây là **hỏi rồi thôi không hỏi nữa**: đúng định-nghĩa `gap-decision-sunk`.
- **🔴 riêng (77) — vá NỬA VỜI, cần khai đúng:** cảnh-báo **ĐÃ** land vào `migration-todos.md:6-14` @S186 (11 dòng, commit `5a77f4f1`), nhưng **câu hỏi "dựng lại hay khai tử?" chưa có đáp**, và nợ tự-khai *"**Nợ dựng lại tracker = việc riêng, chưa làm**"* có **0 slug carry** phủ (grep `[carry:*]` kèm `tracker|migration` = **0 hit**), **0 hit** trên `STATUS`/`WAL`/`error-ledger`. ⇒ nợ chỉ sống trong **chính file đang đóng băng** + slot đang chìm.
  🔸 **Đính chính tiền-đề brief:** file **KHÔNG** còn "đóng băng S168" trần — nhãn `S186` **có** trên đĩa (dòng 6, dòng cảnh-báo). Thân file thì vẫn S168. Ô `[x]` đo lại **210/128** khớp (77) khi dùng `^\s*- \[x\]`; đếm lỏng `\[x\]` ra 212/129 = **dương-giả**, đừng dùng.
- **resolve:** mỗi slot cần **1 trong 2**: owner phán, **hoặc** lead ghi tường-minh *"hoãn có chủ-đích + lý do"* rồi cấp slug carry. Hết flag khi 5 slot có disposition neo được (không tính (74)).

---

## FLAG-5 — 3 ca lead TỰ NGHI: phán độc lập

### (a) Lead không liệt 52 slug carry ra mặt phiên này ⇒ **KHÔNG phải gap** (bác), nhưng **có gap kế bên** — `gap-carry-dropped`, **MED**

- **Bác vế lead nghi:** in lại 52 slug ở `@open` là **nhiễu, không phải catch-layer**. Chúng nằm ở `docs/HANDOFF.md:27` — sổ bền, `grep`-được, và là **nguồn #2 của `tiep_reload`** ⇒ tự vào context mỗi `/tiep`. Vắng khỏi màn hình ≠ vắng khỏi sổ. Tao **không** flag việc này.
- **🔴 Nhưng cái ĐÁNG flag thì lead không nghi tới:** chính khối RE-STAMP @S191 tự đặt hẹn — `HANDOFF:26` nguyên-văn: *"52 slug mở (cận-trên; **disposition per-slug = việc bookend kế**)"*.
  **Phiên này CHÍNH LÀ "bookend kế"** (bookend @open S192, ngay sau bookend-close S191). Đo: `run.md` S192 + `_context-s-16.md` ⇒ **0 dòng disposition, 0/52 slug được phân loại**.
- ⇒ Không phải "lead quên in danh sách", mà là **một lời hứa ghi bằng chữ, đến hạn đúng phiên này, và trôi**. Cùng lớp với FLAG-1/FLAG-2 (`gap-carry-dropped`), nên **không cộng thêm** vào tally (1 quyết-định/class).
- **resolve:** hoặc chạy disposition per-slug, hoặc sửa chữ trong khối thành mốc thật (*"disposition @Sxxx"*) — đừng để lời hứa neo vào một cái mốc trôi.

### (b) Audit tháng `2026-09-01` (CLAUDE.md) vs `next 2026-08-01` (STATUS) ⇒ **KHÔNG phải trục của tao** — trả turf

- **Kỳ tháng 08 ĐÃ CHẠY.** `CLAUDE.md:128`: *"**ĐÃ CHẠY 2026-08-07 (S179)** — trễ 6 ngày so hạn 08-01; verdict `tooling-auditor` = `PASS_WITH_FLAGS — 8`. **Lần kế: 2026-09-01**"*. ⇒ **không có việc nào bị rớt**, không có gap.
- **Cái lệch là `STATUS.md:848`** — vẫn ghi `✅ **2026-07-01 DONE (S96 `881783c`)** … next **2026-08-01**`, tức **chưa từng ghi nhận lượt S179**. Hai bề mặt sửa **một phía**: CLAUDE.md lật, STATUS không.
- 🔴 **Vật ĐANG CÓ và SAI ⇒ `view-residual-asym` / `view-stale-status` = turf `lead-stale-auditor`.** Enum `gap-*` **toàn bộ** là *cái KHÔNG CÓ*; ép ca này vào `gap-incident-unrecorded` là **sai phạm-vi tường-minh** — scope note của class ghi rõ *"NOT for a stale number (view-\*)"*. **Tao từ chối ép vừa.**
- 🔸 **Turf-handoff kèm số cho vai kia dùng ngay:** `STATUS:848` prev=`2026-07-01/S96`, next=`2026-08-01` · `CLAUDE.md:128` last=`2026-08-07/S179`, next=`2026-09-01` · `docs/rules.md:307` chỉ mô tả nhịp, **không** giữ ngày ⇒ đúng như CLAUDE.md tự khai, **ô ngày sống duy nhất là `CLAUDE.md:128`**, và `STATUS:848` là **neo thối** cần lật hoặc gỡ.

### (c) headroom **114.223** vs target **210.000** ⇒ **ĐÚNG là gap** — class đúng tên là **`gap-underfill`**, **MED**

🔴 **Đính chính tên class trước:** brief gọi `gap-memory-underfill` — **tên đó KHÔNG có trong enum**. Enum đóng (`lead_self_audit.flag_classes`, niêm-phong @S181, 12 phần-tử) chỉ có **`gap-underfill`**. Dùng đúng tên, không bịa biến-thể.

- **hứa ở:** `memory-budget.json` → `crystallized_backfill.target` = **210000** (OWNER-SET @S115, 2026-07-13, `_target_note`: *"owner sets the number, em-main executes+reports, does NOT auto-tune down"*).
- **hiện:** `crystallized-backfill.ps1` @S192 in `measured_headroom` = **114.223** tok ⇒ **thiếu 95.777** = **45,6% target không với tới được bằng cấu-tạo**, kể cả rót cạn.
- **🔴 Đây KHÔNG phải ảnh chụp tĩnh — nó là xu-hướng ĐƠN ĐIỆU GIẢM mà chưa ai theo dõi:**

  | mốc | measured_headroom | thiếu so target 210.000 |
  |---|---|---|
  | S185 | **134.573** | 75.427 |
  | S188 / S189 | **122.555** | 87.445 |
  | S191 | *(0 số đo trong run-folder)* | — |
  | **S192** | **114.223** | **95.777** |

  ⇒ hụt **tăng 27%** trong **7 nhãn phiên**; headroom mất **20.350 tok**. Mỗi phiên in đúng một con số rời rồi bỏ ⇒ **hướng đi bị vô hình**, chỉ thấy khi xếp 3 mốc cạnh nhau.
- **🔴 Và chưa từng có lượt RÓT nào được ghi:** `_target_note` khai script là **DRY planner** — *"performs NO auto-pour; actual hot-feed fill is em-main manual per-session from source_order"*. Quét `docs/` + `runs/` + `sessions/` tìm vết thi-hành (`đã rót` · `backfill đã nạp` · `rót gist`) ⇒ **0 vết một lượt rót nào**. ⇒ underfill **không phải 114K/210K, mà là ~0/210K**: máy đo mở cửa, không ai bước qua.
- **im:** target đặt @S115 ⇒ **77 nhãn phiên**. Slug `[carry:underfill-mau-so]` **CÓ** trong 52 (không rớt) — nhưng điều-kiện-sống của nó ghi cứng *"target 210.000 > headroom **134.573** máy in @S185"*, lệch **20.350** so số hôm nay ⇒ carry còn sống nhưng **đo bằng thước cũ**.
- **resolve:** owner chọn — **(a)** hạ `target` về số với tới được (≤114K, và neo là **DẢI** không phải số cứng), **(b)** giữ 210.000 nhưng ghi rõ đây là **mục-tiêu-khát-vọng**, không phải hạn-mức đo pass/fail, hoặc **(c)** cấp một lượt rót thật + ghi vết. 🔴 Con số là **quyền anh** (`role_boundary_note`) — vai **không** đề xuất hạ, chỉ trình rằng ba mốc đang đi một chiều.

---

## §VERDICT

**TOTAL: 5 FLAG (2 HIGH · 3 MED)** + 3 INFORM.

| # | class | SEV | một dòng |
|---|---|---|---|
| 1 | `gap-carry-dropped` | **HIGH** | `[carry:w8-delete-policy]` vắng khỏi RE-STAMP@S191 dù có ở **cả 3** nguồn khối ấy tuyên đã quét; anh-em sinh-đôi `w5-host-ondeleted` (ÍT vết hơn) thì được vớt ⇒ **bỏ có chọn lọc** |
| 2 | `gap-carry-dropped` | MED | `[carry:bao-cao-cuoi-cho-duyet]` rời danh-sách **không dấu đóng** trên 7 sổ bền — đứa duy nhất trong 4 slug rời đi mà không có vết |
| 3 | `gap-carry-dropped` | MED | `jump_on_class_repeat` **0 reader thật** (2 hit = chuỗi gợi-ý-sửa); 6/12 class ở/vượt ngưỡng, `gap-carry-dropped`=18=6,0× mà 0 nhịp bị kéo — SE tự khai @S180, **12 nhãn phiên** y nguyên |
| 4 | `gap-decision-sunk` | **HIGH** | 5 slot (89)(76)(77)(78)(79) lên mặt @S189 rồi **0 hit** S190·S191·S192; `_context-s-16` giữ **0/6** trong khi `_context-s-15` giữ **6/6** |
| 5 | `gap-underfill` | MED | target 210.000 vs headroom **114.223**, hụt **95.777**; xu-hướng 134.573→122.555→114.223 (hụt +27%/7 phiên) và **0 vết** một lượt rót nào từ S115 |

**Phân rã theo class (cho `jump_on_class_repeat`):**

| class | số FLAG | tally trước | **tally sau** |
|---|---|---|---|
| `gap-carry-dropped` | 3 (FLAG-1·2·3, + ca (a) cùng lớp) | 18 | **19** |
| `gap-decision-sunk` | 1 (FLAG-4) | 11 | **12** |
| `gap-underfill` | 1 (FLAG-5c) | 1 | **2** |
| `gap-carry-aged` · `gap-incident-unrecorded` · `gap-owner-specifics` | 0 — **honest-zero, gọi tên tường-minh** | 0 / 0 / 2 | **giữ nguyên** |

🔴 **+1/class, KHÔNG +1/FLAG** — đơn-vị tally = phiên-LOGIC, 1 quyết-định/class (`h24-signal-write.ps1`). 3 FLAG `gap-carry-dropped` ⇒ **18→19**, không phải 18→21.

**3 INFORM (không vào TOTAL):**

1. 🟡 **(74) rotate `vrapp`** — vắng 3 nhãn phiên nhưng `HANDOFF:121` ghi rõ *"việc anh, treo từ S153"* ⇒ **owner chủ-động giữ**, KHÔNG phải bỏ rơi.
2. 🔀 **turf → `lead-stale-auditor`:** `STATUS:848` neo thối (`next 2026-08-01`, prev `S96`) trong khi kỳ 08 **đã chạy** 2026-08-07/S179 và `CLAUDE.md:128` đã lật ⇒ `view-residual-asym`, **không** phải trục tao.
3. 🔀 **turf → `lead-stale-auditor`:** `so-yeu-cau` — bất-biến *gốc.nhắc = 1 + #satellite* **đúng** ở `YC-002` (4=1+3) và `YC-013` (2=1+1), **hỏng** ở `YC-008` (**1**, phải là 2); số **2** đang nằm nhầm trên satellite `YC-010` (4/5 satellite kia ghi `—` đúng luật). Ô CÓ mà SAI ⇒ `view-stale-count`. 🔸 Kèm datum: luật đếm chỉ tính dòng có `nhắc-lại-của` trống ⇒ lượt anh phải nhắc lại **vô hình với số canonical**.

**Kỷ luật đã giữ:** propose-only (0 Write/Edit ngoài file này · 0 commit · 0 RAG-write) · 0 class tự chế (bác `gap-memory-underfill`) · 0 lấn turf view-* (trả 2 ca) · mọi phủ-định đều có **control-dương** đi kèm · bác 1 vế lead tự nghi (52 slug) thay vì gật cho đủ số.

