# wave-synthesis — Adap 6 broadcast AI_INFRA (S119 → S122)

> 🔴 **File này ra đời vì Sàn-3 BẮT ĐƯỢC LEAD — ở lần chạy thật đầu tiên của chính nó.**
> Lead dành **trọn phiên S122** đóng **7 orphan của người khác** (W3.0), rồi **để chính run-folder của wave này thành orphan**: wave xong, 4 push, 2 mark ký, **không ai viết synthesis cho nó**.
> ⇒ đúng class **`gap-workstate-drop`** — cùng lớp W3.0 vừa phát hiện, cùng lớp vai `lead-omission-auditor` sinh ra để bắt (**và vẫn chưa chạy lần nào**). Sàn-3 bắt được vì nó **git-independent, soi ĐĨA** — không phụ thuộc lead có nhớ hay không. **Đây là bằng-chứng runtime tốt nhất của Sàn-3 trong ngày, và nó tốn đúng 0 công để có.**

**run-id:** `2026-07-15-S119-adap-6-broadcast` · **status:** ✅ **CLOSE** @S122
**Chain:** `4727d16..16c91a8` — **5 push**, K=0, tree clean.
**Chi-tiết đầy-đủ:** [`docs/changelog/sessions/2026-07-15-S122-adap-6-broadcast-wave.md`](../../../../docs/changelog/sessions/2026-07-15-S122-adap-6-broadcast-wave.md) · 5 adap-report · 6 adap-request.

---

## 1. Wave làm gì

Adopt **5 broadcast** AI_INFRA (H22 wal-defect 5-sàn + push-guard · H23 model-at-spawn · H24 lead-self-audit · EOL/CRLF notice · owner-sign) qua **W0→W6**, trải **3 phiên CLI** (S119 điều-tra → S120 `/tiep` reconcile → S121 W0-W2 → **S122 W3-W6**).

| Wave | Commit | Kết quả |
|---|---|---|
| W0 | `92de58f` `48e0d26` `c5c68de` | `.gitattributes` CLASS · hook-interlock (răng 2 chiều) · `README:52` gỡ claim STALE · baseline orphan · probe LF **nhóm-chứng** |
| W0.6 | — | verdict **CRLF-tolerant** ⇒ **bác ④(b)** của broadcast |
| W1 | `d07bbb9` | 2 detector H24 + 3 script; **lead tự chạy lại cả 4, không tin return** |
| W2 | `00a1c67` | **1 commit nguyên-tử** 9 file: Sàn-1 gate + VALID_ROLES 12→14 + PA-2a + 2 vai H24 + cadence + counter + STATUS 2 row |
| **W3.0** | `22ea8c5` | retro-harvest 7 orphan — **lật tiền-đề** |
| W3 | `dfa3dae` `53765b0` | **9 file** (kế-hoạch 5): Sàn-3 canonical + TRI-ACCEPT + push-guard + Sàn-5 + RE-STAMP + GAP#6 |
| W4 | `a09dcae` | positive-control **5 FLAG→0**, TOTAL **50→45** |
| W5 | `c39ba9d` | engine→0 hit + **fix `$userMemDir`** |
| W6 | `6dcd457` `0f2fe29` `2f068c5` `16c91a8` | 5 report + 6 request + 2 email + 2 mark + closeout |

## 2. 🔴 Phát-hiện lớn nhất — gửi hub (R5)

**"Orphan" trong thiết-kế H22/H18-B đo TÊN FILE, không đo NỘI DUNG.**
Đo trên 25 run: **8 dương-giả = 32%**. **0/7 tồn-đọng là việc mất** — 7/7 đã xong, chỉ ghi synthesis sai chỗ. Folder **ghi chép ĐẦY-ĐỦ NHẤT** (cicd PASS + bundle-hash + smoke 200 + *"PIPELINE COMPLETE"*) **vẫn** bị xếp orphan.
Thực-địa **≥4 dạng**, doc thừa-nhận **2** ⇒ **TRI-ACCEPT** (**nhận ≠ cho phép**; **dạng-4 = kẽ CÒN LẠI, không máy nào bắt**).
🔸 **Trớ trêu khép vòng:** chính file NÀY là **dạng-1** — được viết ra vì bản vá của wave (Sàn-3) bắt được lỗi của người viết ra nó.

## 3. 4 bộ fault-inject — chứng CÓ RĂNG, không phải happy-path

