# sub-opus-lane5-measure — LANE-5 measure (YC-017, S185)

- vai: Opus 5 MAX lane-5 · ts-mở: 2026-08-09 (phiên S185)
- item giao: **C-5 · C-9 · C-18 · C-22** (4 item)
- artifact-first chống #53: file này ghi LIÊN TỤC trong lúc làm. Return chỉ là con-trỏ.
- ranh: đọc THƯ GỐC + REPORT trước khi chạm · vùng-owner ⇒ DỪNG + khai · fault-inject chỉ trên cây tạm · mọi số kèm lệnh tái-lập · KHÔNG commit/push · KHÔNG store_memory.

## §0 Tiền-đề đã dựng

- checklist: `.claude/workflows/runs/2026-08-09-S185-email-adap-pipeline/checklist-final.md:33-37` (khối LANE-5)
- nguồn P1: `sub-invest-email-adap-fable.md` §2.1 (dòng v/n/…), §3
- nguồn P2: `sub-review-checklist-fable.md` §G (F-6 → C-18 · F-9 → C-22)

(ruột từng item ghi bên dưới, append liên tục)

---

# C-5 — phép bác Lớp 2 · 4 · 9 (thư 08-05 phần "chưa đo")

**Nguồn thư gốc:** `D:/Dropbox/CONG_VIEC/AI_INFRA/broadcasts/outbox/all/2026-08-05-Governance-loi-do-luong-phan-1-tai-lap-duoc.md` — Lớp 2 `:28-38` · Lớp 4 `:56-66` · Lớp 9 `:126-136`.
**Report đích:** `docs/governance/adap-reports/2026-08-05-Governance-loi-do-luong-phan-1-va-2.md` (dòng `:51` khai "Lớp 2·4·9 — chưa chạy phép bác").

## L2 — "Cái chốt kiểm-chứng đã bị tiêu thụ"

**Phép bác của thư (`:38`):** *"Tìm mọi câu dạng 'nếu X không xảy ra thì máy đã hỏng', rồi chạy lại đúng phép đo trong câu đó hôm nay. Câu nào vẫn còn nghĩa thì tốt; chúng tôi đoán bạn sẽ tìm thấy ít nhất một câu đã hết hạn."*

**Vị-từ SE tự đặt (khai trước, ship số sau — chống Lớp 3):** *chốt kiểm-chứng* = câu trong doc/script **neo vào một GIÁ-TRỊ ĐO ĐƯỢC LÚC VIẾT** (số / tỷ-lệ / số-dòng) và dùng giá-trị đó để bảo-chứng máy còn sống. Loại trừ: bản-ghi lịch-sử (session-log, HANDOFF slot đã đóng) — chúng không đóng vai bảo-chứng.
**Lệnh gom ứng-viên:** `grep -rnE "(hỏng THƯỚC|thước hỏng|máy đã chết|thì máy|control (dương|âm)|positive-control)" --include="*.md" --include="*.ps1" docs .claude scripts | grep -v agent-memory/archive` → 50 hit thô, lọc theo vị-từ còn **5 chốt SỐNG**.

| # | Chốt (file:line) | Số neo LÚC VIẾT | Đo lại 2026-08-09 | Kết |
|---|---|---|---|---|
| L2-1 | `scripts/naming-scan.ps1:317` in `$script:Total` **sống** ⟂ `:318-321` + `:196` giải-thích **cứng** | "Tap do: **231** ten" · "goc 231 … **=> 233** sau W1" | máy in `mau so TONG: **256**` trong **CÙNG một lượt chạy** ⇒ **hở 23 tên không giải-thích** | 🔴 **HẾT HẠN** |
| L2-2 | `docs/governance/naming-standard.md:107` "MÁY: `detectors:1102` + `:1771` (cùng regex, HAI bản sao) + `memory-selfimprove-audit.ps1:298` ⇒ đổi họ = sửa **3 chỗ**" | neo 3 **số dòng** (viết 08-07) | regex `'^(sub-.+\|.+-return)\.md$'` nay ở **`:1109`** + **`:1778`** (trôi **+7**); selfimprove ở `:299` (+1). Mệnh-đề "3 chỗ" **còn đúng**, **toạ-độ SAI cả 3** | 🔴 **HẾT HẠN (toạ-độ)** — mệnh-đề sống |
| L2-3 | `scripts/naming-scan.ps1:8-11` (hợp-đồng máy, khoản 1) "bat gate ma chua soak => **8-12 lop no ton** keu cung luc" | 8–12 | chạy máy hôm nay: **LECH 8/256**, rải **4 nhóm**. Đọc "lớp"=**cờ** ⇒ 8 ∈ [8,12] ✅ · đọc "lớp"=**nhóm** ⇒ 4 ∉ [8,12] ❌ | 🔶 **HAI CÁCH ĐỌC** (chính là Lớp 3 tái diễn *bên trong* phép bác Lớp 2) |
| L2-4 | `scripts/naming-scan.ps1:25-26` (khoản 5) "3 script .ps1: **0/0/0** byte ngoài ASCII, **control-duong** trên 1 tệp .md tiếng Việt = **58**" | 0/0/0 + control 58 | 5/5 script đo lại = **0 non-ASCII** ✅ (mở rộng vẫn giữ). Control: naming-standard.md = **9.238 byte** ngoài ASCII / **127** điểm-mã phân-biệt — **không** tái-lập được số 58 ở cả 2 đơn-vị | 🔶 **chức-năng CÒN** (control ≠ 0 ⇒ thước sống) · **hiệu-chuẩn HẾT HẠN** |
| L2-5 | `docs/governance/so-yeu-cau-chu-du-an.md:69` "Đo @S180: **0 hit** toàn kho (control dương cùng phép, chuỗi *điểm dừng* = **5 tệp** ⇒ lệnh chạy được, rỗng là rỗng thật)" | control 5 tệp | `grep -rl "điểm dừng" --include="*.md" .` = **70 tệp**; khối `PN-` vẫn **1 hit** (chính dòng mồi, không phải bản ghi) | 🔶 **chức-năng CÒN** · **hiệu-chuẩn lệch 14×** |

