# implement-synthesis — LANE-B remainder (S136 recovery)

> **VERIFIED bởi lead** (không phải lời worker). Run wf_c3a56fef-520, 1 worker role-less tier:'opus', ~20 phút, return CLEAN 0-garble + diary ghi-trong-lúc-làm `sub-task-0.md` 10.3KB.

## Deliverable

1. **2 detector H25 appended** vào `scripts/governance-detectors.ps1` (trước Summary — flag đếm vào TOTAL):
   - `H25-closeout-ritual` (GAP-2): 3 closeout gần nhất, union-window `(prev..this]` per-close (T4a), 4 sổ nghi-thức {STATUS · HANDOFF · sessions/* NEW `--diff-filter=A` · agent-memory/**}, thiếu → FLAG MED kể tên; lone-closeout → skip có lý-do.
   - `H25-role-notebook` (GAP-3): roster 14 trừ README; parse 2-bước `^sub-(.+)-\d+\.md$` → exact-match roster; UNMAPPED chỉ INFORM (S122); has-run mà diary MISSING hoặc **0-byte** → FLAG MED (anti-Goodhart).
2. **Fault-inject 9/9 PASS** (cây tạm `-RepoRoot`, orchestrator `scratchpad/fault-inject-h25.ps1` 9KB): FLAG-đúng 4 ca (fake-close 4/4 sổ · diary-delete · diary-0-byte · probe CONFIG-THIEU in-line) + IM-đúng 5 ca (control ×2 · tail-union-reach · lone-skip-no-crash · alien-prefix UNMAPPED). Matrix verbatim → `sub-task-0.md` §5.

## Lead verify (2-nguồn-khớp)

| Phép | Kết-quả |
|---|---|
| `grep -c H25` detectors | **4** (baseline 0) |
| Parse `[Parser]::ParseFile` | **0 errors** |
| pure-ASCII toàn file 60003B | **0 byte >127** (delta append = 0) |
| Detector re-run bởi lead | Output **khớp 100%** lời khai: W1 S134 `[ok]` · W2 S133 `[ok]` · W3 S132 FLAG · role-notebook 14/14 flagged=0 · UNMAPPED 27 · 0 self-match · exit 0 |
| FP W3 re-verify độc-lập (git) | **3/3**: `72f68d1` chứa `docs/HANDOFF.md` + `sessions/2026-07-17-S131-S132-...md` **ADDED** (`--diff-filter=A`) · `9e874ca` parent = `72f68d1` ⇒ ritual đóng trọn ở lower-bound bị loại — flag oan THẬT |
| Isolation | Chỉ `governance-detectors.ps1` (M) + `sub-task-0.md` (??) — sub-task-0.md gốc S135 nguyên 8187B |

## ⚑ Treo anh quyết — per-label folding

W3 = dương-giả class **tail-adjacency** (closeout gộp nhãn `S131-S132` đóng trọn ở commit trước, tail-supplement tạo window 1-commit). Fix đúng hướng = fold các closeout **cùng nhãn batch** vào 1 cửa-sổ ("union-per-label" — khớp baseline spec:90 phép-3). Worker + lead ĐỀU KHÔNG tự áp (sửa detector cho im = Goodhart cấm). Trade-off cần anh cân: fold theo nhãn có thể bị LẠM-DỤNG (đặt nhãn gộp để trốn ritual từng phiên) — ngược lại giữ per-commit thì mỗi tail-supplement sau closeout gộp sẽ +1 FP. Flag hiện sống trên repo (TOTAL 46 = 45 pre-existing + 1 FP này).

## memoryDelta (harvest @P3 — lead verified, APPEND-only)

- **task:** LANE-B remainder S136 — 2 detector H25 + fault-inject 9-ca + AC-B(4)(5)(6).
- **verdict:** SHIPPED, teeth-proven 2 chiều, 1 FP classified-not-silenced, isolation clean.
- **learned:** union-window per-commit còn FP khi tail-close có predecessor là immediate-parent cùng batch — ritual nằm ở lower-bound BỊ LOẠI; fix = fold-per-label nhưng là OWNER-decision (tự áp để xanh = Goodhart).
- **surprise:** "3 closeout gần nhất" là moving-target — lúc spec viết baseline "phép-3 PASS 3/3" thì 3-gần-nhất là set KHÁC (chưa có S133/S134); acceptance-literal tự-lão-hoá đúng class S109/S121. Letter-suffix batch (`investigator-codebase-A..E`) rơi UNMAPPED conservative-correct vì role vẫn has-run qua diary.