| Bộ | Kết quả | Ca đắt nhất |
|---|---|---|
| Sàn-1 gate | **2 chiều** | thiếu cờ + 3 task → **THROW 14ms, agent=0, token=0** (chặn TRƯỚC spawn) · 2 task → **IM** (không over-fire) |
| Sàn-3 TRI-ACCEPT | **9/9** | 0-byte → FLAG · "synthesis" **giữa câu văn** → FLAG (regex không nhận bừa) |
| push-guard | **10/10 cây git THẬT** | **ca(2) `base+wal+[CLAUDE]` → K=0 → push được, KHÔNG deadlock** (chính shape FIX#3-bis dự-báo chết) |
| wal-recovery | **4/4 ca · 30 assert** | counterfactual tái-hiện DEADLOCK `rebase-exit=0` |

**+2 bẫy TÁI-HIỆN ĐƯỢC** (không phải cảnh-báo lý-thuyết): `grep -c` đếm 0 → **exit 1** · đếm-toàn-lịch-sử → **chặn push vĩnh viễn**.

## 4. Sàn-2 + Sàn-5 — chạy thật lần đầu @S122 closeout

- **Sàn-2:** đặt @BƯỚC 0 → xoá @§6.4, `grep -c '^closing:'` = **0** ⇒ **vòng đời trọn vẹn, runtime-verified**.
- **Sàn-5:** 🔴 **tự bắt 3 bug của chính nó** (commit-CUỐI thay ĐẦU ⇒ 9 dương-giả · soi WAL-đang-co thay session-log append-only · **bẫy `grep -c` lần thứ 3 cùng phiên**) → vá → **LỆCH=0**.
  🔸 **Sàn-5 sai được 3 lần VÌ nó `informational`** — nếu là cổng-chặn thì 9 dương-giả đã chặn cả phiên và người bypass ngay lần đầu (**đúng công-thức R2 vừa gửi hub**).

## 5. Nấc trung-thực — còn nợ, khai thẳng

- **2 vai H24 CHƯA CHẠY lần nào** — spawn-probe chứng **spawn được**, KHÔNG chứng **soi được**. Counter tick đầu 0→1; `light_every=6` ⇒ nhịp audit đầu **~S128**.
- **Precedence H23 CHƯA test** — chỉ phân-biệt ở phiên **lead=Fable**; lead=Opus 2 nhánh ra cùng kết-quả.
- **Dạng-4 orphan = kẽ CÒN LẠI** — để người phán.
- **R6 chờ hub** — user-memory ngoài repo (0 git/0 backup); `settings.json` **0 key** ⇒ harness ép; SE **cố ý KHÔNG tự dời**.
- **Gate chỉ phủ `hmw.js`** — raw Workflow/Agent = kẽ **KHÔNG gate được**; **chính run S119 này đi đường đó**.

## 6. 🔴 9 lỗi LEAD — tất cả tự-bắt, tất cả gửi hub

Nặng nhất: **SHA BỊA** ghi vào WAL **trước khi commit** = tái-phạm bài-học của **chính hôm qua** · **`grep -c` dính 3 lần/1 phiên** dù đã ghi vào `§5.0(a)` **và** gửi hub R2(β) · **R6 vá triệu-chứng không hỏi gốc** (memory `root_cause_over_symptom` **auto-inject mà không tự bật — anh phải chỉ**) · **"8 hit" thật 14** (lấy output `head -40` đã cắt làm số tổng) · **"tái-hiện chính xác dự-báo"** trong khi **đo sai hướng**.

🔴 **Mệnh-đề chứng 3 lần trong 1 ngày: bài-học viết ra / nạp vào context KHÔNG tự chặn được gì. Chỉ LUẬT SOI-ĐƯỢC mới chặn.**
Chính file này là chứng thứ 4: lead **biết** orphan là gì (vừa đóng 7 cái), vẫn để folder mình thành orphan — **Sàn-3 bắt, không phải trí nhớ**.

🟢 **Đối-chứng:** 6/6 lane sub neo **SHA thật, 0 garble**. Khác biệt: **sub bị ép neo từng claim vào `file:line`; lead thì tự do viết văn.**

---
*Đóng @S122 `/session-end` · Sàn-3 ① fire → lead viết file này → 4/4 tín-hiệu MẠNH về IM · lead single-writer (B6)*