**Lệnh tái-lập (từng dòng):**
```
# L2-1
powershell -NoProfile -File scripts/naming-scan.ps1 | grep -E "mau so TONG|goc 231|=> 233"
grep -n "231\|233\|mau so TONG" scripts/naming-scan.ps1
# L2-2
grep -nE "\^\(sub-\.\+\|\.\+-return\)" scripts/governance-detectors.ps1     # -> 1109, 1778
sed -n '107,108p' docs/governance/naming-standard.md
# L2-3
powershell -NoProfile -File scripts/naming-scan.ps1 | grep -E "^  LECH"
# L2-4
powershell -NoProfile -Command "$b=[IO.File]::ReadAllBytes('scripts/naming-scan.ps1');($b|?{$_ -gt 127}).Count"
# L2-5
grep -rl "điểm dừng" --include="*.md" . | wc -l
```

**KẾT L2 = 🔴 CONFIRMED — Lớp 2 CÓ ÁP cho SE, 5/5 chốt đều lệch ở mức nào đó, 2/5 hết hạn thật.**
Thư đoán *"bạn sẽ tìm thấy ít nhất một câu đã hết hạn"* — **đoán ĐÚNG**, SE tìm được **2** (L2-1, L2-2) + 3 chốt lệch-hiệu-chuẩn.
🔴 **Ca đắt nhất = L2-1:** máy **tự in số sống 256** rồi **tự giải-thích bằng số cứng 233** trong cùng một màn hình — và nó nằm trong đúng cái máy có khoản hợp-đồng (3) *"LUON IN MAU SO canh moi con so"*. Đây là Lớp 2 **cộng** Lớp 6 (sửa dòng in, sót dòng giải-thích cách đó 1-4 dòng, **cùng tệp**).
### 🔴 ĐÍNH-CHÍNH L2-2 trong chính lượt đo (đo 2 lần cách nhau ~15 phút, ra 2 số)

`scripts/governance-detectors.ps1` đang bị **LANE-1 sửa song song** (C-2/C-8/C-11/C-19 cùng tệp): size **114.797 → 122.956 B**, mtime **2026-08-09 21:24:01**, `git status` = ` M`.
⇒ Toạ-độ regex **trôi NGAY TRONG cửa-sổ đo của tôi**: `:1109/:1778` (đo ~21:1x) → **`:1213`/`:1882`** (đo 21:24). `memory-selfimprove-audit.ps1` → **`:307`**.

| Tài-liệu neo | Số ghi trong tài-liệu | Thật lúc 21:24 | Trôi |
|---|---|---|---|
| `naming-standard.md:107` | `detectors:1102` | `:1213` | **+111** |
| `naming-standard.md:107` | `detectors:1771` | `:1882` | **+111** |
| `naming-standard.md:107` | `selfimprove:298` | `:307` | **+9** |
| `naming-scan.ps1:24` | `detectors:1109` | `:1213` | **+104** (đúng lúc 21:1x, **thối sau 15 phút**) |

