# sub-lead-gap-S153 — H24 vai-GAP, bookend @open (hình B, vô-điều-kiện)

> phiên-logic 6 · counter 27 · INFORM-only / propose-only · KHÔNG Write ngoài file này · KHÔNG store_memory
> model self-report (thư `9c909007` Khoản 3.2): **claude-opus-5[1m]** (Opus 5, 1M ctx) — spawn kế-thừa default fleet, KHÔNG phải Fable.

## 0. Phương-pháp — dựng TẬP KỲ-VỌNG trước, so sau

Nguồn cam-kết đã đọc (đĩa, không suy-luận từ bảng):
- `docs/HANDOFF.md` — 372 dòng, 129.399B; mega-line. Đếm bằng `grep -o … | wc -l` (KHÔNG `grep -c`).
  - `:6` khối Carry @S152 · `:7` NEXT anh @S152 · `:8` NEXT em @S152 (①-⑥)
  - `:12` NEXT anh kỳ S151 (slot (4)…(34)) · `:13` NEXT em kỳ S151 (①-⑧)
- `.claude/WAL.md` — chain 3 mục (bookend + 2 thư adap)
- `.claude/governance/.session-counter.json` — counter 27, `last_audit`, `class_repeat.counts`
- `.claude/agent-memory/memory-budget.json` — enum ĐÓNG `lead_self_audit.flag_classes` (11 class: 5 view-* + 6 gap-*)
- run-folder `instrument-backfill.txt` / `instrument-measure.txt` (số máy in, KHÔNG tự tính lại)
- `runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026-v2.md:88-97` — bảng owner-gated O-1…O-7

Số-học carry (disk-touch):
- 39 slug distinct / 213 occurrence trên `docs/HANDOFF.md`
- tập S151 (dòng 11-13) = **26 slug**; tập S152 (dòng 6) = **23 re-stamp + 3 mới = 26**; ✅ ĐÓNG @S152 = 3
  ⇒ 26 − 3 + 3 = 26. **KHỚP: 0 carry biến mất im lặng giữa S151→S152.** (khác S143)

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

**HAI khối NEXT-em cùng đánh số ①②③… song song; khối MỚI KHÔNG nuốt hết mục MỞ của khối CŨ.**

