# adap-report — 2026-07-20-Governance-auto-toan-vong-distill-2-tang

> 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** (§5 chống double-count).

## 1. id-broadcast
`2026-07-20-Governance-auto-toan-vong-distill-2-tang` (type **update**, `supersedes_scope` = DELTA chồng bản *harness đóng đủ vòng* 19-07; `content_sha256` `b9e84fc24475fda63f62f412cdc26511e1f42f8a1275c0fae1e9cb9fcd9fe907`; `reviewer_gate` = *PASS-W-FIXES (0C/2M/2m ALL-FOLDED s106)*).

## 2. nấc G-011
**executed** — khoản 2 + 4 chạm file thật và có máy; khoản 3 chạm file ở dạng **luật (chưa có máy)**; khoản 1 **tailored có chủ đích** sang INFORM-consent (KHÔNG auto-execute) ⇒ khai riêng, không gộp.
🔴 **Bảng per-khoản ở §3, KHÔNG số tổng.** 🔴 Có **1 residual ghost-wire đo được hôm nay** — §5.

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

| Khoản thư | Nấc | Evidence (file:dòng · byte · sha) |
|---|---|---|
| **1** — mọi vòng bảo-trì chạy tự động ở HAI ĐẦU phiên, không tích nợ (`:15-19`) | **tailored → INFORM + owner-consent** (không phải "đạt", không phải behind) | `.claude/commands/session-start.md:184` verbatim *"🔴 **KHÔNG auto-run** — anh consent mới chạy"* · `.claude/commands/sleep-recovery-memory-l2.md:52` *"INFORM anh, **KHÔNG tự-chạy autonomous**"*. SE giữ **owner-in-the-loop** cho bước XỬ (nén), chỉ tự-động hoá bước ĐO. Ranh giới của thư (`:19` *"núm-số ngân sách vẫn thuộc chủ dự án"*) **giữ nguyên** — SE mở rộng ranh đó sang cả bước-xử. Vế "HAI ĐẦU" mới đạt **1/2 đầu** (xem §5 residual). |
| **2** — tầng DISTILL tự động, trigger = ĐẾM THẬT trên đĩa (`:21-27`) | **executed** | `.claude/agent-memory/memory-budget.json:21` `_note` cite đích danh `auto-toan-vong:21-27` + trích verbatim *"trigger la dem-vat-that deterministic, KHONG phai ngay-lich (lich/tuoi = proxy gia)"* · `:22` `"mode": "shard_count"` · `:24/:25` ngưỡng `15/30` · `:29` `_dinh_nghia_shard` chốt định-nghĩa đếm (**loại trừ `_INDEX.md` + `*.gist.md`**; ghi thẳng bộ đếm đầu ra 20 trong đó 5 là `_INDEX.md` ⇒ **25% dương-giả**, số thật 15). **Máy thật:** `scripts/distill-shard-probe.ps1` (**3.415 byte**, đọc ngưỡng LIVE từ JSON, không hardcode) — wire 1 call-site `session-start.md:184`. `:31` `_acceptance` đo **HÀNH VI không đo CHỮ** (2 ca bắt buộc: 0-shard/30-ngày ⇒ IM · 3-shard/0-ngày ⇒ KÊU) — chống Goodhart "đổi chữ ngày→chu-kỳ là xanh". Commit **`8b6df0a`** (2026-07-23, ancestor `origin/main`). |
| **3** — instrument tự làm tươi số đo của chính nó (`:29-31`) | **executed (LUẬT) — chưa có MÁY** | `.claude/agents/README.md:283-287` (**1.125 byte** đo `:283-292`) — mục *"Nhánh TỰ LÀM TƯƠI (`auto-toan-vong:29-31` — O-4e)"* + luật `:286`: *"khi roster đổi **hoặc** số đo lệch >30% so lần ghi trước ⇒ **đọc lại + cập nhật NGAY trong phiên đó**, không ghi-nhận-rồi-treo-disposition"*; `:287` tự khai *"Ngưỡng 30% = AI-tự-đặt, đảo được — không phải số owner"*. **Lần thực-thi TAY đầu tiên = chính wave này** (C-d, lane L4): re-đo từ run-folder S149 ⇒ lane-invest `132,7K` vs số ghi S144 `164K` = **−19,1%** ⇒ **dưới ngưỡng 30% ⇒ luật KHÔNG fire** (khai đúng: bảng không stale theo tiêu chí của chính nó; cái thiếu là **thiếu HÀNG**, không phải lệch số). |
| **4** — đảo rule cũ ĐÚNG CÁCH: giữ lineage + lý do tại chỗ wire (`:33-35`) | **executed** | `memory-budget.json:30` `_lineage` — cite khuôn `auto-toan-vong:35` *"dao co chu dich, chu-ky, ngay, ly do"*, ghi đủ 4 vế: bản cũ (`session-start.md:135` + `sleep-recovery-memory-l2.md:52` ngày-lịch ≥7) · ngày đảo (S144 2026-07-22) · chữ-ký (owner) · **khác-biệt kỹ-thuật** (đếm-vật-thật thay hiệu-số-ngày). Vết cũ **KHÔNG xoá**: `sleep-recovery-memory-l2.md:52` hạ dòng 7-ngày xuống *"🧊 GHI-CHÚ PHỤ, KHÔNG còn quyết-định"* + ghi rõ *"chính owner gỡ, không phải AI"*. `session-start.md:184` mang nhãn *"🔄 ĐỔI TRIGGER @S144"*. |

