# sub-lead-gap-open-S154 — H24 §2(1) vai-GAP · bookend @OPEN phiên S154 (phiên-LOGIC L7)

> Ghi-đĩa-TRONG-lúc-làm (chống #53). Mỗi FLAG 1 dòng tag `## FLAG-<n> — \`<class>\` — <SEV>`.
> Enum ĐÓNG đọc từ `.claude/agent-memory/memory-budget.json` → `lead_self_audit.flag_classes` (11 class; 6 gap-*).
> Propose-only. KHÔNG Write/Edit ngoài file này. KHÔNG RAG-write.

## 0. Tập KỲ-VỌNG dựng TRƯỚC (method H24 — không đọc-xuôi đợi thiếu-sót nhảy ra)

Nguồn cam-kết đã đọc: `docs/HANDOFF.md` (mega-line, 379 dòng vật-lý / 133.759B) · `docs/STATUS.md` (195.194B) · `.claude/WAL.md` (182B — vừa reset §6.4) · `.claude/agent-memory/memory-budget.json` · `runs/2026-07-26-S153-*/` · `docs/changelog/sessions/`.

### 0.1 Disk-touch nền (chống lỗi lead S121 "bảng-kế-hoạch ≠ đĩa")

```
grep -o '\[carry:[a-z0-9-]*\]' docs/HANDOFF.md | wc -l      => 219 occurrence
grep -o '\[carry:[a-z0-9-]*\]' docs/HANDOFF.md | sort -u    => 43 slug DISTINCT
```
🔴 Bẫy mega-line đã né: `grep -c` ra 1 dòng; phải `grep -o | wc -l`.

### 0.2 Đếm slug theo TỪNG khối carry (dòng vật-lý = 1 khối logic)

| khối | dòng | slug dạng `[carry:x]` |
|---|---|---|
| Carry @S153 | :6 | **5** |
| Carry @S152 | :13 | **6** |
| Carry MỞ re-stamp @S151 | :18 | **26** |
| Carry MỞ re-stamp @S150 | :23 | **24** |

Đối-chiếu tập: `comm` giữa các khối ⇒ **26 slug có trong khối S151 mà VẮNG khỏi khối S153** dạng `[carry:x]`.

---

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

**hứa ở:** `docs/HANDOFF.md:13` (Carry @S152) — *"**GIỮ re-stamp 23 slug** … annotation chi tiết = dòng Carry kỳ S151 bên dưới"* + `docs/HANDOFF.md:6` (Carry @S153) — *"**GIỮ re-stamp toàn bộ carry @S152** *(26 slug — con-trỏ dòng Carry kỳ S152 bên dưới, KHÔNG chép để tránh drift)*"*.
Cam-kết nghi-thức gốc: `HANDOFF:18` **"Carry MỞ re-stamp @S151 (nghi-thức (iv) — đủ MỌI slug còn mở)"** — nghi-thức (iv) yêu-cầu re-stamp ĐỦ MỌI slug.

**hiện:** khối carry MỚI NHẤT (`:6`) chỉ mang **5** khoá dạng `[carry:x]`; khối `:13` mang **6**. 26 slug còn-mở **VẮNG khỏi dạng máy-đọc-được** ở cả 2 kỳ gần nhất. Đo đĩa:

```
sed -n '18p' HANDOFF | grep -o '\[carry:…\]' | sort -u   => 26
sed -n '13p' … => 6      sed -n '6p' … => 5
comm -23 s151 s153  => 26 slug VẮNG (account-trung · binh-le-decision · bookend-5-5 ·
  bvaau · carry-age-vacuous · context-stock · eval-thamquyen · g011-token-fork ·
  hook-vs-budget-cap · hub-republish-59ce1d0f · hub-review-wave-1807 · jump-dai-frozen ·
  meld-forward-unmeasured · memory-ops-refine-queue · pe-phanquyen · pull-warn-threshold ·
  session-model-adopt · tham-sau-6-ca · tiep-window-crash · tools-whitelist-no-teeth ·
  tra-bui-relogin · uat-s117 · uat-s133-budget-freeze · uat-s134-luyke · underfill-mau-so ·
  veto-window-s149)
```

🔴 **Cái thiếu KHÔNG phải "quên carry"** — người đọc vẫn lần ra được qua con-trỏ. Cái thiếu là **hình-thức máy-đọc-được**: `:13` liệt 23 slug ở dạng backtick TRẦN (`` `account-trung` · `bvaau` … ``), `:6` thậm-chí không liệt tên mà chỉ **trỏ sang `:13`** (con-trỏ-của-con-trỏ). Detector H24-2 khớp `\[carry:([a-z0-9][a-z0-9._-]*)\]` ⇒ **0 hit** trên cả 26.

**hệ-quả đo được (từ chính output máy, KHÔNG tự tính):** H24-2 in
`HANDOFF logic-segments = 22 ; carry-lines = 17` và `carryLines[0]` = **7 khoá** = `ctx-t9-dogfood`(1) `adap-apply-2-thu`(2) `h24-end-total-line`(1) `ring4-write-lane`(1) `memory-ops-refine-queue`(3) `hub-republish-59ce1d0f`(3) `jump-dai-frozen`(4). Luật của chính detector (`scripts/governance-detectors.ps1:819-820`): *"A key resets ONLY by being absent from a line that HAS carry … a key gone from the newest one is **closed**, not aged."*
⇒ **máy đã xếp 26 carry còn-MỞ vào diện ĐÓNG** — trong khi HANDOFF khai rõ chúng đang GIỮ.

**đòn-bẩy bất-đối-xứng (chống đọc nhầm thành "owner chủ-động gác"):** cùng lúc đó slot **(29)** ở `HANDOFF:14` vẫn MỞ và hỏi ĐÍCH DANH 3 trong 26 slug đó — *"(29) 3 carry-age 12/9/7 (`hook-vs-budget-cap`·`uat-s133`·`uat-s134`) — xử hay gia-hạn?"* — và `HANDOFF:7` @S153 tái-xác-nhận *"slot cũ **(26)(29)(33)(34)** + (4)-(25) giữ nguyên"*. Owner đang CHỜ số tuổi để quyết, còn thước vừa mất khả-năng in số đó.

**im bao lâu:** 2 kỳ carry liên-tiếp (S152 → S153); lần cuối 26 slug có dạng `[carry:x]` = `HANDOFF:18` (kỳ S151).
**resolve:** khối carry kỳ tới liệt **đủ 26+ slug còn-mở ở dạng `[carry:<slug>]`** (không dùng backtick trần, không dùng con-trỏ) — HOẶC owner chốt đổi nghi-thức (iv) sang cơ-chế khác VÀ detector H24-2 được sửa theo cùng lượt. Hết flag khi `sed -n '<dòng carry mới nhất>p' | grep -o '\[carry:' | wc -l` ≥ số slug lead tự khai là đang GIỮ.

---

## FLAG-2 — `gap-carry-aged` — MED-HIGH

> Vai này **ĐỌC** detector H24-2, **KHÔNG tính lại** streak. Dưới đây là số máy in ra hôm nay + đối-chiếu với số máy in ra các kỳ trước (nguồn: diary vai này + `HANDOFF:14`).

**hứa ở:** `.claude/agent-memory/memory-budget.json` → `h24_cadence.light_every` = M (thước tuổi carry) + `HANDOFF:14` slot **(29)** *"3 carry-age 12/9/7 … xử hay gia-hạn?"* (owner-question dựa TRỰC TIẾP vào số máy in).

**hiện:** H24-2 hôm nay **FIRE = 0**. Streak duy nhất còn sống: max = 4 (`jump-dai-frozen`). Ba khoá từng FIRE liên-tiếp (S143 `7/9/13` · S148 `7/9/13` · S150 `7/9/13` · S151 `7/9/12`) nay **không xuất hiện trong bất-kỳ dòng nào** của output.

🔴 **Không phải chúng được đóng.** `hook-vs-budget-cap` vẫn có **18 occurrence** trong HANDOFF, `uat-s133-budget-freeze` 12, `uat-s134-luyke` 10 — nhưng occurrence MỚI NHẤT của cả ba đều ở **dòng :18** (kỳ S151), không có ở `:13` hay `:6`. Không kỳ nào ghi dòng `✅ ĐÓNG` cho chúng.

🔴 **Thước đang đếm XÁC:** trong 7 khoá `carryLines[0]`, **4 khoá đã được khai ĐÓNG**: `memory-ops-refine-queue` · `hub-republish-59ce1d0f` · `jump-dai-frozen` (cả 3 = *"✅ ĐÓNG @S152"* tại `HANDOFF:13`) và `adap-apply-2-thu` (*"✅ ĐÓNG @S153"* tại `HANDOFF:6`). Nghĩa là **4/7 khoá thước đang theo-dõi là việc đã xong**, còn 26 việc đang mở thì thước không thấy.

🔴 **Khe cấu-trúc thứ hai (mù hoàn toàn, không chỉ mờ):** H24-2 cắt segment tại `(?m)^\*\*(?:[^\x00-\x7F]+\s*)?NEXT\s+(?:anh|em)\b` (`:892`); mark đầu tiên = **dòng 7**. Khối `Carry @S153` nằm ở **dòng 6** ⇒ **NGOÀI mọi segment**, máy không đọc một chữ nào của nó. Đo đĩa xác nhận 3/4 slug MỚI @S153 chỉ tồn tại ở dòng 6:

```
ring5-audit-gap             -> lines: 6            (1 occurrence toàn file)
hmw-width-vs-roster         -> lines: 6            (1)
hmw-subfile-index-collision -> lines: 6            (1)
ctx-t9-dogfood              -> lines: 6 10         (thoát mù NHỜ MAY: được nhắc lại ở NEXT em)
```
⇒ 3 carry MỚI vừa sinh @S153 **chưa từng bước vào thước tuổi**; streak của chúng sẽ mãi = 0, không phải 1.

**đối-chứng nơi lẽ ra phải có:** `HANDOFF:18` từng đặt khối carry **SAU** header `**NEXT anh` nên máy đọc được; `HANDOFF:6` đặt **TRƯỚC** header đầu tiên nên máy không đọc. Không có chỗ nào trong nghi-thức (iv) nói khối carry phải nằm sau header — nên đây là kẽ **chưa ai viết ra**, không phải ai làm sai.

**bối-cảnh số (khai đúng nấc — tương-hợp, KHÔNG phải bằng-chứng nhân-quả):** `sessions/2026-07-26-1600-S153…md:67` ghi `governance-detectors TOTAL=46 (=baseline S151)`; hôm nay `TOTAL FLAGS: 43`. Chênh **−3** trùng đúng số 3 flag carry-aged đã biến mất. Tao KHÔNG khẳng-định −3 = đúng 3 flag đó (chưa chạy detector trên cây S153); nêu vì nó là dạng nguy-hiểm nhất của lớp này: **flag-count giảm trông y-hệt tiến-bộ** (auto-memory `feedback_goodhart_leave_measurement_set.md`).

**im bao lâu:** 2 kỳ (S152, S153) không có carry-aged nào fire; owner-question (29) treo từ S152 = **2 nhãn phiên** mà không có số mới để trả lời.
**resolve:** sau khi FLAG-1 được vá (re-stamp đủ dạng `[carry:x]`), H24-2 phải in lại streak ≥ M cho ít nhất `hook-vs-budget-cap`; VÀ khối carry kỳ tới nằm **sau** mark `**NEXT anh/em` đầu tiên (hoặc detector nới regex để quét cả phần đầu file) ⇒ 3 slug mới @S153 có streak ≥ 1. Hết flag khi output H24-2 in được số tuổi cho đúng 3 khoá slot (29) hỏi.

---

## FLAG-3 — `gap-decision-sunk` — MED-HIGH

> Bề mặt được coordinator ưu-tiên: bảng owner-gated trong `runs/*/spec-*.md` — ca đã tái-phát **2 lần** (@S143 khối `Chờ-anh`, @S148 bảng `O-1…O-7` câm 5 nhãn phiên).

**Đo trước, kết luận sau — quét TOÀN BỘ mục owner-gated của spec S153:**

| mục trong `spec-ctx-adopt-26-07-2026.md` | đường về bề-mặt owner | verdict |
|---|---|---|
| `:15-18` 4 quyết (35)(36)(37)(38) | `HANDOFF:7` — *"(35)(36)(37) veto-window 3 quyết còn lại … không veto = giữ · ~~(38)~~ ✅"* | ✅ CÓ |
| `:36` *"roster 21 > `hmw_width.cap` 20 → **NÊU owner** (câu hỏi riêng, KHÔNG tự đổi)"* | `HANDOFF:7` slot **(40)** + `[carry:hmw-width-vs-roster]` | ✅ CÓ |
| gap `ring5-audit` (synthesis §4) | `HANDOFF:7` slot **(41)** + `[carry:ring5-audit-gap]` | ✅ CÓ |
| `:32` *"**#24 = 3 khoản KHÔNG-KIỂM-ĐƯỢC chép vào adap-report + thư hub**"* | — | 🔴 **0 HIT** |

**hứa ở:** `.claude/workflows/runs/2026-07-26-S153-ctx-adopt/spec-ctx-adopt-26-07-2026.md:32` (bản CHỐT lead ký) + nguồn gốc `sub-fable-invest-S153.md:135` — checklist phép **#24** liệt đích danh 3 khoản:
- (i) *bằng-chứng-nội-dung @tiep không máy-kiểm được* (transcript ngoài tầm máy — mirror hub §7(iii); lưới thay = #18 dogfood + #19 mồi-ngầm);
- (ii) *2-cửa-sổ-song-song = kẽ chấp nhận, **chưa bịt*** (mirror hub §7(iv); PIN `--session` giảm đua nhưng không đóng);
- (iii) *máy không canh bất-biến-block per-run* (#17 lưới git).

**hiện: VẮNG — 0 hit trên CẢ HAI đích được chỉ định, và 0 hit trên 3 bề-mặt owner khác.**

```
token          adap-report(2026-07-25-…-vong-ctx.md)  thư-hub(…ctx-adopt-executed…)  HANDOFF  STATUS  session-log-S153
KHÔNG-KIỂM-ĐƯỢC          0                                   0                          0        0          0
bằng-chứng-nội-dung      0                                   0                          0        0          0
2-cửa-sổ-song-song       0                                   0                          0        0          0
song-song                0                                   0                          1        0          0
bất-biến                 0                                   0                          2        7          0
```
Đọc RUỘT để loại khả-năng "diễn đạt khác": `adap-report §5 honest-caveat` có đúng 4 khoản **(a)** hub dogfood-0-cửa · **(b)** nấc-executed vs thời-điểm-hiệu-lực · **(c)** dải tok `bytes/4..bytes/3.0` · **(d)** bảng 13 hàng = địa-chỉ nội-bộ hub — **không khoản nào** là (i)/(ii)/(iii). Thư hub có 6 datum + câu *"kiểm-chứng = CHƯA (dogfood T9)"* — cũng không phải 3 khoản này (T9 là *lịch kiểm*, còn (i)(ii)(iii) là *thứ máy KHÔNG BAO GIỜ kiểm được*, hai chuyện khác nhau).

🔴 **Đòn-bẩy bất-đối-xứng (loại bào-chữa "cả khối checklist bị bỏ"):** các phép ANH-EM của #24 trong CÙNG danh sách đều **có đường về**:
- #17 + #21 (DEFER-có-khai) → `adap-report:20` ✅
- #18 + #19 + #20 → `adap-report:25` + `HANDOFF:6` carry `ctx-t9-dogfood` ✅
- #22 + #23 → `HANDOFF:6` carry ✅
⇒ **23/24 phép có vết, riêng #24 = 0**. Không phải quên cả khối; đúng một mục rơi, và là mục **duy nhất** mang nội-dung tự-bất-lợi.

🔴 **Vì sao nặng hơn "một dòng thiếu":** thư `aedd7fb67405` đã `nac: sent` + đóng `content_sha256` ⇒ **đã rời nhà**. Hub đọc được "18/18 PASS · 6 datum · kiểm-chứng CHƯA" mà **không** đọc được 3 kẽ SE tự biết là không kiểm được. Đóng lại bây giờ không sửa được tại chỗ — phải **thư đính-chính** (tiền-lệ có thật: `broadcasts/outbox/ai_infra/2026-07-22-se-to-ai_infra-errata-bao-nac-wave-dot-9-10.md`), tức chi phí đã tăng vì im 1 nhãn phiên.

**im bao lâu:** 1 nhãn phiên (S153 → S154), nhưng **qua một ranh-giới không lùi được** (thư đã gửi + sha đã đóng). Đây là khác biệt so với 2 ca trước (S143/S148 câm 5 nhãn nhưng còn ở trong nhà).

**resolve:** (a) chép 3 khoản (i)(ii)(iii) vào `adap-report §5 honest-caveat` **và** phát thư đính-chính cho hub; HOẶC (b) owner chốt rằng 3 khoản đó không cần gửi — và ghi quyết định ấy vào `HANDOFF` NEXT-anh có số. Hết flag khi `grep -c 'KHÔNG-KIỂM-ĐƯỢC' adap-report` ≥ 1 **và** hub có bản mang 3 khoản.

---

## FLAG-4 — `gap-carry-dropped` — MED

**hứa ở:** `docs/STATUS.md:3` *"**Update rule:** trước khi bắt đầu 1 task → ghi row `🔥 In Progress`. Xong → `✅ Recently Done`"* — row còn `⚪ pending` = việc CHƯA xong, theo luật của chính file. Cộng nghi-thức (iv) `HANDOFF:18` *"đủ MỌI slug còn mở"*.

**hiện:** vùng `STATUS.md:636-756` có **14 dòng `⚪`** = **6 việc distinct** (`PE "lỗi phân quyền vào phiếu"` lặp **9 lần** qua S101→S111). Đối chiếu với sổ carry:

| việc `⚪ pending` | slug `[carry:*]` | slot NEXT-anh có số | vết HANDOFF |
|---|---|---|---|
| UAT S117 incognito #77 | `uat-s117` ✅ | — | mới |
| PE lỗi phân quyền (×9 khối) | `pe-phanquyen` ✅ | — | mới |
| **UAT S113** Supplier import v2 + *"Database NCC" ĐẦY ĐỦ* | ❌ 0 | ❌ 0 | chỉ `:234` |
| **UAT S112** A1 + *"Database NCC" THẬT LayoutValid* | ❌ 0 | ❌ 0 | chỉ `:243` |
| **Follow-up non-blocking S112** (`FE-Import-guard Suppliers/Create` · 2 stale-comment · test `NormalizeJoin`+FormC · harvest run-trace stamp) | ❌ 0 | ❌ 0 | chỉ `:243` |
| **H22 pilot S111** (hook-fire re-check · kill-giữa-chain→`/tiep` · đổi-acc · pause-roundtrip workflow THẬT) | ❌ 0 | ❌ 0 | chỉ `:249` |

⇒ **4/6 việc còn-mở nằm NGOÀI sổ carry hoàn toàn.** Vết HANDOFF duy nhất của cả 4 nằm ở dòng **234/243/249** — dưới cửa-sổ tiering mà chính `HANDOFF:3` đặt (*"giữ **2-3 session gần nhất**"*), tức vùng theo luật là đã-nên-archive.

🔴 **Tự-khai sai bị bắt bằng đĩa (bài S121 — bảng mô-tả Ý-ĐỊNH ≠ TRẠNG-THÁI):** row H22-pilot tự ghi trạng-thái `⚪ pending **(NEXT-anh)**`. Chạm đĩa: `HANDOFF:19` (khối NEXT anh mang số) chứa các slot `(4)(5)(6)(7)(11)(12)(13)(14)(15)(20)(21)(22)(26)(27)(28)(29)(30)(31)(32)` và `grep -i 'pilot\|hook-fire\|H22'` trên chính dòng đó = **0**. Hai mục con `đổi-acc` và `kill-giữa-chain` = **0 hit toàn `HANDOFF.md`**. Nhãn "(NEXT-anh)" đúng với sơ-đồ CŨ (`:249`, trước khi chuyển sang hệ đánh-số) và **hết đúng** từ khi anh chỉ trả lời bằng SỐ ⇒ mục này về cấu-trúc **không thể được anh trả lời**.

🔸 **Khai cận-dưới trung thực (KHÔNG thổi):** tao **không** khẳng-định 4 việc đó chưa làm. `pause-roundtrip` gần như chắc đã xảy ra (S152 = phiên-logic 5 nối bằng `/pause`+`/tiep`). Cái tao đo được và khẳng-định: **không sổ nào ghi chúng đã xong, và không sổ nào giữ chúng đang mở** — đúng khe mà nghi-thức carry sinh ra để bịt. Phân-biệt "anh chủ-động gác" vs "bỏ rơi" thì tao **không đủ dữ-liệu ⇒ hỏi, không đoán**.

**im bao lâu:** S111/S112/S113 → S154 = **≈41-43 nhãn phiên** kể từ lần cuối có mặt ở khối NEXT còn hiệu-lực.
**resolve:** mỗi việc → (a) cấp `[carry:<slug>]` vào khối carry kỳ tới, HOẶC (b) đổi row STATUS sang `✅` kèm vết, HOẶC (c) anh nói "gác" ⇒ đánh dấu `owner-held` để lượt sau tao xếp INFORM chứ không FLAG.

---

## FLAG-5 — `gap-underfill` — MED

**hứa ở:** `memory-budget.json → crystallized_backfill.target = 210000` (**OWNER-SET @S115**, `role_boundary_note` cấm AI tự hạ) + `_target_note`: *"actual hot-feed fill is **em-main manual per-session from source_order** (gist → value-marked-archive → curated-RAG, dedup vs hot-load)"*. Và `token_governor.pct_print._note`: *"**Headroom > 0 WHILE high-value content still unloaded = under-fill (WRONG) → load more**"*.

**hiện:** `crystallized-backfill.ps1` chạy tươi phiên này in:
```
tok RANGE [152478 .. 203304]   measured_headroom 176696 tok   target 210000
expected_backfill 176696 tok   precondition MET (target>0 AND headroom>0)
  would pull up to 176696 tok in order: 1.gist  2.value-marked  3.curated RAG
```
Nhưng **bước RÓT không tồn tại trong bất-kỳ nghi-thức nào**:
```
grep -i 'source_order' .claude/commands/{session-start,session-end,tiep,pause}.md  => 0 / 0 / 0 / 0
```
⇒ máy in ra một kế-hoạch 176.696 tok mỗi phiên mà **không lệnh nào tiêu-thụ nó**.

🔴 **Datum MỚI (đây là lý do tao báo lại chứ không im vì "repeat"):** @S153 vừa land khoá `tiep_reload` — bản đặc-tả **nạp-nền chính thức** đầu tiên của SE, `mode: "rut-gon"`, `sources` = **5 mục** (`STATUS` dòng CURRENT+bảng · `HANDOFF` segment mới nhất · `WAL` trọn · `_mind-s-<N>` trọn · `_context-s-<N>` trọn). **0/5 mục thuộc `source_order`** {gist · value-marked-archive · curated-RAG}. Nghĩa là: đúng lúc SE viết mới toàn bộ quy-tắc nạp-ngữ-cảnh, nghĩa-vụ backfill 176.696 tok **không được gấp vào** — bỏ sót **mới, có ngày tháng**, không phải tồn-đọng cũ. Vật-liệu thì sẵn: RAG **SỐNG** (`proj_solution_erp`, 2449 chunk — lead đo tươi ~17:55), gist/archive có trên đĩa.

🔸 **Khai cận-dưới:** rót không để lại artifact ⇒ `0-hit` là **cận-dưới**, không chứng minh được "chưa từng rót lần nào". Cái chứng minh được: **bước rót không có trong nghi-thức** ⇒ nếu có xảy ra thì là ad-hoc, không tái-lập.
🔸 Mẫu-số vẫn hỏng như đã nêu @S150: `target` 210.000 > headroom 176.696 ⇒ `expected_backfill` luôn bị headroom chặn ⇒ chỉ-báo mất khả-năng phân-biệt *nạp-thiếu-thật* vs *trần-đặt-quá-tay*. **Số là quyền anh**, tao chỉ nêu.

**im bao lâu:** 2 nhãn phiên ở dạng này (S153 → S154); trục gốc "không có bước rót" đã nêu @S153 và **chưa vá**.
**resolve:** (a) thêm 1 bước rót tường-minh (đọc `source_order`, dedup vs `hotload_sources`, dừng ở `expected_backfill`) vào `session-start` §2.1.6 và/hoặc `tiep_reload.sources`; HOẶC (b) anh hạ `target` về 0 = TẮT có chủ đích. Hết flag khi `grep source_order` trên bộ command ≥ 1, hoặc `target = 0`.

---

## Honest-zero + BÁC ứng-viên (khai vì im lặng đọc thành sạch)

- **`gap-owner-specifics` = 0 lượt này.** Đã soi 4 chỉ-thị owner của S153 và cả 4 **giữ trọn nguyên-văn**: *"còn thiếu 2 vai ctx?"* / *"Build đủ 3 vai như hub"* (session-log:13, spec:18, adap-report:29) · *"kiểm lại label 5 vòng → đặt tên đúng giống hub và sisters để dễ audit"* (session-log:14) · pipeline *"/fable-real invest → spec → hmw Opus 5 MAX xử lý"* (spec:4, sub-fable-invest:39, adap-report:12). Đáng ghi: vế **"và sisters"** KHÔNG được thoả (SE theo hub, VIPIX dùng `ctx-check/ctx-reload/ctx-chain`) — nhưng lead **tự khai nghịch-lý** ngay tại session-log:54 kèm căn-cứ (tiền-lệ anh ratify @S149) ⇒ đúng khuôn, **không phải** mất specifics.
- **Bảng owner-gated KHÔNG chìm cả khối lượt này** — 3/4 mục có đường về `HANDOFF` slot có số (40)/(41)/(35)-(38). Đây là **bác một phần** mẫu tái-phát S143→S148: nghi-thức đã ăn; chỗ thủng còn lại hẹp và cụ-thể (FLAG-3).
- **BÁC ứng-viên FLAG — slot (39) RAG.** `HANDOFF:7` ghi *"(39) RAG Qdrant DOWN (6333 refused…)"* nhưng lead đo tươi ~17:55: `proj_solution_erp` sống, 2449 chunk, rerank OK. Đây là **mô-tả trạng-thái đã đổi** = trục *"CÓ nhưng LỆCH"* ⇒ **turf `lead-stale-auditor`**, tao KHÔNG lấn. Chuyển giao theo luật turf-handoff: **"→ lead chuyển phiên sau"**, không ghi "→ vai X".
- **BÁC ứng-viên FLAG — `gap-incident-unrecorded` = 0.** Sự-cố #53 của S153 (14-cận-dưới) CÓ vết bền: session-log §5:59 + adap-report datum-5 + thư hub datum-5. Residual-write `test-specialist` cũng có vết (:60). Không có sự-cố nào tao thấy dấu mà 0 sổ ghi.
- **Ranh đã giữ:** các số cũ trong `adap-report` (`VALID_ROLES 20→21` ở `:21` vs `21→23` ở `:29`; §4 `:39-40` còn ghi *"chờ anh (38)"*/*"chờ anh (36)"* sau khi (36)(38) đã quyết) và header `ctx-soft-memory-se-draft.md:3` *"CẤM wire trước khi anh duyệt"* sau khi đã wire — **tất cả là trục CÓ-nhưng-LỆCH ⇒ `lead-stale-auditor`**, liệt ở đây chỉ để không rơi vào khe giữa 2 vai.

## 🔴 KHAI PHẠM VI — cái lượt này KHÔNG phủ

Coordinator thu hẹp phạm vi giữa chừng (sau 2 lần return-lane hỏng). Ba bề mặt dưới **đã được đo và ĐÃ kết thành FLAG** trong file này: *việc rớt khỏi work-state* (→ FLAG-4) · *memory under-fill* (→ FLAG-5) · *yêu-cầu owner mất specifics* (→ honest-zero, có liệt bằng-chứng).

Cái **THỰC SỰ chưa phủ** lượt này, khai thẳng:
1. **`gap-carry-aged` cho 26 slug bị FLAG-1 che** — không đo được tuổi thật của chúng vì thước đã mù (vòng lặp: phải vá FLAG-1 trước). Số 7/9/13 đang dùng là số **kỳ S150/S151**, KHÔNG phải số hôm nay.
2. **Các mục `⚪ pending` trong 9 khối `<details>` gập** của STATUS (S103-S108) — chỉ đọc phần bung, chưa soi từng khối gập.
3. **`docs/changelog/migration-todos.md`** — chỉ dùng làm bề-mặt đối-chứng grep, chưa dựng tập kỳ-vọng riêng từ nó.
4. **Bookend @close** — dữ-liệu closeout chưa tồn tại lúc đo; sổ bền TRẮNG lúc này là **vô-nghĩa để FLAG** (khuôn đã chốt @S153).

## TOTAL + phân-rã theo class (cho `jump_on_class_repeat`)

```
[LEAD-GAP] HIGH     | gap-carry-dropped  | hứa: HANDOFF:13 "GIỮ re-stamp 23 slug" + :6 "GIỮ re-stamp toàn bộ carry @S152 (26 slug)" | hiện: khối carry mới nhất :6 chỉ 5 khoá [carry:x] — 26 slug 0-hit dạng máy-đọc | im: 2 kỳ carry | resolve: khối carry kỳ tới liệt đủ 26+ slug dạng [carry:<slug>]
[LEAD-GAP] MED-HIGH | gap-carry-aged     | hứa: h24_cadence.light_every + HANDOFF:14 slot (29) "3 carry-age 12/9/7 — xử hay gia-hạn?" | hiện: H24-2 FIRE=0; carryLines[0] 7 khoá, 4/7 đã ĐÓNG; khối Carry @S153 (:6) nằm TRƯỚC marks[0] ⇒ 3 slug mới vô hình | im: 2 nhãn phiên không có số mới | resolve: sau khi vá FLAG-1, H24-2 in lại streak ≥ M cho hook-vs-budget-cap
[LEAD-GAP] MED-HIGH | gap-decision-sunk  | hứa: spec-ctx-adopt-26-07-2026.md:32 "#24 = 3 khoản KHÔNG-KIỂM-ĐƯỢC chép vào adap-report + thư hub" | hiện: VẮNG — 0 hit trên cả 2 đích + 3 bề-mặt owner; 23/24 phép anh-em CÓ vết | im: 1 nhãn phiên, đã qua ranh thư-đã-gửi (sha đóng) | resolve: chép 3 khoản + thư đính-chính, hoặc owner chốt miễn
[LEAD-GAP] MED      | gap-carry-dropped  | hứa: STATUS:3 update-rule + nghi-thức (iv) "đủ MỌI slug còn mở" | hiện: 4/6 việc ⚪ pending KHÔNG có slug lẫn slot có-số; H22-pilot tự khai "(NEXT-anh)" mà HANDOFF:19 grep = 0 | im: ≈41-43 nhãn phiên | resolve: cấp slug, hoặc đóng row, hoặc owner đánh dấu gác
[LEAD-GAP] MED      | gap-underfill      | hứa: crystallized_backfill.target=210000 (OWNER-SET) + _target_note "em-main manual pour from source_order" | hiện: expected_backfill 176.696 tok/phiên mà grep source_order trên 4 command = 0; tiep_reload.sources (MỚI @S153) 0/5 mục thuộc source_order | im: 2 nhãn phiên | resolve: thêm bước rót vào nghi-thức, hoặc owner hạ target về 0

TOTAL: 5
  gap-carry-dropped  : 2  (FLAG-1 HIGH, FLAG-4 MED)
  gap-carry-aged     : 1  (FLAG-2 MED-HIGH)
  gap-decision-sunk  : 1  (FLAG-3 MED-HIGH)
  gap-underfill      : 1  (FLAG-5 MED)
  gap-owner-specifics: 0  (honest-zero, có bằng-chứng)
  gap-incident-unrecorded: 0  (BÁC — sự-cố S153 có vết bền 3 nơi)
```

🔴 Propose-only. Không Write/Edit ngoài file này · không commit · không RAG-write. Em-main VERIFY → APPEND (B3).

<!-- END sub-lead-gap-S154 · TOTAL=5 FLAG -->

