# Lead-evidence — soi HUB trực tiếp (em-main tự đo, KHÔNG qua lane)

> Nguồn: đọc repo `D:\Dropbox\CONG_VIEC\AI_INFRA` (read-only, §J2 chỉ-ghi-repo-mình). Ngày đo **2026-07-15**.
> Mục đích: (a) trả lời owner-decision #2 "xem cách làm của hub" · (b) đối chứng tiền-đề H23 cho lane C.

---

## A. Owner-decision #2 — hub xử 57-wal thế nào?

### A.1 Số đo hub (live)

| Trục | Hub | SE |
|---|---|---|
| `wal:` trên `origin/main` (ĐÃ lọt) | **1** | **57** |
| `wal:` chưa đẩy (`origin/main..HEAD`) | **2** | **3** |

→ **Hub KHÔNG dọn cái đã lọt.** Giữ nguyên 1 commit trên remote.

### A.2 Phương pháp hub (trích commit log)

- `2c21bed`: "GUARD-5.2 dogfood-trọn (**23-wal-xen-kẽ → anh-chốt-A rebase-drop → fold-residual → verify-0-byte → push 7-mốc N=0**)"
- `5114519`: "CODIFY wal-xen-kẽ (**anh-chốt-A AskUserQuestion ×2: REBASE-DROP giữ mốc đích-danh + máy-verify tree-identical** — §I4 + session-end-5.0 + mark `RC-pqhuy1987-14-07-2026-09-16-24` Active-High, partial-supersede AC5-s89 vế xen-kẽ)"

**Quy trình hub = 5 bước:**
1. REBASE-DROP các `wal:` **chưa đẩy** — **giữ mốc đích-danh** (commit `[CLAUDE]` thật)
2. **Máy-verify tree-identical** (chứng minh drop `wal:` KHÔNG đổi nội dung)
3. fold-residual
4. verify-0-byte
5. push khi **N=0**

**Owner-gate:** `anh-chốt-A` qua **AskUserQuestion ×2** + mark **`RC-pqhuy1987-14-07-2026-09-16-24` Active-High**.

### A.3 → Khuyến nghị cho SE (khớp hub, chờ anh ký)

- **3 chưa đẩy** → rebase-drop/squash + máy-verify tree-identical + push khi N=0. **Được** (chưa đẩy = không vi phạm "cấm rewrite đã-đẩy").
- **57 đã lọt remote** → **ĐỂ NGUYÊN**, y hub. Rewrite = vi phạm hard-safety H22 + 57 commit trên remote chung = rủi ro cao. Guard chỉ chặn TƯƠNG-LAI.

### A.4 ⚠️ 2 cảnh báo đắt từ hub (họ đã trả giá)

- **`E-029`** — "wal-squash-run-đầu (**verify-mốc-sai ca-fold-uncommitted** → reflog-recover 100%)": lần chạy squash ĐẦU TIÊN họ **verify nhầm mốc → nuốt work chưa-commit**, cứu bằng reflog. → SE PHẢI: verify mốc đích-danh + check `git status` sạch TRƯỚC khi rebase-drop.
- **`E-030`** — "CRLF-agent-registry-loss — phát hiện + RCA + kết tinh spec (**EXECUTE defer s95 per anh**)": hub **CHƯA execute xong** chính cái CRLF họ vừa broadcast. → SE adopt là đi TRƯỚC hub ở khối này; đừng giả định hub có sẵn mẫu chạy được.

---

## B. Tiền-đề H23 — ĐỐI CHỨNG (material cho lane C + owner-decision #1)

### B.1 Hub PIN, không inherit (đo trực tiếp frontmatter)

```
17/17 agent hub  →  model: claude-opus-4-8   (PIN full-id)
   ngoại lệ: librarian, scout → model: sonnet  (helper rẻ)
SE 12/12 agent   →  model: inherit
```

Hub roster (17) gồm: adoption-tracker · agent-ops-monitor · architecture-watch · cicd-monitor · fable-clone-aggregator · harness-audit · harness-eval · harness-refine · harvest-curator · implementer · investigator · **lead-gap-auditor** · **lead-stale-auditor** · librarian · reviewer · scout · tooling-auditor.

> 📌 `lead-gap-auditor` + `lead-stale-auditor` **đã tồn tại ở hub** = chính 2 vai H24 §2(1). Tên tham chiếu cho lane D (SE tự-quyết tên — H24 §3(e) "tên vai = FORM tự-quyết").

### B.2 Chuỗi model-tier — 3 bản, drift 3 chiều

| Bản | Ngày | Nói gì | Nấc |
|---|---|---|---|
| **H8** all-inherit | 2026-06-16 | mọi sub → `inherit` (ăn top-tier lead) | SE ghi: "🔴 **BẮT BUỘC** (anh-chốt, **mọi sister**; chất lượng trên chi phí)" |
| **model-tier-v2-pin-simple** | 2026-07-03 | hub đổi FORM sang pin. **"Không có mandate mới; các đội KHÔNG bắt buộc làm theo"** · **"Danh sách trợ lý nào ở tầng model nào = FORM mỗi đội tự quyết"** · **"cả hai đều đạt sàn miễn là đội trưởng ở model cao nhất và việc nâng-hạ tầng là có kỷ luật"** | `supersedes_scope: none` |
| **H23** explicit-model-at-spawn | 2026-07-13 | §1: "chuỗi model-tier trước đã chốt... **mọi sub có bộ-nhớ chạy ở worker-tier gán-cứng**" + §2(1) "**KHÔNG dựa vào fallback ngầm — không dựa 'kế-thừa từ lead'**" + §2(2) "giữ pin ở tệp định-nghĩa làm **tầng-2**" | hub nội-bộ = `H8.6e` (commit `9bb5701`) |