**4/4 neo-số-dòng SAI.** Bài rút ra mạnh hơn cả kết luận ban đầu: **neo số-dòng vào tệp đang có người sửa thì hạn dùng tính bằng PHÚT, không phải bằng phiên.** Trùng đúng thuốc Lớp 7 của thư (*"đừng neo vào glyph — neo vào cấu trúc"*) và bài nhà `HEAD~n ≠ commit-trước-của-mình` (S177).
🔸 Lệnh neo-nội-dung thay thế (bền): `grep -n -- "-return)" scripts/governance-detectors.ps1`.

🔸 **Ca L2-2 lây sang tệp khác:** cùng một regex được 2 tài-liệu neo bằng 2 toạ-độ **khác nhau** — `naming-scan.ps1:24` neo `:1109` ⟂ `naming-standard.md:107` neo `:1102`. Tức bản vá số-dòng đã chạy ở tệp này mà **sót tệp kia** ⇒ Lớp 6 xuyên-tệp = đúng phản-biện #2 SE gửi hub 08-07 (*"Lớp 5 và Lớp 6 nên gộp: phạm-vi vá hẹp hơn phạm-vi bệnh"*).
🔴 **Tự bắt Lớp 6 trong chính báo cáo này:** bản nháp câu trên từng viết `naming-scan.ps1:24` là *"ĐÚNG hôm nay"* — sai, vì khối ĐÍNH-CHÍNH ngay phía trên đã đo `:1213`. Sửa 1 dòng mà suýt sót dòng kế bên **trong cùng tệp**, đúng Lớp 6. Giữ vết này làm chứng-nhân thay vì xoá.


## L4 — "Nhãn không kiểm chứng được, ở phía con người"

**Phép bác của thư (`:66`):** *"Đọc lại **mười quyết định gần nhất** của kho bạn **có kèm lý do định lượng**. Đếm xem bao nhiêu cái có đủ ba thành phần."* — 3 thành phần (`:64`): **đại lượng · lệnh tái lập · ngưỡng định trước**.

**Cách lấy mẫu (khai trước, ship số sau):** quét NGƯỢC thời-gian 3 bề-mặt quyết-định SỐNG — `.claude/WAL.md` (S185, 2026-08-09) → `runs/2026-08-09-S185-…/checklist-final.md` (lead P3, hôm nay) → `docs/HANDOFF.md` khối NEXT-em/CHỜ-ANH (S179→S181) — lấy **10 quyết-định đầu tiên có lý-do mang SỐ hoặc mang NHÃN định-lượng**. Chấm nhị-phân từng thành phần.

| # | Quyết-định (file:line) | đại lượng | lệnh tái lập | ngưỡng định trước | Đủ 3? |
|---|---|---|---|---|---|
| 1 | `WAL:9` — 8 test → suite **668/0** ⇒ SHIP `72568f05` | ✅ test pass/fail | ✅ `WAL:22` `dotnet test SolutionErp.slnx (=668/0)` | ✅ 0 fail | **✅ 3/3** |
| 2 | `WAL:9` — verify DLL prod `new-guard: 3` ⇒ nhận deploy | ✅ hit-count | ✅ `WAL:22` `ssh vietreport-vps grep DLL … (=3)` | ✅ =3 | **✅ 3/3** |
| 3 | `checklist-final:40` — ring2 **30.781 B** ⇒ VỠ `autoinject_cap 25.600` + soft-cap 30.720 ⇒ route qua máy gate | ✅ byte | ✅ `wc -c` (`sub-review §B A3`) | ✅ 2 cap đọc từ `memory-budget.json` | **✅ 3/3** |
| 4 | `HANDOFF:40` — ring2 **26.440 B > cap 25.600** ⇒ `-Apply` ghi **strike 1/2**, KHÔNG tự archive | ✅ byte | ✅ `memory-archive-gate.ps1 -Apply` | ✅ cap + "2 lượt liên tiếp" | **✅ 3/3** |
| 5 | `WAL:25` — V-5 **DI-TRÚ** vào WAL vì **0 hit** ở WAL·HANDOFF·STATUS (control-dương **4/34/10**) | ✅ hit-count | 🔶 control có số, **lệnh literal không ghi** | ✅ 0 | ❌ 2/3 |
| 6 | `WAL:16` — phép thử sàn-vs-trần ring2 **DƯƠNG 24.793 = 96,8% cap** | ✅ byte + % | ❌ | ✅ cap | ❌ 2/3 · 🔴 **số SAI** (thật 30.781 — F-1) |
| 7 | `WAL:18` — orphan S182 ĐÓNG: **7/7** ô + 2-thước-im + probe **1→0** | ✅ đếm ô | ❌ | ✅ 7/7 & 0 | ❌ 2/3 |
| 8 | `WAL:13` — DEEP-SWEEP **18/15 OVERDUE** ⇒ **hoãn** xuống NEXT-em | ✅ tỷ-số | ❌ | ✅ 15 | ❌ 2/3 |
| 9 | `HANDOFF:8` — carry rơi **4 kỳ**, `gap-carry-dropped` = **12** = **4× ngưỡng JUMP** ⇒ "nghi-thức không có răng" | ✅ counter | ❌ (có tên khoá, không có lệnh) | ✅ JUMP | ❌ 2/3 |
| 10 | `WAL:14` — gom nợ harvest **576.255 B / 18 lượt-vai** ⇒ uỷ-quyền slot 71 | ✅ byte + mẫu-số | ❌ | ❌ **không ngưỡng** | ❌ 1/3 |

