# adap-đợt-11 — SYNTHESIS (🔴 RETRO-HARVEST @S146, không viết lúc chạy)

> **Khai ngay đầu:** viết **hồi-tố @S146 2026-07-22** trong lượt `/tiep`, khi sàn-3 `/tiep §0` bắt folder này là **orphan** (có `run.md`, thiếu `*-synthesis.md` phẳng).
> Mọi dòng dưới **truy từ đĩa trong chính folder này + `.claude/agents/`**. Chỗ nào **suy ra** ghi rõ. **KHÔNG bịa.**

## Kết luận 1 dòng
Đợt adap thứ 11 (**10 broadcast** hub, 07-18 → 07-21) đã chạy trọn: verify 2 tuyến → invest ensemble 5 lane → spec → review ensemble → spec-v2 → triển khai. **Sản-phẩm lớn nhất = 3 vai-KIỂM mới**, đưa roster **17 → 20**.

## Bằng chứng trên đĩa (đo lại @S146)
| vật | trạng thái |
|---|---|
| `spec-adap-dot-11-22-07-2026.md` + `-v2.md` | cả 2 tồn tại ⇒ S3 + S5 đã xong |
| `sub-investigator-codebase-{0,3}.md` | tồn tại ⇒ S2 invest ensemble đã chạy (RUN-TRACE mode) |
| `sub-reviewer-{0,1,2}.md` | tồn tại ⇒ S4 review ensemble đã chạy |
| `C4-design-3-vai-kiem.md` · `C6-cửa-lời-hứa-máy.md` · `C14-disposition-per-khoản.md` · `C15-resume-model-override.md` | 4 design-doc theo khoản |
| `.claude/agents/{tooling-harvest-audit,h24-audit,sleep-audit}.md` | **cả 3 tồn tại** ⇒ S6 triển khai đã land |
| roster | **20** (`ls .claude/agents/*.md \| grep -v README \| wc -l`) |

## Cổng vào đáng giữ (verify 2 tuyến, S0)
- 10 thư kéo từ **`outbox/all`**, verify **2 tuyến độc lập**: (a) whole-file hash **10/10 byte-identical** · (b) `stamp_verify.py` **10/10 exit 0** — 0 tamper.
- 🔴 **Kẽ đã bịt (giá trị thật của đợt này):** `/check-email` bước 2 chỉ đọc `outbox/se`, **không nhắc `outbox/all`** — mà `outbox/all` (90 file) chính là **nguồn thật của cả 10 thư**. Không bịt thì cả đợt này vô hình.
- Dương-giả đã loại đúng: 51 file cũ (06-02 → 07-15) = lớp *đã-adopt-chưa-copy-body* (process-gap S101/S119), **không phải thư mới**.

## Kết quả cấu-trúc (owner-decision, đã land)
- **[2] TÁCH mỗi-vòng-1-con** (không gộp) ⇒ 3 vai-KIỂM độc lập: `tooling-harvest-audit` (vòng tooling/harvest) · `h24-audit` (vòng soi-lead) · `sleep-audit` (vòng nén-ngủ).
- Cả 3 mang cùng bất-biến: **no-self-exempt** (không tự kiểm vòng mình đo) · **propose-only, lead single-writer** · **fail-safe NO-OP khi pin missing** (cấm ĐẠT-ảo).
- **[1] `min_pending_shards` = 15** đã áp (toán-tử `-gt`).

## Guard fire THẬT (đáng giữ)
Lượt phóng đầu `wf_977c2690-5ce` **THROW đúng guard** `checkpointApproved chưa set` — **0 agent, 0 token**. Lead @inform quy mô {5 agent · `investigator-codebase` · 10 broadcast / 5 lăng-kính} rồi mới set cờ, phóng lại `wf_491c05a8-6dc`. ⇒ anti-accidental-fire **có răng thật**, không phải chữ.

## Residual thật (KHÔNG đóng)
- `## Stages` trong `run.md` còn `[!] S2 · [ ] S3..S6` — **stale**: S2–S6 đều đã xong (bằng chứng bảng trên).
  🔸 **Giữ nguyên, KHÔNG sửa ngược** — cùng lý do với `trio-first-run`: checkbox stale là **vết thật** của closeout bị cắt giữa chừng. Xoá vết = xoá đúng thứ retro-harvest sinh ra để ghi.
- Chỉ-thị anh lúc phóng — *"Nhớ chú ý đọc thật kỹ bọn mày rất hay sót"* — đã được thiết-kế đáp lại bằng **mỗi file ≥2 người đọc, lăng-kính KHÁC nhau**. Hiệu lực của phép đó **chưa có phép đo hậu-kiểm**; đừng đọc thành "đã chứng minh không sót".