### B.3 Phân tích (lead)

**SÀN THẬT** (theo pin-simple — bản mới nhất phát biểu tường minh về sàn):
1. lead = model cao nhất ✓
2. việc nâng-hạ tầng **có kỷ luật** (chống class "quên hạ tầng")

**FORM** (sub nào ở tầng nào) = **mỗi đội tự quyết** — pin-simple nói thẳng.

→ **SE all-inherit ĐẠT SÀN:** lead frontier ✓ · all-inherit = **100% tất định, KHÔNG có điểm quyết-theo-tác-vụ nào** ⇒ class "quên hạ tầng" **không thể tồn tại** (chính là lỗi mà pin-simple sinh ra để chống — SE đóng nó bằng đường khác).

→ **SE nằm TRONG khung, KHÔNG vượt khung** (theo nguyên tắc anh chốt S119: "điều chỉnh trong cho phép" = OK, không cần request cho việc lệch form).

→ **DEFECT nằm ở H23 §1**, không ở SE: nó phát biểu **FORM riêng của hub** ("mọi sub chạy worker-tier gán-cứng") **như thể là SÀN đã chốt**, mâu thuẫn trực tiếp với pin-simple ("form mỗi đội tự quyết", "cả hai đều đạt sàn"). Sister đọc H23 theo nghĩa đen → tưởng **phải bỏ all-inherit**.

→ **Trầm trọng hơn:** H8 (06-16) tuyên all-inherit **"BẮT BUỘC mọi sister"**. Nếu pin-simple đã nới thành "form tự do" thì **H8 chưa từng được retract tường minh**; nếu H8 vẫn sống thì **H23 mâu thuẫn với chính H8**. Fleet đang giữ **3 phát biểu không tương thích** về cùng một trục.

### B.4 H23 §4 project-fit — escape hatch CÓ SẴN

> "**Hệ chỉ dùng MỘT model duy-nhất cho mọi sub:** điểm (2) và (3) **rút gọn**... nhưng bạn **vẫn nên làm (1) và (5)**."

SE = "một model duy nhất cho mọi sub" (dynamic = lead). ⇒ **(2)(3) rút gọn · (1)(5) vẫn áp**:
- **(1)** ghi model tường-minh tại spawn-site → SE dùng **ghi-chú-đầu-cây** (H23 §2(1) khuyến nghị chính xác cách này cho cây điều-hướng nhiều nhánh): 1 note ở đầu `agents/README.md` decision-tree + `hmw.js` + commands, KHÔNG lặp inline N nhánh.
- **(5)** kỷ-luật động-từ: grep tài liệu SE tìm chỗ viết "enforce/cơ-giới-hoá" sai nấc.

⇒ **SE adopt được H23 mà KHÔNG bỏ H8.** Không phải chọn-một.

---

## C. Kết luận lead → 3 owner-decision

| # | Câu hỏi | Bằng chứng | Đề xuất (chờ anh) |
|---|---|---|---|
| 1 | H23 ⟂ H8 | pin-simple: form tự-quyết, cả 2 đạt sàn · H23 §4 escape hatch · hub tự pin nhưng broadcast inherit | **GIỮ H8 all-inherit** (trong khung) + adopt H23 (1)(5), (2)(3) n-a-reasoned → **`/adap-request`** yêu cầu AI_INFRA **reconcile H8 ⟂ pin-simple ⟂ H23** + re-broadcast cho sister (anh-directed) |
| 2 | 57 wal: lọt remote | hub giữ nguyên 1/1 · rebase-drop CHỈ cho chưa-đẩy · mark `RC-…14-07-2026-09-16-24` | **3 chưa đẩy → drop + tree-identical verify.** **57 đã lọt → ĐỂ NGUYÊN** (khớp hub) |
| 3 | số nhịp H24 | — | anh đã đồng ý adopt; **số = quyền anh**, em đề xuất ở spec, anh ký |

---

## D. Nấc trung thực

- Số ở A.1/B.1 = **đo live 2026-07-15**, lặp lại được bằng lệnh trong bảng.
- Trích commit-message hub = **verbatim từ `git log`**, KHÔNG diễn giải.
- **CHƯA verify:** hub có `spawn_model_audit` script không (`ls scripts/ | grep -i spawn|model` = rỗng) dù `9bb5701` nhắc "spawn_model_audit LIVE 29-dispatch/0-mismatch" → có thể ở đường dẫn khác hoặc tên khác. **Không kết luận.**
- Hub `.claude/settings.json` = 132B có wire `wal-flush` (grep=1) → hook hub **ĐÃ live** (file `settings-hooks-entry.STAGED.json` chỉ là bản mẫu sót lại).
- Đọc repo hub = **read-only**; SE KHÔNG ghi gì sang đó (§J2).