**ĐẾM: 4/10 đủ ba thành phần · 5/10 được 2/3 (đều thiếu ĐÚNG cấu-phần "lệnh tái lập") · 1/10 được 1/3.**

### 🔴 Ca-âm ngoài mẫu, đúng hình-dạng thư nhất — và nó ở TRONG chính pipeline đang adopt thư

`checklist-final.md:43` — **"### LANE-7 (CUỐI, nếu còn ngân sách)"** · `:8` — *"nếu ngân sách không đủ thì khai, không ép"* · `:44` — *"Không xong ⇒ khai 'chưa dựng, đã phân loại'"*.

*"Ngân sách"* ở đây = **0/3 thành phần**: không đại-lượng (token? phút? lượt gọi?), không lệnh đo, không ngưỡng định trước. Và nó **được dùng để định-đoạt phạm-vi công việc** (C-12 chạy hay không). Đây đúng câu của thư: *"lý do bị bác đã được dùng để cắt phạm vi công việc trước khi ai kịp kiểm"* (`:60`).

🔴 Ca này **nghiêm hơn** ca của hub ở một điểm: SE **đã có sàn** cho đúng loại nhãn đó ở lane MÁY — `.claude/commands/session-start.md:193`: *"so kích-thước THẬT `_INDEX.md` mỗi sub vs cap. Nếu **cắt-cho-vừa-ngân-sách** đang rớt dấu-mốc quan trọng → bump budget … **Đo lại bằng `scripts/measure-agent-memory`**"* — đủ cả 3 (đại lượng byte · lệnh · cap). Tức luật **có**, nhưng nó chỉ soi **máy**; câu văn của **lead** đi vòng qua. Đúng nguyên-nhân thư chỉ ra: *"luật thường được viết để soi máy, và người viết luật mặc nhiên đứng ngoài phạm vi"* (`:62`).

**Lệnh tái-lập:**

    grep -n "" .claude/WAL.md | sed -n '1,30p'
    sed -n '8p;43,44p' .claude/workflows/runs/2026-08-09-S185-email-adap-pipeline/checklist-final.md
    sed -n '8p;40p' docs/HANDOFF.md
    sed -n '193p' .claude/commands/session-start.md        # control DUONG: nhan ngan-sach CO du 3 o lane may

**KẾT L4 = 🔴 CONFIRMED — Lớp 4 CÓ ÁP cho SE.** 4/10 đủ sàn; cấu-phần rụng nhiều nhất là **lệnh tái lập** (5 ca có số + có ngưỡng nhưng không ai viết lệnh cạnh số); và **1 nhãn 0/3 đang giữ vai trò cắt việc, do chính lead phát, trong chính lượt adopt thư**.

---

## L9 — "Hai nơi dùng chung một bộ trích, xử khác nhau"

**Phép bác của thư (`:136`):** *"Tìm các hàm trích có từ hai nơi gọi trở lên, so xem chúng có lọc giống nhau không."*

**Quét:** `scripts/session_ctx.py` (40.256 B, 30 hàm) — đếm nơi gọi bằng AST-lite (regex `(?<![\w.])<tên>\s*\(`, loại dòng `def`) → **14/30 hàm có ≥2 nơi gọi**. Soi cặp nơi-gọi của bộ trích lõi:

### 🔴 L9-1 — `_split_content_region` (def `:285`, **3 nơi gọi**) — TRÚNG ĐÍCH

Hàm trả **3 giá-trị**: `(region, line_offset, rules_end_found)`. Docstring `:290-291` **tự viết hợp-đồng**:
> *"Marker absent => scan the WHOLE file **+ raise a flag**: a file without the marker is off-template, and the safe failure direction is **LOUD, not lenient**."*

