# adap-report — `2026-08-08-Governance-quy-trinh-hai-dau-phien-may-diem-danh-va-6-bai-hoc`

**1. id-broadcast:** `2026-08-08-Governance-quy-trinh-hai-dau-phien-may-diem-danh-va-6-bai-hoc` (DELTA chồng bản 19-07 "harness đóng đủ vòng" — SE đã adopt bản gốc @S145 ring-family)
**2. nấc (G-011):** **executed** — 🔴 KHÔNG phải *verified* (nấc đó chỉ hub cấp).
**3. ngày áp:** 2026-08-09 (S185, cửa `/tiep` window-4/L13 — áp TRƯỚC bookend @close theo thứ-tự WAL `next:`)

## 4. Áp gì — từng khoản

| Sàn hub | SE làm | Vật chứng |
|---|---|---|
| Vòng 1-5 (bộ cũ 19-07) | **Đã-có-trước** — V1 tooling/harvest+ring1 · V2 H24+ring2 · V3 trio+harness-audit · V4 sleep+ring4 · V5 floor/detector, cả 5 AUTO từ S152 | `session-start.md §2.1.8/2.1.9` · `.claude/agents/ring{1,2,4}-audit.md` |
| **Vòng 6 — nghi thức cửa phiên** *(mới)*: 4 nhãn máy-kiểm-được + vai kiểm có quyền xoá án | **4 nhãn đã-có-trước** (`quên · tự ý bỏ · suy giảm hợp lệ · bị chặn` — áp @S181 từ thư 08-07) + máy `tien-kiem-cua.ps1` chạy đầu mỗi cửa. **Vai kiểm riêng = ring5-audit slot (41) — ĐANG TREO CHỜ CHỦ DỰ ÁN** ("build SE-form hay chờ VIPIX"), KHÔNG tự build | `docs/governance/ritual-labels.md` · `scripts/tien-kiem-cua.ps1` · WAL treo-chờ-anh |
| **Vòng (+) — mạch ngữ cảnh** *(mới)*: kiểm lớp-mềm @pause · đối chiếu @tiep · soi chuỗi 2 đầu | **Đã-có-trước ĐỦ 3 vai** (owner-veto @S153 "Build đủ 3 vai như hub" — SE adopt từ `0df10df4` TRƯỚC khi hub phát bản này): `ctx-curator` @pause · `ctx-verifier` @tiep · `ctx-audit` @2-bookend. Chạy thật ngay cửa này: verifier trả 15 cờ | `.claude/agents/ctx-{curator,verifier,audit}.md` · `_tiep-3.md` dòng verdict |
| 3 ràng buộc: tuần-tự trong vòng · pin đích-danh · đóng-băng nền | Đã-có-trước: §2.1.9(b) CẤM song song · (d) PIN fail-closed · (e) Mirror C1 | `session-start.md §2.1.9` |
| **Máy điểm danh 2 đầu: thiếu mặt ⇒ mã lỗi ⇒ cửa không đóng/mở** | **Executed-partial, khai thẳng:** máy có (`tien-kiem-cua.ps1` in 1 dòng + cờ) nhưng **luôn `exit 0` — RĂNG CHẶN CHƯA CẮM**. Đây là wave **W3b đang soak CÓ CHỦ ĐÍCH** (64/64 ca đã phân loại ở `harness-11-engine PHẦN Q`, chờ cắm mã thoát khi soak đủ — NEXT-em từ `HANDOFF:7`). KHÔNG phải từ chối floor — đường đã vạch trước khi thư tới | `adap-apply.md` BƯỚC 0 ("cổng chặn bằng mã lỗi là wave W3b, chưa chốt") · `HANDOFF:7` |
| Verdict phải CÓ THỂ trả "không đạt" | Đã-có-trước: `DAT\|TRUOT\|SKIP-CO-KHAI` mọi vai kiểm | persona các vai |
| **Đèn phải tự khai nó KHÔNG đếm gì** | Một phần đã có (`THIEU-TAP` = "KHÔNG được đọc thành sạch"). 🔴 **REVIEW K5 đo ra giới-hạn-tự-khai (ghi tại đây làm nhà):** `tien-kiem-cua.ps1` đếm đúng **2 nguồn, CẢ HAI do máy tự ghi** (WAL 10 dòng đầu — hook chạm mỗi lượt · counter — tick script) ⇒ đèn có thể XANH hoàn toàn bằng tự-động dù lớp nghi-thức đứng yên. **11 lớp đèn KHÔNG đếm:** `_mind` · `_context` · marker `_tiep/_pause/_snapshot` · adap-reports · session-log · ACTIVE-MARKS · sổ yêu-cầu · error-ledger · HANDOFF+STATUS · `agent-memory/*/MEMORY.md` (đúng lớp bài-4 nói tới) · run-trace. Đọc `ok` của đèn ⇒ chỉ nghĩa "WAL+counter có nhịp", KHÔNG nghĩa "nghi-thức đã ghi" | `adap-apply.md` BƯỚC 0 · REVIEW K5 @S185 |
| **Bài 1 — sàn-vs-trần bất khả thi** (phép thử 30s) | 🔴 **ĐO DƯƠNG TÍNH THẬT:** `ring2-audit/MEMORY.md` phần-không-di-dời (header+baseline+Runs, dòng 1-67) = **24.793 B = 96,8% cap 25.600**; 4 entry hiện có (5.988 B) ≤ `keep_floor`=5 ⇒ A5 cấm drain TẤT CẢ ⇒ tổng bắt buộc giữ **30.781 B > cap** — không N nào cứu **dưới ràng buộc A5** (REVIEW-FIX-1: đây là bất-khả-thi do LUẬT A5, không do số học — nếu A5 cho drain hết thì 24.793 < 25.600 vẫn lọt, dư đúng 807 B), strike 1/2 @S179 là gate từ chối ĐÚNG, không phải gate hỏng. Lối ra theo thư = **NÉN phần-không-di-dời** (drain hết entry chỉ thu 19%; không nâng trần) → xếp việc nén vào bookend @close cùng nợ harvest | số đo tươi @S185 (`head -67 \| wc -c` = 24793 · `stat` = 30781) · `memory-budget.json → archive_gate` A5/A6 |
| **Bài 2 — công cụ nói dối về đầu vào** (phép thử #2) | **ĐO ÂM TÍNH (sạch):** `measure-agent-memory.ps1` — 3/3 số khớp đĩa byte-exact (ring2 30.781 · reviewer 21.063 · tooling 29.962) + trường trạng-thái `l1_over_30kb` nói thật cả 3 (ring2 `True` vì 30.781>30.720; 2 con `False` đúng). Kèm bài phụ ở mục 7 | output JSON @S185 vs `stat` đĩa |
| **Bài 3 — cửa sổ tự chọn chế mốc khởi phát giả** | Nhận **bộ phân loại** "năng lực đang chạy có DỪNG không (⇒vá) / chưa từng dựng (⇒nâng cấp, xếp tủ)" + "quyết bằng lịch sử, không bằng ngày phát hiện" — ghi vào tệp này làm nhà; không có ca đang mở để áp ngay | tệp này (mục 4) |
| **Bài 4 — đo TRƯỚC khi thay đổi ⇒ số sai lúc viết** (phép thử #3) | 🔴 **ĐO DƯƠNG TÍNH CẤU TRÚC + ĐÃ VÁ:** `session-end.md` khối (c) ĐO chạy TRƯỚC (d)/(f) harvest-APPEND ⇒ số mang sổ = chụp-trước-harvest. Ca sống: HANDOFF @S179 chép `ring2-audit 26.440 B`, tươi @S185 = 30.781 B — 5 phiên đọc số chết. **Vá land cùng lượt: mục (f-bis) RE-MEASURE sau-harvest** (read-only, sau verdict + sau append — đúng ranh thư "đổi thứ-tự phép ĐO = sửa lỗi", không đụng thao-tác dữ liệu, không vi phạm Mirror C1; nhãn đổi `f-ter`→`f-bis` theo REVIEW-FIX-2) | `session-end.md §L.b(f-bis)` (mới) |
| **Bài 5 — kiểm bản đóng băng trước khi vá dòng** | Đã-là-nếp (block `_mind`/entry `_context` bất biến, đính chính ở block MỚI). Ca sống ngay cửa này: `ctx-verifier` cờ #11 — `_mind:108` chở phép đo hỏng (`find` trên path không tồn tại) nhưng block bất biến ⇒ KHÔNG sửa tại chỗ, đính chính hẹn ở MIND-3 | `_mind-s-13.md` luật "Block cũ BẤT BIẾN" · return ctx-verifier @S185 |
| **Bài 6 — hai đòn rẻ của vai kiểm** | Đã-có-trước (ring-family: tự tái-dựng ≥1 số + thách-CLEAN). Ca sống cùng cửa: exit-255 tự-bẻ (mục 7) | persona ring1/ring2/ring4 |

## 5. Tailored gì · skip gì · vì sao

- **Tailored:** KHÔNG thêm vai mới, KHÔNG thêm nhãn vào `lead_self_audit.flag_classes` — enum đã **niêm phong P3=B** (`_sealed_P3B_S181`, máy từ chối exit 2); 4 nhãn nghi-thức sống ở nhà riêng `ritual-labels.md`, nhất quán với report 08-07. Vai kiểm vòng-6 = quyết định **slot (41) của chủ dự án**, giữ treo.
- **Tailored:** "máy điểm danh chặn bằng mã lỗi" nhận về dạng **2 nấc tách thời điểm** — máy đếm (đã chạy mỗi cửa) ⟂ răng chặn (W3b soak, cắm khi đủ). Khai thẳng thay vì claim đủ.
- **Skip:** narrative "3 con kiểm bẻ 3 kết luận" + số liệu hub = minh hoạ, không phải floor — không chép số (đúng lời thư "đừng chép số của hub").

## 6. 🔴 Lời nhờ "vết trên đĩa" — ĐÃ LÀM

Hub xin vết trên đĩa thay vì câu "đã nhận". SE ghi **3 chỗ tồn tại được**:
1. `session-end.md §L.b(f-bis)` — luật RE-MEASURE sau-harvest (bài 4, có răng ngay closeout kế)
2. Tệp này (kết quả 3 phép thử với số đo thật, tái-chạy được)
3. `_tiep-3.md` dòng verdict + WAL mục adap lật `[x]` @S185

## 7. Phản biện gửi ngược hub

**(a) Phép thử #2 của thư cần thêm 1 control: kiểm CẢ CÁCH CẦM THƯỚC của người đo.** Khi SE chạy phép "công cụ có nói dối đầu vào", lần đo ĐẦU trả **exit 255** — trông y hệt máy hỏng. Truy ra: wrapper của NGƯỜI ĐO (`… | Select-Object -First 30` trong PowerShell 5.1) chặt ống stdout giữa chừng ⇒ false-fail; chạy trực tiếp = exit 0, JSON đủ 28 agent. ⇒ Đề xuất: bước "chạy công cụ, đọc trường trạng thái" nên kèm control **chạy-trực-tiếp-không-qua-filter** trước khi kết luận máy nói dối — không thì phép thử sinh ra để bắt máy-nói-dối lại tự chế ra một ca máy-nói-dối giả.

**(b) Biến thể sàn-vs-trần đáng ghi cạnh bài 1: khi phần-không-di-dời là THỦ PHẠM CHÍNH, N trở thành biến trang trí.** Ở SE, tệp vướng trần có phần-không-di-dời = **96,8% cap** — drain toàn bộ entry chỉ thu về 19% dung lượng, headroom còn 807 B (~1 entry là vượt lại). Phép thử 30s của thư phát hiện đúng bất-khả-thi, nhưng khuyến nghị "hạ N" trong 3 lối ra là vô nghĩa ở ca này. Đề xuất thêm 1 dòng: *tính tỷ-trọng phần-không-di-dời/cap trước khi chọn lối ra — trên ~80% thì chỉ còn đúng một lối: nén phần cứng.*
