# harness-refine return — S169 bookend @open (nợ trả window-2 / S170 `/tiep`)

- **Vai:** `harness-refine` = con ĐỀ-XUẤT (nấc 2/3 bộ-ba đồng-kiểm memory). **Propose-only**, read-only, single-writer = lead.
- **Chạy lúc:** 2026-08-03, ngay sau con ĐO. **Repo HEAD:** `069cc72`.
- **Anti-#53:** file tạo TRƯỚC khi phân-tích, ghi từng mục.
- 🔴 **Luật vai:** mọi action neo **số của con-ĐO** (cite signal #§10 / trục #§8). **0 instrument chạy lại** — tao chỉ dùng `ls`/`wc -c`/`git log`/`git show`/`grep` để **xác-minh mỏ-neo** và **đọc file chính-sách**. Mọi số tao tự cộng đều dán phép tính ra để `harness-audit` trừ.

---

## 0. FAIL-CLOSED GATE — không kích

| kiểm | kết-quả |
|---|---|
| INPUT PIN `harness-eval-return.md` | **TỒN TẠI · 24.015 B · 335 dòng** — có §9 VERDICT `MIXED 19 trục/14 signal` + §10 đủ 14 signal ⇒ **được phép đề-xuất** |
| `reinject-ledger.md` | đọc tươi — dòng `:34` **vẫn là placeholder** *"chưa có floor-rot nào được reinject"* ⇒ **ledger THẬT 0 dòng** (khởi-tạo S95, 2026-07-01, **5 tuần 0 dòng**). CG-1 **không chặn** đối-tượng nào ⇒ chốt-dừng phải dựng từ artifact. |
| `agent-memory/harness-refine/MEMORY.md` | 8.579 B — **ĐÓNG BĂNG**, xem 0b |

### 0b. 🔴 SỔ CHỐT-DỪNG CỦA TAO LẠI SAI — lần thứ hai, đúng lớp lỗi S159

Diary tao `mtime 2026-07-30 15:02`, git `e5123ff 07-30/15:13 = 8.579 B` — **y hệt số con-ĐO in hôm nay (8.579)**. Nhưng trên đĩa có **2 lượt refine sau đó**: `S163` (07-30 17:02, return 34.623 B) và `S168` (08-01 20:00, return 8.573 B). ⇒ **2 vòng KHÔNG vào sổ.**

Hệ-quả trực-tiếp: nếu tao đọc sổ chốt-dừng từ diary, tao **không biết** S163 đã đề 2 action archive và S168 đã đề 2 action distill ⇒ **rất dễ đề lại**. Phải dựng lại từ **8 file return trên đĩa** (S144 → S168). Đây **đúng vòng phản-hồi dương ghi ở S159**: khâu GHI hỏng ⇒ sổ sai ⇒ **khâu QUYẾT ĐỊNH hỏng theo**. → E4.

### 0c. SỔ CHỐT-DỪNG dựng lại từ đĩa (8 return, không từ diary)

| đối-tượng | attempt gần nhất | trạng-thái ĐO LẠI hôm nay | được phép đề lại? |
|---|---|---|---|
| `tooling-auditor/MEMORY.md` | A1@S162 ③ | **LAND & RESOLVED** (24.340→19.055); nay **20.332** | chu-kỳ cũ đóng-thành-công ⇒ chu-kỳ MỚI hợp-lệ — nhưng **chưa tới ngưỡng**, xem X4 |
| `implementer-backend/archive/2026-07.md` | A2@S162 ④ | **LAND** (`.gist.md` sinh, probe về IM) | đóng |
| `lead-gap-auditor/MEMORY.md` | A1@S163 ③ | **LAND** — 23.593 → **12.551** hôm nay, `_INDEX` 7/7 con-trỏ A7 | đóng |
| `harvest-curator/MEMORY.md` | A2@S163 ③ | **LAND** — 23.493 → **18.781** hôm nay | đóng |
| 14+3 shard `2026-05-*` / B+C | A1+A2@S168 ④ (SKIP) | lead QUYẾT skip V4 @S168 | đóng (lệnh phòng-vệ, không phải sửa vật) |
| `harness-refine/MEMORY.md` (`:22` + `## Luật cứng`) | **A3@S154 ② — attempt-1** | ❌ **KHÔNG LAND**: `## Luật cứng` vẫn đúng **3 bullet**; `:23` vẫn ghi *"CHƯA chạy lần nào; first-run chờ restart-CLI + spawn-probe + anh consent"* trong khi **9 vòng đã chạy** | 🔴 **CẤM attempt-2** ⇒ E4 |
| `cicd-monitor/archive/_INDEX.md` | A1@S153 ② (attempt-2, đã escalate) | ⭐ **ÁP-LỰC TỰ TAN**: rotate 2026-08-01 ⇒ main-file **9.682/20.480 = 47,3%** (trục 4) | **KHÔNG đụng** — vấn-đề hết bằng đường khác |
| 19 gist thiếu `COVERAGE-TOKENS` | A2@S153, escalate @S168 E3 | vẫn treo | CẤM lặp lần 6 ⇒ X12 |
| `measured{}` re-sync | escalate @S168 E2 | vẫn 17/23 + **quá hạn** | CẤM attempt-2 ⇒ E3 |

**Đọc thẳng:** 4/4 action của S162+S163 **đã land và đo-lại xác nhận** — cơ-chế thi-hành ĐANG CHẠY. Ngược lại, **món treo từ S153/S154 vẫn treo** và diary tao vẫn đóng băng ⇒ hai luồng khác nhau, không được gộp thành "hệ ổn" hay "hệ hỏng".

---

## 1. BẢNG ACTION — 4 lớp

| # | action | lớp | đối-tượng `file:path` | trigger (số con-ĐO) | chốt-dừng | owner-gate |
|---|---|---|---|---|---|---|
| **A1** | Phục-hồi vào L1 **2 mục persona-anchored** mà MFE báo thiếu (sau khi NÊU TÊN + phân-loại) | **① reinject** | `.claude/agent-memory/implementer-frontend/MEMORY.md` | **signal #9 / trục 19** — MFE `implementer-frontend 11/13 = 85%`, **vai DUY NHẤT dưới 100%** trong 23/23 vai có số | **attempt-1** (soát 8 return S144→S168: đối-tượng này **chưa từng** là đích action L1; chỉ từng xuất hiện ở lane ④ SKIP-shard `archive/2026-H2.md`@S168 = **vật khác, lane khác**). Ledger 0 dòng ⇒ CG-1 không chặn. 🔴 MFE vòng sau **vẫn 11/13** ⇒ **escalate OWNER, CẤM attempt-2** | **LEAD** thi-hành (B3 VERIFY→APPEND) + mở dòng ledger. **OWNER** chỉ khi kết-luận là build-gap cần cơ-chế mới |

### A1 — chi tiết (đọc hết trước khi thi hành)

**Mẫu-số là gì (đọc `memory-budget.json:100-107`, không suy):** MFE sub lấy denominator từ **role-file** `.claude/agents/implementer-frontend.md` (`role_file_glob`), các mục dưới header khớp `denom_header_anchors` = `["anti-pattern","split boundary","auto-refuse","boundary","NEVER"]`, rồi hỏi *"mục này có mặt trong DIARY không"* (khớp exact-id **hoặc ≥2 content-word** sau strip-dấu + stop-list). Persona có đúng **3 heading khớp neo**: `:19 Split boundary (CRITICAL)` · `:25 STRICT auto-refuse criteria` · `:61 Anti-patterns (DO NOT)`.
⇒ **"Thiếu" ở đây = LUẬT CỦA VAI không còn dấu vết trong sổ vai** — đúng lớp ①, không phải chuyện dung-lượng.

🔴 **PRECONDITION — tao KHÔNG biết 2 mục nào, và TỪ CHỐI ĐOÁN.** Danh-tính 2 mục phải đến từ **chính lượt MFE** (nấc 1 — `mfe-eval.ps1` biết nó trượt mục nào), **không từ tao**. Lý do là bài học đắt: S153 audit đã lật 2 BÁC của tao vì **grep-nhãn không đủ phân-giải**. Đoán sai ⇒ reinject **nhầm vật** ⇒ tệ hơn không làm.

**3 khả-năng, phân-loại theo phép-thử ledger `:12` TRƯỚC khi ghi:**
1. **floor-rot** (đã-ở-L1 ∩ còn-giá-trị ∩ rớt) ⇒ reinject **verbatim** + mở **dòng đầu tiên** của `reinject-ledger.md` (5 tuần 0 dòng — chu-kỳ này cũng là **phép thử xem CG-1 có chạy thật không**).
2. **build-gap** (chưa-từng-ở-L1) ⇒ **KHÔNG reinject**; đi dựng — ledger `:12` cấm đúng ca này.
3. **matcher-artifact**: nén-thành-hook làm mất **≥2 content-word** trùng với mục persona ⇒ điểm tụt mà **kiến-thức không mất** ⇒ ghi nhận, **không động vào file**.

**Vì sao ca này đáng nghi là (1) — dữ-kiện đĩa, không phải cảm-giác:** `implementer-frontend/MEMORY.md` bị **rút sâu ngày 08-01**: git `19eff22 09:52 = 26.894 B` → `d163f6d 10:54 = 10.083 B` ⇒ **−16.811 B = −62,5% trong 62 phút** (nay hồi lên 12.410). Vai bị cắt sâu nhất tuần **chính là vai duy nhất trượt coverage** — tương-quan đủ mạnh để BẮT BUỘC kiểm, chưa đủ để kết-luận.

**Nguồn verbatim nếu là (1):** `implementer-frontend/archive/2026-H2.md` (22.215 B) — tao đã kiểm **moved-not-cut** trên mẫu (xem X15), nên vật gần như chắc còn.

**Ràng-buộc ghép (lớp lỗi tao tự bắt @S162/S163):** A1 **chỉ thêm chữ vào MEMORY.md**, KHÔNG tạo file period mới ⇒ **không chạm** trục shard, **không chạm** `_INDEX` (impl-fe `_INDEX` 5.844 B, A7 44/44) ⇒ **0 trục lành bị phá**. Đây là action rẻ nhất trong 4 lớp ở lượt này.

### Zero có lý-do (KHÔNG nặn cho đủ 4 lớp)

- **② promote = 0** — chỗ đặt đúng duy-nhất là `harness-refine/MEMORY.md § Luật cứng`, mà đối-tượng đó **đã tiêu attempt-1 @S154 và trượt** ⇒ luật của chính tao cấm lần 2 (X5/X6 → E4). Né sang file khác chỉ để có action = **đúng anti-pattern tao đặt tên**.
- **③ archive = 0** — máy nói thẳng: `over? = no` **23/23**, `strike = 0` (trục 12), `l1_over_30kb=false` 23/23 (trục 7). **Chỉ 1/23 vai trên low-water 21.760** (`inv-cb` 22.452) và vai đó **đứng yên 5 ngày** (X1). Đề drain khi 0 ngưỡng bị vượt = làm việc cho có.
- **④ distill = 0** — 🔴 **fail-closed theo trục**: dòng `nhip-no-probe` lượt này **KHÔNG in trục shard/distill** (chỉ light·deep·tran-bo-nho·l2idx·run-chua-gom·pull-cach). Số `pending=17|nguong=15` là **của S168**, không phải của lượt này ⇒ neo vào nó là **vi-phạm chính hợp-đồng của tao**. Trục không được đo ⇒ tao không đề.

---

## 2. ĐÃ CÂN-NHẮC RỒI **BÁC** (14) — mục bắt buộc, không được rỗng

| # | ứng-viên đã soi | vì sao BÁC |
|---|---|---|
| **X1** | ③ archive `investigator-codebase/MEMORY.md` — **22.452 B = 87,7% cap, vai NẶNG NHẤT roster, vai DUY NHẤT trên low-water 21.760 (+692 B)** | **BÁC: đứng yên 5 ngày.** `mtime 07-29 16:14`, git `5dc63f7 07-29/16:18 = 22.452` — **0 byte đổi** qua S160→S169. S168 X13 đã BÁC đúng đối-tượng này với đúng lý-do ("vai đó đứng yên"); nay im lâu hơn ⇒ **lý-do MẠNH hơn, không yếu đi**. Đệm 3.148 B, gate `over?=no`. Vai không được spawn ≠ vai phình. **Nhưng số của nó bị con-ĐO bỏ sót ở §10 ⇒ xem C-1.** |
| **X2** | ③ archive `ring2-audit/MEMORY.md` 20.062 B (78,4%) | BÁC: **dưới low-water 21.760 1.698 B**, gate `over?=no`, strike 0. Drain lúc này = **AI tự đặt ngưỡng thay owner**. Quỹ-đạo (git) đưa sang **E2**, không thành action. |
| **X3** | ③ **dựng sẵn lane** `archive/_INDEX.md` cho 13/23 vai chưa có | BÁC 2 tầng: (a) `_INDEX` rỗng **không cứu được byte nào** — cứu byte là lúc CHUYỂN nội-dung; (b) thêm file rỗng vào tập-đo A7 để "sau này đỡ việc" = **giàn-giáo cho có**, đúng lớp X13@S168. Là **build-gap** ⇒ ledger `:12` bắt đi dựng cơ-chế, không phải đề action ⇒ **E2**. |
| **X4** | ③ archive `tooling-auditor/MEMORY.md` 20.332 B (79,4%) | BÁC: chu-kỳ A1@S162 **đóng thành-công** (24.340→19.055); mọc lại **+1.277 B** và vẫn **dưới low-water 1.428 B** ⇒ chu-kỳ mới **chưa mở**. Đề bây giờ = drain theo thói quen, không theo ngưỡng. |
| **X5** | ② promote luật **"chữa trục A có thể phá trục B"** (lặp **≥3**: E1@S162 `_INDEX` va F-02 · COUPLING@S163 shard · guard-tên-gộp miss@S168) | BÁC **dù luật rất đáng promote**: chỗ đặt đúng = `harness-refine/MEMORY.md § Luật cứng` — **đối-tượng đã tiêu attempt-1 @S154 và trượt** (đo hôm nay: vẫn 3 bullet). 🔴 Tao chọn **cách đọc CHẶT (đối-tượng = file)** thay vì cách đọc lỏng (đối-tượng = từng item) — cách lỏng cho tao đề mãi trên cùng một file, đúng thứ luật cấm. ⇒ **E4**. |
| **X6** | ② promote luật **"proxy mtime/ngày ⇒ CẤM neo action"** (S153 A3, tái-chứng @S168 X7: 1 ngày chứa 3 phiên) | BÁC cùng lý-do X5 (cùng file bị khoá). Ghi để không mất: **lượt này tao lại xài nó** — X1 bác chính ứng-viên của tao bằng `git show` chứ không bằng mtime. Luật sống trong **hành-vi**, chưa sống trong **file**. |
| **X7** | ④ distill bất-kỳ shard nào | BÁC: **lượt này 0 số cho trục shard** (xem Zero-④). Mượn số S168 = trộn kỳ đo, đúng lỗi tiền-đề mà audit trừ tao ở S159. |
| **X8** | ①/③ theo **signal #8** (5 vai phình +240%…+511%) | BÁC: **% trên nền seed ~1,5 KB là ảo-giác quy-mô**. Tuyệt-đối: `harness-audit` 9.248 = **36,1%** cap · `harness-refine` 8.579 = **33,5%** · `harness-eval` 7.357 = **28,7%** · `lead-gap` 12.551 = **49,0%** — 4/5 vai này đang **đổ đầy đúng hướng** (seed rỗng → sổ có nội-dung), drain chúng là **phá việc đang đúng**. Chỉ `lead-stale` 19.342 = **75,6%** là số thật đáng theo ⇒ **E2**. |
| **X9** | Action cứu **headroom / sàn-file** (signal #1,2,3) | BÁC bằng cơ-học (S168 X11, kiểm lại vẫn đúng): `hotload_sources` **0/6 mục là agent-memory** ⇒ archive **toàn bộ** corpus 23 vai về 0 cũng **không dịch headroom 1 byte**. Nút thắt ở `docs/` ⇒ **NHƯỜNG N1** (RANH SẮC). |
| **X10** | Đề action trên `run-chua-gom = 4` (signal #4) | BÁC: **trục H2**. Tao **không mở 4 run-folder**. ⇒ **NHƯỜNG N2**. |
| **X11** | Đề lại `measured{}` re-sync thành ACTION (signal #5) | BÁC: **đã escalate @S168 E2** ⇒ luật cấm attempt-2 sau khi đã leo-thang. Chỉ **cập-nhật datum** ⇒ **E3**. |
| **X12** | Đề lại `COVERAGE-TOKENS` 19 gist (A2@S153) | BÁC: treo từ S153, escalate @S168 E3 ⇒ **lần 6 = lặp vô-hạn**. Không đề. |
| **X13** | ④ self-compact `harvest-curator` theo `self_target_bytes` 17,1K | BÁC (lần 3, lý-do **không đổi vì thước không đổi**): thước **0 script-consumer**, owner **chưa duyệt**; máy đo harvest **18.781 = 73,4% cap**, dưới low-water. Vai tự ràng mình vào số owner chưa duyệt = **Goodhart chiều ngược**. |
| **X14** | "Vá" hazard `l2_index` 2-mẫu-số (signal #12) bằng đổi tên trục / nới cap | BÁC: đổi **hình-dạng thứ đang bị đo** = **rời tập-đo**. Và trục này vừa **GỠ thật** (95,14% → 47,3% nhờ rotate) — đụng vào lúc nó vừa lành là rủi ro thuần. Nhãn của máy đo ⇒ **NHƯỜNG N3**. |
| **X15** | 🔴 ① reinject theo giả-thuyết *"drain 08-01 CẮT MẤT mục auto-refuse của impl-fe"* | **BÁC BỞI CHÍNH ĐĨA — tao tự lật ứng-viên của mình.** Bản trước drain (`19eff22`) có hẳn `## S152 — R1 retention-note 2 ranh auto-refuse`, nay **không còn ở L1**. Trông y hệt floor-rot. Mở đĩa: **moved-not-cut** — verbatim ở `archive/2026-H2.md:78`, **và hook 1 dòng vẫn còn** ở `MEMORY.md:46` (*"2 ranh auto-refuse: việc <30min/trivial… KHÔNG hạ chuẩn"*). ⇒ **KHÔNG rơi.** Nếu tin giả-thuyết, tao đã đề reinject một thứ chưa hề mất — và làm hỏng dòng đầu tiên của ledger. |

---

## 3. ESCALATE (5) — nộp datum, **KHÔNG đề lại** (mọi món dưới đây đã hết quota attempt hoặc ngoài quyền vai)

### 🔴 E1 — RÚT SÂU QUÁ MỨC: một lượt drain cắt **62,5%** file, xuống **11.677 B DƯỚI** mốc hãm

`implementer-frontend/MEMORY.md` ngày 08-01: `19eff22 09:52` = **26.894 B** (đã **VƯỢT** `autoinject_cap` 25.600 **1.294 B**) → `d163f6d 10:54` = **10.083 B**. **−16.811 B / 62 phút / −62,5%**, đáp xuống **39,4% cap**.
Luật hãm `archive_gate.A4` (budget.json `:80`) viết: *"drain to BELOW low_watermark (not just to the line)"* — `low_watermark_ratio 0.85 × 25.600` = **21.760**. Lượt drain này đi **quá mốc hãm thêm 11.677 B**, tức **~2,5× sâu hơn** mức luật đòi.
🔴 **Ghép với signal #9:** vai bị cắt sâu nhất tuần **chính là vai duy nhất trong 23 vai trượt MFE (11/13)**. Tao **không kết-luận nhân-quả** (chưa biết 2 mục nào — A1 precondition), nhưng đây là **cặp dữ-kiện chỉ vị-trí này thấy**: con-ĐO đo `l1_hot` và `MFE per-role` ở **2 mục rời nhau** (§2a ⟂ §5d), và bản-thân đỉnh 26.894 B **không xuất hiện trong bất-kỳ trục nào** — nó chỉ có trong git.
**Câu hỏi cho OWNER (số = quyền anh):** A4 có cần **SÀN** không — "rút tới dưới low-water rồi DỪNG", thay vì rút tự-do tới 39%? Hiện luật chỉ có **trần**, không có **sàn**.

### E2 — 2 vai leo đều, **không có lane để đổ**, và con-ĐO **không có baseline để thấy** (trả lời signal #6+#7)

Signal #7 tự nêu câu hỏi mở: *"ring2 gần-cap mà **không có baseline để biết nó đang tăng hay đứng**"*. Tao trả lời bằng git (đây là việc của nấc 2 — biến tín-hiệu thành quyết-định-được):

| vai | live | %cap | quỹ-đạo git (6 mốc, **đơn-điệu tăng**) | bước gần nhất | đệm tới cap |
|---|---|---|---|---|---|
| `ring2-audit` | **20.062** | 78,4% | 10.373 → 11.969 → 13.964 → 15.593 → 18.173 → **20.062** | **+1.889 B** | 5.538 B ⇒ **~3 mốc seed** |
| `lead-stale-auditor` | **19.342** | 75,6% | 10.831 → 12.316 → 14.078 → 15.737 → 17.732 → **19.342** | **+1.610 B** | 6.258 B ⇒ **~4 mốc seed** |

🔴 **Đơn-vị là MỐC SEED, KHÔNG phải NGÀY** — tao cố ý không viết "B/ngày" (đúng vết trượt audit đã trừ tao ở S159: *"+2.639 B/1 ngày"* thật ra là 9h52). Span 6 mốc = 07-25 20:13 → 08-01 09:30.
**Và cả hai KHÔNG có `archive/` nào** (`ls` xác nhận: chỉ mỗi `MEMORY.md`). Tổng **13/23 vai không có lane** (A7 liệt đúng **10** vai có `_INDEX`). ⇒ khi vượt cap, việc phải làm không phải "chuyển 1 khối" mà là **dựng lane + đổ + lập _INDEX ngay lúc đang cháy**.
**Vì sao chỉ escalate:** cả hai **dưới low-water**, gate `over?=no` ⇒ tao **không được** tự đặt ngưỡng (X2/X3). Đây là **build-gap**, ledger `:12` bảo đi dựng cơ-chế chứ không reinject. **Lead/owner quyết mở lane trước hay chờ gate kêu.**

### E3 — `measured{}`: hạn **tự-khai đã VỠ**, và phần mù **to thêm** (cập-nhật, không đề lại)

`_note` tự viết 3 lần *"full re-sync bằng script @drift-audit **2026-08-01**"*; hôm nay **08-03** ⇒ **vỡ hạn 2 ngày**. Escalate @S168 E2 ⇒ **không đề lại**, chỉ nộp số mới:
**Khối mù theo BYTE (cộng từ chính 23 số con-ĐO in):** 6 vai không baseline = 14.442+5.229+11.798+13.995+20.062+2.315 = **67.841 B**; tổng L1 23 vai = 237.350 (17 vai có baseline) + 67.841 = **305.191 B** ⇒ **67.841/305.191 = 22,2% corpus vô hình**.
So mốc S168 (**65.100/302.450 = 21,5%**, số của lượt đó): **khối mù TĂNG +2.741 B** — không đứng yên. "17/23 dòng" nghe như thiếu vai lẻ; **theo byte là mù hơn một phần năm và đang dày lên**.

### E4 — 🔴 Diary của chính tao: attempt-1 trượt, **CẤM attempt-2**, leo-thang

Đối-tượng `harness-refine/MEMORY.md` đã tiêu attempt-1 (**A3@S154**) và **không land**. Đo lại hôm nay: `## Luật cứng` vẫn **3 bullet**; `:23` vẫn khẳng-định *"CHƯA chạy lần nào; first-run chờ restart-CLI + spawn-probe + anh consent"* — **sai sự-thật** (9 vòng đã chạy, artifact đầy trên đĩa); file **đóng băng ở 8.579 B từ `e5123ff` 07-30/15:13**, mất trắng S163 + S168.
**Không phải nợ trang-trí:** đây là vòng phản-hồi dương — sổ đóng băng ⇒ sổ chốt-dừng sai ⇒ **quyết-định đề-xuất sai theo**. Lượt này tao mất công dựng lại từ **8 file return**; lượt sau người kế-nhiệm phải làm lại y hệt.
**Cửa nào (theo luật 2-cửa của chính vai này):** **cửa B — chưa-từng-thực-thi, 0 byte đổi** ⇒ **LEAD disposition** {thi-hành A3@S154 nguyên-văn + append S163/S168 · HOẶC **HỦY và ghi rõ là hủy**}. 🔴 Nếu hủy mà không ghi, vòng sau lại đào lên đúng món này lần thứ 4.

### E5 — `reinject-ledger` **0 dòng suốt 5 tuần** không phải "không có gì rơi" (1 dòng, không đề lại)

Từ S95 (07-01) tới nay **0 dòng**, trong khi riêng 8 ngày qua có **≥5 lượt rút sâu** (impl-fe 08-01 −16.811 B · inv-cb 07-28→29 · lead-gap S163 −11.042 · harvest S163 −4.712 · tooling S162 −5.285). Chính ledger `:50` tự khai **BUILD-GAP**: phát-hiện per-item-L1-presence còn **PARTIAL**. ⇒ ô trống là **thiếu máy soi**, không phải bằng-chứng lành. Lớp ① bất-động 5 vòng vì **thiếu nguồn cấp**; MFE per-role lượt này là **máy soi gần nhất ta có, và nó vừa chạy lại sau 3 vòng vắng** ⇒ A1 là lần đầu lớp ① có mỏ-neo hợp-lệ.

---

## 4. NHƯỜNG (5) — RANH SẮC

| # | tín-hiệu | chủ đúng | ghi chú bàn-giao |
|---|---|---|---|
| **N1** | #1 headroom 152.968 (−12.799) · #2 gap 57.032 · **#3 sàn-file 681.096 B (`STATUS` 32,8% + `HANDOFF` 24,4% = 57,2%)** | **`lead-gap-auditor`** | 🔴 Tuyệt-đối không phải turf tao. Bổ-sung 1 dữ-kiện cơ-học để bên đó khỏi đi đường vòng: `hotload_sources` **0/6 là agent-memory** ⇒ mọi action của tao **không dịch được headroom**. Cả 3 signal nặng nhất lượt này nằm **ngoài** lane tao — nói thẳng để không ai đọc "refine ít action = refine lười". |
| **N2** | #4 `run-chua-gom = 4` (từ 1) | `harvest-curator` (H2) | Tao không mở folder nào. |
| **N3** | #10 latch chỉ canh `strikes_total` · #11 `pull_warn_days` không tồn tại (nêu từ S153) · #12 hazard 2-mẫu-số `l2_index` | `tooling-auditor` | Cả 3 là **máy-đo tự nó**. #12 có luật `split_rule_S167` nhưng luật nằm trong `budget.json`, **không nằm cạnh con số** — đó là chỗ dễ vấp, con-ĐO đã tự khai vấp 1 lần. |
| **N4** | #13 residual `.mfe-state.json` (+185 B) · #14 **4 file `M` lạ** (`investigator-codebase.md`, `run.md`, `HANDOFF.md`, `STATUS.md`) | **LEAD** (containment) | Tao **không chạm** 4 file đó. Riêng `.claude/agents/investigator-codebase.md` là **persona của vai X1** — nếu ai đó vừa sửa persona thì mẫu-số MFE của vai đó đổi, đáng soát cùng lượt. |
| **N5** | Chấm điểm / VERDICT bản này | `harness-audit` (nấc 3) | Tao không tự-chấm. |

---

## 5. ĐÍNH CHÍNH CON-ĐO (2) — số học trên **chính bảng của nó**, 0 instrument chạy lại

**C-1 — §10 signal #7 bỏ sót ĐÚNG CÁI ĐỈNH.** Signal #7 viết *"Gần `autoinject_cap` 25.600 nhất: `tooling-auditor` 20.332 (79,4%) · `ring2-audit` 20.062 · `lead-stale` 19.342"* — **không có `investigator-codebase` 22.452 = 87,7%**, tức **vai gần cap nhất bị rơi khỏi danh-sách "gần cap nhất"**. Số đó **có** trong §3 (*"Cao nhất: investigator-codebase 22.452"*) ⇒ **thân bài đúng, danh-sách tín-hiệu lệch**. Hệ-quả thật: ai chỉ đọc §10 mà hành-động sẽ **drain nhầm vai**. (Tao vẫn BÁC drain nó — X1 — nhưng vì *đứng yên*, không vì *nó không gần cap*.)

**C-2 — trục 8, thành-phần lệch dù TỔNG đúng.** §8 ghi *"6 giảm / 10 tăng / 1 y-nguyên"*. Đếm lại trên **chính bảng §2a**: giảm = cicd −2.944 · reviewer −1.553 · impl-be −8.269 · fe-designer −5.119 · impl-fe −1.842 = **5**; tăng = inv-cb, test-spec, harvest, tooling, inv-api, database, lead-stale, lead-gap, h-eval, h-refine, h-audit = **11**; y-nguyên = office = **1**. **5+11+1 = 17 ✓** — tổng khớp, nên **phép tự-cộng của con-ĐO không thể bắt được lỗi này**. Verdict trục 8 = MIXED **không đổi**; ghi vì đúng lớp lỗi "đếm-về-mình" mà đội đã ngã nhiều lần.

---

## 6. TỰ KHAI (để `harness-audit` trừ điểm được)

1. **0 instrument chạy lại.** Chỉ `ls -la`, `wc -c`, `git log/show`, `grep -c`, `Read`. Không chạm `measure`/`mfe`/`gate`/`backfill`/`probe`. **0 file bị tao ghi ngoài chính artifact này** (không Write/Edit ở đâu khác; lead soát `git status` sau lượt là đúng luật — caveat "read-only = chặn-thiếu-tool, KHÔNG sandbox").
2. 🔴 **Đĩa lật ngược ứng-viên của chính tao 2 lần:** (i) **X15** — giả-thuyết "drain cắt mất mục auto-refuse" chết vì `archive/2026-H2.md:78` + hook `:46` còn nguyên (**moved-not-cut**); (ii) **X1** — định đề archive `inv-cb` vì nó là **vai nặng nhất + vai duy nhất trên low-water**, `git show` cho thấy **0 byte đổi 5 ngày** ⇒ tự bác. Nếu chỉ đọc số §10 mà không chạm đĩa, lượt này tao đã đề **2 action dương-giả**.
3. **A1 có PRECONDITION chưa thoả** — tao **không biết 2 mục MFE nào thiếu** và **từ chối đoán**. Đây là điểm yếu thật của A1: nó là action **có điều-kiện**, không phải lệnh thi-hành thẳng. Tao chọn thế vì đoán sai ⇒ reinject nhầm vật ⇒ hỏng luôn dòng đầu tiên của ledger.
4. **Tao NẰM TRONG tập đang xét** — `harness-refine/MEMORY.md` là đối-tượng của E4, và tao là bên vừa hưởng lợi nếu nó được sửa. Vì thế tao **để nó ở ESCALATE, không nâng thành action**, dù cách đọc lỏng (đối-tượng = từng item) cho phép. Mời `harness-audit` soi đúng chỗ này.
5. **Chỉ 1 action** — không phải vì corpus lành toàn diện, mà vì **3 signal nặng nhất (#1,#2,#3) nằm ngoài lane tao** (N1) và **trục byte của agent-memory lượt này thật sự sạch** (23/23 dưới cap, strike 0, A7 429/429, l2_index vừa gỡ 95,14%→47,3%). Nặn thêm action = X13@S168 mà tao vừa BÁC lần nữa (X3).
6. **Sai-số phép đo của tao:** `wc -c`/`git show | wc -c` lệch ±1-2 B khi thiếu newline cuối; mọi kết-luận ở trên có biên **≥3×** hoặc là **nhị-phân (có/không)** nên không lật được vì ±2 B. Các % tao tự chia đều ghi kèm 2 số gốc để kiểm lại.
7. **Số cũ dùng để so đều DÁN NGUỒN, không trộn vào "số lượt này":** 65.100/302.450 (S168 return) · 23.593/23.493 (S163 return) · 24.340→19.055 (diary S162) · `pending=17|nguong=15` (S168, và **vì thế tao KHÔNG neo action ④ vào nó**).
8. **Đề-xuất ≠ đã-làm.** A1 propose-only, single-writer = lead (B3 VERIFY→APPEND). Không món nào ở đây được coi là đã thi-hành.

---

END harness-refine-S169 — TOTAL=1 action (① nạp-lại **1** · ② thăng-hạng 0 · ③ lưu-kho 0 · ④ chưng-cất 0) — BÁC=14 — ESCALATE=5 — NHƯỜNG=5 — ĐÍNH-CHÍNH-CON-ĐO=2 — 0 file bị chạm ngoài artifact này