| Nơi gọi | Mã | Tôn-trọng hợp-đồng? |
|---|---|---|
| `:614` (**full-mode**) | `region, line_offset, rules_end = …` → `:616 if not rules_end:` → cờ `CO` *"marker VANG => quet TRON tep (huong hong NGHIEM)"* | ✅ |
| `:565` (**draft-mode**) | `region, line_offset, _ = …` | ❌ **vứt cờ** |
| `:572` (**draft-mode**, đọc bản canonical) | `creg, coff, _ = …` | ❌ **vứt cờ** |

**1/3 nơi gọi giữ tín-hiệu LOUD; 2/3 nuốt.** Và 2 nơi nuốt **chính là đường draft** — đường mà `:590` tự khai mục-đích là *"kiem NHAP truoc khi chen — **loi khong bao gio vao tep**"*.

**Chế-độ hỏng cụ-thể:** `_mind` draft thiếu `<!-- MIND-RULES-END -->` ⇒ `region` = **trọn tệp** ⇒ `_check_rao` grep cả **khối luật** (khối luật cố ý chép nguyên các chuỗi bị cấm để giải thích) ⇒ hoặc dương-giả, hoặc lọt — **và cổng DUY NHẤT dựng để chặn trước khi ghi thì im**. Full-mode sẽ kêu LOUD, nhưng lúc đó **nội dung đã nằm trong tệp rồi**.

🔴 Đây đúng vị chua của ca hub: lỗi nằm **ngay trong đường ống của cơ-chế dựng ra để chặn lỗi**. Và class của nó — **citation-trap / use⟂mention** — là class SE **đã có bài học riêng** (`feedback_citation_trap_selfreference`), tức thuốc có sẵn mà nơi gọi thứ 2-3 không uống.

### 🔶 L9-2 — `_check_pointer` (def `:412`, 2 nơi gọi): cùng hàm, **khác đối-số lọc**
- `:584` draft-mode: `_check_pointer(checks, dblocks, repo_root, closed=False)` — **đóng cứng**
- `:628` full-mode: `_check_pointer(checks, blocks, repo_root, closed)` — theo trạng-thái sống

⇒ cùng khái-niệm "con trỏ hợp lệ" mang **2 định-nghĩa** tuỳ nơi gọi.

### 🔶 L9-3 — kiểm chỉ chạy MỘT nhánh
`_check_numbering` (`:464`) và `_check_bookend_order` (`:674`) **chỉ được gọi ở full-mode**, không có ở draft-mode ⇒ draft "sạch" **không** đồng nghĩa file sẽ sạch.

### 🔶 L9-4 — regex 5-họ: **3 bản sao, 0 hằng-số dùng chung**
`'^(sub-.+|.+-return)\.md$'` xuất hiện **2 lần** trong `governance-detectors.ps1` (`:1213`, `:1882` @21:24) + **1 lần** trong `memory-selfimprove-audit.ps1:307`. `naming-standard.md:107` đã tự khai *"cùng regex, HAI bản sao, không dùng chung hằng số"* ⇒ nợ **đã biết, chưa gộp**.
Lệnh: `grep -n -- "-return)" scripts/governance-detectors.ps1 scripts/memory-selfimprove-audit.ps1`

**KẾT L9 = 🔴 CONFIRMED — Lớp 9 CÓ ÁP cho SE.** Ca L9-1 **đắt** (mất tín-hiệu LOUD ở đúng cổng chặn-trước-khi-ghi); L9-2/3/4 rẻ hơn nhưng **cùng gốc**: khái-niệm có nhiều bản trích/bản lọc, không nơi nào là nguồn duy nhất.

---

## C-5 — KẾT GỘP

| Lớp | Trước hôm nay | Sau phép bác | Số chốt |
|---|---|---|---|
| **2** | "chưa đo" | 🔴 **CONFIRMED** | 5 chốt soi: **2 hết hạn** + 3 lệch hiệu-chuẩn; ca nặng = máy in `256` giải-thích `233` |
| **4** | "chưa đo" | 🔴 **CONFIRMED** | **4/10** quyết-định đủ 3 thành phần; +1 nhãn **0/3** đang cắt việc (`checklist-final:43`) |
| **9** | "chưa đo" | 🔴 **CONFIRMED** | **14/30** hàm ≥2 nơi gọi; `_split_content_region` **1/3** nơi gọi giữ cờ LOUD |

⇒ **3/3 lớp còn lại ĐỀU ÁP.** Cộng đợt 08-07 (Lớp 1·3·5·6·7 áp, Lớp 8 REFUTED-có-số) ⇒ tổng **8/9 lớp áp cho SE, 1/9 bác có số**.

