# sub-task-2 — 4c: câu cửa-duyệt measured-label vào `reviewer.md`

> Worker (Write/Edit-capable) · run S127-adap-dot-16-07 · WAVE-1 item 3 (draft §4c) · 2026-07-16
> File đích DUY NHẤT: `.claude/agents/reviewer.md`. Nấc adap = **verified-pending** (agent .md KHÔNG hot-reload).

## Task
Append 1 mục "Measured-label gate" CUỐI section `### 2. Apply 5-category checklist`, match indent/bullet-style mục hiện có. Verify `Select-String -Path ... -Pattern "TRƯỢT"` ≥1 hit. Ghi nấc verified-pending.

## Ground-truth anchor (đối chiếu ĐĨA trước edit — EXACT-EDIT)
- Section `### 2. Apply 5-category checklist` bắt đầu :35.
- Section-content kết ở :44 `Apply ALL categories below (...):` → :45 blank → :46 `---` (divider trước `## Category 1` :48). Điểm chèn = cuối section, ngay trước `---` :46 → KHÔNG mơ hồ.
- Before-block (:44–:46) match ĐĨA 100% (Read + python dump 2 lượt).
- Mục hiện có trong section = `- ` bullets (:38–:42, zero-indent) → match bullet-style ⇒ prefix `- ` (KHÔNG bold-standalone).
- Encoding TRƯỚC: UTF-8 **no-BOM**, **LF** (CRLF=0, LF=277), 11096 byte. → phải preserve (F5: verify VN-pattern PS 5.1 chỉ đúng trên UTF-8-no-BOM).

## Diff applied (git diff `.claude/agents/reviewer.md`, +2 lines, no delete)
```
@@ -43,6 +43,8 @@ Em main spec will include:

 Apply ALL categories below (Category 6 chỉ khi target gồm nội dung **hướng ra ngoài**: email / adap-report / broadcast / shared-doc):

+- **Measured-label gate (sàn-sự-thật 190c11ba):** diff chứa con-số mang nhãn đo-lường (measured/empirical/calibrated/đã-đo)? → hỏi: "phép kiểm nào khiến con số này TRƯỢT nếu nó sai?" Không trả lời được → yêu cầu 1 trong 3: phản-chứng chạy được · miễn-trừ lý-do visible · bỏ nhãn.
+
 ---

 ## Category 1 — Wire BE / feature claim verify
```
Nội dung khớp task/draft §4c VERBATIM (kể cả `→` `·` diacritics — .md nên non-ASCII OK, #30 chỉ áp .ps1).

## Verify — PASTE output THẬT

### V1 — canonical Select-String (F5: GIỮ `-Path` form; CẤM `Get-Content | Select-String`)
```
PS 5.1.26100.8875
.claude\agents\reviewer.md:46:- **Measured-label gate (sàn-sự-thật 190c11ba):** diff chứa con-số mang nhãn đo-lường (measured/empirical/calibrated/đã-đo)? → hỏi: "phép kiểm nào khiến con số này TRƯỢT nếu nó sai?" Không trả lời được → yêu cầu 1 trong 3: phản-chứng chạy được · miễn-trừ lý-do visible · bỏ nhãn.
```
⇒ 1 hit trên :46. PASS (≥1 hit). PS 5.1 xác nhận match VN-pattern "TRƯỢT" đúng trên UTF-8-no-BOM (F5 đo lại đúng).

### V2 — encoding-preserve + occurrence-count (python)
```
BOM: False            # vẫn no-BOM
CRLF count: 0         # vẫn LF-only
bare LF count: 279    # 277 → 279 (+2 = 1 blank + 1 content)
size bytes: 11447     # 11096 → 11447 (+351)
line 46 == '- **Measured-label gate ... TRƯỢT ... bỏ nhãn.'   # đúng vị-trí
TRUOT occurrences in file: 1
```
⇒ encoding + line-ending PRESERVED; đúng 1 occurrence (không nhân đôi/rơi).

## Isolation (git-diff audit sau edit)
- `.claude/agents/reviewer.md` = `2 ++` (CHỈ mình — đúng scope).
- Các file khác trong `git status` (`session-start.md`, `rag.json`, `bookend.md`, `crystallized-backfill.ps1`, `sub-task-0.md`, `sub-task-4.md`) = worker WAVE-1 song song (task 1/2a/2b/4a). MÌNH KHÔNG chạm.
- 0 store_memory / 0 RAG-write / 0 file ngoài repo. Chỉ ghi: reviewer.md (task) + sub-task-2.md (trace này).

## Nấc = verified-pending (CẤM claim verified — task item 3)
- **On-disk VERIFIED:** content verbatim + Select-String 1-hit + encoding preserve + git-diff 2-line-clean.
- **Behavioral NOT verified:** agent `.md` KHÔNG hot-reload → gate này CHƯA thực-sự áp cho reviewer-spawn nào cho tới khi restart / spawn-test lượt sau (bài project_harness4: EDIT-agent-tồn-tại cần restart, agent-MỚI mới đọc frontmatter/prompt mới). ⇒ nấc `verified-pending`, KHÔNG được claim "gate đang chạy / đã kiểm-chứng hành-vi".
- Gotcha meta (khớp F11 draft): câu cửa-duyệt này CHỨA chính các nhãn nó săn (`measured/empirical/calibrated/đã-đo`) = **mention-not-use**; nếu mai sau port máy-quét tự-động khớp-mẫu thì cần exemption (gen-2 citation-trap, bài S123) — chỉ ghi nhận, KHÔNG xử wave này.
