# harness-audit — S163 (L9) — nấc KIỂM (3/3) bộ-ba đồng-kiểm memory

> Giao-thức chống-#53: **APPEND TỪNG VERDICT ngay khi chấm xong** (không gom, không skeleton). Ghi bằng `Write`/`Edit` — **KHÔNG heredoc** (bẫy `cat <<EOF` đã làm §4–§6 của nấc 2 không land trong chính phiên này). Sau mỗi lần ghi: verify bằng `grep -c`.

---

## §0. PIN — verify TỒN-TẠI trước khi chấm (fail-closed)

Pin đích-danh lead cấp: `.claude/workflows/runs/2026-07-30-S163-bookend-open/`. **KHÔNG tự tìm "run mới nhất"** (`ls -t`/glob newest bị cấm).

```
test -d <pin>                       => DIR OK
test -s harness-eval-return.md      => non-empty, 21002 B  mtime 2026-07-30 16:43:27
test -s harness-refine-return.md    => non-empty, 34623 B  mtime 2026-07-30 17:02:42
```

- **P0.1 — PIN tồn tại + non-empty: ĐẠT.** 2/2 return file có thật, byte > 0, khớp byte lead khai (21.002 / 34.623) **byte-exact**.
- **P0.2 — Kích-thước khai của lead khớp đĩa: ĐẠT.** eval 21.002 B ✓ · refine 34.623 B ✓ · refine 218 dòng ✓ (`wc -l` = 218).
- **P0.3 — TUẦN-TỰ (không chạy song song): ĐẠT.** mtime-chain **16:43:27 (ĐO) → 17:02:42 (ĐỀ-XUẤT) → lượt tôi (sau 17:03)** — đơn-điệu tăng. Nấc 2 đọc được bản CUỐI của nấc 1, tôi đọc bản CUỐI của cả hai. Không có ca "chấm bản cũ".
- **P0.4 — folder có đủ artifact nền:** 6 sub-file ring/H2/H24 (16:16→16:44) + `run.md` (16:21). Tổng 9 file. Không thiếu vật để đối-chứng.