🔴 **Không lớp nào bác được bằng phép thử hôm nay** — khác đợt trước (Lớp 8 bác được bằng 1 lệnh). Ghi đúng vậy, không thổi cũng không giấu.

**Việc còn nợ sau C-5 (KHÔNG tự làm — ngoài phạm-vi lane-5, chỉ KHAI):**
(i) L2-1 sửa `naming-scan.ps1:196/318-321` cho số giải-thích bám số in — **vùng máy governance, cùng họ LANE-1, tránh đụng độ**;
(ii) L9-1 sửa 2 nơi gọi `:565`/`:572` nhận `rules_end` — **chạm `session_ctx.py` = đường ống ctx**, cần chủ ý riêng + fault-inject;
(iii) L4 ca-âm `checklist-final:43` *"nếu còn ngân sách"* — **quyền lead**, chỉ khai không sửa.

**LANDED:** `docs/governance/adap-reports/2026-08-05-Governance-loi-do-luong-phan-1-va-2.md` — block `# ✅ BỔ SUNG @S185` ở cuối, **KHÔNG sửa dòng Rổ C cũ** (bài-5 giữ vết). ⇒ **C-5 = DONE.**

---

# C-9 — đo vế treo 4.2 (`tier:` override qua resume) — DEFER từ S144

**Thư gốc:** `2026-07-19-Governance-goi-chot-owner-nam-khoan.md` khoản 2 (`:32-38`) — *"resume/continue một agent đã spawn làm rớt model-override … nếu bạn đang resume agent VÀ dựa vào model-override sống qua resume — coi chừng nó không sống"*.
**Report:** `adap-reports/2026-07-19-…-goi-chot-owner-nam-khoan.md:38` caveat *"vế lane workflow … VẪN CHƯA ĐO … giữ DEFER-đo"*.

## Kết 2 phần

**(1) Vế nguyên bản = VACUOUS, n-a CÓ SỐ.**

| Phép đo | Kết quả |
|---|---|
| `grep -cniE "resume\|continue\|reattach\|session_id\|sessionId" .claude/workflows/hmw.js` | **0** |
| **Control dương** cùng regex trên `.claude/commands/tiep.md` | **13** ⇒ 0 là vắng THẬT |
| Model gắn ở đâu | duy nhất `hmw.js:284` `agent(prompt,{…})` + `:291` `model: resolveModel(role,raw,t&&t.tier,i)` |

⇒ SE **không có đường resume cho lane** ⇒ override **không thể** rớt qua resume.

**(2) 🔴 Rủi ro ĐÃ DỜI sang RELAUNCH — và ở đó đang hở, đo được.**

| Phép đo | Kết quả |
|---|---|
| `grep -ci tier .claude/commands/tiep.md` | **0** (control `grep -ci model` = **2** ⇒ grep sống) |
| `tiep.md:199-205` nhánh `wf:` bước 4 | dặn re-derive memory-pack TƯƠI, 🔴 **0 chữ** về giữ per-task `tier:` |
| run.md có `## taskList snapshot` | **54 / 88** |
| run.md có chuỗi `tier:` | **15 / 88** (cận TRÊN — gồm nhắc trong văn xuôi) |
| run.md **của run đang chạy hôm nay** | **0** `taskList` · **0** `tier` |

**Chuỗi hỏng:** workflow chết → `/tiep` bước 1 đọc `## taskList snapshot` → **34/88 run-folder (39%) không có snapshot**, *run hôm nay nằm trong nhóm đó* → lead gõ lại taskList từ trí nhớ → thiếu `tier:` → `resolveModel` (`:103-110`) trả `MODEL_INHERIT` → `model: undefined` → frontmatter worker-tier `opus` cầm lái. **Không lỗi, không cảnh báo.**
🔴 **Bất đối xứng cảnh báo:** `hmw.js:105` CÓ `⚠️` khi `tier` **giá-trị lạ**, **KHÔNG** có nhánh nào khi `tier` **VẮNG** — máy kêu lúc gõ SAI, im lúc gõ THIẾU, mà THIẾU mới là chế-độ hỏng của relaunch.
🔸 Lưới bắt hiện có chỉ **hồi-tố**: `spawn-model-audit.ps1` header `:30-32` tự khai *"RETROSPECTIVE … does not promise the next spawn stays on the expected version"*.

**LANDED:** addendum `# ✅ ADDENDUM @S185` cuối `adap-reports/2026-07-19-Governance-goi-chot-owner-nam-khoan.md`, dòng caveat cũ GIỮ NGUYÊN. Nấc 4.2: `DEFER-đo` → **`executed (có phạm vi) + đo XONG vế treo`**. ⇒ **C-9 = DONE.**

---

