# adap-report — 2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params

> SE (SOLUTION_ERP) · wave adap-backlog S149(+1 ngày), lane L4 (`runs/2026-07-25-S149-adap-backlog/`).
> ⚠️ **Report viết BÙ** cho khoản đã de-facto áp @S144/S145 — **KHÔNG phải việc mới**. Xem §5 (chống double-count khi `/adap-audit`).

## 1. id-broadcast
`2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params` (type **update**, `to: all`; `content_sha256` `9353c5c8ba51a203dc22d356daf7744b60513c83dba7e5493ff567823ee37989`; `reviewer_gate` = *PASS-W-FIXES (0C/0M/3m ALL-FOLDED s106 · falsify 7/7-HELD)*).

## 2. nấc G-011
**executed** — 2/3 khoản đã chạm file thật (K2, K3). Khoản còn lại **K1 = `agreed`** (đã quyết áp, CHƯA chạm file).
🔴 **Bảng per-khoản ở §3, KHÔNG báo số tổng** (bài meta-count: con-số tổng đóng vai "đã phủ hết").

## 3. evidence (đo THẬT — 2026-07-25)

| Khoản thư | Nấc | Evidence (file:dòng · byte · sha) |
|---|---|---|
| **K1** — masthead/title sweep (`3-khoan:19-27`) | **agreed** | `grep -rni "masthead" .claude docs scripts` = **15 hit** · lọc `grep -v "workflows/runs/"` = **0 hit** ⇒ **0 rule-file** (mọi hit là run-note/artifact). Vết "đã quyết áp": SE tự xếp **P3-4** tại `.claude/workflows/runs/2026-07-22-S144-adap-dot-11/spec-adap-dot-11-22-07-2026.md:123` (+`:120` khoản-2, +`:162` C12) — có quyết-định, **không có file luật nào bị chạm** ⇒ đúng nấc `agreed`. |
| **K2** — luật CHẾ-ĐỘ ở file-đọc-đầu-phiên (`3-khoan:31-41`) | **executed** | `CLAUDE.md:23-28` — khối 6 dòng, **926 byte** (`awk 'NR>=23&&NR<=28' CLAUDE.md \| wc -c`). Dòng `:23` cite thẳng nguồn: *"(adap đợt-11, `3-khoan:31-41` discoverability-home ⟂ implement-home)"*; 4 bullet trỏ nơi tra: HMW-mode (marker `.claude/hmw-mode.on`) · engine-đắt per-invocation · lead model (`~/.claude/settings.json`) · nhịp H24/ngân-sách (`memory-budget.json`). Commit **`8b6df0a`** (2026-07-23) — `git merge-base --is-ancestor 8b6df0a origin/main` ⇒ **ancestor của origin/main** (hub clone về resolve được). |
| **K3** — đính chính ngữ-nghĩa 2 tham số distill (`3-khoan:47-53`) | **executed** | `.claude/agent-memory/memory-budget.json:23` `_unit_note` cite đích danh `3-khoan:47-53` + tái-phát biểu luật: *"ten bien BAT BUOC mang don-vi '_shards', cam rut gon thanh 'min'/'bulk' tran"*. Tên khoá thật trên đĩa = `min_pending_shards` (`:24`) · `bulk_note_shards` (`:25`) ⇒ **cả 2 vế** của khoản-3 đạt (tên mang đơn-vị + chú-thích đơn-vị NGAY CẠNH số). Khối `distill_trigger` `:20-32` = **5.259 byte**. Cùng commit `8b6df0a`. |

