# run — S149 `/fable-clone investigator-codebase` — điều tra đóng đủ 5 vòng tự-bảo-trì

**Lệnh anh giao (verbatim):** *"Thấy mày mãi ko adapt xong 5 vòng của hub → Thôi cho 1 /fable-clone invest cách làm rồi điểm khó → /fable-real xử lý → ra cái spec đóng hết 5 vòng giống hub → Rồi hwm opus 4.8 MAX xử lý cho xong"*

**Vị trí trong pipeline:** bước **1/3**. Sau bước này: `/fable-real <vai>` → spec 3-mục → `hmw` Opus MAX implement.

## Vì sao chạy
Khung 5-vòng tự-bảo-trì của hub trải **8 broadcast** (15-07 → 20-07). SE adopt rời rạc nhiều phiên, carry `[carry:bookend-5-5]` còn treo. Thư chốt `dong-du-vong` (19-07) nêu **2 lỗ**: ① mỗi vòng-ĐO có vai-KIỂM độc lập (SE làm @S145, 3 vai) · ② **eval phía SỬ-DỤNG** (APPLIED/DORMANT · floor-not-ceiling · negative-control) — **nghi SE = 0**.
9 thư cụm 07-18→07-21 **chưa có adap-report** (đo @S149, dedup key `adap-apply.md:16`).

## Đóng gói lane (C2 — repro `wf_491c05a8-6dc`: 5 lane, 3 CHẾT, ~490K token, 0 sản phẩm)
- **≤3 file/lane** — lane nào cần hơn thì TÁCH, không nới việc.
- **ÉP GHI KHUNG RỖNG lượt 1-2** trước khi đọc bất cứ gì (đối chứng `wf_301d3943-144`: 3/3 sạch).
- **Nêu trần lượt ngay đầu prompt** + phân bổ đọc→verify→chốt.

## Stages — 8/8 agent chạy, 0 error; 6 ghi đĩa thẳng, 1 vớt từ journal, 1 MẤT
- [x] L1 `Vòng-def` — 15.730B 🔴 **LEAD SCRIBE ON-BEHALF**: return ĐỦ nhưng lane KHÔNG ghi file (ngược #53)
- [x] L2 `Vòng-nhip` — 21.708B
- [x] L3 `Vòng-2lo` — 22.374B (lane trọng tâm: 2 lỗ cuối + eval use-side)
- [x] L4 `SE-do-A` — 12.990B
- [x] L5 `SE-do-B` — 17.606B (return FAIL schema, **đĩa cứu trọn** — #53 kinh điển)
- [x] L6 `Thu-bind-1` — 10.968B
- [ ] L7 `Thu-bind-2` — 🔴 **MẤT THẬT**: return fail **VÀ** 0 file đĩa. Phụ trách `goi-chot-owner-nam-khoan` + `hub-tu-danh-gia-3-goc` + `spawn-label-panel`. → **bù ở run `2026-07-24-S149-owner-gated-3-khoan`** (`/fable-real` được giao đọc lại 3 file đó)
- [x] L8 `Thu-bind-3` — 13.985B

## 🔴 Data-point MỚI cho #53 — 3 kiểu hỏng phân hoá trong CÙNG một run
| Kiểu | Lane | Return | Đĩa | Bài học |
|---|---|---|---|---|
| ngược-#53 | L1 | ✅ | ❌ | ép-ghi-khung-rỗng **không đảm bảo** lane tuân; return cứu được nhưng chỉ vì lead đọc journal kịp |
| #53 kinh điển | L5 | ❌ | ✅ | ghi-đĩa-sớm cứu trọn, **đúng như thiết kế** |
| mất cả hai | L7 | ❌ | ❌ | **kẽ CÒN LẠI** — không lớp nào phủ |
⇒ Lệnh ép ghi khung rỗng lượt 1-2 đã có trong prompt của **cả 8 lane**, vậy mà 2 lane không tuân. **Xác nhận lại lần thứ 5: prompt KHÔNG chặn được — nhưng artifact-design cũng chỉ phủ được lane nào chịu ghi.** Lớp bù duy nhất khi mất cả hai = **relaunch cắt-gọt lane đó**, không có cách rẻ hơn.

## taskList snapshot
Đề-bài: 5 câu hỏi anh giao — (1) ĐỊNH NGHĨA 5 vòng theo văn bản hub · (2) SE đóng tới đâu từng vòng, **ĐO TỪ ĐĨA không suy từ doc** · (3) khoản ② eval phía SỬ-DỤNG SE có gì chưa (nghi 0) · (4) ĐIỂM KHÓ thật: cái gì chặn / ghost-wire / cần owner-số · (5) 9 thư 07-18→07-21 có khoản BINDING nào.

Nguồn: `D:/Dropbox/CONG_VIEC/AI_INFRA/broadcasts/outbox/all/` — 8 thư 5-vòng + 9 thư cụm chưa-report.

## wf run-id
`wf_c6a08b12-f36` — 8 lane `tier:'opus'`. 8/8 done · 0 error · 2 empty-result (parallel[4]=L5, parallel[6]=L7) · 1.061.899 token · 172 tool-use · 517s.
🔸 Lượt phóng ĐẦU bị `hmw.js` chặn: `checkpointApproved chưa set` (guard chống-phóng-nhầm). Lead inform {8 agent · investigator-codebase · 8 task} rồi set cờ, phóng lại — **guard làm đúng việc**, ghi lại để lần sau set sẵn.