# C-18 — chấm master-checklist SELF-CHECK ô1/ô2 + sàn-2

**Thư gốc:** `2026-07-17-Governance-master-checklist-hai-tang-moi-cua-phien.md` §5 SELF-CHECK 4 ô (`:40-43`) + sàn-2 (`:24`) + sàn-4 (`:26`).
**Report:** `adap-reports/2026-07-17-…-master-checklist…md:24-25` — sàn-2 `2/4 cửa`, ô1+ô2 `PENDING` *"cần 1 chu-kỳ đóng→mở phiên thật, chưa có dữ-liệu"* (23 ngày trước).

| Ô | @S139 | **@S185** | Bằng chứng |
|---|---|---|---|
| ô1 in plan 2 tầng khớp carry | PENDING | 🔶 **KHÔNG CHẤM ĐƯỢC — phép thử sai thiết-kế** | thứ cần chấm = **bản in màn hình**, chỉ sống trong transcript. Phép thử thay thế (hệ-quả durable) đo thử 1 điểm: `_context-s-13.md:21` + `:62` **CÓ** chở carry ⇒ ĐẠT theo bản thay thế |
| ô2 mục chưa xong tự xuất hiện lại | PENDING | 🔴 **TRƯỢT — có số** | `HANDOFF` RE-STAMP: rơi **4 kỳ liên tiếp**, `gap-carry-dropped` = **12** = 4× JUMP, sổ tự kết *"không có răng"*; **+2 ca rơi IM LẶNG ngoài tally** (⇒ 12 là cận DƯỚI); slug đích danh `[carry:eval-thamquyen]` có ở S150-S152, **0 hit** khối RE-STAMP @S181 |
| ô3 chờ-owner đánh số | PASS | ✅ **giữ** | `HANDOFF` (73)(74)(75) + 4 câu P-số @S181 + `checklist-final` W-1…W-4 |
| ô4 file checklist nguồn-đôi | PASS 8=8 | ✅ **PASS thực chất** · 🔶 **phép đo HẾT HẠN** | `find` = **16** (12 adap-report + 3 run-artifact + 1 `security-checklist.md`) ⇒ **0 nguồn-đôi work-state**; nhưng *"8 trước = 8 sau"* là **đếm bằng-nhau trên corpus đang lớn** ⇒ không còn phân biệt được gì |

**Sàn-2:** khối `MASTER-CHECKLIST` grep ra **1/2/1/1** trên 4 lệnh — **khớp byte con số report ghi @S139 ⇒ 0 drift 23 ngày**. Vật-chứng nghi-thức chạy: mở/dừng/nối có `_context-s-13` · `_pause-1/2` · `_tiep-1/2/3`; đóng có **29 commit** closeout kể từ 07-17. Nhưng **vật-chứng BẢN IN** chỉ 2/4 (pause, tiep) — vì cùng lý do ô1.
⇒ Điều-kiện tự đặt (*"không in đúng khuôn thì hạ nấc"*) **không kích hoạt** mà cũng **không thoả được**. Giữ `executed`; đổi caveat từ *"chờ 1 chu-kỳ"* sang ***"phép thử phải neo chứng-cứ durable"***.

**LANDED:** addendum cuối `adap-reports/2026-07-17-Governance-master-checklist-hai-tang-moi-cua-phien.md`, §5 cũ GIỮ NGUYÊN. ⇒ **C-18 = DONE.**

---

# C-22 — completeness-pass các report ngoài §2.1

**Nguồn:** review P2 **F-9** (grep-marker hụt nợ không-marker, 2/2 sample dính).
**Phạm vi đo:** 39 id post-watermark; §2.1 phủ 25 dòng (a→y) ⇒ **13 report không có dòng nào**; trừ 2 đã được reviewer nhặt (`chuan-hoa-stamp`→C-19 · `master-checklist`→C-18) ⇒ **11 report**. **Đọc 11/11** section honest-caveat.