## 4. tailored-gì + skip-gì-vì-sao
- **K2 — FORM đổi có chủ đích, function-floor giữ:** hub chốt *"thêm 1 dòng vào file luật luôn-được-load"* nêu chế-độ đang hiệu lực. SE **CỐ Ý KHÔNG chép giá-trị ON/OFF** (`CLAUDE.md:24` verbatim: *"file này CỐ Ý KHÔNG chép giá-trị ON/OFF — chép là sai ngay lượt sau khi anh toggle"*), thay bằng **con-trỏ NƠI TRA**. Lý do project-fit: SE có mode **toggle được giữa phiên** (`/ultra-on` · `/ultra-off`) + engine-đắt **per-invocation không persist** (H21) ⇒ chép trạng-thái vào file luật là tự chế drift. Floor *"phiên mới NHÌN THẤY posture ở file đọc-đầu-tiên"* = **đạt**; hình thức = con-trỏ thay giá-trị.
- **K3 — reference-not-copy số:** SE **KHÔNG** bê cặp số của hub (`min:1 / bulk:10`). Số SE = `15 / 30`, neo vào chính trạng-thái SE: `min` owner-chốt-lần-2 @S144 (`memory-budget.json:27` `_owner_set`, có giữ cả nấc-1 số 7 làm vết), `bulk` = **dẫn-xuất công-thức 2×min** owner-chốt @S145 (`:26` `_bulk_note`). Cái SE port là **CƠ-CHẾ 2 tầng + luật đặt-tên**, không phải con số.
- **K1 — KHÔNG khai `n-a`:** thư tự khai optional (`3-khoan:59` *"Không bắt buộc gì. Ba việc tùy chọn"*) — nhưng SE **tự** nâng nó thành P3-4 rồi bỏ rơi ⇒ khai `agreed` (nợ của SE), **không mượn chữ "tùy chọn" của hub để xoá nợ của chính mình**. Propose-diff codify 1 dòng do **lane L3 (C-e)** giữ; L4 không đụng canonical.

## 5. honest-caveat
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** trong lượt này (không chạy `stamp_verify.py` phía hub — thực thi script cross-repo nằm ngoài phạm vi lane read-only). Nếu hub sửa file sau 2026-07-24 thì cite lệch — hub verify lại phía mình.
- 🔴 **`8b6df0a` là commit closeout-SQUASH S146** (2026-07-23) gộp cả work S144/S145: sha đúng và **sống sau squash** (bài học S143 `bằng-chứng-tự-huỷ-sau-squash`), nhưng **KHÔNG** được đọc thành "phiên áp K2/K3 là S146" — nội dung tự khai @S144/@S145 ngay trong file (`memory-budget.json:26/:27`).
- 🔴 **Phép đo K1 mù biến-thể chữ:** chỉ grep token `masthead` (case-insensitive). Nếu SE codify bằng chữ khác (`dòng-1`, `tiêu-đề`, `title`) thì phép đo này **không thấy** — chưa test biến thể. Kết luận "0 rule-file" đúng cho **đúng token đó**.
- 🔴 **K2 KHÔNG có máy giữ:** không detector nào kiểm *"thêm mode mới ⇒ có thêm dòng posture không"*. Khoản này sống bằng kỷ luật ⇒ sẽ **mục im lặng** nếu mint mode mới mà quên (đúng lớp *"vắng-mặt trông giống ổn"*). Chưa đề xuất máy — sẽ thành lời-hứa-doc nếu khai là đã có.
- **Report = pointer-dedup, KHÔNG việc mới.** Nội dung K2/K3 đã áp @S144/S145; file này chỉ tách per-id để `/adap-audit` parse được. **Chống double-count**: đừng cộng khoản của report này vào khoản đã đếm ở đợt-11.

## 6. Đề-xuất ngược hub (§M — không chặn)
Khoản-2 của chính thư (implement-home ⟂ discoverability-home) đo được **một ca thứ hai** ngay trong wave này: bài học của 2 thư `cost-lens`/`depth-cost` **có** vết ở implement-home (`.claude/agents/README.md:263,265,291` · `.claude/workflows/hmw.js:269,271`) nhưng **0 vết** ở 5 sổ bền owner-facing (đo độc lập của vai H24: `.claude/agent-memory/lead-gap-auditor/MEMORY.md:36`). ⇒ Gợi ý hub: phép thử khoản-2 nên hỏi **2 chiều** — *"chế-độ có ở file-đọc-đầu-phiên chưa"* **và** *"bài học đã wire có ai NHÌN THẤY ngoài chỗ nó được wire không"*.
