# hoi-tu-synthesis — S149: hội tụ SE về khuôn bookend sister (đóng run, dạng-1)

> Arc: anh chốt *"vá lỗi… để chạy đc VIPIX, AI_INFRA"* + rename đồng bộ + *"đấy là lý do mà nghi thức này bắt buộc"*.
> Pipeline trọn: `/fable-clone` 8-lane → `/fable-real invest` (fable, CLEAN 256K) → spec v1 → `/fable-real reviewer` gate (fable, CLEAN 218K, **GO-WITH-FIXES 1C/6M/4m**) → spec v2 → **wave implement 5-lane Opus (`wf_4cbcd392-9db`, 5/5 done, 946K, 0 garble)** → lead solo M6/M7/M9 → verify.

## Chẩn đoán (invest xác nhận, gate giữ)
**SE = rules-đủ, máy-thiếu.** 0 script GHI `.session-counter.json`; scaffold session + tick + signal = tay 100% ⇒ chuỗi "đo rồi như chưa đo" (backfill S146 · tally view-* rơi S148 · ×27≠33 · session-3 quên tạo). 2 sister đã script-hoá đúng 3 chỗ đó.

## Đã land (tất cả fault-inject, lead re-verify độc lập)

| M | Vật | Bằng chứng |
|---|---|---|
| K0 | rename 5 vai (ring1/2/4-audit · lead-stale/gap-auditor) | residual 0 cả 2 dạng (W2 bắt dạng-ngắn 9-hit → sweep) · registry hot-reload in-session (data-point TRÁI S120/S121) |
| M1 | `session-scaffold.ps1` + template | 4/4 K1 + 6/6 boundary · **live: -Ensure no-op mtime-giữ trên repo thật** |
| M2 | `session-counter-tick.ps1` | 5/5 K2 (atomic temp+move · fail-loud · squash-benign) · **live: OR-guard NO-OP trên counter thật** |
| M3 | `h24-signal-write.ps1` | 5/5 K3 (enum-đóng · procedural max-1 · chặn reset khi `_frozen_until_owner`) |
| M4 | detector C11 (FLAG-khuôn + diary-delta) | 4/4 K4 · TOTAL giữ 46 · honest-note "MEASURED NOTHING ≠ green" |
| M5 | `closeout-sentinel.ps1` | **positive-control 5/5 ca lịch sử THẬT, lead tự chạy lại**: S140/S143 PASS · S146/147/148 FLAG |
| M6 | bookend call-site hình B | session-start §2.1.8(a)+(e) + BƯỚC 0.8 · session-end §L.b(j)(ii) — lineage đầy đủ, câu mời "nói 1 chữ" @S146 được direction @S149 trả lời |
| M7 | wire `applied-eval-nokey.ps1` | (ii-ter).2 — ghost-wire 18-ngày chết; caveat FLOOR trong payload |
| M9 | luật diary-seed on-behalf | (ii-ter).3 + C11(b) soi — GAP-3 ×4 có lưới |

**Hình B (VIPIX hybrid):** cặp soi-lead vô-điều-kiện 2 đầu · `light_every` → stats-only (GIỮ SỐ owner-ratified, đổi vai trò) · **deep GIỮ counter** · trio GIỮ CONSENT (owner-held #12, không đảo bằng uỷ-quyền). Nhãn OWNER-DELEGATED → lead-decided, anh veto = 1 edit.

## Nợ khai thẳng (không đọc thành "xong hết")
1. **Dải JUMP {4,3,3} + view-residual-asym∈{0,3} FROZEN chờ anh** — máy bị cấm reset (`_frozen_until_owner` chưa đặt vào file vì bookend chưa chạy lượt nào; M3 đã có nhánh chặn).
2. **M8 V5-counter** — defer (optional cuối).
3. **Trio residual**: 2 sister chạy trio vô-điều-kiện, SE giữ consent — khoảng cách CÓ CHỦ ĐÍCH chờ #12.
4. **Bookend chạy lượt ĐẦU = phiên sau** — mọi máy mới verify bằng fault-inject + smoke, chưa có lượt bookend thật end-to-end.
5. Spawn-probe 5 tên mới — registry đã list in-session nhưng list ≠ spawn được.

## #53 trong arc này
L1 ngược-#53 (return OK đĩa không) → vớt journal · L5 kinh điển (đĩa cứu) · L7 mất cả hai → bù bằng deep-pass · **wave 5-lane implement + 2 deep-pass Fable = 0 garble toàn bộ**. Narrow-build 12/12 clean, khớp correlation S103.