## 4. tailored-gì + skip-gì-vì-sao
- **Tailored khoản-1 (khai thẳng là LỆCH FORM với hub):** hub = *"đo thấy vượt là automation xử ngay"*; SE = **đo tự động, XỬ chờ consent**. Lý do project-fit: SE là repo **product** (phiên ngắn, nhiều product-work) và nén-L2 là thao tác **ghi vào bộ nhớ vai** — SE xếp nó cùng lớp "núm-quyết-định" mà chính thư dặn không để máy tự xử. ⇒ FUNCTION-floor mà SE giữ = *trigger đếm-vật-thật deterministic* (khoản 2); phần *auto-execute* = **cố ý không port**, không phải chưa làm kịp.
- **Tailored số:** SE **KHÔNG copy** `min:1/bulk:10` của hub; SE dùng `15/30` neo vào chính trạng-thái đĩa SE (`_owner_set` `:27` giữ **cả 2 nấc** — nấc-1 số 7 không bị xoá; `_bulk_note` `:26` = công-thức `2×min` owner chốt, tự đeo theo nếu owner đổi `min`). Ghi rõ trong file: *"KHUNG federated = tham-khao CO-CHE tang-2, KHONG bung SO cua hub"*.
- **Skip (n-a) — "4 lượt gom + 1 cổng đối chiếu" (`:51` / dogfood `:37-41`):** SE không port topology gom-nén của hub; SE dùng `/sleep-recovery-memory-l2` sẵn có. Lý do: khối lượng shard SE khác bậc (ngưỡng neo-baseline 15, backlog thực ~0 sau S140), dựng pipeline 5 vai để nén 1-2 shard là chi phí lớn hơn việc.

## 5. honest-caveat
- 🔴 **RESIDUAL ĐO ĐƯỢC HÔM NAY — call-site 1/2, và doc over-claim:** `sleep-recovery-memory-l2.md:52` khai *"`/session-start §2.1.2` **+** `/session-end §L.b(c)` chạy `scripts/distill-shard-probe.ps1`"*. Đo: `grep -c "distill-shard-probe" .claude/commands/session-end.md` = **0**; `session-end.md:68` §L.b(c) vẫn fire theo **vị-ngữ CŨ** *"`last_sleep_at` null hoặc ≥7d → INFORM"*. ⇒ **vế "HAI ĐẦU mỗi phiên" của khoản-1 mới đạt 1 đầu**, và có 1 dòng doc khai quá thực-tế (đúng lớp ghost-wire H18 *declared-but-not-wired* — trớ trêu là chính dòng `:52` đó kết bằng lời cảnh báo về ghost-wire). **KHÔNG tự sửa trong lane này** (canonical `.claude/commands/*` ⇒ propose-diff nằm ở `runs/2026-07-25-S149-adap-backlog/sub-apply-L4.md`, em-main áp). Đây là **residual THẬT, không phải nhãn**.
- 🔴 **Khoản-3 là LUẬT, chưa là MÁY.** Không script nào tự phát hiện "bảng cost lệch >30%" — phải người đọc. Khai đúng dạng **dự-định-phải-khai** (luật `goi-chot:52` cửa-duyệt-lời-hứa-máy): **CHƯA CÓ MÁY**.
- 🔴 **Trục TUỔI vẫn chưa có máy** (SE tự khai sẵn từ S144, không phải phát hiện mới của report này): `memory-budget.json:28` `_residual_khai_that` — ngưỡng neo-baseline *"chi bat TANG SO LUONG, khong bat MAT DO TUOI"*, kèm **6 cặp gist stale đo được** (impl-be 2026-06 +25,7 ngày · inv-cb +13,2 · impl-fe +12,0 · cicd +8,5 · reviewer 2026-07 +4,1 · reviewer 2026-06 +2,0) mà probe vẫn đếm là ĐÃ-PHỦ. ⇒ **DEFER**, không hứa lịch.
- 🔴 **`content_sha256` đọc từ frontmatter, KHÔNG re-verify tươi** trong lượt này (không chạy `stamp_verify.py` cross-repo).
- 🔴 **`8b6df0a` = closeout-squash S146** (2026-07-23) gộp work S144/S145: sha sống sau squash + là ancestor `origin/main`, nhưng đừng đọc thành "áp @S146".
- **Report = pointer-dedup, KHÔNG việc mới** — chống double-count `/adap-audit` với khoản đã đếm ở đợt-11 (C11).