**Kết: 6 nợ THẬT chưa có nhà** (N1 memory-pack-qua-args · N2 acceptance-literal tự-lão-hoá · N3 K1/K6i chưa RCA + detector live-1-ngày · N4 h23-precedence hết hạn tự khai 24 ngày · N5 **0 máy canh pull-lag — ĐÃ TÁI PHÁT** · N6 luật-chung-#9 nằm trong run-folder) · **2 ghi-chú-khai-đúng** (G1 CRLF by-design · G2 điểm-mù-tương-lai) · **3 đã có nhà khác** (H1/H2/H3).

🔴 **META (giá trị chính của C-22):** **3/6 nợ (N2·N3·N4) cùng một hình dạng** — report tự viết **điều-kiện hết hạn** cho kết-luận của chính nó rồi **không ai quay lại đọc**. Cộng ô1/ô2 + sàn-2 của C-18 ⇒ **≥5 điều-kiện tự đặt, 0 lượt quay lại**.
⇒ **Chất-lượng honest-caveat cao; tỷ-lệ THEO-DÕI caveat ≈ 0.** Đúng **Lớp 2** của thư 08-05 nhưng ở **tầng REPORT** thay vì tầng máy — và giải thích luôn vì sao grep-marker sót: nó bắt "TODO/pending/chưa", **không bắt** *"kết-luận này sẽ mục nếu…"*.
**Đề nghị (chạm nghi-thức `/adap-report` ⇒ vùng owner, CHỈ KHAI):** caveat mang điều-kiện hết hạn phải sinh **1 carry-slug ngay lúc viết**.

🔸 **Residual-risk của chính C-22:** chỉ đọc section honest-caveat/Còn-nợ; nợ rải trong **thân bài** chưa quét. Mẫu 11/11 đủ kết luận về **phương-pháp**, **không** đủ tuyên "đã phủ hết nợ 11 report".

**LANDED:** `sub-invest-email-adap-fable.md` — section mới `# §2.1-bis — COMPLETENESS-PASS (C-22…)` ở cuối, bảng 11 dòng + meta + lệnh tái-lập. ⇒ **C-22 = DONE.**

---

# TỔNG LANE-5 — 4/4 DONE

| C | Việc | Nấc | Landed ở đâu |
|---|---|---|---|
| **C-5** | phép bác Lớp 2·4·9 | ✅ DONE — **3/3 CONFIRMED**, 0 lớp bác được | block `BỔ SUNG @S185` cuối report 08-05 gộp |
| **C-9** | đo `tier:` qua resume | ✅ DONE — vế cũ **vacuous có số**, rủi ro dời sang **relaunch (hở, đã định lượng)** | addendum cuối report `goi-chot` 07-19 |
| **C-18** | chấm ô1/ô2 + sàn-2 | ✅ DONE — ô2 **TRƯỢT có số**, ô1 **phép thử sai thiết-kế**, ô4 **phép đo hết hạn**, sàn-2 0-drift | addendum cuối report `master-checklist` 07-17 |
| **C-22** | completeness-pass | ✅ DONE — **11/11** report, **6 nợ mới** + meta caveat-follow-up ≈ 0 | `§2.1-bis` cuối `sub-invest` |

## Khai theo ranh lane

- **Vùng-owner: 0 lần chạm.** 4 việc đề-xuất chạm nghi-thức/policy đều **CHỈ KHAI**, không thi công: sàn-4-có-răng · viết lại ô1/ô2 SELF-CHECK · carry-slug cho caveat-hết-hạn · nhãn *"nếu còn ngân sách"* (quyền lead).
- **Fault-inject: KHÔNG dùng** — cả 4 item là **đo trên trạng-thái sẵn có**, không dựng máy mới ⇒ không có gì để inject. Thay vào đó mỗi phép 0-hit đều **kèm control dương** (`tiep.md`=13 · `model`=2 · `naming-standard.md`≠0 non-ASCII).
- **File lệnh / persona: 0 lần sửa** ⇒ **không phát sinh ENV-DEP "ăn từ phiên sau restart"**. (Đề-xuất sửa `tiep.md` ở C-9 mục 1 **chưa thi công** — nếu lượt sau làm thì mới phải khai ENV-DEP.)
- **KHÔNG commit/push · KHÔNG store_memory.** File đã đổi (4): 3 report trong `docs/governance/adap-reports/` + `sub-invest-email-adap-fable.md` + chính file này.
- 🔸 **Quan sát ngoài phạm-vi, gửi lead:** `docs/governance/vocab-alias-map.md` **ĐÃ TỒN TẠI** (8.020 B, mtime 2026-07-22) — tiền-đề C-17 (*"file CHƯA tồn tại — tạo mới additive"*) là **STALE**. Lane-3 nên đọc file trước khi tạo, kẻo đè.
- 🔸 **Cảnh báo đồng-thời:** `scripts/governance-detectors.ps1` (LANE-1) và `docs/HANDOFF.md` (LANE-4) đang bị sửa song song trong lúc tôi đo ⇒ mọi số-dòng tôi trích từ 2 tệp đó **kèm mốc giờ**, và số-dòng `HANDOFF` trong bảng C-18 đã trôi (`:8` → `:12`) giữa lượt đọc và lượt ghi.

ts-đóng: 2026-08-09 · trạng thái: **XONG 4/4**.
