# trio-first-run — SYNTHESIS (🔴 RETRO-HARVEST @S146, không viết lúc chạy)

> **Khai ngay đầu:** file này viết **hồi-tố @S146 2026-07-22** bởi lead, trong lượt `/tiep`, khi sàn-3 `/tiep §0` bắt folder này là **orphan** (có `run.md`, không có `*-synthesis.md` phẳng).
> ⇒ Đây **KHÔNG** phải bản ghi lúc chạy. Mọi dòng dưới đều **truy được từ đĩa** (3 file `harness-*-return.md` + `run.md` trong chính folder này); chỗ nào **suy ra** thì ghi rõ là suy ra. **KHÔNG bịa kết quả.**

## Kết luận 1 dòng
**FIRST-RUN THẬT của bộ-ba trio-memory ĐÃ CHẠY ĐỦ 3/3 TUẦN TỰ và ĐẠT** — nấc `executed-file` → **`verified-runtime`** cho `harness-eval` · `harness-refine` · `harness-audit`. Lệch duy nhất cả lượt **không nằm ở 3 con**, mà ở **`run.md` của chính lead**.

## Bằng chứng trên đĩa (đo lại @S146)
| vật | trạng thái |
|---|---|
| `harness-eval-return.md` | tồn tại (con ĐO, lead scribe @W1) |
| `harness-refine-return.md` | tồn tại (con ĐỀ-XUẤT, PIN eval-return) |
| `harness-audit-return.md` | tồn tại (con KIỂM, PIN run-folder) |
| nghi-thức §2.1.9(b) TUẦN TỰ | giữ — 3 spawn riêng, KHÔNG `parallel()` |
| nghi-thức §2.1.9(c) scribe-ngay | giữ — và **đã cứu được một lượt** (xem dưới) |

## 2 phát hiện đáng giữ (nguyên văn từ return, không tô hồng)

**(1) `#53` garble fire THẬT — resume là đường cứu duy nhất.**
`harness-audit` lượt-1 trả mẩu giữa chừng → **SendMessage-resume** → mới có return đầy đủ. Vai này **không ghi đĩa**, nên nếu phiên chết lúc đó thì **mất trắng**. ⇒ củng-cố đúng luật §2.1.9(c) *lead scribe NGAY, không đợi đủ 3*.

**(2) 🔴 Lệch duy nhất nằm ở LEAD, không ở con ĐO.** Con KIỂM tự re-chạy **6/6 instrument** (không phải 2 như sàn tối-thiểu) → **0 LỆCH** trên cả 6, và tự cộng lại 7 tổng phái-sinh đều khớp. Nhưng bắt được `run.md` của lead ghi:
| | lead ghi | đĩa thật |
|---|---|---|
| hotload | 538.529 B | **540.724 B** |
| headroom | 200.490 | **199.759** |

**Nguyên nhân lead tự truy (giữ nguyên trong `run.md`, có gạch ngang làm vết):** lead chạy `crystallized-backfill` sớm trong phiên → **rồi tự tay sửa `agents/README.md`** (+2.195 B) → **chép lại con số TRƯỚC khi sửa** và gắn nhãn *"đo tươi"*. ⇒ **lead đổi chính vật mình vừa đo, rồi trích số cũ.**
🔴 **Lỗi thứ hai, nặng hơn:** header scribe ghi *"đối chứng 4 mốc lead: 0 LỆCH"* trong khi khối đó liệt **5 mốc** — mốc thứ 5 (crystallized) **chính là mốc lệch**, và việc loại nó khỏi phép đối chứng **không được khai**. Con ĐO không sai; **lead thu hẹp tập đối chứng mà im lặng**. Đây đúng class `meta-count self-coverage blind-spot`.

## Residual thật (KHÔNG đóng)
- `## Stages` trong `run.md` tới giờ vẫn `[!] W1 · [ ] W2 · [ ] W3` — **stale**: cả 3 đã chạy xong. Checkbox không được đóng lúc kết thúc.
  🔸 **Giữ nguyên, KHÔNG sửa ngược:** đó là **vết thật** của việc closeout bị cắt; sửa ở đây thành `[x]` sẽ xoá đúng bằng-chứng mà retro-harvest này sinh ra để ghi lại. Bài học đi vào `_residual` chứ không đi vào việc làm đẹp checkbox.
- Vì sao thành orphan: phiên S144→S145 chạy tiếp việc khác rồi `/pause`, harvest-gate chưa kịp gom.
