# S119 — Adap 6 broadcast AI_INFRA: điều tra + spec v3 (DỪNG TRƯỚC WAVE theo anh chốt)

**Ngày:** 2026-07-15 · **Lead:** em-main **Opus 4.8 (1M) Max** — 🔴 **flip-9 = owner-choice, KHÔNG outage** (MTv3: 0 caveat / 0 nghĩa-vụ revert; Fable giữ S107→S118) · **HMW-mode ON**
**Loại:** governance-only — **0 prod-code, 0 migration, 0 FE**. Test **509 giữ nguyên** (45D+464I).
**Commit:** `<sha>` (1 commit-chốt, §5.0 squash K=10 nhánh-A) · **CI:** sẽ trigger (`.gitattributes`? không — commit này chỉ `.md` + `broadcasts/` + `.claude/` ⇒ **path-filter skip** per #41)

---

## 1. Anh giao

Pipeline H21 đầy đủ: `/check-email AI_INFRA` → `/adap-apply` → `/adap-report` + request → **`/fable-clone` MAX invest + review chiều RỘNG** (ra spec + cách đối ứng + checklist + wave song song) → **`/fable-real` review chốt** → **HMW Opus MAX wave** → push → report ngược AI_INFRA.

**Anh chốt giữa phiên (B):** dừng tại **spec v3**, wave chạy phiên sau qua `/tiep`. Lý do: context lead đã sâu + 3 lần liên tiếp bị bắt lỗi-vội ⇒ wave = thao-tác nguy-hiểm cần đầu-óc tỉnh; spec là tài-sản, đã kết-tinh xuống đĩa.

## 2. `/check-email` — 6 broadcast MỚI

7 file copy verbatim `outbox/all` → `inbox/` (root = PENDING). **Hash 7/7 MATCH · tamper-check 4/4 MATCH** (không stamp-then-edit; mtime Jul-15 = Dropbox touch).

| # | Broadcast | type |
|---|---|---|
| 1 | H23 explicit-model-at-spawn | update |
| 2 | H24 lead-self-audit + H17 cadence | new |
| 3 | H22 wal-defect-fix (5 sàn) | update |
| 4 | H22 adap-update push-guard | update |
| 5 | EOL/CRLF agent-registry defect | update |
| 6 | owner-sign 3 mark (H21/MTv3/H22) | notify |

⚠️ **Lọc quan-trọng:** naive filename-diff `outbox/all` vs inbox ra **56 "NEW"** — **đa số GIẢ** (SE đã adopt H1→H20 từ lâu, chỉ chưa copy body vào inbox = đúng process-gap S101 đã flag). Lọc theo mốc S115 (07-13) ⇒ **6 thật**.

## 3. Phơi-nhiễm SE — ĐO THẬT

| Trục | Số | Ý nghĩa |
|---|---|---|
| `wal:` đã lọt `origin/main` | 🔴 **57** | Hub phát cảnh-báo fleet vì đo được **1**. **SE = 57×** |
| `wal:` chưa-đẩy (K) | **3→4→5→6→8→10** trong 1 buổi | Hook fire mỗi turn-boundary ⇒ K **tăng đơn-điệu** ⇒ **LUẬT SỐ ĐỘNG** |
| `core.autocrlf` | **true @ SYSTEM** (`C:/Program Files/Git/etc/gitconfig`) | Ngoài repo, không thấy trong `.git/config` — đúng cảnh-báo |
| file lật EOL | **188** (131 = Migrations) | |
| agent CR-byte | **0/13** + 12/12 block-scalar `\|` | **Chưa chết** — 2 lớp may **độc-lập** |
| gate EOL scoped | **0 — ĐÃ XANH SẴN** | ⇒ acceptance unscoped = **dương-giả factory** |

## 4. 🔴 4 phát-hiện lật tiền-đề (2/4 lật CHÍNH LEAD)

| | Bác ai | Nội dung |
|---|---|---|
| **L1** | **BÁC LEAD** | 57 **KHÔNG** do turn-seam. **0/57 ở đuôi, 57/57 bị-kẹp** (14 khối). Kênh rò = `session-end.md:113` SE **tự viết**: *"kẹp sâu → GIỮ NGUYÊN, chấp-nhận noise"*. Rò ~**10/phiên** khởi đúng ngày hook lên (S111). ⇒ **`n=0` bất-khả-đạt** ⇒ sửa §5.0 = **tiền-đề** của push-guard |
| **L2** | bác broadcast (**PARTIAL**) | 188 **KHÔNG** do squash — SE §5.0 = `reset --soft` = **worktree-neutral**. Nguồn = `dotnet ef`/VS (131) **+ lead-written sub-returns** (R1 nhặt trước khi chết) |
| **L3** | bác broadcast + **BÁC LEAD** | Lane B **đọc parser** (js-yaml 4.1.1 trong `claude.exe`, `readLineBreak` CRLF-safe) ⇒ nửa `': '` **N/A THẬT** cho SE. **NHƯNG** regex delimiter **LF-only** `^---[ \t]*\n` ×2 song song bản vá `\r?\n` ×2 ⇒ **CRLF ĐƠN-ĐỘC có thể đủ giết** ⇒ mô-hình broadcast ("CRLF **VÀ** `: `") **THIẾU**. 🔸 **HẠ NẤC → CHƯA VERIFY** (R1 chết đúng câu *"confirm which site is the actual fs-backed frontmatter reader"*) |
| **L4** | **BÁC LEAD** | H23 ⟂ H8 **KHÔNG xung-đột**. `pin-simple` (07-03): *"**không mandate**; form **mỗi đội tự quyết**; **cả hai đều đạt sàn**"* ⇒ SE all-inherit **TRONG KHUNG** (100% tất-định ⇒ class "quên hạ tầng" **không thể tồn-tại**). **Defect ở H23 §1** — tả **form riêng hub** như **sàn đã chốt** |

## 5. 🔴 Fleet drift 3 chiều (→ adap-request R1)

| Bản | Nói gì |
|---|---|
| **H8** (06-16) | all-inherit — **"BẮT BUỘC mọi sister"** (anh-chốt S66) |
| **pin-simple** (07-03) | **"không mandate, form tự quyết, cả hai đạt sàn"** · `supersedes_scope: none` |
| **H23** (07-13) | *"chuỗi trước đã chốt: mọi sub **worker-tier gán-cứng**"* + *"đừng kế-thừa lead"* |

**Bằng-chứng đanh:** hub **tự PIN 17/17 `claude-opus-4-8`** trong khi broadcast all-inherit cho sister. H8 **chưa từng retract tường-minh**. ⇒ Sister đọc H23 nghĩa-đen sẽ **tự tháo H8**.

## 6. GAP #6 — lỗi sống đã cài ngòi (lane C)

**2 CLASS ngữ-nghĩa NGƯỢC:** Class A (roster) `inherit` = **đúng ý-đồ** ⇒ H23 runtime-value **0** · Class B (`/fable-clone`) `inherit` = **SAI** ⇒ H23 runtime-value **THẬT**.
`fable-clone.md:15` hứa *"ENSEMBLE tier-2"* nhưng **0 cơ-chế `tier:'opus'`** ⇒ Fable UP = **N×Fable** = trái chính **§K.D floor-2 của SE**. **ĐÃ CẮN 1 LẦN** (reviewer S108 FAIL MAJOR#3) — fix landed ở **runbook:431**, H21-redesign S110 (`debe82f`) **không mang mandate sang command-file**.
🔸 **Giá H8 trả:** xoá 7 pin full-id ⇒ **0 full-id sống** trong repo ⇒ `tier:'opus'` = alias khoá **HỌ** không khoá **phiên-bản**. Thẩm-quyền thật = `~/.claude/settings.json` — **ngoài repo, không git-tracked**.

## 7. 3 phát-hiện ngoài đề-bài (lane A)

- **F1 — S118 = ca THẬT của Lớp-1:** `ls runs/` **0 folder S118** (nhảy S117→S119) mà S118 = *7 spawn, trọn ngày, 3 commit, 2 deploy* ⇒ **0 run-folder · 0 `wf:` · 0 marker**. Chết giữa chừng ⇒ sổ trống ⇒ phiên sau tưởng sạch. **Bằng-chứng NỘI-BỘ SE.**
- **F2 — `workflows/README.md:52` claim STALE đang CHE Sàn 1:** *"bypass-surface ~N/A"* — **bác ×3**: `feedback_harness10_run_trace.md:20` (*"RECURRED S72: raw Workflow tool → KHÔNG inject writeGuard → reviewer tự ghi MEMORY over-cap"*) + S118 raw-Agent + **chính run S119 này**. Đồ-thị THẬT = **3 đường** (`hmw.js` gate được · raw Workflow · raw Agent) ⇒ 2 đường sau **KHÔNG gate được** = kẽ CÒN-LẠI.
- **F3 — Sàn-3 wire thẳng = bão dương-giả:** naive **13** orphan · dual-accept **8** ⇒ phải baseline trước.

## 8. Positive-control SỐNG — suýt bị lead giết

`permission-matrix/SKILL.md` last-touch **`2abbc1d` 2026-04-30 (Session-6)**. Lead verify độc-lập từ code: `:3` "~60 menu key"→**54** · `:3` "~240 policy" ⟂ `:81` "48 policy" (**tự mâu-thuẫn**, thật **216**=54×4) · còn liệt `Bg_*` (chết S61) · thiếu chiều-thuận #82.
**Máy MÙ chứng-minh-được:** detector 42-flag baseline, **0 flag trên file này** (C2/B3 chỉ track 4 token; `menu`/`policy` MÙ).
🔴 **Lead đề-xuất vá ngay @Phase-3 REPORT → RÚT LẠI.** H24 §2(4) đòi **positive-control SỐNG**: fire → cổng chứng-kiến → **RỒI MỚI** vá. Vá sớm = **giết chứng-nhân duy-nhất** ⇒ detector "xanh từ commit đầu" = đúng thứ H24 bảo phải nghi.

## 9. Bẫy mega-line — SE là ca NẶNG NHẤT

`docs/STATUS.md:6` = **63,104 ký-tự / 1 dòng vật-lý**, **37 date-token**. date-`max` → **`2026-08-01`** (TƯƠNG-LAI ⇒ detector **không bao giờ kêu** ⇒ **tự giết positive-control**) · date-`min` → **`1987-03-07`** (ngày-ma từ chữ-số trong `pqhuy1987`) · lexical-`max` → `2026-20-42`. **Chỉ NEO-PHẠM-VI** `**Last updated:**` ra đúng `2026-07-14`.

## 10. Pipeline chạy + kết quả

| Bước | Run-id | Kết quả |
|---|---|---|
| invest 5-lane (`/fable-clone investigator-codebase`) | `wf_1f6bd5e2-478` | **5/5 clean, 0-garble** |
| lead soi hub trực-tiếp | — | `lead-evidence-hub-inspect.md` |
| review 4-lane (`/fable-clone reviewer`) | `wf_78a84f9b-03e` | **R2 FAIL** (4C+8M) · **R3 FAIL** (5C+6M) · **R1/R4 chết #53** |
| cổng cuối (`/fable-real reviewer`) | `wf_cb964f83-331` | **GO-WITH-FIXES** + 8 fix + **2 honesty-C** |

## 11. 🔴 v1 SẼ GÂY MẤT VIỆC — R3 fault-inject chứng minh

```
origin/main..HEAD = 6/6 wal:, NONWAL=0 ⇒ 0 commit để fixup VÀO
→ cannot 'fixup' without a previous commit ×6 → REBASE-EXIT=1
→ .git/rebase-merge LEFT ; HEAD DETACHED
→ hook wal-flush.ps1 (fail-open, exit 0, 0 guard) commit LÊN detached HEAD
→ rebase --abort → WORKTREE GONE ; commit ORPHANED
```
= **`E-029` tới bằng cửa sau** — đúng lỗi **v1 trích làm cảnh-báo ở đầu spec**.

## 12. 🔴 2 lỗi honesty của lead (cổng-cuối bắt)

- **C1 — "v2 vá 19 finding" = over-claim.** Thật **23** (R2 4C+8M · R3 5C+6M). Tự-khai cũng không cộng ra (4+7+5+2=**18≠19**). Tập "7M/2M" **khớp chính-xác** tập đã xử-lý ⇒ **đếm đúng cái đã làm rồi gọi là TỔNG** ⇒ 5 rớt **không dòng disposition**, 3 **STILL-BROKEN**.
- **C2 — enum 10/11 rồi tuyên "khớp H24 5+5"** — bỏ đúng `workstate-item-dropped` = class bắt **ca F1 của chính SE**.
- **Tỷ-lệ claim (gate re-đo ~30):** **~80% ĐO-đúng · ~13% SAI (TRỌN ở meta-count/coverage) · ~7% suy-diễn**. Sáng: 4/5 CHƯA-VERIFY khai đúng nấc. Tối: **2 chỗ SUY DIỄN trình như ĐO**.
  ⇒ **Bài học: lead ĐO tốt; lead ĐẾM VỀ MÌNH thì sai.** → memory `feedback_meta_count_selfcoverage_blindspot`.

## 13. Owner-decision (6)

| | Chốt |
|---|---|
| **Nguyên-tắc MỚI** | Kiến-trúc harness **phải giống** · điều-chỉnh **trong khung** = tự làm · **vượt khung** = 🔴 request (anh + AI_INFRA duyệt) · **khung tự mâu-thuẫn** = report → hub broadcast lại |
| **O1** | **PA-2** — hình-thức **PA-2a hằng-số + PA-2b audit** (neo-tại-spawn **bất-khả-thi**: param chỉ nhận alias) |
| **O2** | **6/15/3** (trùng hub — **chọn có chủ-đích** làm khởi-điểm, hub dặn *"đừng chép"*) |
| **O3** | `[carry:<slug>]`; "dòng-carry" = **đoạn LOGIC** trong mega-line, KHÔNG dòng vật-lý |
| **O4** | **KHÔNG dọn 57** — rewrite = **tự vô-hiệu-hoá bằng-chứng VERIFIED-RUNTIME của chính H22** (`12071c5` cited 12 file + `67be443` cited 10 file = 2 commit chứng-minh hook-FIRE ở `engine:407` **và trong adopt-report ĐÃ GỬI hub**) |
| **fix#8** | (a) PA-2 hình-thức ✅ stamp (tiền-đề *"param chỉ nhận alias"* = **đọc-doc, CHƯA thử full-id** — giữ nấc khi báo hub) · (b) hook-interlock = **TRONG KHUNG** (thu-hẹp ≠ đổi-cơ-chế; side-ref VẪN vượt khung) |

## 14. Artifact (14 file, tracked)

`.claude/workflows/runs/2026-07-15-S119-adap-6-broadcast/`: `run.md` · `spec-…-v1.md` (**CẤM CHẠY**) · `spec-…-v2.md` · **`spec-…-v3-PATCH.md`** ← thân+patch · `owner-decisions-15-07-2026.md` · `lead-evidence-hub-inspect.md` · `sub-investigator-codebase-{A..E}.md` · `sub-reviewer-{R2,R3}.md` · `fable-real-final-gate-verdict.md`

## 15. Nấc trung-thực

- **STILL-BROKEN sau v3 = 0** · PARTIAL còn: R3-M3 + 4 minor (**defer S120, không chặn**).
- **CHƯA VERIFY (giữ):** đường đọc frontmatter CR-tolerant hay LF-only (**W0.6 quyết**) · precedence spawn-param ⟂ frontmatter (**defer phiên lead=Fable** — hôm nay lead=Opus **không phân-biệt được**) · side-ref R3 (plumbing) · hot-reload `hmw.js` · param `model:` có từ-chối full-id không.
- **KHÔNG overclaim:** Sàn-1 chỉ phủ `hmw.js`; raw Workflow/Agent = **kẽ CÒN-LẠI** (chính run này đi đường đó). H24 = **quy-ước lead-executes, KHÔNG hook, KHÔNG enforce**. Gate EOL scoped **ĐÃ XANH SẴN** ⇒ **không tính thành-tựu**.
- **E-030: hub defer EXECUTE CRLF sang s95** ⇒ SE đi **TRƯỚC** hub, không có mẫu chạy sẵn.
- **#53 ×3 phiên này** (tooling-auditor lượt-1 · R1 · R4) — recover: SendMessage-resume (1/1 thành công) + transcript-mining + em-main tự đo.
- 🔴 **v3-GAP lead tự bắt @đóng phiên:** điều-kiện rẽ nhánh test `NONWAL==0` **SAI THỨ** — luật fix#3(c) nói **"đáy range"**. 3 ca đúng ghi ở WAL. **Vá trước khi chạy W0.3.**

## 16. NEXT

**🔴 anh:** gõ **`/tiep`** phiên sau → chạy wave. ⚠️ wave cần **RESTART ×2** (W0.6 + post-W2) ⇒ trải **≥3 phiên CLI** — đúng lúc dùng thật `/tiep` mà chính phiên này adopt.
**🔴 em:** W0 SOLO (vá v3-GAP trước) → W1/W1b/W2/W3/W4/W5 → W6 push + **4 adap-report** + **4 adap-request (R1-R4)** + email. Carry: `tooling-auditor` self-compact S111→L2 **chưa xong** (archive đã +3 `+3/-0`; L1 chưa trim).