**Post-wave (yêu-cầu #6), đo NGAY khi mở lượt:**
```
git status --short
 M .claude/governance/.session-counter.json
 M .claude/workflows/runs/2026-07-30-S163-bookend-open/harness-refine-return.md

find .claude -type d -empty   => (0 dòng)
```
- **P0.5 — 0 tracked-change ngoài run-folder: ĐẠT có sắc-thái.** 2 file M: 1 **trong** run-folder (refine, hợp-lệ), 1 là `.session-counter.json` = **counter 37 tick** — đây là vết của nghi-thức bookend, **không phải** corpus agent-memory. **0 file `.claude/agent-memory/**` bị chạm.**
- **P0.6 — empty-dir scan = 0: ĐẠT.** Xác nhận stray 16:26 (3 thư-mục rỗng) **đã bị xoá thật**, không phải chỉ khai. Đây là phép mà `git status` **mù** — chạy riêng đúng như lead chỉ.

---

## §1. RE-CHẠY INSTRUMENT — đối-chứng BYTE-EXACT (bắt buộc ≥2, tôi chạy **4**)

### 1.0 🔴 FREEZE-CHECK trước đã (bài S162-F14: đo trên cây LIVE ⇒ báo sai cho CẢ HAI nấc)

S162 tôi đã bị dính: lead thi hành action **giữa lượt** làm tooling 24.340 → 19.055, phải dựng cây đóng-băng bằng `git archive`. Lượt này kiểm trước khi đo:
```
git diff --stat HEAD -- .claude/agent-memory   => RỖNG (corpus tracked y hệt HEAD)
mtime lead-gap-auditor/MEMORY.md  = 2026-07-30 15:02:32   (TRƯỚC eval 16:37)
mtime harvest-curator/MEMORY.md   = 2026-07-30 15:02:32   (TRƯỚC eval 16:37)
```
- **F0 — falsify "cây đã dịch giữa lượt, số 2 nấc là ảnh cũ": `HELD`** (phá không được). Corpus đóng-băng từ **15:02**, cả 3 lượt (ĐO 16:37 · ĐỀ-XUẤT 17:02 · KIỂM nay) đo **cùng một cây**. ⇒ đo trực-tiếp trên cây live lượt này là **hợp-lệ**, không cần `git archive`. Đây là **khác biệt phương-pháp so S162** và tôi kiểm chứ không giả-định.

### 1.1 `(Get-Item).Length` — `cicd-monitor/archive/_INDEX.md` (số load-bearing của E1)

```
LENGTH_BYTES=20313   MTIME=2026-07-29T14:49:40   PCT=99.18   HEADROOM=167
```
| số con-ĐO cite | tôi re-dựng | verdict |
|---|---|---|
| 20.313 B | **20313** | **KHỚP byte-exact** |
| 99,18% cap 20.480 | **99.18** | **KHỚP** |
| headroom **167 B** | **167** | **KHỚP** |
| mtime 07-29T14:49:40 | **2026-07-29T14:49:40** | **KHỚP tới giây** |

- **R1.1 — ĐẠT.** Dùng `Get-Item .Length` đúng như lead cảnh-báo, **KHÔNG** `Get-Content` (bẫy encoding E-010 báo sai ×2-3). Cả 4 trường khớp.
- Hệ-quả: nền số của **E1 (claim chặn-việc nặng nhất phiên)** và **trục 3 REGRESSION** đứng vững ở phần "167 B".

### 1.2 `scripts/measure-agent-memory.ps1` — CHẠY TƯƠI, đối-chứng **cả 23 row**

Tôi không chỉ đối 1-2 vai lead gợi ý; tôi đối **toàn bảng** vì đây là nền của A1+A2+X2+trục 1/2/6/7.

```
AGENT_COUNT=23
lead-gap-auditor 23593 | harvest-curator 23493 | investigator-codebase 22452 | cicd-monitor 20109
implementer-frontend 19745 | test-specialist 19391 | tooling-auditor 19055 | implementer-backend 19043
ring2-audit 18173 | lead-stale-auditor 17732 | reviewer 17334 | frontend-designer 16373
ctx-audit 14442 | ring1-audit 11254 | harness-audit 9248 | database-agent 9038 | investigator-api 9021
harness-refine 8579 | ctx-verifier 8552 | harness-eval 7357 | ctx-curator 3556 | office-document 3323
ring4-audit 2315
l2_index: cicd 20313 | reviewer 13941 | inv-cb 12448 | impl-be 10487 | harvest 7986 | impl-fe 5844
          test-spec 5404 | tooling 3672 | fe-designer 2435 | lead-gap 963 | (13 vai còn lại 0)
l1_over_30kb = False cho CẢ 23
SUM_L1 = 323178
```

- **R1.2 — ĐẠT, 23/23 row + 10/10 row l2_index BYTE-EXACT.** **0 lệch trên 33 số.** Hai số A1/A2 neo vào (**23.593** · **23.493**) khớp tuyệt-đối. `AGENT_COUNT=23` khớp roster 23 lead cấp.
- **R1.3 — ĐẠT, và đây là phép tôi tự thêm:** `SUM_L1 = **323178**` do **instrument** cộng — trùng **byte-exact** con số **323.178 B** mà nấc ĐỀ-XUẤT **tự cộng tay** ở X2 (`:157`). 🔴 Đáng ghi vì **S162 tôi TRƯỢT đúng chỗ này** (E4: tổng L1 cite 303.937 vs re-dựng 303.883, lệch −54 B). Lượt này **phép cộng tay của nấc 2 là đúng tuyệt-đối** — lớp lỗi cũ **không tái-phát**.
- **R1.4 — ĐẠT:** `0/23 l1_over_30kb` ⇒ trục 1 HEALTHY của con ĐO đứng.

### 1.3 `scripts/memory-archive-gate.ps1` — CHẠY TƯƠI, DRY-RUN

```
A7 GATE PASS  -  total pointers 413, resolved 413, failed 0
cicd 105/105 · reviewer 57/57 · inv-cb 56/56 · harvest 46/46 · impl-fe 44/44 · impl-be 43/43
test-spec 28/28 · tooling 20/20 · frontend-designer 9/9 · lead-gap 5/5
(no sub over cap - hot tier within auto-inject budget)   |   strike = 0 toàn bộ
entry: lead-gap 9 · lead-stale 6 · office-doc 3 · reviewer 16 · ring1 6 · ring2 7 · ring4 2 · test-spec 18 · tooling 11
```
- **R1.5 — ĐẠT, 413 + 10/10 per-agent + 9/9 entry-count BYTE-EXACT.** Tự cộng lại: 105+57+56+46+44+43+28+20+9+5 = **413** ✓. Meta-count của con ĐO (chỗ tôi từng bắt nó ngã S151/S153/S162) lượt này **đúng**.
- **R1.6 — ĐẠT:** `lead-gap 9 entry` ⇒ phép keep-floor của A1 (9−2 = 7 ≥ 5) có nền thật. `harvest 10 entry` (con ĐO in) ⇒ A2 floor cũng có nền.

### 1.4 `scripts/mfe-eval.ps1` — CHẠY TƯƠI

```
lead hot-feed cap (live) = 380000 tok | mem-sub cap = 60000 tok
marks(Active+High)=9  AS-classes=15  net-extra-guards=5  net-extra-recurring-gotchas=7
=> DENOMINATOR = 36 items  (raw: marks 9 + AS 15 + guards 16 + recurring 8)
span bytes=28492 => ~7123 - 9497 tok / cap 380000 tok = 2.5% worst-case   FIT = PASS
error-ledger: strikes_total=25  RCA_entries=16  AS-classes=15  (warn-baseline=25 last_run_strikes=25)
per-role: 23 vai, TẤT CẢ 100% - cicd 10/10 · ctx-audit 10/10 · ctx-curator 6/6 · ctx-verifier 7/7
  · database-agent 7/7 · frontend-designer 2/2 · harness-audit 5/5 · harness-eval 5/5 · harness-refine 5/5
  · harvest 7/7 · impl-be 18/18 · impl-fe 13/13 · inv-api 7/7 · inv-cb 8/8 · lead-gap 6/6 · lead-stale 6/6
  · office-doc 6/6 · reviewer 8/8 · ring1 5/5 · ring2 5/5 · ring4 5/5 · test-spec 6/6 · tooling 8/8
```
- **R1.7 — ĐẠT: `FIT PASS 2,5%` khớp byte-exact** (span 28.492 · range 7.123–9.497 · cap 380.000).
- **R1.8 — ĐẠT: `strikes 25` khớp**, kèm `warn-baseline 25 / last_run 25` ⇒ delta 0, không Goodhart-rise. RCA 16 · AS 15 khớp.
- **R1.9 — ĐẠT: per-role 23/23 = 100% khớp TỪNG PHÂN-SỐ** — tôi đối chiếu cả 23 cặp tử/mẫu (10/10, 6/6, 18/18, 13/13 …), **0 lệch**. Con ĐO chép đúng cả 23 dòng.
- **R1.10 — ĐẠT: DENOMINATOR 36.** Tự cộng 9+15+5+7 = **36** ✓ — nhãn khớp tổng (đúng lớp lỗi "nhãn ≠ tổng" con ĐO tự nêu).
- ✅ **Caveat của con ĐO được xác nhận là THẬT, không phải khiêm-tốn giả:** máy in nguyên-văn `[SUB] ... (no persistent diary; their only memory channel is the lead-injected memory-pack -> source-vs-cap is meaningless)`. ⇒ câu "100% = coverage-có-mặt-trong-diary, KHÔNG phải nhớ-đúng-áp-đúng" là **trung thực**, không được đọc thành chất-lượng nhớ.

### 1.5 🔴 VẾT-GHI CỦA CHÍNH LƯỢT TÔI (khai thẳng — persona tôi ghi "read-only")

| file | trước lượt tôi | sau lượt tôi | ai ghi |
|---|---|---|---|
| `.claude/agent-memory/.mfe-state.json` | 1.990 B @16:37:38 | **2.360 B @17:09:33 (+370 B)** | `mfe-eval.ps1` — **tôi gây ra**, chạy 2 lần |
| `.claude/agent-memory/.archive-strikes.json` | 558 B @07-25 22:12:05 | **558 B @07-25 22:12:05 (0 delta)** | không ai ⇒ **chứng DRY-RUN không persist strike** ✓ |
| `harness-audit-return.md` | (chưa có) | file này | **tôi**, theo chỉ-thị lead |

- 🔴 **Khai:** persona tôi ghi *"read-only = chặn-THIẾU-tool"*. **Lượt này KHÔNG đúng nguyên văn** — tôi có Write/Edit/Bash và instrument tôi chạy đã **ghi vào corpus-adjacent state**. Containment THẬT = lead soát `git status`.
- 🔴 **DATUM MỚI cho lead (không nấc nào bắt được, vì chỉ lộ ra khi nhìn git-log):** `.mfe-state.json` **là file TRACKED**, và vết ghi +185 B của con ĐO lúc 16:37 **đã bị `wal: flush 20260730T1646` (`7f55b4f`) COMMIT vào lịch-sử** (HEAD blob = 1.990 B = đúng byte con ĐO tạo ra). ⇒ **backstop "lead soát `git status` sau lượt" đã bị WAL-flush chạy trước làm rỗng**: đến lúc lead soi thì file đã sạch vì *đã commit*, không phải vì *không ai ghi*. Vết ghi của tôi (+370 B) hiện **đang** ở `git status` — lead cần xử trước flush kế. **Nêu verbatim, KHÔNG tự chấm** (cơ-chế WAL/commit-gate = ngoài trục tôi → escalate lead).

---

## §2. VERDICT PER-CLAIM

### 2A — con ĐO `harness-eval` (23 claim chạm được)

| # | claim | tôi re-dựng | verdict |
|---|---|---|---|
| Đ1 | roster 23 agent + 23 giá-trị `l1_hot` | `AGENT_COUNT=23`, 23/23 trùng | **ĐẠT** |
| Đ2 | 0/23 vượt soft-cap 30.720 | `l1_over_30kb=False` ×23 | **ĐẠT** |
| Đ3 | max lead-gap 23.593 = 76,8% soft / 92,2% autoinject | 23593/30720=76,8% · /25600=92,2% | **ĐẠT** |
| Đ4 | l2_index 10 vai (cicd 20.313 … lead-gap 963) | 10/10 trùng | **ĐẠT** |
| Đ5 | `_INDEX` 20.313 B · 99,18% · headroom 167 · mtime 07-29T14:49:40 | 4/4 trùng (§1.1) | **ĐẠT** |
| Đ6 | cicd l2_index **+1.539** vs budget 18.774 | 20313−18774 = **1539** | **ĐẠT** |
| Đ7 | `measured{}` = **17/23** row | `MEASURED_ROWS=17` | **ĐẠT** |
| Đ8 | 6 vai thiếu row = ctx-audit/curator/verifier + ring1/2/4 | liệt-kê máy in trùng **6/6 tên** | **ĐẠT** |
| Đ9 | **16/17** row lệch; chỉ `office-document` khớp 0 | `EXACT_MATCH=1 DEVIATE=16`, khớp = office-doc | **ĐẠT** |
| Đ10 | lead-gap **+539,2%** · lead-stale **+432,2%** | `539.2` · `432.2` | **ĐẠT** |
| Đ11 | MFE `FIT=PASS`, span 28.492, **2,5%**, range 7.123–9.497 | 4/4 trùng | **ĐẠT** |
| Đ12 | DENOMINATOR **36** = 9+15+5+7 | máy in y hệt; tổng = 36 | **ĐẠT** |
| Đ13 | strikes **25** = warn-baseline 25 = last_run 25 · RCA 16 · AS 15 | 5/5 trùng | **ĐẠT** |
| Đ14 | per-role **23/23 = 100%**, từng phân-số | 23 cặp tử/mẫu trùng **0 lệch** | **ĐẠT** |
| Đ15 | caveat `SUB judge = SCAFFOLD / no persistent diary` | máy in nguyên-văn | **ĐẠT** |
| Đ16 | A7 **413 / 413 / 0** | `total pointers 413, resolved 413, failed 0` | **ĐẠT** |
| Đ17 | 10 vai per-agent pointer (105/57/56/46/44/43/28/20/9/5) | 10/10 trùng; tổng = 413 | **ĐẠT** |
| Đ18 | strike **0/23** + `no sub over cap` | máy in y hệt | **ĐẠT** |
| Đ19 | entry-count (lead-gap 9 · ring2 7 · reviewer 16 · test-spec 18 …) | 9/9 dòng đối được đều trùng | **ĐẠT** |
| Đ20 | `.archive-strikes.json` 0 delta ⇒ DRY-RUN không persist | 558 B @07-25 22:12:05, **y nguyên sau 1 lần tôi chạy nữa** | **ĐẠT** |
| Đ21 | distill `pending=15 \| nguong=15 => IM` | máy in y hệt | **ĐẠT** |
| Đ22 | meta-count 10+4+5+4 = **23** = số dòng bảng | tự cộng = 23 ✓ | **ĐẠT** |
| Đ23 | BLOCK 4 dán nhãn *"lead-supplied, artifact-verified, KHÔNG do tôi chạy"* cho 160.924 | nhãn **trung thực** — nó KHÔNG nhận là số tự đo | **ĐẠT** |

🔴 **CHƯA CHẠM (khai thẳng, CẤM đọc thành sạch):** `counter=37` (tôi không mở `.session-counter.json`) · `pull_warn_days` vắng key (không re-grep) · `crystallized-backfill.ps1` (không re-chạy ⇒ **160.924 tok / 657.229 B là số DUY NHẤT trong bảng tôi không tái-dựng**) · `l2_verbatim/l2_gist` tổng · chuỗi lịch-sử S153/S159/S162 headroom · `governance-detectors 44+6` · `dotnet test 590`. **7 nhóm chưa chạm.**

### 2B — con ĐỀ-XUẤT `harness-refine` (30 claim chạm được)

| # | claim | tôi re-dựng | verdict |
|---|---|---|---|
| Đ24 | A1 neo `lead-gap 23.593`, đệm **2.007** | 25600−23593 = 2007 | **ĐẠT** |
| Đ25 | A2 neo `harvest 23.493`, đệm **2.107** | 25600−23493 = 2107 | **ĐẠT** |
| Đ26 | A1 tốc-độ git 3 mốc 19.792→21.552→23.593 (Δ +1.760 / +2.041) | `git show` 3 sha: **19792 / 21552 / 23593** byte-exact | **ĐẠT** |
| Đ27 | A2 tốc-độ 19.456→21.277→23.493 (Δ +1.821 / +2.216) | **19456 / 21277 / 23493** byte-exact | **ĐẠT** |
| Đ28 | 4 dự-báo: 25.634 (**vượt 34**) · 25.353 (**còn 247**) · 25.709 (**vượt 109**) · 25.314 (**còn 286**) | 4/4 số học đúng | **ĐẠT** |
| Đ29 | `## S148` = **6.380** · `## S150` = **6.807** · tổng **13.187** = 55,9% | đo section: **6380 / 6807 / 13187**; 13187/23593 = 55,89% | **ĐẠT** |
| Đ30 | sau A1 = 10.406 (đệm 15.194) · chỉ-S148 = 17.213 (đệm 8.387) · tối-thiểu 1.833 / 1.733 | 6/6 số học đúng | **ĐẠT** |
| **T1** | *"S148+S150 to gấp **~7–12 lần** mục gần đây"* (dẫn S151 543 · S151-deep 515 · S152 974 · **S159 1.760**) | vs 543/515/974 ⇒ 6,5–13,2× ✓ **nhưng vs S159 (đo 1.759) chỉ 3,6–3,9×** — **ngoài dải công bố** | 🔴 **TRƯỢT** (nhẹ) |
| Đ31 | E1 phân-bố **105** mẫu · min 119 · median **164** · mean **164,3** · max **222** | 105 / 119 / 164 / 164.3 / 222 — **5/5 byte-exact** | **ĐẠT** |
| Đ32 | 105 == `A7 cicd 105/105` (kiểm chéo đúng lớp vật) | gate in 105; bullet-record đếm 105 | **ĐẠT** |
| Đ33 | 2 × 164 = **328** vs đệm 167 ⇒ **vỡ 161–277 B** | 328−167=161 · 444−167=277 | **ĐẠT** |
| Đ34 | 1 record cũng chỉ còn **3 B** (167−164); record 222 B vỡ ngay | đúng | **ĐẠT** |
| Đ35 | #422 **và** #425 vắng cả `_INDEX` lẫn `2026-07.md`; chỉ #423 có | 422:0/0 · 425:0/0 · 423:1/2 · **control-dương #407 = 2 hit** | **ĐẠT** |
| Đ36 | X2 `hotload_sources` = **6 file**, **0/6 là agent-memory** | đọc key: 6 mục, **0/6** dưới `.claude/agent-memory/` | **ĐẠT** |
| **T2** | X2 diễn-giải tắt *"hotload 657.229 B = **docs**"* | thật ra **4/6** dưới `docs/`, **2/6** dưới `.claude/` (governance + agents) | 🔴 **TRƯỢT** (nhẹ, nhãn) |
| Đ37 | tổng L1 23 vai = **323.178 B** (nó cộng TAY) | instrument tự cộng `SUM_L1=323178` — **byte-exact** | **ĐẠT** |
| Đ38 | keep-floor lead-gap 9 − 2 = **7 ≥ 5** | gate in `lead-gap 9 entry`; file có 9 section `## ` | **ĐẠT** |
| Đ39 | diary **tan băng** `e5123ff` (07-30) mang mục S162 | `git log` khớp 3/3 sha; `grep S162` = 1 hit | **ĐẠT** |
| Đ40 | *nhưng* `## Luật cứng` **vẫn 3 bullet**, A3(ii)@S154 chưa land | `BULLETS=3`; `2-CỬA\|COUPLING` = **0 hit** | **ĐẠT** |
| Đ41 | `reinject-ledger` **0 dòng thật** (chỉ placeholder `:34`) | record-row = **0**; placeholder đúng ở dòng 34 | **ĐẠT** |
| Đ42 | đếm 2 action / 13 BÁC / 5 ESCALATE / 5 NHƯỜNG | X=13 · N=5 · E=5 · A=2 — **4/4 khớp END-line** | **ĐẠT** |
| Đ43 | §4/§5/§6 **có nội-dung thật** (không heading rỗng) | heading :146/:195/:205 + ruột X1–X13, N1–N5, 10 mục tự-khai | **ĐẠT** |
| Đ44 | stray empty-dir **không nhiễm** phép đo; canonical ra 23.593 | tôi đo canonical: **23593**; empty-dir scan = 0 | **ĐẠT** |
| Đ45 | tự khai sai-số **±1–2 B** do thiếu newline cuối | tôi gặp đúng band: S159 nó 1.760 / tôi 1.759 | **ĐẠT** |
| Đ46 | *"0 instrument chạy lại"* | nhất-quán: mọi số nó dùng đều truy được từ con ĐO / git / ls | **ĐẠT** |
| Đ47 | X11: P1 tooling 19.055+2.041 = **21.096** < 21.760 · P2 reviewer = **19.375** | số học đúng | **ĐẠT** |
| Đ48 | X12: đệm 5.491 / 5.855 / 6.209 (cicd · impl-fe · test-spec) | 25600 − {20109,19745,19391} = 5491/5855/6209 | **ĐẠT** |
| Đ49 | X1: inv-cb đệm **3.148** > tripwire 3.070, biên **78 B** | 25600−22452 = 3148; 3148−3070 = 78 | **ĐẠT** |
| Đ50 | X13/tooling headroom **6.545** ≫ 3.070 (chu-kỳ đóng) | 25600−19055 = 6545 | **ĐẠT** |

---

## §3. FALSIFY-LOG — HELD / BROKE

| # | phép **phủ-định** tôi thử | kết |
|---|---|---|
| **F0** | *"Cây corpus đã dịch giữa 3 lượt ⇒ số 2 nấc là ảnh cũ"* (đúng lớp S162-F14). Thử phá: `git diff HEAD -- .claude/agent-memory` + mtime 2 đích. | **HELD** — diff rỗng, mtime **15:02:32** cho cả 2, trước mọi lượt. Cùng-một-cây. |
| **F1** 🔴 | **E1 — *"P3 của H2 KHÔNG thi hành được"***. Thử phá **4 đường**: (a) đếm record theo mẫu `substring:` → **ra 106, max 348**, lệch nó; (b) truy dòng thừa; (c) đối chiếu lớp vật với A7; (d) kiểm #422/#425 có sẵn không (nếu có ⇒ E1 sập). | **HELD** — (a) sai là **của tôi**: dòng thứ 106 = **`:6` header văn-xuôi** chứa `substring:"<unique-string>"` = **mention, không phải use**. Loại prose ⇒ **105 / 119 / 164 / 164,3 / 222** trùng nó **5/5**. (c) 105 == A7 105 ⇒ đúng lớp vật. (d) #422/#425 = **0/0 ở cả 2 file**, control-dương #407 = 2 hit ⇒ **không phải false-zero**. **E1 ĐÚNG: 2 record ≈ 328 B > đệm 167 B ⇒ P3 vỡ cap l2_index 161–277 B.** |
| **F2** 🔴 | **X2 — *"nén corpus KHÔNG cứu nổi 1 byte headroom"***. Thử phá: đọc thẳng `crystallized_backfill.hotload_sources`, tìm **dù chỉ 1** nguồn nằm trong agent-memory. | **HELD** — 6/6 nguồn: `docs/STATUS.md` · `docs/HANDOFF.md` · `.claude/governance/ACTIVE-MARKS.md` · `docs/changelog/migration-todos.md` · `docs/gotchas.md` · `.claude/agents/README.md`. **0/6** dưới `.claude/agent-memory/`. Cái dễ nhầm nhất (`.claude/agents/README.md`) **chính nó đã tự cảnh-báo**. ⇒ tách `hotload` (TIÊU headroom) ⟂ `kho backfill` (agent-memory, **CUNG**) **đứng vững**. |
| **F3** | **A1/A2 là CẮT trá hình `moved-not-cut`?** Thử phá: soi đích + tính bảo-toàn byte. | **HELD** — đích là `archive/2026-07.md` **đang tồn tại** (additive), 0 dòng bị xoá-không-chỗ-chứa, `_INDEX` nhận con-trỏ. Là **DỜI**, không CẮT. Kèm: cả 2 đích **đã có twin `.gist.md`** ⇒ `pending` giữ 15, không lật trục 19 — ràng-buộc ghép nó tự nêu là **đúng**. |
| **F4** | **A1/A2 chỉ đứng nhờ mẫu doạ được?** Thử phá: nếu bỏ mẫu lớn thì action còn lý-do không. | **HELD** — nó **tự đưa cả 2 mẫu** (vượt 34/109 B **và** còn 247/286 B) rồi **tuyên bố không neo vào dự-báo**, neo vào **đệm tĩnh 2.007/2.107 < 3.070** đã chạm hôm nay. Bỏ hết dự-báo, A1/A2 **vẫn đứng**. Đây là chỗ dễ Goodhart nhất mà nó **không** rơi vào. |
| **F5** | **REGRESSION-4 — *"mọi delta vs budget trục byte KHÔNG DÙNG ĐƯỢC"*** (claim **vô-hiệu-hoá cả một thước**). Thử phá: dựng lại 17 hàng, tìm hàng nào khớp. | **HELD** — `ROWS=17 EXACT_MATCH=1 DEVIATE=16`; hàng khớp duy nhất = `office-document` (đúng vai nó chỉ đích danh). 17/17 delta trùng byte-exact. Kết luận **KHÔNG quá lời**. |
| **F6** | **Neo của con ĐỀ-XUẤT có bị REGRESSION-4 làm hỏng không?** (nếu A1/A2 neo vào `measured{}` thì cả 2 action sập). | **HELD** — A1/A2 neo `tiers.*` (25.600 · 21.760 · 20.480) = **header máy in trong lượt**, **không** phải `measured{}`. E5 của nó tự nêu và tự trả lời **đúng**. |
| **F7** | **Diary "tươi" là tự-khen?** Thử phá: `git log` + tìm mục S162 + kiểm §luật. | **HELD, và nó còn tự bất-lợi** — diary tươi THẬT (`e5123ff`, S162 = 1 hit), **nhưng** `## Luật cứng` **vẫn 3 bullet / 0 hit COUPLING** ⇒ nó **tự khai phần chưa tươi** thay vì im. |
| **F8** | **§4–§6 chỉ là heading rỗng, nó dán END-line khống?** | **HELD (bác cáo-buộc)** — 3 section có ruột đầy đủ; đếm được **X=13 · N=5 · E=5 · A=2** khớp END-line **4/4**. `git diff` xác nhận **+76 dòng / +11.490 B** land sau bản 23.133 B. Nó **ghi lại thật**, không dán khống. |
| **F9** | **Stray empty-dir 16:26 trùng tên `lead-gap-auditor` có làm nó đo vỏ rỗng?** | **HELD** — canonical ra **23.593 B**, khớp instrument tôi chạy độc-lập. Nếu đo vỏ rỗng đã ra 0. Nay `find -type d -empty` = **0**. |
| **F10** | **Nó cộng tay 323.178 có sai như con ĐO từng sai −54 B @S162?** | **HELD** — instrument tự cộng `SUM_L1=323178`, **trùng tuyệt đối**. Lớp lỗi cũ **không tái-phát**. |
| **F11** | 🔴 **TỰ-PHỦ-ĐỊNH:** lần grep đầu của **chính tôi** trên `reinject-ledger` ra **0 hit** ⇒ suýt xác-nhận "ledger rỗng" bằng một phép **hỏng**. | **BROKE (lỗi của TÔI)** — 0-hit đó là **false-zero do pattern ASCII không khớp dấu tiếng Việt**. Control-dương (`grep -c reinject` = **17**) lòi ra ngay. Chạy lại đúng: placeholder ở `:34`, record-row thật = **0** ⇒ kết luận của nó vẫn ĐẠT, nhưng **đường đi của tôi đã sai một nhịp** — đúng bài *0-hit phải kèm control-dương*. |
| **F12** | **T1/T2 có phải lỗi load-bearing?** Thử phá: bỏ 2 câu đó thì A1/X2 có sập không. | **BROKE claim, KHÔNG BROKE kết-luận** — T1 (dải "7–12×") sai vs S159 nhưng A1 chọn khối theo **cũ nhất + to nhất** (6.380/6.807 là 2 khối lớn nhất thật) và nó **tự nói "kết luận KHÔNG phụ thuộc việc chọn 2 khối"**. T2 ("= docs") là nhãn tắt; câu load-bearing **"0/6 agent-memory"** vẫn đúng. **Ảnh-hưởng quyết-định: NIL.** |

---

## §4. THÁCH-CLEAN — 3/4 lớp ZERO có thủng không?

**Vế (a) — sổ chốt-dừng có TƯƠI thật?** → **ĐẠT.** `e5123ff` (2026-07-30) tồn tại, mang mục S162, file 8.579 B khớp `l1_hot harness-refine` instrument in hôm nay. Tiền-đề S159 (*"mù 2 vòng nên cố ý đề ít"*) **thật sự hết hiệu-lực** ⇒ con số 2 action **không** do sợ. **Đối-chứng ngược:** nếu nó đề ít **vì sợ**, nó đã không dám **lật BÁC X1@S162** trên `harvest-curator` — mà nó lật, và **tự khai đang lật**.

**Vế (b) — 3 lớp zero:**

| lớp | zero có thật? | phán |
|---|---|---|
| **① reinject = 0** | `reinject-ledger` record-row thật = **0** (control-dương 17 hit). Neo 1 reinject cần phép **presence-per-item**; con ĐO in **23 trục, 0 trục presence** ⇒ không có gì để neo. | **ZERO HỢP-LỆ** — fail-closed đúng, không phải né. |
| **② promote = 0** | Có **ứng-viên thật** (luật COUPLING, đã lặp 2 vòng ⇒ đủ ngưỡng). Chỗ đặt duy-nhất đúng = `harness-refine/MEMORY.md §Luật cứng` — **tôi đo: 3 bullet, 0 hit COUPLING** ⇒ đúng là đang có món treo A3(ii)@S154 tại **chính section đó**. | **ZERO HỢP-LỆ** — nó chọn **chịu chốt-dừng** thay vì né sang section khác (đúng anti-pattern chính nó đặt @X4). Tín-hiệu **không bị bỏ**, được đẩy sang E2. |
| **④ chưng-cất = 0** | Probe in `pending=15 \| nguong=15 => IM`, biên `-gt` strict ⇒ máy **im đúng luật**. Ứng-viên duy nhất có tín-hiệu (`cicd 2026-07`) **trùng đúng P3 của H2** ⇒ trỏ P3, không nhân bản. | **ZERO HỢP-LỆ nhưng MỎNG NHẤT** — xem dưới. |

🔴 **Chỗ mỏng của ④ — tôi nêu rõ thay vì cho qua:** ④ = 0 **không phải vì trục sạch, mà vì trục MÙ**. Bằng-chứng: (i) con ĐO **E4 — "tuổi gist 0 instrument, vòng thứ 3 liên tiếp"**; (ii) tồn tại gist cũ thật (`cicd .gist` 07-18 vs src 07-30); (iii) chính A1/A2 **làm gist cũ thêm** và con ĐỀ-XUẤT **tự khai tác-dụng-phụ đó**. ⇒ đây đúng lớp **"vắng-mặt trông giống ổn"**. **Nhưng tôi KHÔNG chấm nó TRƯỢT**, vì: luật của chính nó (A3@S153) **cấm neo action bằng proxy mtime**, và hợp-đồng vai buộc **mỗi action neo 1 số con-ĐO** — mà 0/23 trục đo tuổi gist. Đề action ở đây sẽ **vi-phạm hợp-đồng** để lấy một dòng bảng. ⇒ **ZERO đúng luật; cái hỏng nằm ở lane ĐO (thiếu thước), không ở lane ĐỀ-XUẤT.** **Lead cần đọc ④=0 là "chưa đo được", KHÔNG phải "đã lành".**

🔴 **Biên `pending 15 = ngưỡng 15` là biên NÓNG:** `-gt` strict ⇒ **+1 shard là đổi trạng-thái**. Hôm nay **2026-07-30**, còn **2 ngày** sang tháng 8 ⇒ bất kỳ archive nào tạo `2026-08.md` sẽ đẩy **15→16 ⇒ KÊU**. Con ĐỀ-XUẤT **đã thấy trước** và ghim đích A1/A2 vào `2026-07.md` **đang có twin** để giữ 15. **Phép ghép này tôi xác nhận đúng cơ-học** — và nó là thứ **chỉ vị-trí nấc 2 thấy được** (con ĐO đo trục 2 và trục 19 rời nhau).

---

## §5. KIỂM 2 LỜI TỰ-KHAI **CÓ LỢI CHO NÓ**

1. **"Lead bảo chỉ thiếu END-line, tôi kiểm lại thấy §4–§6 chưa land nên ghi lại thay vì dán END-line khống"** → **ĐẠT, xác nhận bằng git.** `git show HEAD:` = **23.133 B**, đĩa = **34.623 B**, `git diff --stat` = **+76 dòng**. §4/§5/§6 nay có ruột thật (X1–X13 · N1–N5 · 10 mục tự-khai), đếm **13/5/5/2 khớp END-line 4/4**. ⇒ nó **không** nghe theo lời trấn-an mà tự đo lại — **đúng bài "claim mạnh hơn việc đã làm"**, và nó tự dẫn đúng bài đó ở mục 7. **Tôi xác nhận lead sai ở nhịp này, con ĐỀ-XUẤT đúng.**
2. **"Stray empty-dir 16:26 trùng tên đối-tượng A1 nhưng không nhiễm phép đo"** → **ĐẠT, tôi tự đo lại.** Canonical `.claude/agent-memory/lead-gap-auditor/MEMORY.md` = **23.593 B** (khớp instrument tôi chạy độc-lập, khớp con ĐO). Nếu nó lỡ đo vỏ rỗng thì ra 0/absent. `find .claude -type d -empty` **= 0** ⇒ stray đã xoá thật. Ghi-nhận của nó (*`git status` mù với thư-mục rỗng*) **đúng** — chính vì thế tôi chạy **2 phép**, không 1.

---

## §6. POST-WAVE (đo lại CUỐI lượt, sau khi tôi chạy 4 instrument)

```
git status --short
 M .claude/agent-memory/.mfe-state.json          <- VẾT GHI CỦA TÔI (+370 B, mfe-eval ×2)
 M .claude/governance/.session-counter.json      <- counter 37 tick (nghi-thức bookend)
?? .claude/workflows/runs/.../harness-audit-return.md   <- file này

find .claude -type d -empty   => 0 dòng
```
- **ĐẠT — 0 tracked-change trên corpus `agent-memory/**` ngoài `.mfe-state.json` do CHÍNH TÔI gây.** 2 action A1/A2 **chưa được thi hành** (đúng propose-only): `lead-gap` + `harvest` MEMORY.md vẫn 23.593 / 23.493, mtime 15:02:32 — **không ai đụng**.
- **ĐẠT — 0 empty-dir mới sinh** trong cả lượt tôi (stray class `agent-cwd-relative-memory-misland` không tái-phát).
- 🔴 **1 món lead phải xử trước `wal: flush` kế:** `.mfe-state.json` +370 B là **của tôi**, không phải của 2 nấc trước. Nếu để flush cuốn đi thì lần sau lại "sạch vì đã commit" (xem §1.5).

### 6b. 🔴 STRAY TÁI-PHÁT NGAY TRONG LƯỢT TÔI — và nó là **của tôi**

Quét lần cuối (sau khi đã ghi xong thân bài) lòi ra stray **thứ 3** cùng class `agent-cwd-relative-memory-misland` trong CÙNG phiên:
```
find .claude -type d -empty
.claude/workflows/runs/2026-07-30-S163-bookend-open/.claude/agent-memory/harness-audit
```
- **Đo trước khi phán:** cây stray = **3 thư-mục, 0 file, 0 tracked** (`git ls-files` = 0). Canonical `.claude/agent-memory/harness-audit/MEMORY.md` **vẫn tồn tại** (chính là 9.248 B instrument in ở §1.2) ⇒ **corpus thật không bị tách/chia đôi**, y hệt kết luận A1 của con ĐỀ-XUẤT về stray 16:26.
- 🔴 **Datum cho lead — class này KHÔNG phải sự-cố lẻ, nó tái-phát THEO MỖI LẦN SPAWN:** 16:26 (3 dir, vai khác) → lead xoá 16:48 → **17:1x (1 dir, vai tôi)**. Tức **≥2 đợt / 1 phiên**, và `git status` **mù cả 2 đợt**. Nghi-thức post-wave hiện có (`git status` + `find -type d -empty`) **bắt được**, nhưng chỉ khi chạy **SAU** vai cuối — nếu bookend chạy quét trước khi nấc 3 xong thì lại "PASS 0 stray" **đúng-tại-thời-điểm-đo mà sai ngay sau đó**. Đây là ca **drift-sinh-sau-phép-đo thứ 3** của phiên.
- **Tôi KHÔNG tự xoá** (INFORM-only, lead = single-writer): tôi **cố ý không** ghi memory vào đường run-folder-relative đó — ghi vào sẽ biến thư-mục rỗng thành **stray CÓ FILE**, tức tự tay tạo đúng thứ phiên này đang đi dọn. **Lead quyết: xoá 1 lệnh, hoặc giữ nếu scaffold cần.**

---

## VERDICT TỔNG

# `HARNESS-AUDIT S163: ĐẠT` — 50 ĐẠT / 2 TRƯỢT (cả 2 TRƯỢT **không load-bearing**)

🔴 **Tự-kiểm meta-count (chỗ vai tôi có blind-spot ~13% khi ĐẾM-VỀ-MÌNH):** §2A = Đ1–Đ23 (**23**) · §2B = Đ24–Đ50 (**27**) + T1,T2 (**2**) ⇒ **23+27 = 50 ĐẠT · 2 TRƯỢT**, tổng **52 dòng bảng** ✓ đếm bằng `grep -oE` chứ không nhẩm. **Bản nháp đầu tôi viết "53 Đ" — SAI, đã sửa.** Khai luôn để lead thấy: tôi vấp đúng lớp lỗi mình được giao đi bắt, và chỉ thoát vì **đếm lại bằng máy**. Số §0 (6 gate PIN) và §1 (10 phép re-chạy) **KHÔNG** cộng vào tổng — chúng là **thủ-tục**, không phải claim của 2 nấc.

- **Con ĐO — 23/23 claim chạm được đều ĐẠT, 0 TRƯỢT.** Meta-count của nó (10+4+5+4=23) **đúng** — lớp lỗi nó tự khai từng ngã S151/S153/S162 **không tái-phát**. Nhãn "lead-supplied, không do tôi chạy" cho 160.924 là **trung thực**.
- **Con ĐỀ-XUẤT — 27 ĐẠT / 2 TRƯỢT.** Cả 2 TRƯỢT là **nhãn/dải mô-tả** (T1 "7–12×" sai vs S159 · T2 "hotload = docs" khi 2/6 nằm ngoài `docs/`), **bỏ đi thì A1/X2 vẫn đứng nguyên**.
- 🔴 **2 claim nặng nhất phiên đều HELD:** **E1** (P3 của H2 **vỡ cap `_INDEX` 161–277 B** — lead **suýt làm vỡ cap**, phải giải `_INDEX` TRƯỚC P3) và **X2** (nén corpus **không dịch nổi 1 byte** headroom — `hotload` ⟂ `kho backfill`).
- **3 lớp zero: 0 lớp thủng.** ① và ② hợp-lệ chắc; ④ hợp-lệ **nhưng vì trục MÙ, không vì trục sạch** ⇒ đọc là *"chưa đo được"*, cấm đọc là *"đã lành"*.
- **BROKE duy nhất là của CHÍNH TÔI** (F11: 0-hit false-zero do pattern không dấu, control-dương vớt kịp).

**CHƯA CHẠM — cấm đọc thành sạch:** 7 nhóm ở §2A (nặng nhất: **crystallized 160.924 tok / 657.229 B — số DUY NHẤT trong toàn bảng tôi không tái-dựng**, chỉ xác nhận nó có mặt ở 2 artifact độc-lập) · nội-dung 2 khối S148/S150 (không ai mở đọc — con ĐỀ-XUẤT tự khai, `value_protect` của gate phải là lớp chặn) · turf H2 (`run-chưa-gom 3`, P1–P5) · turf H24 (`signal_reset_done=False`) · diff-code (turf reviewer).

**ESCALATE lead (ngoài trục tôi, nêu verbatim):** `.mfe-state.json` **tracked** + WAL-flush auto-commit ⇒ backstop *"lead soát `git status` sau lượt"* bị **rỗng-hoá** khi flush chạy trước lead soi (đã xảy ra thật với vết ghi 16:37 của con ĐO, commit `7f55b4f`).

END harness-audit-S163 — VERDICT=ĐẠT — TOTAL=50 Đ/2 T — RE-CHẠY=4 instrument / ≥128 số (0 lệch)