- **hứa ở:** `docs/HANDOFF.md:13` — khối `**NEXT em (phiên kế):**` kỳ S151, được lead **sửa @S152** (thêm `⑦ @S152` + `⑧ @S152`, đóng ①②⑥). Mục còn MỞ (0 strikethrough, 0 ✅): **④** *(theo dõi: counter-datum trio-return-only-CLEAN n=3 · guard AS-17 hiệu-lực · tick script sau fix chạy máy được chưa)* · **⑤** *(chore emoji 🔸 `governance-detectors.ps1:1607`)* · **⑦** *(dựng máy per-item-L1-presence INFORM-only — **owner #32** + đóng bàn-giao trio còn lại H3/H4/H5/H6)*.
- **hiện:** `docs/HANDOFF.md:8` = khối `**NEXT em @S152 (phiên kế):**` — chuỗi ①-⑥ **HOÀN TOÀN KHÁC nội dung**. Đối-chiếu từng mục: chỉ `③` (monthly 2026-08-01 + B7 3-row-ring) và `②` (luật turf-handoff) là bắc được cầu sang. **④ ⑤ ⑦ = VẮNG** khỏi khối mới.
- **disk-touch (không suy-luận từ bảng):** `grep -o` trên 5 bề-mặt bền → `per-item-L1-presence`: HANDOFF **2** (đều nằm ở `:12`/`:13` = segment kỳ-S151), STATUS **0** · WAL **0** · ACTIVE-MARKS **0** · migration-todos **0**. `.claude/WAL.md` chain S153 = **3 mục** (bookend + 2 thư adap) ⇒ **0/3 chạm ④⑤⑦**.
- **vì sao KHÔNG phải "owner chủ-động gác":** ⑦ **bắt nguồn từ chính lời anh** — `HANDOFF:12` slot `~~(32)~~ ✅ ĐÓNG @S152` kết bằng *"tầng-① reinject → em dựng máy per-item-L1-presence (**NEXT-em ⑦**)"*. Con-trỏ trỏ vào một slot nằm trong khối **sắp bị supersede**. Tiền-lệ trên chính file: `HANDOFF:35` = `**~~NEXT em (kỳ S150)~~ — 🧊 SUPERSEDED @S151**`. ⇒ cơ-chế đã xảy ra ĐÚNG một lần rồi.
- **đòn-bẩy bất-đối-xứng (chống đọc nhầm):** cùng khối `:13` đó, mục ⑧ có 4 việc **đã thực-thi** (errata #53 · ef-core SKILL `:109`+`:117` đã vá — verify đĩa: cả 2 dòng nay là `🧊 MODULE ĐÃ XÓA` / `🧊 HẾT HIỆU-LỰC` · M9 3 diary · turf-handoff → bắc sang `:8` ②) ⇒ khối cũ **được đọc và xử một phần**; ④⑤⑦ rớt lại **không phải vì cả khối bị bỏ**, mà vì không có nghi-thức quét-tồn-đọng khi mở khối mới.
- **im:** 1 nhãn phiên (S152→S153), nhưng **⑦ chưa từng có nhà bền** kể từ lúc sinh.
- **resolve:** hoặc (a) kéo ④⑤⑦ vào khối `HANDOFF:8`, hoặc (b) stamp `🧊 SUPERSEDED` lên `:13` **kèm disposition từng mục** (làm/bác/hoãn), hoặc (c) gắn `[carry:*]` cho ⑦ để nó vào phép đo H24-2. Hết flag khi ④⑤⑦ có mặt trên ≥1 bề-mặt bền ngoài segment kỳ-S151.

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

**H7 — câu hỏi CHO ANH, được lệnh "ghi HANDOFF", 0 hit trên HANDOFF.**

- **hứa ở:** `.claude/workflows/runs/2026-07-25-S152-trio-memory/trio-synthesis.md:13` — nguyên văn: *"**H6** (S5/S13/S15 → lead-gap + owner) · **H7** (tầng-① convention-only? → owner) — **ghi HANDOFF**."*
  Ruột H7 ở `harness-refine-return.md:40`: *"2 vòng liên-tiếp tầng-① = 0 action + ledger 0 dòng — **không phân-biệt được "không có floor-rot" vs "không nhìn thấy"** (ledger:50 PARTIAL) → lead chuyển owner: **cấp phép đo per-item-L1-presence hay chấp nhận ①=convention-only (ghi rõ)**."*
- **hiện: VẮNG.** `grep -o` trên `docs/HANDOFF.md`: `H7` = **0** · `convention-only` = **0**. NEXT anh @S152 (`:7`) có (26)(29)(33)(34) — **không có slot nào cho H7**.
- **đòn-bẩy bất-đối-xứng (mạnh nhất trong phiên):** **H6 và H7 nằm CÙNG một dòng, CÙNG một mệnh-lệnh "ghi HANDOFF", CÙNG route → owner.** H6 landed (`grep -o "H6…"` = 1 hit, trong `:13` ⑦). H7 = 0. ⇒ không thể đọc thành "anh đang giữ" — anh **chưa bao giờ được hỏi**.
- **cái mất KHÔNG phải một dòng to-do:** H7 là quyết-định về **thước còn đo được hay không**. Chấp nhận `①=convention-only` thì mọi vòng trio sau in `reinject 0` một cách **hợp-lệ**; không chấp nhận thì phải cấp phép dựng máy. Bỏ treo = tầng-① in `0` mỗi vòng và **không ai phân biệt được sạch vs mù** — đúng lớp `feedback_absence_looks_like_clean` (vắng-mặt trông giống ổn).
- **im:** 1 nhãn phiên trên trục "được hỏi anh"; nhưng **BUILD-GAP gốc tự-khai từ S115 (2026-07-13)** — `.claude/governance/reinject-ledger.md:50` *"mechanized per-item-L1-presence detection is still PARTIAL"* ⇒ **~13 ngày / ≥5 nhãn phiên** không có đường về owner.
- **REPEAT CẤU-TRÚC lần 4** (S143 khối `Chờ-anh` → S148 bảng `O-1…O-7` → S150 khối `Nợ khai` → nay **bảng bàn-giao H1-H7 của trio**): mỗi lần vá bằng **kéo tay** đúng các mục lần đó, **không** dựng nghi-thức quét container-MỚI ⇒ container mới (bảng H của trio, sinh @S151-S152) chìm y hệt.
- **resolve:** H7 có slot đánh số trên `NEXT anh` (hoặc anh trả lời tại chỗ + ghi vết); và luật: **mọi hàng `→ owner` trong bảng bàn-giao trio phải map 1-1 sang một slot NEXT-anh trước khi đóng phiên**.

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

**Tách 2 vế cho sạch (vế A đã có người giữ, vế B thì KHÔNG):**

**Vế A — mẫu-số hỏng ⇒ KHÔNG flag, chỉ INFORM.** `instrument-backfill.txt:26-27`: `target (owner) = 210.000` > `measured_headroom = 181.228` ⇒ `expected_backfill = 181.228 (headroom binds — target exceeds room)`. "Dưới hạn-mức" đúng **theo định-nghĩa**, không mang tin. Vế này ĐANG TREO hợp-lệ: `[carry:underfill-mau-so]` (re-stamp @S152) + `NEXT anh @S152` slot **(26)**. Owner đang giữ ⇒ tao không biến thành nhiễu.
🔸 Datum tươi bổ cho anh khi xử (26): khoảng hụt **đang doãng ĐỀU**, 3 điểm đo:
| phiên | headroom (tok) | hụt vs target | nguồn |
|---|---|---|---|
| S150 | 190.437 | 19.563 (9,3%) | diary lead-gap S150 INFORM(4) |
| S152 | 184.502 | **25.498 (12,1%)** | `S152-trio-memory/harness-eval-return.md:48` (S15) |
| S153 | **181.228** | **28.772 (13,7%)** | `instrument-backfill.txt:25-27` (đo tươi) |
Kiểm-chéo cơ-chế (số tự khớp, không phải trùng hợp): `STATUS 188.597 + HANDOFF 129.399 = 317.996 B` vs `308.318 B` @S152 ⇒ **+9.678 B ≈ +3.226 tok** (/3.0); hụt tăng `28.772 − 25.498 = 3.274 tok`. ⇒ **thủ-phạm chính là nghi-thức re-stamp carry + append HANDOFF/STATUS** — đúng cái nghi-thức bảo-vệ carry lại đang ăn headroom. Trade-off này là **quyền anh**, tao chỉ đặt số cạnh nhau.

**Vế B — FLAG: hạn-mức owner đặt CHƯA TỪNG có bước thực-thi.**
- **hứa ở:** `.claude/agent-memory/memory-budget.json:101` (`crystallized_backfill._target_note`) — owner-directed @S115 (2026-07-13) `target 0 → 210000`, kèm nghĩa-vụ nguyên văn: *"actual hot-feed fill is **em-main manual per-session** from source_order (gist → value-marked-archive → curated-RAG, dedup vs hot-load)"*.
- **hiện: VẮNG — và vắng ở tầng CƠ-CHẾ, không chỉ tầng vết.** Disk-touch: `grep -no "source_order|nạp thêm…backfill|đổ backfill|pour"` trên `.claude/commands/{session-start,session-end,tiep}.md` = **0 hit**. Nghi-thức chỉ có **bước IN**: `session-start.md:225` và `session-end.md:68` đều là *"chạy `crystallized-backfill.ps1` → **in BẢNG số**"*. **Không tồn tại bước rót.** ⇒ con số `expected_backfill = 181.228` được in ra mỗi phiên rồi **không ai tiêu-thụ**.
- **corroborate:** `grep -rlo "expected_backfill|source_order|value-marked-archive" docs/changelog/sessions/` = **1 file duy nhất** = `2026-07-13-S115-presence-not-age-adopt.md` (chính phiên ĐẶT số). 38 nhãn phiên sau: **0**. `grep "rót backfill|đã nạp backfill|poured"` toàn `docs/` + `.claude/governance/` = **0**.
- **vì sao là under-fill THẬT, theo chính config:** `token_governor._note` định-nghĩa budget = *"MINIMUM-to-USE floor … under-fill ONLY when high-value content **exhausted**"*. Planner vừa khẳng-định còn **181.228 tok nội-dung đã-kết-tinh** xếp hàng theo `source_order` ⇒ **chưa cạn** ⇒ nạp ~199K/380K = **52,4% cap** là under-fill **đúng theo định-nghĩa của chính file config**, không phải theo tiêu-chuẩn tao tự đặt.
- **🔴 KHAI THẬT (cận-dưới, không overclaim):** một lượt "rót" là **nạp context, KHÔNG để lại artifact đĩa** ⇒ `0 hit` là **tín-hiệu cận-dưới**, KHÔNG chứng-minh "chưa bao giờ rót". Cái tao chứng được **chắc** là mệnh-đề mạnh hơn về cơ-chế: **không có bước nào trong nghi-thức ra lệnh rót** ⇒ nếu có xảy ra thì là ngẫu-nhiên/không-lặp-lại-được và **không kiểm-toán được**.
- **im:** **38 nhãn phiên** (S115 → S153) / ~13 ngày.
- **resolve:** một trong ba — (a) `%-print §2.1.6/§L.b(c)` in thêm dòng **"đã rót N tok / nguồn nào"** (biến thứ vô-hình thành đo được); (b) thêm bước rót tường-minh vào nghi-thức; (c) anh chốt `target = 0` (OFF) để chỉ-báo thôi nói dối. Hết flag khi có **1 dòng đo được** về lượng thực-rót, hoặc target về 0.

## INFORM (không đủ nặng thành FLAG)

**I-1 — carry-age: ĐỌC detector, KHÔNG tính lại (H24-2, `instrument-detectors.txt:70-84`).**
`M = light_every = 6` (đọc config). `20 logic-segment / 16 carry-line`. FIRE **3**: `hook-vs-budget-cap` **13** · `uat-s133-budget-freeze` **10** · `uat-s134-luyke` **8**.
🔴 **Datum MỚI đáng kể:** bộ này = **12/9/7 + 1 mỗi cái** so với `HANDOFF:12` slot (29) ghi @S152 ⇒ **thước ĐÃ NHÍCH ĐÚNG 1 NHỊP.** Chấm dứt chuỗi tao báo 3 phiên liền (S143·S148·S150 đều đứng chết ở `7/9/13`). Vá segment-cut @S151 **đang giữ và đang đo thật**. Cả 3 đều owner-held (slot (29) *"xử hay gia-hạn?"*) ⇒ INFORM, không FLAG.
🔸 **Ranh turf:** slot (29) đang ghi `12/9/7` trong khi máy in `13/10/8` = **số CÓ nhưng LỆCH ⇒ `lead-stale-auditor`**, tao không lấn.

**I-2 — số-học carry SẠCH (0 carry biến mất im lặng).** Tập S151 (`:11-13`) = **26 slug**; @S152 (`:6`) = 23 re-stamp + 3 mới = **26**; ✅ ĐÓNG @S152 = 3 (`memory-ops-refine-queue` · `hub-republish-59ce1d0f` · `jump-dai-frozen`). `26 − 3 + 3 = 26` ✅. Toàn file 39 slug distinct / 213 occurrence; 13 slug ngoài tập S152 đều nằm ở segment ≤S150 và có vết đóng/xử. **Khác hẳn S143** (tổng-không-đổi che carry-rơi).

**I-3 — `gap-incident-unrecorded`: có sự-cố THẬT trong phiên, nhưng cửa ghi CHƯA đóng ⇒ chưa FLAG.**
Sự-cố: **return lượt 1 của chính tao garble #53** (trả narration *"Let me measure the underfill axis properly"* thay verdict) → lead phải gửi course-correction. Vết bền hiện tại = **0** (chỉ trong transcript + tin lead).
🔴 **Datum DƯƠNG, đáng ghi hơn cái số:** kỷ-luật *ghi-đĩa-TRONG-lúc-làm* **đã cứu thật** — §0 của file này (gồm phép số-học carry 26/26) **sống nguyên vẹn** qua garble; resume chỉ mất phần chưa kịp ghi ⇒ **0 finding mất**. Đối-chứng S148: cùng vai, KHÔNG ghi (mtime còn phiên trước) ⇒ phải resume từ số 0.
⇒ Không nâng FLAG vì `@closeout` chưa chạy và luật đã-ratify là *tally chốt @closeout* (cùng lối tao BÁC ứng-viên `_end` @S148). **Đề-nghị:** closeout cộng ca này vào `feedback_agent_return_garble_recover.md` **kèm sub-class mới `garble-nhưng-đĩa-cứu`** — phân biệt với `ngược-#53` và `skeleton-ruột-rỗng` (2 sub-class S150), vì hệ-quả khác hẳn: 0-mất vs mất-trọn.

**I-4 — BÁC ứng-viên FLAG của chính tao (`_frozen_until_owner`, FLAG-2 HIGH @S150).**
`grep -c "frozen_until_owner" .claude/governance/.session-counter.json` = **0**. Vắng, nhưng **ĐÚNG**: owner đóng slot (30) @S152 — `HANDOFF:12` *"✅ ĐÓNG @S152 … ĐỂ-NGUYÊN-theo-nhịp … anh im = để nguyên"*, và `HANDOFF:6` ghi `[carry:jump-dai-frozen]` ✅ ĐÓNG với `frozen=False`.
Đối-chứng số (không tin chữ): `class_repeat.counts` đĩa = `gap-carry-dropped 6 · view-stale-count 4 · view-residual-asym 4` — **khớp chính xác** 3 số `HANDOFF:12` khai. Dải cũ `{gap-owner-specifics 4 · gap-decision-sunk 3}` nay `0/0` = máy reset **theo đúng quyết-định owner**, KHÔNG phải bằng-chứng-tự-huỷ. ⇒ vắng = owner chủ-động ⇒ INFORM-only.

## Honest-zero (soi rồi, KHÔNG fire — nêu để chống "im vì chưa dựng tập kỳ-vọng")

- **`gap-owner-specifics` = 0.** Đo từng lời anh @S152, không đo cảm-tính:
  **(30)** → codified khớp **từng con số** (3 giá-trị counts trên, đã đối-chứng đĩa) ✅
  **(31)** → `grep -c "Anti-patterns (NEVER)"` = **1/1 trên cả 4 persona** (`database-agent` · `harvest-curator` · `office-document` · `tooling-auditor`) ✅
  **(32)** → *"các vòng 1→5 auto luôn"*: `run.md:3` phiên này ghi đúng *"5 vòng AUTO … 0 cổng consent, vết M4 giữ"*, `session-end.md:50/:68/:148` mang vết *"owner @S152 'vòng 1→5 auto', 🧊 consent retired"* ✅
  ⇒ **3/3 giữ trọn SPECIFICS.** (Vế rơi của (32) là **con-trỏ `NEXT-em ⑦`** — đã tính ở FLAG-1, **không đếm hai lần**.)
- **Bảng owner-gated `O-1…O-7` = 0 khoản câm — BÁC luôn FLAG-1@S148 và FLAG-3@S150 của chính tao.** Disk: `O-2` → `HANDOFF:12` slot **(17)** `✅ DISPOSITION @S149 (OWNER-DELEGATED → lead-decided): posture-A` · `O-3` → slot **(18)** `✅ … tập-rỗng` · `O-7` → `memory-budget.json:9-18` (`hmw_width`, 11 dòng metadata). Hit trên **2** bề-mặt owner (HANDOFF 2/2, STATUS 1/1). Trục này **SẠCH**.
- **Việc rớt khỏi work-state — phần lead SẼ trình @open: KHÔNG bắt được lỗi.** Đối-chiếu `NEXT em @S152 (:8)` ①-⑥ vs `WAL:6-9` chain: ① `/adap-apply 2 thư` ✅ có (2 dòng chain) · ② turf-handoff ✅ có mặt ở `:8` · ③ B7 + monthly 2026-08-01 ✅ (hẹn 2026-08-01, chưa tới hạn) · ④⑤ = **F3/F4 thước-gate-sau** và **thước H2 kỳ sau** — cả hai là *"áp từ lượt tới"*, tức **ràng-buộc lên vai KHÁC khi vai đó chạy**, không phải việc lead phải nêu @open ⇒ **KHÔNG** phải gap · ⑥ product carries = có `[carry:*]` riêng, vào phép đo H24-2 ⇒ an-toàn.
- **Slot NEXT-anh mở (4)-(29):** rà `:12` — mỗi slot đều có nhãn trạng-thái tường-minh (`"để đó" chờ production` (4)(5) · `giữ` (6) · `chưa có tin` (13) · `giữ nguyên` (7)-(11)/(15)-(20)/(22)-(26) · (28)(29) câu hỏi mở mới). **0 slot rơi vào trạng-thái câm-không-nhãn** ⇒ không fire `gap-decision-sunk` cho khối này. (Cái chìm là thứ **chưa từng vào bảng** — FLAG-2.)

## Tally cho `jump_on_class_repeat` (SỐ ĐO, không phải đề-nghị)

Đơn-vị = **phiên-LOGIC 6** (@open + @close gộp). Giá-trị đĩa TRƯỚC lượt này (`class_repeat.counts`): `gap-carry-dropped 6` · `gap-decision-sunk 0` · `gap-underfill 0` · `gap-owner-specifics 0` · `gap-carry-aged 0` · `gap-incident-unrecorded 0`.

| class | trước | sau lượt @open | ghi chú |
|---|---|---|---|
| `gap-carry-dropped` | 6 | **7** | ≥ jump=3 (đã ≥ từ trước) |
| `gap-decision-sunk` | 0 | **1** | fire lại sau 1 phiên nghỉ |
| `gap-underfill` | 0 | **1** | **fire LẦN ĐẦU** kể từ khi enum mở |
| 3 class còn lại | 0 | 0 | không fire |

⇒ **1 class chạm/vượt jump=3** (`gap-carry-dropped` = 7). 🔴 Anh **đã phân-xử** trục này @S152 slot (30): *"ĐỂ-NGUYÊN-theo-nhịp, deep kế ~counter 40"* (nay counter 27) ⇒ tao **chỉ báo số, KHÔNG đề-nghị kéo nhịp** — quyết-định đó đã có chủ.

<!-- END sub-lead-gap-S153 · TOTAL=3 FLAG -->
