# sub-investigator-codebase-3 — LANE 4 "lens-owner-binding"

> Run: `2026-07-22-S144-adap-dot-11` · vai: investigator-codebase · lăng-kính: **TRỤC RÀNG-BUỘC** (lệnh đã chốt / còn bàn / đá về SE)
> Nguồn: 10 file `broadcasts/inbox/2026-07-1[89]-*.md` + `2026-07-2[01]-*.md` (đọc TRỌN file chính 12.320 B + lướt 9 file)
> Ghi-đĩa-TRONG-lúc-làm (chống #53). Mọi claim neo `file:line`. **Phần CHÉP NGUYÊN VĂN tách khỏi phần DIỄN GIẢI.**

---

## CÂU 1 🔴 — "Năm khoản" là NĂM KHOẢN NÀO

File: `broadcasts/inbox/2026-07-19-Governance-goi-chot-owner-nam-khoan.md` · `content_sha256: c580c566…` (`:12`) · `type: update` `:7` · `to/targets: all-fit` `:4-5` · status `🟢 PUBLISHED s105` `:11`
Tự khai bản chất: *"mỗi khoản chồng lên một bản đã phát trước, khung cũ giữ nguyên — chỉ đọc phần delta"* (`:21`) · *"Mọi khoản đã land phía hub … trước khi phát; không khoản nào là lời hứa"* (`:21`).

### Khoản 1 — `:23-30`
**Tiêu đề nguyên văn (`:23`):** `## 1. Mặc-định lead = Opus 4.8 (1M) MAX; model đắt nhất đi qua đúng HAI cửa owner-chủ-động`
Chồng bản `1b3aa909` (`:25`).
**Owner verbatim (`:27`):** *"nói chung fable tao muốn dùng là sẽ dùng theo command /fable-real ngoài ra thì Opus 4.8 MAX hết"* — làm rõ cùng đợt: owner tự chọn Fable ở ghế lead lúc mở phiên vẫn hợp-lệ, **0 caveat**.
**Quyết cuối (`:28`):** boot-default máy (settings) đổi về **Opus 4.8 (1M) MAX** cho ghế lead (trước là Fable). Fable đi qua đúng **hai cửa, cả hai owner-chủ-động**: ① owner CHỌN lead Fable lúc mở phiên · ② owner gõ lệnh gọi đích-danh một con Fable cho một vai cụ-thể. **"Lead và sub không bao giờ tự nâng lên Fable."** Owner đổi model giữa phiên = quyền owner.
**Giới hạn phạm vi (`:29`):** sister-floor KHÔNG ĐỔI (lead = frontier-class owner-choice, cấm lớp Sonnet/Haiku ở ghế lead); *"Hub thu default về Opus là **lựa-chọn của owner hub — không ép dự-án nào đổi default theo**."*
**Floor chuyển được (`:30`):** *"tier đắt nhất không nên là đường mặc-định — nó nên là cửa owner-gated đích-danh."*

### Khoản 2 — `:32-38`
**Tiêu đề (`:32`):** `## 2. RETIRE resume-agent cho mục-đích "giữ context / chắc model" — đường chính là spawn mới + pack`
Chồng `7c0ec067` + `d68de5e7` (`:34`).
**Bệnh (`:36`):** resume/continue một agent đã spawn làm **rớt model-override** đặt lúc spawn — máy-chứng từ MỘT sister, **khai thật n=1, env-dependent**.
**Quyết cuối (`:37`) — ĐẢO một mặc-định cũ của hub:** mục-đích *"giữ context / chắc chắn đúng model"* → **dùng spawn MỚI với memory-pack đầy-đủ**; *"resume/continue chỉ còn hợp-lệ cho **hội-thoại tiếp-diễn trong cùng lượt làm việc**, không phải cơ-chế bảo-toàn model."*
**Floor (`:38`):** spawn mới + model-param tường-minh tại call-site; muốn giữ resume → **tự verify trên env mình trước**.

### Khoản 3 — `:40-46`
**Tiêu đề (`:40`):** `## 3. Ràng-buộc thiết-kế NỀN: không cơ-chế nào được chặn hoặc làm đắt cửa dừng–nối–checkpoint`
Chồng khung-nhịp `3daf5ee4` (`:42`).
**Quyết cuối (`:44`):** van giữa-phiên **GIỮ TREO** (dữ-liệu hai phía {sister + hub} chưa đủ đặt ngưỡng) + owner verbatim *"cái này phải nhanh"* ⇒ *"**bất kỳ van/gate/phép-đo nào về sau cũng KHÔNG ĐƯỢC chặn hoặc làm chậm các cửa dừng–nối–checkpoint** (lệnh pause / lệnh nối-mạch / lệnh chốt-nhanh-không-dừng của bạn)."*
**Vị-thế (`:45`):** nâng heuristic *"điểm-dừng-phải-rẻ"* thành **ràng-buộc thiết-kế CỨNG**: *"mọi đề-xuất thêm việc vào đường điểm-dừng phải qua câu hỏi 'có làm điểm dừng đắt lên không' TRƯỚC khi bàn giá-trị của việc đó."*
**Floor (`:46`):** audit lệnh điểm-dừng; bước nặng (**spawn agent, đo đạc lớn, quét rộng**) nằm trong đường pause-tương-đương = **vi-phạm ranh** → dời về closeout/bookend.

### Khoản 4 — `:48-55`
**Tiêu đề (`:48`):** `## 4. Cửa-duyệt lời-hứa-máy — thành luật sổ chuẩn (credit khuôn-câu: SE)`
`:50` — *"nâng khoản-3 của bản năm-quyết `123d8272` từ 'xử một ca' thành 'cửa chặn mọi ca mới'; khuôn-câu gốc từ thư SE `58e28bae`, hub CONFIRM"*.
**LUẬT nguyên văn (`:52`):** *"câu dạng **'máy sẽ chặn/quét/bắt X'** · **'detector đảm-nhiệm Y'** trong doc/rule/broadcast ⇒ BẮT BUỘC **existence-proof tại chỗ**: {máy tồn-tại (đường-dẫn) + lệnh chạy được + test/positive-control}. Thiếu bất kỳ mảnh nào → PHẢI viết dạng **dự-định** ('sẽ build — CHƯA có máy'). **Cấm viết dạng đang-có.**"*
**Honest (`:54`):** *"máy quét TỰ-ĐỘNG cho chính class lời-hứa-máy = **chưa có** (khai residual)"* — lưới hiện-hành = gate người + khuôn-câu bắt-buộc hai-dạng.
**Floor (`:55`):** khuôn-câu hai-dạng {đang-có (kèm proof tại chỗ) | dự-định (nói rõ chưa-có)}; reviewer hỏi một câu: *"mã nào làm việc đó?"*

### Khoản 5 — `:57-61`
**Tiêu đề (`:57`):** `## 5. Ghi-chú pool: model đắt xuất hiện available trong env ≠ đổi pin`
**Quyết cuối (`:59`):** sau đợt spend-limit mở lại, Fable xuất hiện available trong pool sub phía hub → *"**available-in-pool ≠ mandate** — pin sub (Opus) giữ nguyên; nâng tier per-case vẫn owner-gated như cũ."* `:60`: *"env thay đổi không phải mệnh lệnh."*
**Floor (`:61`):** mọi thay-đổi pin/tier — kể cả khi env "mời" — đi qua owner; *"Agent ghi-nhận và báo, không tự adopt."*

**PROJECT-FIT hub tự chấm (`:65-68`):** khoản 1/5 → n/a phần cấu-hình nếu 1-model; khoản 2 → chỉ áp nếu dùng resume kèm model-override; khoản 3 → áp cho mọi dự-án có lệnh điểm-dừng; **khoản 4 → áp cho MỌI dự-án** ("không cần hạ-tầng gì").
**Phần KHÔNG-BIẾT hub tự khai (`:86-88`):** khoản 2 n=1 env sister · khoản 3 **chưa có máy** đo "điểm-dừng đắt lên" (kiểm tay) · khoản 4 mới codify, sẽ đính-chính nếu lộ kẽ lách.

---

## CÂU 2 🔴 — BẢNG 12 MỤC TREO CỦA SE × 10 THƯ (không bỏ dòng nào)

**Ký hiệu:** `[10]` = trong tập 10 thư lane này · `[ngoài-10]` = thư đã kéo trước, nằm `broadcasts/inbox/ai_infra/`.
**Kết quả tổng: 0/12 mục có đáp án TRỰC TIẾP trong 10 thư.** 3 mục có **nguyên-tắc phủ** (hợp-thức-hoá việc để trống), 3 mục có đáp án ở `58e28bae` `[ngoài-10]`, 5 mục = product/owner-scope hub không đụng, 1 mục ratify vẫn nợ.

| # | Mục treo SE | Có đáp án trong 10 thư? | Đáp án / neo |
|---|---|---|---|
| 1 | trio first-run | ❌ CHƯA (0 hit `[10]`) | CÁCH chạy đã có: `harness-dong-du-vong:46` *"Tuần-tự trong-vòng, song-song giữa-vòng: audit chờ đúng con đo vòng mình xong (chống chấm bản stale)"*. Nhịp gốc `[ngoài-10]` `58e28bae:33` *"chạy **ĐỦ CẢ HAI ĐẦU mỗi phiên-LOGIC** … **TUẦN TỰ** ĐO → ĐỀ-XUẤT → KIỂM, KHÔNG bắn song song"*. Việc CHẠY lần đầu = blocker owner (restart CLI + gật) — `HANDOFF:8` NEXT#1. |
| 2 | ngưỡng `pull_warn_days` (cố ý trống) | ❌ số CHƯA — nhưng ✅ **NGUYÊN-TẮC phủ** | grep `pull_warn_days` = **0 hit / 10 thư**. Phủ bởi `2026-07-20-auto:19` *"**núm-số ngân sách vẫn thuộc chủ dự án** (nâng trần, đặt target — máy chỉ BÁO khi chạm, không tự nâng)"* + `2026-07-21-eval:24` *"chủ-dự-án-quyết-SỐ (ngưỡng, target)… **AI không tự quyết hai cột sau**"*. ⇒ SE để trống = **ĐÚNG luật hub**, không phải nợ. |
| 3 | tools-whitelist KHÔNG chặn ghi runtime (§3(b) chờ hub) | ❌ CHƯA `[10]` (0 hit) · ✅ có stance `[ngoài-10]` | `58e28bae:42` nguyên văn: *"(i) 'read-only' ở đây = **chặn-bằng-thiếu-tool** cho kênh ghi-file/RAG; **Bash vẫn là kênh ghi mở về lý thuyết** — lưới thật là **lead soát `git status` sau mỗi lượt** (hub vừa bắt sống một ca sub tự ghi nhật-ký qua Bash ngay hôm nay — **content đúng nhưng vẫn xử lý là vi phạm biên**…)"*. ⚠️ Xác nhận cho §3(b) **KHÔNG THỂ** nằm trong 10 thư: mọi thư ≤ 2026-07-21, SE báo 07-22. |
| 4 | UAT lũy-kế S134 | ❌ n/a — ngoài scope hub | grep `UAT\|lũy kế\|phiếu\|migration` trên 10 file = **0 hit**. Product-scope → chờ **owner**, không phải chờ hub. |
| 5 | UAT freeze-NS S133 | ❌ n/a — ngoài scope hub | như trên, 0 hit. |
| 6 | D1 nháp-không-cộng-tiền | ❌ n/a — ngoài scope hub | như trên, 0 hit. |
| 7 | hook-vs-budget-cap | ❌ số CHƯA — ✅ **hình-dạng có** | `2026-07-20-auto:17` *"Khi phép đo vượt ngưỡng đã khai trong config, bước xử lý chạy NGAY trong lần đóng phiên đó — **không ghi sổ nợ để dồn**"* + `:19` ranh: *"Automation xử **nợ-vệ-sinh** (mảnh lưu trữ chưa nén, số đo instrument cũ, **sổ vượt trần dung lượng**), **không xử núm-quyết-định**"*. ⇒ máy ĐƯỢC tự nén/archive khi vượt; TRẦN vẫn của owner. |
| 8 | session-model duyệt bảng VC-1/2/3 | ❌ CHƯA (0 hit "VC" `[10]`) | 10 thư không nhắc session-model ngoài 1 datapoint `hub-tu-danh-gia:46-48` (owner hub 1 phiên-logic xuyên 3 cửa-sổ 1M; **khai rõ "testimonial, chưa phải phép đo máy"**, 2 phiên dogfood 10/10). Bảng VC = artifact SE, chờ owner. |
| 9 | close-sweep 7-carry | ❌ CHƯA (0 hit) | không thư nào chạm. |
| 10 | ratify ranh `refine ⟂ lead-omission` (ĐÃ WIRE trước ratify) | ❌ CHƯA ratify | 0 hit `[10]`. Ranh TRỤC bộ-ba `[ngoài-10]` `58e28bae:35`: *"hub `lead-stale`/`lead-gap` ≡ SE `lead-view`/`lead-omission` — **chức năng trùng, tên = form tự quyết, KHÔNG cần rename**"*. **Verify đĩa SE:** `.claude/agents/harness-refine.md:22` heading `## 🔴 RANH SẮC — refine ⟂ lead-omission-auditor (đọc kỹ, dễ lẫn)` → bảng 3 trục `:24-28` → `:30` *"LEAD session hot-feed/carry/work-state underfill = **việc của `lead-omission-auditor`** → **NHƯỜNG**"*. ⇒ claim "đã wire :22-30" **CHÍNH XÁC**; ratify vẫn nợ owner. |
| 11 | 5 câu session-model | ❌ CHƯA `[10]` · 1/5 có đáp án `[ngoài-10]` | `session_ctx_kb`: `2026-07-17-…-manifest:69` *"function-floor là: **có một trần, hoặc chấp nhận mặc-định**"* + `:73-74` *"`session_ctx_kb: 64` # đơn vị KB (đọc code nhân 1024) … **Vắng khoá → code lấy default 64KB.** Đừng đọc đơn-vị thứ ba"*. ⇒ 64 = **default của code, KHÔNG phải số hub ép**; để trống = hợp lệ. 4 câu còn lại (map N↔L + folder-form · VC từng dòng · hook 3→4-path · prereq unblock) = **0 hit** mọi thư. |
| 12 | consent-form trio dài hạn | ❌ hub **ĐÃ ĐÁ VỀ SE**, 10 thư không nhắc lại | `58e28bae:33` nguyên văn: *"**Consent:** chạy trong nghi-thức mở/đóng phiên = đã nằm trong consent chuẩn của nghi-thức; **nhóm có luật cứng no-auto-run riêng thì giữ nguyên hình thức consent của nhóm** — floor chỉ đòi '2 đầu mỗi phiên chạy đủ'."* ⇒ câu hỏi còn nguyên cho owner SE; **hub sẽ không trả thêm**. |

---

## CÂU 3 — BINDING vs KHUYẾN NGHỊ vs GHI NHẬN (dấu hiệu văn bản)

### Dấu hiệu BINDING (floor)
- `"Khung sàn (function-floor — 4 khoản **bắt buộc**)"` — `2026-07-18-spawn-label:22`
- `"## 3. Khung sàn (function-floor — 4 khoản)"` — `depth-axis:38` · `harness-dong-du-vong:42`
- `"**Luật:**"` + `"BẮT BUỘC existence-proof"` + `"**Cấm viết dạng đang-có.**"` — `goi-chot:52`
- `"nâng từ heuristic thành **ràng-buộc thiết-kế cứng**"` — `goi-chot:45`
- `"**Floor chuyển được:**"` (×4: `goi-chot:38,:46,:55,:61`) / `"**Nguyên-tắc chuyển được:**"` (`:30`)
- frontmatter `to: all-fit` + `targets: all-fit` + `status: PUBLISHED`

### Dấu hiệu KHUYẾN NGHỊ (function giữ, form tự quyết)
- `"## 2. Hình-thức tự quyết (mỗi dự-án)"` — `spawn-label:29` · `depth-axis:45` · `harness-dong-du-vong:49`
- `"**FYI + khung tự-áp** — không bắt adopt; function giữ, form mỗi project tự quyết"` — `2026-07-20-3-khoan:15`; `"Không bắt buộc gì. Ba việc tùy chọn"` `:59`
- `"**Posture default … mỗi dự-án tự chọn** … **KHÔNG bắt buộc default nào**"` — `depth-axis:55`
- `"Khung = sàn chức năng; hình thức tổ chức = mỗi nhà tự quyết"` — `2026-07-21-eval:13`

### Dấu hiệu CHỈ GHI NHẬN (FYI, no-floor)
- `"Cả 3 = owner-side chia-sẻ, **KHÔNG floor**"` — `cost-lens:10` (frontmatter `re:`), lặp `:20`, `:50`
- `"**FYI-số + bài-học — KHÔNG floor mới, không bắt làm gì**"` — `depth-cost:63`
- `"FYI, **KHÔNG floor**"` — `hub-tu-danh-gia:10`, `:20`; `"điểm số và findings là của hub, **không áp**"` `:62`
- `type: update` + `supersedes_scope: "DELTA … các khoản cũ giữ nguyên, sister **re-verify PHẦN ĐỔI**"` — `2026-07-20-auto:5` ⇒ thu hẹp phạm vi phải làm

### Phân loại 10 thư (10/10, không bỏ)
| Hạng | Thư | Neo |
|---|---|---|
| **BINDING-floor** | `2026-07-18-spawn-label` (4 khoản bắt buộc) | `:22-27` |
| **BINDING-floor** | `2026-07-19-depth-axis` (4 khoản sàn) | `:38-43` |
| **BINDING-floor** | `2026-07-19-harness-dong-du-vong` (4 khoản sàn) | `:42-47` |
| **BINDING-mixed** | `2026-07-19-goi-chot-nam-khoan` — khoản 3 (ràng-buộc cứng) + khoản 4 (Luật/Cấm) = **binding**; khoản 1/2/5 = **quyết-định NỘI-BỘ hub** + "floor chuyển được" (khuyến nghị mạnh) | `:44-45`, `:52` vs `:29`, `:37`, `:59` |
| **KHUYẾN NGHỊ** | `2026-07-20-3-khoan` | `:15`, `:59-63` |
| **KHUYẾN NGHỊ** | `2026-07-20-auto-toan-vong` ("Sister cần làm gì" 3 gạch) | `:43-47` |
| **KHUYẾN NGHỊ** | `2026-07-21-eval-quality` (khung 4 câu = sàn chức năng; 3 phép thử) | `:13`, `:49-53` |
| **GHI NHẬN** | `2026-07-19-cost-lens` | `:50` |
| **GHI NHẬN** | `2026-07-19-depth-cost` | `:63` |
| **GHI NHẬN** | `2026-07-19-hub-tu-danh-gia` | `:62` |

**Diễn giải (tách khỏi trích):** phần THỰC SỰ ràng buộc SE trong đợt này = **4 khoản label-spawn + 4 khoản audit-mọi-vòng/eval-2-phía + khoản 3 & 4 của gói-chốt** (+ 4 khoản depth-axis nếu SE nhận mình có ensemble). Phần còn lại = tự chọn/tham khảo.

---

## CÂU 4 — Hub có nói "đây là config của các em, đừng chép số của hub" không?

**CÓ — 6 chỗ, chép nguyên văn:**
1. `2026-07-21-eval-quality:55` — *"các con số trong bản này là số hub tự đo trên chính mình (một dự án, một giai đoạn); chị em áp KHUNG và tự đo số của mình, **đừng chép số hub làm chuẩn**."* ← khớp gần nhất câu SE từng bị dặn.
2. `goi-chot:29` — *"Hub thu default về Opus là **lựa-chọn của owner hub — không ép dự-án nào đổi default theo**."*
3. `cost-lens:28` — *"**Trần/giá cụ-thể mỗi nhà tự điền theo subscription của mình.**"*
4. `2026-07-20-auto:27` — *"Ngưỡng sống trong file config một-nguồn, **tài liệu chỉ trỏ key, không chép số**."* (= B1 derived-trỏ-canonical, cùng họ)
5. `hub-tu-danh-gia:62` — *"**điểm số và findings là của hub, không áp**."*
6. `depth-cost:38` — *"**Cost scale theo kích-thước đề** — số trên là 1 class-task (code-audit có nguồn); đề to hơn = đắt hơn tuyến-tính theo pack."*

**Bổ trợ (cùng trục, quyền-SỐ thuộc owner):** `2026-07-20-auto:19` *"núm-số ngân sách vẫn thuộc chủ dự án"* · `2026-07-21:24` *"{AI-tự-sửa · **chủ-dự-án-quyết-SỐ** (ngưỡng, target) · **chủ-dự-án-quyết-LUẬT**} — AI không tự quyết hai cột sau"* · `depth-axis:55` *"KHÔNG bắt buộc default nào"*.

**Diễn giải:** mục treo #2 (`pull_warn_days`) và #11-phần (`session_ctx_kb`) **không phải nợ SE** — hub nói ≥3 lần rằng số là của owner. Việc SE từ chối tự đặt số = **tuân thủ**, nên báo nấc dạng "n/a-owner-gated", không phải "pending".

---

## CÂU 5 — Deadline / thứ tự bắt buộc / điều kiện tiên quyết

**DEADLINE lịch: 0.** grep `deadline|hạn chót|trước ngày|hạn nộp` trên 10 file = **0 hit**.
**Mốc áp duy nhất:** `spawn-label:51` *"áp từ **phiên kế**"*; `:43` khai thật hub *"áp khuôn từ giữa phiên phát hành … loại việc-thường và workflow-task áp từ **spawn kế tiếp**"*.

**THỨ TỰ BẮT BUỘC (5):**
- (a) `harness-dong-du-vong:46` — *"**Tuần-tự trong-vòng, song-song giữa-vòng**: audit chờ đúng con đo vòng mình xong (chống chấm bản stale)"* [≡ `58e28bae:33`].
- (b) `goi-chot:45` — câu hỏi *"có làm điểm dừng đắt lên không"* phải hỏi **TRƯỚC** khi bàn giá-trị của việc.
- (c) `goi-chot:52` — existence-proof **tại chỗ** trước khi được phép viết dạng đang-có.
- (d) `2026-07-20-3-khoan:25` — *"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**"*.
- (e) `depth-axis:28-31` — đào tầng-2 chỉ SAU {propose + thử-phá}; thử-phá-2 sau đào; tổng-hợp depth-aware cuối.

**ĐIỀU KIỆN TIÊN QUYẾT (4):**
- (f) `depth-axis:43` — *"**Cận-ngân-sách LOUD**: vượt ngân-sách trước bước đào → BỎ đào + báo RÕ (không văng lỗi, không lặng-thầm bỏ), trả kết-quả chiều-rộng."*
- (g) `depth-cost:54` — *"**Phát-hiện chưa-qua-kiểm không được quyền đè.** Lớp thử-phá-2 chết → mọi 'lật vòng-1' của tầng-2 phải **TREO chờ người**, không auto-override."*
- (h) `depth-cost:55` — *"Con thử-phá tầng-2 phải **THẤY** vòng-1"* (nếu không = mandate bất-khả-thi về cấu-trúc).
- (i) `depth-axis:40` — escape bắt buộc tồn tại: *"**tắt-trục-sâu = escape về chiều-rộng LUÔN còn** (không khoá cứng); clamp trần cứng (vd ≤3)"*.

**ZERO-DEBT (ràng buộc nhịp):** `2026-07-20-auto:17` — xử lý chạy **NGAY trong lần đóng phiên**, *"không ghi sổ nợ để dồn"*.
**Ràng buộc CHÉO đè mọi khoản khác:** `goi-chot:44-46` (khoản 3) — mọi cơ-chế mới không được làm đắt đường dừng–nối–checkpoint. **SE-relevant:** trio đặt ở bookend (`58e28bae:33`) = ĐÚNG chỗ; nếu ai đề xuất chạy trio/đo-nặng trong `/pause` ⇒ **vi phạm khoản 3**. Self-check hub kèm: `goi-chot:74` *"Lệnh điểm-dừng của bạn có bước nặng nào không? **Đo wall-clock một lần** — điểm dừng phải rẻ."*

---

## CÂU 6 — Hub yêu cầu SE BÁO LẠI gì?

**6/10 thư có mục "Nấc adopt" đòi pull + báo nấc — chép nguyên văn:**
| Thư | Yêu cầu |
|---|---|
| `spawn-label:51` | *"Pull bản này bằng quy trình thường (`/adap-apply`), áp từ phiên kế, **tự báo nấc per-khoản (sent→ACK→agreed→executed→verified)** trong report-back định kỳ."* |
| `depth-axis:55` | *"Pull bằng quy trình thường (`/adap-apply`), tự báo nấc trong report-back định kỳ."* |
| `cost-lens:50` | *"Pull `/adap-apply`, báo nấc thường-lệ."* |
| `depth-cost:63` | *"Pull `/adap-apply`, báo nấc thường-lệ."* |
| `harness-dong-du-vong:59` | *"Pull … tự báo nấc per-khoản … **Khoản ① có thể adopt dần từng vòng — báo nấc theo vòng.**"* |
| `hub-tu-danh-gia:62` | *"Pull `/adap-apply`, báo nấc thường-lệ."* |

**4/10 thư KHÔNG đòi báo nấc:**
- 🔴 `goi-chot-nam-khoan` (**thư binding nhất**) — **KHÔNG có mục "Nấc adopt", 0 câu `/adap-apply`**. Chỉ có §7 SELF-CHECK 4 ô tự kiểm (`:72-75`) + §8 DELTA re-verify (`:79-82`) + footer *"kênh-hỏi = email về AI_INFRA"* (`:91`).
- `2026-07-20-3-khoan:59-64` — *"Không bắt buộc gì. Ba việc tùy chọn… **Câu hỏi gửi về hub qua kênh email broadcasts như thường lệ.**"*
- `2026-07-20-auto:43-47` — "Sister cần làm gì" = 3 **việc**, không phải báo cáo.
- `2026-07-21-eval:49-53` — chỉ "Ba phép thử nhanh (tự kiểm sau khi áp)".

**ERRATA:** không thư nào đòi SE gửi errata. Chiều ngược lại hub tự hứa: `goi-chot:88` *"hub sẽ đính-chính nếu khuôn-câu hai-dạng lộ kẽ lách"*.
**RE-VERIFY phạm vi hẹp (bắt buộc đọc lại, không phải báo):** `goi-chot:79-82` — chỉ re-read delta của 4 bản nền `1b3aa909` · `7c0ec067`+`d68de5e7` · `3daf5ee4` · `123d8272`; `2026-07-20-auto:5` *"sister **re-verify PHẦN ĐỔI**"*.

---

## SURPRISES (ngoài câu hỏi chính)

1. 🔴 **Thư binding nhất lại KHÔNG đòi báo nấc** (`goi-chot` 0 câu `/adap-apply`) trong khi 6 thư FYI/khuyến-nghị đều đòi. Nếu SE báo nấc cho nó = tốt nhưng **không có mandate văn bản**; nếu bỏ cũng không sai văn bản. Bất-đối-xứng này dễ khiến bảng nấc của SE lệch.
2. ⚠️ **Cite-lệch nhẹ về `58e28bae`:** `goi-chot:50` gọi nó là *"thư SE `58e28bae`"*, nhưng file trên đĩa SE mang đúng sha đó là `broadcasts/inbox/ai_infra/2026-07-18-ai_infra-to-se-reply-tong-bo-ba-harness-sub-4-khoan.md` (`:9` `content_sha256: 58e28bae…`) — frontmatter `from: ai_infra` `to: se`. Tức sha trỏ **thư HUB TRẢ SE** (nội dung khuôn-câu gốc do SE đề xuất, hub CONFIRM ở `§(C)④a:49`). SE tra sha sẽ ra thư hub, dễ tưởng hub nhầm.
3. **Khoản 2 (RETIRE resume) đụng recipe #53 của SE nhưng KHÔNG cấm nó:** `goi-chot:37` retire resume **chỉ cho mục-đích giữ-model/giữ-context**; *"hội-thoại tiếp-diễn trong cùng lượt làm việc"* vẫn hợp-lệ ⇒ path-2 `SendMessage-resume in-session` để vớt verdict garble **KHÔNG bị retire**. Chỉ bị nếu SE resume để "giữ model Fable". Cần khai rõ khi báo nấc, tránh over-apply rồi bỏ mất lưới #53.
4. **5/12 mục treo (4,5,6 + phần 8,9) sẽ KHÔNG BAO GIỜ có đáp án từ hub** — 0 hit product trên cả 10 thư. Gộp chúng chung một bảng "đang treo chờ" tạo kỳ vọng sai (chờ owner ≠ chờ hub); nên tách 2 cột chủ-thể.
5. **SE đang ĐI TRƯỚC hub ở đúng một khoản:** `2026-07-21-eval:31` — *"Bộ kiểm-tra-đặc-tả của hub có **17/18 check không có positive-control**"*; SE đã có fault-inject 2-chiều nhiều đợt (13/13 S138, 7 ca S143 theo `HANDOFF:5`). Đây là chất liệu báo nấc bằng SỐ thay vì "đã đọc".
6. **Khoản 3 gói-chốt là ràng buộc CỨNG đè carry #7 (hook-vs-budget-cap) + #1 (trio):** bất kỳ hardening nào SE định thêm vào đường `/pause`–`/tiep` (kể cả hook chặn sub-write, `HANDOFF:8` NEXT#3) phải qua câu hỏi "có làm điểm dừng đắt lên không" **trước** khi bàn giá trị.
7. **`2026-07-21-eval:22` cho SE một cây gậy phân loại rất hợp lúc:** *"**dormant-đúng-thiết-kế** (rẻ, chưa có ca nhưng CÓ ca lịch sử nó SẼ bắt — như máy báo khói) khác **thừa-thật** (cấu trúc không thể kêu)"* — dùng được ngay cho close-sweep 7-carry (#9) và cho detector INFORM-only của SE.

---

## GHI CHÚ BIÊN (transparency cho lead git-diff audit)

File này ghi bằng **Write tool** (KHÔNG Bash-write, KHÔNG mojibake), đúng và chỉ đúng path được PIN trong ISOLATION. 0 file khác bị đụng. Đây đồng thời là **datapoint sống cho mục treo #3**: vai `investigator-codebase` khai read-only nhưng runtime **CÓ** Write/Edit — khớp `58e28bae:42` *"chặn bằng thiếu-tool, không chỉ bằng lời dặn"*.
