# sub-apply-L1 — S149 adap-backlog wave, lane L1 (6 report nhóm-A)

> Agent: implementer L1 · model `opus` effort MAX (alias-probe #23) · Ngày: 2026-07-25
> Đề-bài: viết 6 adap-report nhóm-A dạng **pointer-dedup** (trỏ report gốc file:dòng) vào `docs/governance/adap-reports/<id>.md`.
> Con-trỏ: `spec-adap-backlog-25-07-2026.md` (THẮNG) + `sub-invest-backlog.md` §① rows 1/2/3/4/6/8 + §② Mục 2 :52-53.
> Format-LOCK 5 trường đọc từ `.claude/commands/adap-report.md:14-19` (+ no-fake §C5 :28-32 · corruption-clean :43 · 1-file/broadcast :14).

## ⓪ Khung + ràng (ghi TRƯỚC khi chạm file — lượt 1)

- CHỈ Write: 6 file `docs/governance/adap-reports/<id>.md` + file này. KHÔNG chạm canonical/agent-memory/sub-MD lane khác.
- Mỗi report = **con trỏ + nấc + honest-caveat**. CẤM chép nội dung dài từ report gốc.
- **CẤM trỏ mù**: mở report gốc đối chiếu THẬT (đọc dòng cite) trước khi ghi file:dòng.
- Caveat bắt buộc mọi file: pointer-dedup, KHÔNG việc mới ⇒ chống double-count khi hub `/adap-audit`.

### Lệch lane-assignment (khai trung thực) — ĐÃ ĐÓNG
- `sub-invest-backlog.md:62` (propose) xếp L1 = {h11 · 9-10-v2 · h10-detector · all · **all-update-v-2-0(n-a)** · h14}.
- Brief lead giao L1 = {h11 · 9-10-v2 · h10-detector · all · h14 · **h14-adopt**} (đổi slot 5: `all-update-v-2-0` → lane khác).
- Xử: theo **brief lead**. Coverage-check chạy cuối lượt: `docs/governance/adap-reports/2026-06-19-Governance-harness-all-update-v-2-0.md` **TỒN TẠI** (42 dòng, `:12` nấc **n-a**, lane khác viết) ⇒ **KHÔNG lọt**, flag đóng.

### Lệch tên sub-MD (khai trung thực)
- Brief LƯỢT-1-2 chỉ-định `sub-apply-L1.md`; footer RUN-TRACE generic ghi `sub-task-0.md`.
- Xử: theo brief (chỉ-định-mới thắng footer-cũ) → file này = `sub-apply-L1.md`, khai trong return.

## ① Đối chiếu report gốc (đọc THẬT — chống trỏ mù)

4 report gốc mở đọc đầy-đủ trước khi trỏ; 6 broadcast gốc mở đọc frontmatter. Số đo bằng `git log -1 --` + `wc -l` (2026-07-25):

| Report gốc | commit | dòng | phục vụ id |
|---|---|---|---|
| `2026-06-18-Governance-harness-11.md` | `ae957c4` (06-18) | 52 | #1 |
| `2026-06-18-Governance-harness-10-flat-refine-checklist-v2.md` | `18fced6` (06-18) | 51 | #2, #3 |
| `2026-06-19-Governance-harness-all-update.md` | `33d519e` (06-20) | 47 | #4 |
| `2026-06-20-Governance-harness-14.md` | `33d519e` (06-20) | 45 | #5, #6 |

**Dòng-neo đã xác-minh từng cái** (không có cite nào chưa mở):
- #1 → `harness-11.md:4` (source-block ghi tên checklist) · `:8` stage CHECKLIST-VERIFY `wf_39cd4cbe-f07` · `:45` kết-quả "B 4/4 + C 5/5 + D 11/11" · `:11` VERDICT.
- #2/#3 → `…checklist-v2.md:5` **"broadcasts adopted"** nêu ĐÍCH DANH cả 2 id · `:7` 3 run-id · `:8` reviewer_gate PASS sau-fix · `:19` per-PART · `:26` gap-row "2 broadcast 06-18 unadopted → adopted" · `:46` caveat TAILORED-OUT.
- #4 → `harness-all-update.md:4` cite checklist + sha `7e6e0555…` · `:9` 3 run-id · `:25-26` completeness-gate ĐẠT · `:12` VERDICT.
- #5/#6 → `harness-14.md:4` cite CẢ checklist (`e96930da…`) LẪN adopt-broadcast (`8da7e8b1…`) · `:5` plan-announce = SKIP n-a · `:9` run-id · `:26` 6/6 floor MET.
- Reconciliation S82 (dùng chung): `2026-06-21-Governance-harness-15-v2-hot-feed-update.md:45` heading · `:47` "7 còn lại = đã-phủ (verify-not-redo)" · **`:48` phủ CẢ 6 id của lane này** — pointer-dedup không phải phát-minh hôm nay, chỉ là tách file cho parser.

**Sha đối chứng cite-vs-hub-declared (đọc hub outbox 2026-07-25):**

| id | declared ở hub | report gốc cite | verdict |
|---|---|---|---|
| checklist-harness-11 | `362f98ba…` (:12) | — (không cite) | sha BỔ SUNG hôm nay |
| checklist-harness-9-10-v2 | `cba8f63f…` (:15) | — (chỉ cite tên id) | sha BỔ SUNG hôm nay |
| h10-flat-detector-refine | `4fda958f…` (:13) | — (chỉ cite tên id) | sha BỔ SUNG hôm nay |
| checklist-harness-all | `7e6e0555…` (:12) | `7e6e0555…` (:4) | ✅ KHỚP |
| checklist-harness-14 | `e96930da…` (:10) | `e96930da…` (:4) | ✅ KHỚP |
| harness-14-adopt | `8da7e8b1…` (:9) | full 64-char (:4) | ✅ KHỚP ĐỦ 64 |

⚠️ Tất cả sha = **declared-read**, KHÔNG recompute 2-biến-thể → đã khai caveat trong cả 6 file.

## ② 6 report đã ghi (acceptance đo được)

| # | file (`docs/governance/adap-reports/`) | nấc | dòng | 5-trường | caveat double-count |
|---|---|---|---|---|---|
| 1 | `2026-06-18-Governance-checklist-harness-11.md` | executed | 47 | 5/5 | ✓ |
| 2 | `2026-06-18-Governance-checklist-harness-9-10-v2.md` | executed | 48 | 5/5 | ✓ |
| 3 | `2026-06-18-Governance-h10-flat-detector-refine.md` | **per-khoản: (a) executed · (b) `agreed`** | 45 | 5/5 | ✓ |
| 4 | `2026-06-19-Governance-checklist-harness-all.md` | executed | 48 | 5/5 | ✓ |
| 5 | `2026-06-20-Governance-checklist-harness-14.md` | executed | 49 | 5/5 | ✓ |
| 6 | `2026-06-20-Governance-harness-14-adopt.md` | executed | 47 | 5/5 | ✓ |

Parse-check chạy thật: `grep -c` 5 heading LOCK = **5/5 cả 6 file** · dòng `**id:** \`<id>\`` khớp exact-id **1/1 cả 6** · "double-count" ≥1 hit **6/6**.

### 🔴 Ngoại-lệ #3 — KHÔNG phải con trỏ thuần (điểm quan-trọng nhất lane này)
Thư `h10-flat-detector-refine` có **2 khoản** (đọc thư gốc `:19`, `:23`, `:37`): (a) cấu-trúc phẳng · (b) bộ-dò chống-lách-engine "theo ba CHỨC NĂNG".
- (a) = executed runtime @S72 → trỏ được.
- (b) = S72 chốt **TAILORED-OUT** (`:19`/`:46`) → **hub bác ở mức sàn-chức-năng 2026-07-03**: `AI_INFRA/broadcasts/outbox/se/2026-07-03-ai_infra-to-se-batch13-ack-stamp-and-answers.md:27-29` — *"Có, ở mức sàn-chức-năng; còn hình thức thì SE tự quyết"*, hình thức tự chọn *"miễn chạy đều mỗi cuối phiên"*. ⇒ nghĩa-vụ SỐNG, nấc (b) = `agreed`, **L1 KHÔNG nâng hộ** (C-b thuộc L6).
- Nếu parser cần 1 nấc: file ghi rõ lấy **`agreed`** (thấp nhất) — thà tụt nấc còn hơn `executed` che nợ.

### Đo lại residue (b) bằng tay — KHÔNG chép số lane khác
- `grep -c "bypass\|whitelist" scripts/governance-detectors.ps1` = **0** ⇒ chưa có bộ-dò. Kết-luận `sub-invest-backlog.md:15` **ĐỨNG VỮNG**.
- ⚠️ **Nhưng phép đo giòn:** thêm `-i` → **1 hit** = `scripts/governance-detectors.ps1:35` `powershell.exe -ExecutionPolicy Bypass -File …` = **cờ chạy script**, không phải detector. Ai re-measure bằng `-i` sẽ thấy 1 và tưởng claim sai ⇒ đã neo cả case-sensitivity vào evidence report #3.
- Lỗ **mode-A** xác-minh tại chỗ: `.claude/workflows/runs/_ledger.md:9` (note S98) — mode-A *"KHÔNG tạo run-folder/ledger-row = by-design"*, ledger chỉ cover MODE B ⇒ hình-thức "quét ledger-vs-run-folder" **không tự phân biệt** mode-A hợp-lệ vs chạy-ngoài-engine. Ràng buộc này L6 phải xử hoặc khai.

### Phát-hiện phụ — token trường G-011 KHÔNG thống-nhất toàn corpus
LOCK `adap-report.md:16` viết ASCII **`nac G-011`**; corpus 93 report thực tế:
`## 2. nấc G-011` = **29** · `## 2. nac G-011` = **13** · còn lại ≥8 biến-thể (`## Nấc (G-011)`, `## 2. nấc (G-011)`, `## 4. Nấc trạng thái (G-011)`, `## Nấc per-pattern/per-vế/per-lesson`…).
- L1 dùng `## 2. nấc G-011` = **dạng modal của corpus** (29/93) ⇒ giữ nguyên, KHÔNG sửa (sửa sang LOCK-literal sẽ làm 6 file lệch khỏi đa-số).
- Suy ra: `/adap-audit` không thể key theo 1 literal (nếu có, nó đã trượt đa-số corpus từ lâu).
- 🔴 **PROPOSE (canonical — em main/hub quyết, L1 KHÔNG tự sửa):** hoặc chuẩn-hoá 1 token cho report MỚI, hoặc hub khai parser tolerant. Đây là rủi-ro "vắng-mặt trông giống ổn": parser trượt = 0 finding, nhìn y hệt sạch.

## ③ Isolation (B6) — git status sau khi xong

L1 ghi ĐÚNG **7 file**: 6 report trên + `sub-apply-L1.md`. **0 file canonical, 0 agent-memory, 0 sub-MD lane khác, 0 code.**
`git status --short` lúc đo có 22 mục nhưng phần còn lại là **lane khác đang chạy song song** — KHÔNG phải L1:
- `M .claude/commands/session-start.md` · `M .claude/workflows/hmw.js` · `M scripts/spawn-model-audit.ps1` · `M scripts/governance-detectors.ps1` (= C-b của L6, spec `:13` giao L6 độc-quyền file này) · `M sub-apply-L2.md` · `?? sub-apply-L3.md` · `?? sub-apply-L4.md` · các report của L2/L3.
- 🔴 Ghi để lead khỏi quy sai tác-giả khi audit diff sau P2.

## ④ Log tiến-trình

- [L1] khung rỗng ghi đĩa TRƯỚC (lượt 1) + đọc spec/format-LOCK.
- [L2] đọc `sub-invest-backlog.md` + ls run-folder + ls 93 adap-report.
- [L3-4] đọc 4 report gốc ĐẦY-ĐỦ + git log/wc đo commit-sha & dòng + xác-minh 6 broadcast tồn tại đúng tên trong hub outbox.
- [L5] đọc frontmatter 6 broadcast (sha/gate/type) + verify H15-v2 `:45-49` + định-vị hub-answer 07-03.
- [L6] đọc thư h10-refine để tách đúng khoản (a)/(b) + đọc report v1 checklist-9-10 (precedent house-style).
- [L7] tự đo residue (b): grep detector 2 chiều case + `_ledger.md:9` mode-A.
- [L8] ghi 6 report (Write tool, no shell-append per `adap-report.md:43`).
- [L9] acceptance parse-check 5-trường + git-status isolation + coverage-check `all-update-v-2-0` (đóng flag) + đo token G-011 toàn corpus.
