# sub-opus-lane3-doc-codify — LANE-3 doc-codify (YC-017, S185)

> Agent: Opus 5 (1M) MAX · lane 3/7 · items **C-3, C-4, C-17** (3 item).
> Artifact-first (chống #53): file này ghi LIÊN TỤC per-item. Return = con-trỏ.
> Ranh: đọc THƯ GỐC + REPORT trước khi chạm · vùng-owner ⇒ DỪNG + khai · fault-inject trên cây tạm · mọi số kèm lệnh tái-lập · edit file lệnh/persona ⇒ khai ENV-DEP · KHÔNG commit/push · KHÔNG store_memory.

## 0. Nguồn đã đọc TRƯỚC khi chạm (ranh 1)

| Item | THƯ GỐC | REPORT |
|---|---|---|
| C-3 | `AI_INFRA/broadcasts/outbox/all/2026-07-20-Governance-3-khoan-title-tier-posture-home-distill-params.md` (Khoản 1 `:19-27`) ✅ đọc trọn | `docs/governance/adap-reports/2026-07-20-…-3-khoan-….md` ✅ đọc trọn (K1 = `agreed`) |
| C-4 | `…/2026-07-19-Agent-ensemble-cost-lens-khan-hiem-va-routing.md` (khoản ③ `:39-46` + nấc adopt `:50`) ✅ | `docs/governance/adap-reports/2026-07-19-Agent-ensemble-cost-lens-….md` ✅ (§3b: ③ CHƯA codify; §4: "gap thật, không phải project-fit") |
| C-17 | `…/2026-07-17-Governance-master-checklist-hai-tang-moi-cua-phien.md` ✅ | `docs/governance/adap-reports/2026-07-17-…-master-checklist-….md:26` ✅ (vocab-nit) |

---

## 1. C-17 — vocab-alias-map "sàn-5" → **SKIP-khai (đã đóng từ S139 bằng nhánh RENAME, owner quyết + hub ACK)**

### 1.1 Tiền-đề của C-17 sai HAI lớp (đo từ đĩa, không đọc lại checklist)

**Lớp 1 — "file CHƯA tồn tại": SAI.**

```bash
git ls-files | grep -i vocab      # → docs/governance/vocab-alias-map.md
git log --diff-filter=A -1 --format="%h %ad" --date=short -- docs/governance/vocab-alias-map.md
                                  # → 881783c3  2026-07-01
wc -c docs/governance/vocab-alias-map.md            # → 8020
```
File **TỒN TẠI, git-tracked, tạo 2026-07-01** (commit `881783c3` "S96 monthly drift audit"), **8.020 B**, đã có **3 entry** (`run-trace↔wave-folder` · `Ngân sách PRO↔Dự trù PRO` · `worker-tier-pin↔all-inherit↔two-tier`). Nó còn được `naming-standard.md` **L1** trỏ tới làm **nguồn duy nhất** của danh sách 5 vùng đóng-băng ⇒ đây là doc governance đang SỐNG, không phải file trống chờ tạo.
*(Nguồn sai: `sub-review-checklist-fable.md:73` F-4 ghi "chưa tồn tại trên đĩa (git grep chỉ ra mention)" — phép `git grep` soi NỘI-DUNG nên không thấy tên tệp; lớp lỗi `feedback_absence_looks_like_clean` — phép trích RỖNG đọc thành "không có".)*

**Lớp 2 — "token sàn-5 còn 2 nghĩa": SAI, va-chạm đã được xử bằng RENAME @S139.**

| Bằng chứng | Nội dung |
|---|---|
| `.claude/commands/session-end.md` khối `🚩 Sàn-5 — hậu-kiểm CỜ vs NỘI-DUNG (H22, adopt S122…)` | nghĩa H22 **GIỮ** tên |
| cùng file, khối `🔢 Luật đánh-số chờ-anh (điểm sàn #5 master-checklist cadd24ae, S138 — **rename S139 tránh trùng token "Sàn-5" H22 ở trên, quyết anh + L3 nit-1**)` | nghĩa S138 **ĐÃ NHƯỜNG** tên — ghi chú rename nằm ngay TRONG file |
| `broadcasts/outbox/ai_infra/2026-07-18-se-to-ai_infra-owner-quyet-4-khoan-xin-hub-review.md` §Khoản 3 | *"owner đồng-ý rename, ĐÃ làm local … bản đến-sau nhường tên, hết đụng vĩnh-viễn, **không cần alias-map**"* |
| `broadcasts/inbox/ai_infra/2026-07-18-ai_infra-to-se-reply-tong-bo-ba-harness-sub-4-khoan.md` | *"③ rename 'sàn-5' — **ACK**, đúng form-autonomy"* |
| `docs/HANDOFF.md` (khối Prev S138–S139) + `docs/STATUS.md` (S138–S139) | *"3 rename=ĐÃ-làm"* / *"nit-1 sàn-5 → ĐÃ rename 'Luật đánh-số chờ-anh'"* |

Lệnh đối chứng (kèm **control dương** để chứng thước còn sống):
```bash
grep -rn "Luật đánh-số chờ-anh" .claude/commands/        # control DƯƠNG → 1 hit (rename đã land)
git grep -n -- "sàn-5" -- .claude/commands/              # → 0 hit  (token biến mất khỏi lớp lệnh)
git grep -c -- "sàn-5"                                   # → 19 file, TOÀN BỘ là vùng đóng-băng
                                                         #   (runs/ · agent-memory · broadcasts · adap-reports · STATUS/HANDOFF lineage)
```

### 1.2 Vì sao KHÔNG làm nhánh alias-map (3 lý do độc lập, mỗi lý do đủ để dừng)

1. **Đụng vùng-owner (ranh 2).** Anh đã CHỌN nhánh (rename) và nhánh đó đã thi hành + hub ACK. Ghi entry alias-map bây giờ = **mở lại một quyết-định owner đã đóng**, và mâu thuẫn trực tiếp câu SE đã gửi hub *"không cần alias-map"*. ⇒ DỪNG + khai, đúng luật.
2. **Sai sự thật.** Alias-map entry đòi **2 tên còn sống cùng lúc**. Sau rename chỉ còn **1** tên `Sàn-5` (H22). Ghi vào = tạo doc mô tả một va-chạm không còn tồn tại — đúng lớp *lời-hứa-doc ≠ hành-vi thật*.
3. **Ngoài phạm-vi tự khai của chính tệp.** `vocab-alias-map.md` **Phạm vi** (khối mở đầu): *"Chỉ ghi các cặp thật sự là MỘT khái niệm hai tên (fork-để-hợp-nhất). **KHÔNG ghi các từ trùng-mặt-chữ nhưng khác nghĩa**"* — "sàn-5" là **trùng-mặt-chữ khác nghĩa** (homonym), tức loại tệp này **cố ý loại trừ**. Muốn nhét vào phải **nới phạm-vi tệp** = quyết-định riêng, không phải "1 entry additive" như C-17 mô tả.

### 1.3 Residual THẬT còn lại (KHÔNG tự sửa — bàn giao, tránh 2 agent cùng file)

- 🔶 `docs/governance/adap-reports/2026-07-17-…-master-checklist-….md` dòng vocab-nit vẫn ghi ***"(L3, LOW, **chờ owner**) … đề-xuất rename bản mới hoặc đăng-ký vocab-alias-map.md"*** — **STALE** (owner đã quyết + đã thi hành @S139). Cùng CLASS với C-14.
  🔴 **KHÔNG sửa ở lane này:** file đó là đích của **C-18 (LANE-5)** (*"addendum report master-checklist 07-17"*). Ranh "tránh 2 agent cùng file" thắng. ⇒ **bàn giao LANE-5/lead**: khi viết addendum C-18, thêm 1 dòng flip vocab-nit kèm 4 evidence ở §1.1 bảng trên.
- 🔶 `checklist-final.md:24` mang tiền-đề sai ("file CHƯA tồn tại") — lead tự đính chính khi tổng hợp.

### 1.4 Phát hiện tặng kèm (đo lúc soi, 0 chi phí)

Tệp `vocab-alias-map.md` cuối bài tự đặt 1 nghĩa-vụ: *"Cần thêm `docs/governance/vocab-alias-map.md` vào `$ExcludeExact` … **Đây là bước bắt buộc khi commit file**"* → kiểm lời-hứa-đã-land hay chưa:
```bash
grep -n -A6 '\$ExcludeExact\s*=' scripts/governance-detectors.ps1
#  :120 governance-detectors.ps1   ← control dương 1
#  :121 harness-11-engine.md       ← control dương 2 (tệp thư nói "đã loại trừ sẵn")
#  :122 vocab-alias-map.md         ← ✅ ĐÃ LAND
```
⇒ **KHÔNG phải nợ.** Ghi lại để lần sau khỏi mở lại (đối lập ca `rename-ledger.md` mà `naming-standard.md` trỏ tới nhưng **không tồn tại** — nợ đó đã có chủ ở W1/W3, tôi không đụng).

**VERDICT C-17 = `SKIP-khai` (skip-owner + skip-đã-đóng).** 0 file bị sửa. Không đốt slot chờ-anh: không có gì để hỏi — anh đã trả lời từ 07-18.

---

## 2. C-3 — K1 masthead sweep: `agreed` → **executed**

### 2.1 Floor lấy từ thư gốc (`3-khoan:19-27`)

- **Luật:** *"sau khi sửa body doc NÀO trong một lượt sweep → **đọc lại dòng-1 + masthead của chính doc đó** trước khi tuyên sweep xong"*.
- **Root-cause (hub ghi là "đáng giá hơn cái lỗi"):** sweep quét theo **danh mục nơi TRỎ TỚI** doc, nhưng không quét **cách doc tự mô tả chính nó**; tiêu-đề *"không nằm trong danh mục của ai cả"* ⇒ tầng sống sót lâu nhất. Ca nặng nhất ở hub sống qua **2 lượt sweep**, 3 ca cùng hình trong 3 phiên liền.
- **Phép thử hub giao:** grep dòng `#` đầu của doc governance/policy đang active, đối chiếu trạng-thái hiện-hành.

### 2.2 Baseline TRƯỚC khi sửa (đo tươi 2026-08-09, lệnh khác cả invest lẫn review)

```bash
grep -rli "masthead" --include="*.md" --include="*.ps1" --include="*.py" --include="*.js" .
```
→ **13 tệp**, phân loại: 10 × `.claude/workflows/runs/**` (vết chạy) + 2 × `broadcasts/inbox/**` (thư gốc) + 1 × `docs/governance/adap-reports/2026-07-20-…` (chính report). ⇒ **0 rule-file** — khớp claim invest/review.

Chống **mù-biến-thể-chữ** (caveat report `:29` tự khai phép đo chỉ soi token `masthead`) — grep biến thể `dòng-1|dòng 1|tiêu-đề` ∩ `sweep|quét|masthead` ngoài `runs/`+`broadcasts/`: **0 hit khớp nghĩa** (1 hit `ring1-audit/MEMORY.md:63` là *"sweep theo DÒNG"* — khái niệm khác, không phải luật masthead). ⇒ baseline **0** đứng cho **cả 4 biến thể**, không chỉ 1 token.

### 2.3 Chọn nhà (bậc-2 — chọn nhánh + khai)

**Chọn `docs/governance/naming-standard.md`, thêm section MỚI `§12-bis`.** Lý do:

| Tiêu chí | Phán |
|---|---|
| Ứng-viên checklist đề | đúng tệp này |
| Thuộc lane-3 (`docs/governance/`) | ✅ |
| Va-chạm lane khác | **0** — L1 giữ `governance-detectors.ps1`, L2 giữ `harness-11-engine.md §Q`+`tien-kiem-cua.ps1`, L4/L5 giữ `adap-reports`+`HANDOFF`. `naming-standard.md` **không lane nào khác chạm** (L5 chỉ ĐỌC nó ở `:107`) |
| Ăn khớp nội dung | §12 = *"số chỗ phải sửa ĐỒNG THỜI"* liệt theo danh mục nơi TRỎ TỚI; masthead = đúng cái **chỗ không danh mục nào liệt**. §12-bis nằm ngay sau §12 là chỗ của nó |
| Nhánh bị loại | `docs/rules.md §6.4` (ngoài dirs lane-3) · `harness-11-engine.md` (**LANE-2 đang chạm**) · thêm `L5` vào `§0` (heading tự khai *"Năm luật nền"* ⇒ thêm luật thứ 6 **tự đẻ masthead-drift**, đúng cái bệnh đang vá — loại vì tự mâu thuẫn) |

**Vị trí chèn = SAU `§12`, TRƯỚC `§13`.** An toàn toạ-độ: (i) `grep -rE "naming-standard\.md:[0-9]+"` → mọi neo số-dòng đều **≤ :107** (`:10` `:107` `:170` `:278`) — chèn ở ~:206 **không lão-hoá** neo nào ở trên; (ii) `:278` (PHỤ LỤC B) sẽ trôi — nhưng neo đó nằm trong `runs/**` **đóng băng** và đã được `sub-w3-nghi-thuc.md` khai là con-trỏ tới `rename-ledger.md` **không tồn tại** (nợ có chủ, không phải của tôi); (iii) LANE-5 đang cite `naming-standard.md:107` — **không đổi**.

### 2.4 Chạy phép thử K1 lần đầu (21 tệp) — có ca dương THẬT

```bash
for f in docs/governance/*.md docs/rules.md docs/STATUS.md docs/HANDOFF.md CLAUDE.md; do
  printf "%-52s | %s\n" "$f" "$(grep -m1 '^#' "$f")"; done
```

| Tệp | Dòng `#` đầu | Phán |
|---|---|---|
| `docs/governance/ctx-soft-memory-se-draft.md` | *"Ctx soft-memory — SE-form **DRAFT** …"* | 🔴 **DƯƠNG THẬT** — thân chính nó (khối `> **Trạng thái:**`) tuyên *"✅ RATIFIED + ĐÃ WIRE @S153 (OWNER-VETO)"* và còn tự chẩn đoán lớp bệnh *"wired-but-declared-unwired … ghost-wire chiều ngược"*. Thân ĐÃ vá, **masthead sống sót** — đúng y hình hub mô tả |
| `docs/governance/session-model-se-draft.md` | *"(DRAFT v0.1 — HẠ-TẦNG đã wire, NGHI-THỨC chưa chuyển)"* | ⚪ **KHÔNG tính ca masthead** — masthead **KHỚP** thân (`> ⏳ CHƯA … 0 nghi-thức chuyển per-L` @S146). Nó có stale hay không thuộc **C-20/F-11** (đối-chiếu hub-reply 07-22). Không đụng |
| 19 tệp còn lại | masthead thuần-mô-tả, không mang trạng-thái | ⚪ sạch |

⇒ **1 dương / 21.** Ca dương này là **derived-flush** (thân = owner-set `RATIFIED @S153 OWNER-VETO`; masthead = bản dẫn xuất lệch) ⇒ theo `feedback_derived_flush_execution` là **execution, không cần gate**. Đã flush **giữ vết** 🧊.

### 2.5 Đã sửa

1. `docs/governance/naming-standard.md` — **+§12-bis** (mới, additive; 0 heading cũ bị đổi).
2. `docs/governance/ctx-soft-memory-se-draft.md` — **dòng 1**: `DRAFT` → trạng-thái thật + 🧊 giữ lineage (áp chính luật vừa ký, cùng lượt).

### 2.6 Acceptance (checklist đòi: *grep masthead-rule ra ≥1 hit ngoài adap-reports*)

```bash
grep -rli "masthead" --include="*.md" . | grep -v "workflows/runs/" | grep -v "^./broadcasts/" | grep -v "adap-reports"
```
- TRƯỚC: **0**
- SAU: **1** → `docs/governance/naming-standard.md`  ✅ ĐẠT

*(kết quả thật ghi ở §4 sau khi land)*

---

## 3. C-4 — codify pattern "lead suggest 1 dòng non-blocking rồi chạy luôn"

### 3.1 Floor từ thư gốc (`cost-lens:39-46` + nấc adopt `:50`)

- Hub thử **2 cực rồi chốt giữa**: cực-1 *nén CỨNG heuristic thành rule máy (lead auto-route)* → owner **RÚT** (*"mất tự-chủ"* + đóng cửa việc lead bắt case heuristic sai); cực-2 *lead im, owner tự nhớ* → owner **cũng không chọn** (*"đôi khi tao đánh giá sai"*).
- **Chốt giữa (nguyên văn ý):** lệnh gõ **đích-danh** của owner = **kênh cứng** (thực thi, không bàn); owner giao việc **không chỉ-định** chế-độ ⇒ lead đánh giá + **suggest đúng 1 dòng non-blocking** (*"việc này ảo/thật làm tốt hơn — vì …"*) **rồi chạy luôn** — không ai treo chờ ai.
- `:50`: **"Khoản ③ áp được cho MỌI nhà"** (kể cả nhà 1-chế-độ) — dùng cho **bất-kỳ lựa-chọn vận-hành nào lead làm thay owner được nhưng owner muốn giữ mắt nhìn**. Không floor, form tự quyết.

### 3.2 Baseline (đo tươi)

```bash
grep -rn -iE "suggest.{0,12}(1|một).{0,4}dòng|1.dòng.{0,4}non-blocking|non-blocking.{0,20}(suggest|gợi.ý)" \
  --include="*.md" docs .claude CLAUDE.md | grep -v "workflows/runs/"
```
→ **2 hit, cả 2 nằm trong CHÍNH report** `2026-07-19-…cost-lens….md:26` và `:32` (mention, tự khai *"CHƯA có vết codify"* / *"gap thật, không phải project-fit"*). ⇒ **0 codify**, khớp claim.

### 3.3 Chọn nhà (bậc-2 — chọn nhánh + khai)

**Chọn `CLAUDE.md` (khối operating-posture), thêm blockquote MỚI ngay dưới khối `🎛️`** — KHÔNG sửa 6 dòng khối `🎛️` sẵn có.

| Nhánh | Phán |
|---|---|
| `.claude/commands/fable-real.md` (ứng-viên 2) | ❌ **sai nhà về ngữ nghĩa**: file đó chỉ chạy khi anh **đã gõ lệnh đích-danh** = đúng ca *kênh cứng*, tức ca pattern **không áp dụng**. Nó còn dạy nhánh **BLOCKING** ngược lại (*"Thiếu/sai vai → hỏi lại anh 1 dòng, KHÔNG tự chọn"*). Codify ở đó = chôn luật ở nhánh không bao giờ chạy nó |
| `docs/governance/harness-11-engine.md` (implement-home tự nhiên) | ❌ **LANE-2 đang chạm §Q** — ranh "2 agent cùng file". Loại vì va-chạm, không vì nội dung |
| **`CLAUDE.md`** | ✅ Pattern là **hành-vi mặc-định của lead ở MỌI phiên** ⇒ đúng định nghĩa **operating-posture** của chính khoản-2 thư `3-khoan:31-41` mà SE **đã adopt** ở `CLAUDE.md:23-28`. Đặt nơi khác = tái tạo đúng lỗ `implement-home ⟂ discoverability-home` mà report cost-lens `§5` đã tự khai (*"anh chủ dự án không nhìn thấy khoản này ở đâu cả"*). Pattern **không có wire máy** ⇒ implement-home ≡ discoverability-home, 1 nhà là đủ, không đẻ nguồn-đôi |

### 3.4 Vùng-owner? — cân, rồi khai (KHÔNG im lặng)

Đã cân 3 tín hiệu ngược trước khi chạm:
- `naming-standard.md` PHỤ LỤC B **N-1**: *"W1 **bị cấm sửa** `CLAUDE.md`; bề mặt nạp mỗi lượt, sửa phải gom restart — **cần chủ dự án gật**"*. → Đọc đúng phạm vi: đó là (a) **ranh lane W1** của wave S180, và (b) nói về ca **sửa một KHUÔN đang sai 59,7% đĩa** (đổi quy-ước sẵn có). Việc ở đây là **THÊM** một pattern mềm, **không** đổi khuôn/số/policy-cứng nào.
- Ranh vùng-owner của run này liệt: *policy · số-nhịp · schema · enum-sealed `_sealed_P3B_S181` · ACTIVE-MARKS*. Edit này **không chạm** cái nào (0 con số, 0 nhịp, 0 mark).
- Thư gốc tự khai **KHÔNG floor** (4 lần) ⇒ đây là **form SE tự chọn**, không phải luật ngoại nhập.

⇒ **Kết:** bậc-2 (đảo ngược được bằng xoá 1 blockquote), lead-checklist đã chỉ đích danh tệp này. **Làm + khai + trao anh cần gạt 1 dòng** (§3.6). Chính edit này **tự dogfood** pattern nó ghi: suggest 1 dòng → chạy → anh đọc thấy, muốn thì gạt.

### 3.5 ENV-DEP (ranh 5)

🔴 `CLAUDE.md` được nạp vào context **ở đầu phiên**. Bản trong context phiên NÀY là bản **trước** edit ⇒ **ăn từ phiên sau** (no hot-reload). Phiên này vẫn vận hành theo bản cũ — đúng lớp ENV-DEP đã biết (cùng họ với edit `.claude/commands/*.md` / persona).

### 3.6 Trao anh 1 dòng gạt (non-blocking, đúng tinh thần chính khoản ③)

> *Đã thêm pattern suggest-1-dòng vào `CLAUDE.md` (khối posture) vì thư `cost-lens` khoản ③ nói áp được cho mọi nhà và report SE đã tự khai đây là gap thật, không phải project-fit. Anh không thích thì xoá 1 blockquote — 0 phụ thuộc.*

---

## 4. Kết quả land + acceptance đo SAU

### 4.1 Ba file đã sửa (0 file của lane khác)

| File | numstat | Bản chất |
|---|---|---|
| `docs/governance/naming-standard.md` | **+24 / −0** (add-only) · byte 31.822 → 35.067 (**+3.245**) | §12-bis MỚI + 1 dòng masthead "Bổ sung SAU ngày ký" |
| `docs/governance/ctx-soft-memory-se-draft.md` | +2 / −2 · byte 11.223 → 11.621 (**+398**) | dòng `#` đầu flush `DRAFT` → trạng-thái thật; dòng 🧊 nối thêm lineage masthead |
| `CLAUDE.md` | +6 / −0 (add-only) · **khối của tôi = 1.153 B** | blockquote 🗣️ suggest-1-dòng |

🔴 **Ghi trung thực về `CLAUDE.md`:** tổng delta file = +1.668 B nhưng **KHÔNG phải của tôi cả**. Một lane khác land dòng `:22` (YC-018 nghi-thức 2 đầu ONE-SHOT, 515 B) trong cùng cửa sổ thời gian. **Không clobber** — kiểm 2 chiều: `grep -c "YC-018"` = 1 **và** `grep -c "Lead suggest 1 dòng"` = 1 ⇒ cả hai edit cùng sống. *(Bài học ghi lại: `CLAUDE.md` KHÔNG độc quyền lane-3 như tôi giả định lúc chọn nhà — lần sau đọc lại file ngay trước khi Edit, đừng dựa vào bảng phân lane.)*

### 4.2 Acceptance

**C-3** — checklist đòi *"grep masthead-rule ra ≥1 hit ngoài adap-reports"*:
```bash
grep -rli "masthead" --include="*.md" . | grep -v "workflows/runs/" | grep -v "^./broadcasts/" | grep -v "adap-reports"
```
| | Kết quả |
|---|---|
| TRƯỚC | **0** |
| SAU | **2** → `docs/governance/naming-standard.md` (luật) + `docs/governance/ctx-soft-memory-se-draft.md` (ca đã áp) |
✅ **ĐẠT** (≥1). Đo thêm chống-mù-1-token: `grep -c "§12-bis"` → naming-standard **2** · ctx-draft **1**.

**Bất-biến heading** (chống sửa lén heading cũ):
```bash
diff <(git show HEAD:docs/governance/naming-standard.md | grep "^#") <(grep "^#" docs/governance/naming-standard.md)
# → 19a20 > ## §12-bis …   (CHỈ thêm 1; 25 → 26 heading; 0 heading cũ mất/đổi tên)
```

**Content-preserving** cho file duy nhất có dòng `−` (`ctx-…-draft.md`): 5/5 mảnh nguyên-văn của dòng 🧊 cũ còn đủ 1 hit mỗi mảnh (`Header cũ "DRAFT chờ anh chốt — CẤM wire" đứng từ S153→S164` · `wired-but-declared-unwired` · `ring1+ring2 bắt @S163 "ô xanh thủng"` · `Thân doc dưới GIỮ NGUYÊN dạng draft làm lineage` · `không phải trạng-thái`). Byte chỉ **phình**, không hụt.

**C-4** — checklist đòi *"grep pattern ra hit tại nhà mới"*:
```bash
grep -rn -iE "suggest.{0,12}(1|một).{0,4}dòng|1.dòng.{0,4}non-blocking|non-blocking.{0,20}(suggest|rồi chạy)" \
  --include="*.md" docs .claude CLAUDE.md | grep -v "workflows/runs/"
```
| | Kết quả |
|---|---|
| TRƯỚC | 2 hit — **cả 2 trong chính adap-report** (mention) |
| SAU | 3 hit — 2 cũ + **`CLAUDE.md:31`** (nhà mới) |
✅ **ĐẠT**.

**Encoding:** `git diff | grep -c "<ký-tự-thay-thế>"` trên 3 file = **0** ⇒ không mojibake (repo này có tiền sử).

### 4.3 Fault-inject 2 chiều cho C-3 — chứng phép thử CÓ RĂNG (cây tạm, repo THẬT không đụng)

Cây tạm: `…/scratchpad/lane3-faultinject/` (2 bản sao của `ctx-…-draft.md`; 1 bản bị gài lại masthead `DRAFT`, thân giữ nguyên `RATIFIED`).

| Mẫu | Dòng `#` đầu đọc được | Phán |
|---|---|---|
| `ctx-INJECTED.md` (gài lỗi) | `… SE-form DRAFT …` | 🔴 **LỆCH** (masthead=DRAFT ⟂ thân=`RATIFIED + ĐÃ WIRE @S153`) — **phép thử BẮT** |
| `ctx-CLEAN.md` (**positive-control** = bản repo sau khi vá) | `… SE-form ✅ RATIFIED + ĐÃ WIRE @S153 …` | ⚪ **khớp** — **im đúng lúc phải im** |

⇒ Phép thử đọc **đúng thứ nó tuyên đọc** (dòng `#` đầu), và **phân biệt được** 2 chiều — không phải happy-path. 🔴 **0 byte ghi vào repo thật** trong bước này (`rm -rf` + `cp` chỉ trong `%TEMP%`).

### 4.4 Tự-áp §12-bis lên chính 3 file vừa sửa (dogfood luật mới ngay lượt ký)

| File vừa sửa | Dòng `#` đầu | Phán |
|---|---|---|
| `naming-standard.md` | `# Chuẩn đặt tên — tầng BỘ MÁY (SOLUTION_ERP)` — masthead mang **`Ngày ký: 2026-08-07 (phiên S180, wave W1)`** | 🔶 thân nay có nội-dung S185 ⇒ **đã xử**: thêm 1 dòng `**Bổ sung SAU ngày ký:** §12-bis … 2026-08-09 / S185`. Giữ nguyên "Ngày ký" gốc (đó là mốc ký thật, không phải trạng-thái trôi) |
| `ctx-soft-memory-se-draft.md` | đã flush | ⚪ khớp |
| `CLAUDE.md` | `# CLAUDE.md — AI Agent Context` — thuần mô-tả, 0 trạng-thái | ⚪ miễn (khai theo L4) |

### 4.5 Bàn giao lead / lane khác (KHÔNG tự làm — ngoài item hoặc file lane khác)

1. **→ LANE-5 (C-18)**: khi viết addendum `adap-reports/2026-07-17-…-master-checklist-….md`, flip luôn dòng vocab-nit *"(L3, LOW, chờ owner) … rename hay alias-map"* → **đã quyết + đã thi hành @S139** (4 evidence ở §1.1). Tôi **không** chạm file đó vì nó là đích của C-18.
2. **→ lead**: `checklist-final.md:24` mang tiền-đề sai (`vocab-alias-map.md` "CHƯA tồn tại") — thật là tồn tại từ 2026-07-01, tracked, 3 entry. Nguồn sai truy được: review F-4 dùng `git grep` (soi **nội dung**) để kết luận về **sự tồn tại của tên tệp**.
3. **→ LANE-4 (C-20/F-11)**: `session-model-se-draft.md` dòng `#` đầu ghi `DRAFT v0.1 — HẠ-TẦNG đã wire, NGHI-THỨC chưa chuyển` và **khớp** thân (`0 nghi-thức chuyển per-L` @S146). Nếu C-20 kết luận wire ĐÃ xảy ra thì **phải sửa cả 2** (thân + dòng `#` đầu) — đúng §12-bis vừa ký. Tôi không đụng vì đó là câu của C-20.
4. **→ lead (thấy khi đi ngang, KHÔNG sửa)**: `naming-standard.md` §12 bảng "3 chỗ" neo `detectors:1102` / `:1771` — LANE-5 đã đo là **toạ-độ hết hạn** (nay `:1109`/`:1778`). Cùng file tôi vừa sửa nhưng **khác dòng, khác item** ⇒ để nguyên cho chủ của nó, tránh giẫm báo cáo LANE-5.
5. **→ lead (nợ đã ĐÓNG, ghi để khỏi mở lại)**: nghĩa-vụ tự-đặt của `vocab-alias-map.md` (*"bắt buộc thêm vào `$ExcludeExact`"*) **ĐÃ LAND** — `governance-detectors.ps1:122`, có 2 control dương cạnh bên. Không phải nợ.

### 4.6 Khai ENV-DEP (ranh 5)

- `CLAUDE.md` = bề mặt **nạp đầu phiên** ⇒ khối C-4 **ăn từ phiên sau** (bản trong context phiên này là bản trước edit). Không hot-reload.
- `docs/governance/*.md` = doc đọc-theo-nhu-cầu ⇒ **hiệu lực ngay**, không phụ thuộc restart.
- **0 file lệnh (`.claude/commands/*.md`) và 0 persona (`.claude/agents/*.md`) bị lane này chạm.**

### 4.7 Ranh đã giữ

| Ranh | Trạng thái |
|---|---|
| (1) đọc thư gốc + report trước khi chạm | ✅ 3/3 cặp, đọc TRỌN (§0) |
| (2) vùng-owner ⇒ dừng + khai | ✅ **C-17 dừng đúng** (anh đã quyết nhánh rename @S139). C-4 đã cân N-1 + liệt-kê vùng-owner rồi mới chạm, khai ở §3.4 |
| (3) fault-inject trên cây tạm + positive-control | ✅ §4.3, 0 byte vào repo thật |
| (4) mọi số kèm lệnh tái-lập | ✅ mọi bảng số đều có block lệnh ngay trên |
| (5) khai ENV-DEP | ✅ §4.6 |
| (6) KHÔNG commit/push | ✅ 0 lệnh git ghi (chỉ `log`/`show`/`diff`/`ls-files`/`status`) |
| (7) KHÔNG store_memory | ✅ 0 lần gọi |

### 4.8 Tự-nghi (thước của chính tôi có hỏng không)

- **Đo "0 hit" luôn kèm control dương** — baseline C-3 = 0 nhưng lệnh ấy có chạy thật không? Chứng: cùng lệnh đó SAU khi land trả **2**; và tại C-17, lệnh `git grep "sàn-5"` trả 0 ở lớp lệnh **đi kèm** control dương `grep "Luật đánh-số chờ-anh"` = 1. Không có ô 0 nào đứng một mình.
- **Chỗ tôi có thể sai:** phép thử §12-bis quét **21 tệp** (`docs/governance/*` + 4 tệp gốc) — **không** phủ `.claude/commands/*.md` (19) và `.claude/agents/*.md` (27), là nơi masthead-trạng-thái rất có khả năng cũng trôi. Khai thẳng là **chưa đo**, không viết thành "đã quét sạch". Ai mở rộng thì nới vòng `for` trong §12-bis.
- **1 dương / 21 là số của lượt này**, không phải tỉ lệ nền của kho.

**Trạng thái lane: XONG** — 2 DONE (C-3, C-4) · 1 SKIP-có-khai (C-17). ts-đóng 2026-08-09.
