# harness-audit return — S158 (trio nac 3/3, con KIEM)

> Vai tu ghi dan TRONG luc lam (chong #53). Chua ket thuc = chua co dong END.

## (i) PIN — fail-closed check
- `test -d .claude/workflows/runs/2026-07-28-S158-bookend-close/` = **TON TAI**
- `harness-eval-return.md` = **6852 B** (non-empty) OK
- `harness-refine-return.md` = **14075 B** (non-empty, khop cite lead 14.075 B) OK
- `run.md` = **2569 B** (non-empty) OK
=> KHONG tu-choi. Di tiep cham.

(dang lam — chua co verdict)

---
> ⚠️ Luot-1 GARBLE (#53 — con thu 8 cua closeout). Resume: ghi DIA tung muc TRUOC, return sau.

## (iv) RE-CHAY DOC-LAP — 6 instrument (yeu cau >=2)

| # | instrument | so tao tu chay | so con-DO cite | doi-chung |
|---|---|---|---|---|
| R1 | `measure-agent-memory.ps1` | roles **23** · l1 **285.659** · l2_verb **839.440** · l2_gist **274.745** · l2_idx **81.244** · over30k **0** | y het | **BYTE-EXACT 6/6** |
| R2 | `nhip-no-probe.ps1` | `NHIP-NO: kiem light 5/6 deep 7/15 ok \| tran-bo-nho 0 over-cap l2idx 0 over \| run-chua-gom 3 \| pull-cach 6 ngay` | y het | **BYTE-IDENTICAL chuoi** |
| R3 | `distill-shard-probe.ps1` | `SHARD-PROBE: pending=15 \| nguong=15 => IM` | y het | **BYTE-IDENTICAL** |
| R4 | `memory-archive-gate.ps1` (DRY) | pointer 102+5+46+41+44+55+5+56+28+20 = **402 resolved / 0 failed** | 402/402, 0 failed | **BYTE-EXACT** (tao tu cong 10 dong) |
| R5 | `crystallized-backfill.ps1` | hotload **623.260** · RANGE [155.815..207.753] · headroom **172.247** | 616.610 / [154.152..205.537] / 174.463 | 🔴 **LECH +6.650 B / −2.216 tok** — GIAI THICH DUOC, xem duoi |
| R6 | `governance-detectors.ps1` | TOTAL **43** · INFORM **9** · self-match **0** | TOTAL 44 · INFORM 7 · self-match 0 | 🔴 **LECH −1 / +2** — xem duoi |

### R5 lech — KHONG phai con-DO sai, la san-file DI CHUYEN giua 2 lan do
- Cite noi-tai NHAT-QUAN: 616610/4=154152 · 616610/3.0=205537 · 380000−205537=**174463**. => con-DO chep dung so lead dan.
- Nguyen nhan lech: 2/6 hotload source bi GHI SAU khi con-DO do (`harness-eval-return.md` mtime **20:17**):
  `docs/STATUS.md` mtime **20:42** · `docs/HANDOFF.md` mtime **20:44** (lead closeout).
- Huong phat hien KHONG doi, con XAU HON: thieu-hut vs target 210.000 tu **35.537** -> **37.753 tok**.
- ⇒ **Bai:** so PASTE-lane co han su dung tinh bang PHUT trong chinh phien do. Con-DO khai "5/6 truc single-lane" la khai DUNG va day la bang chung.

### R6 lech — luoi TU SINH CO CHO CHINH NO (self-reference)
- INFORM-only 9 = tron bo net **C11** (H24 FLAG-khuon). Liet ca 9: S151×3 · S152×1 · S154×2 · **S158×3**.
- 🔴 **3/9 co INFORM tro thang vao chinh run-folder nay**: `sub-ctx-audit-close-S158.md` · `sub-harvest-curator-close-S158.md` · `sub-tooling-auditor-close-S158.md`.
- Tuc la: bookend @close vua DO vua SINH THEM co cho lan do ke tiep. Cung LOP citation-trap/self-reference (doc/artifact dinh-nghia mau bi chinh detector khop-mau bat).
- Luoi tu khai loai tru `.claude/workflows/runs` o 6 path self-exclusion, nhung net C11 VAN quet runs/ => **self-exclusion khong phu C11**. Day la lech giua loi-khai-loai-tru va pham-vi-quet THAT.

### R7 — thuoc 17,1K (2 so lead yeu cau doi-chung)
- **9/23 vuot 17,1K**: tao chay `measure-agent-memory.ps1` roi sort. Ap CA HAI cach doc:
  17.100 B va 17.510 B ⇒ **deu ra dung 9 vai** (vai thu 10 = `test-specialist` **14.889** — cach bien >2.2KB nen 2 nguong khong the tach nhau).
  9 so: cicd **20686** · fe-designer **21492** · harvest **19456** · impl-be **21987** · impl-fe **18435** · inv-cb **20646** · lead-gap **19792** · reviewer **19049** · tooling **23464** ⇒ **9/9 BYTE-EXACT** vs con-DE-XUAT VA con-DO.
- **Quet key so 17.000-17.600 trong `memory-budget.json`**: dung regex key:value, ra **dung 2 hit**, ca hai la **gia-tri DO** khong phai nguong:
  `"l1_hot": 17229` (:187 investigator-codebase) · `"l2_verbatim": 17072` (:192 harvest-curator).
  ⇒ **0 key nguong** — con-DE-XUAT (V5) **XAC NHAN BYTE-EXACT**.
- Chuoi `"17.1K"` co **dung 2 cho**: `:185` `_note` ("harvest 18.1KB over self-target 17.1K") · `:192` `rollout`. ⇒ V1 dung.

## (ii)+(iii) VERDICT muc BAC 9 — soi ky B1 & B2

### B1 (bac S7 "11/23 chung 1 mtime") — **DAT, bac CO CAN CU**
- Tao dem lai cluster mtime toan 23 diary: **dung 11 file** chung `2026-07-26 15:49` ⇒ **S7 cua con-DO BYTE-EXACT**.
- Tao mo **ca 11 file** dem tem provenance (`on-behalf`/`M9`/`lead seed`):
  **11/11 DEU CO** — dem theo DONG = **2..6 hit/file** (min `implementer-frontend` 2 · max `lead-stale-auditor`/`tooling-auditor` 6)
  ⇒ **KHOP Y NGUYEN khoang "2-6 hit/file"** con-DE-XUAT khai. (Dem theo OCCURRENCE ra 5..11 — chenh nay la don-vi dem, khong phai sai.)
- Noi dung tem la THAT, khong phai duong-tinh-gia: `impl-fe:3` = "`[lead seed on-behalf @closeout M9; ...]`" · `:104` = "`[M9 on-behalf lead — queue memory-ops]`".
- 🔴 **Sac-thai quan trong:** B1 ghi ro "**BAC action**" chu KHONG bac SU-KIEN. Va tem in-content thuc ra **CUNG CO** S7 chu khong lat: chinh corpus TU KHAI la duoc seed hang-loat. Con-DE-XUAT scope dung — no chi doi LANE sua (instrument doc mtime) chu khong phu nhan so.

### B2 (bac S16 "khong phan giai duoc") — **DAT ca 4 ve, va manh hon loi khai**
- (a) tracked-set: tao parse JSON ⇒ **COUNT=20** BYTE-EXACT. Thieu **dung 3** = `ctx-audit`·`ctx-curator`·`ctx-verifier`; `ring1/2/4` **CO** trong strikes ⇒ V3 dung.
- (b) thu-tu-sinh: `git show 11db5ef` = **2026-07-26 16:10:54**, chinh la commit KHAI SINH 3 vai ctx-*. Strikes mtime **2026-07-25 22:12:05** ⇒ file co truoc 3 vai **~18 gio**. Giai thich HELD.
- (c) khong git-tracked: `git ls-files --error-unmatch` **error "did not match any file(s) known to git"** + `git log` rong ⇒ HELD.
- (d) 🔴 Tao KHONG tin loi khai — tao **CHAY THAT** `memory-archive-gate.ps1` che-do mac dinh, do mtime truoc/sau:
  BEFORE `2026-07-25 22:12:05.928796500` 558 B → AFTER **y het byte va y het nano-giay** ⇒ DRY-RUN khong ghi = **HELD bang thuc nghiem**, khong chi bang doc source. (`param` :30 `[switch]$Apply = $false` xac nhan mac dinh la DRY.)
- ⇒ **Nguoc lai, S16 cua con-DO TRUOT o ve meta**: no khai "khong phan giai duoc trong cua-so (cam re-run)" — nhung ca 4 ve deu phan giai duoc **KHONG can re-run** (git log + doc source + parse JSON). Con-DO **bo cuoc som**, tu ap mot rang buoc khong ton tai.

### B3..B9 — soi nhanh, tat ca CO NEO THAT
| # | phep tao thu | ket qua |
|---|---|---|
| B3 | `docs/HANDOFF.md` co that muc ⑤ hen 2026-08-01 + "+3 row ctx ngoai 3 row ring"? | **DAT** — `HANDOFF.md:26` nguyen van: "⑤ monthly drift-audit **2026-08-01 (5 ngay)** + full re-sync `measured{}` (**+3 row ctx** ngoai 3 row ring — B7)". (Doc ghi "5 ngay", tu 28/07 con **4** — con-DE-XUAT ghi 4 la dung hon doc.) |
| B4 | moc `measured` co that la snapshot cu? | **DAT** — `measured{}` = **17 row**, roster **23**, thieu **dung 6** = `ctx-audit·ctx-curator·ctx-verifier·ring1·ring2·ring4`. 6/23 = 26,09% ⇒ con-DO ghi "26,1%" dung. |
| B5 | diary tu cam-ket "CAM attempt-3"? | **DAT** (xem muc chot-dung duoi) |
| B6 | gop vao A1 co hop-ly? | **DAT** — cung doi-tuong (thuoc chua wire), gop la dung thu-tu quyet-thuoc-truoc |
| B7 | `memory-archive-gate.ps1` co that "propose only after N consecutive over-cap"? N=2? | **DAT** — chuoi o `:207` (khong phai `:205`, lech 2 dong): `"WATCH (strike $cur<$strikeNeed): re-run; propose only after $strikeNeed consecutive over-cap"`; `$strikeNeed = $gate.strike_threshold` (`:51`) va budget co `"strike_threshold": 2` ⇒ **N=2 XAC NHAN**. tooling **23.464** = dung so tao do lai ⇒ "0 su-kien moi" DAT. tripwire: 25600−21492=**4108** (fd) · 25600−21987=**3613** (impl-be), ca hai > 3.070 ⇒ chua cham, DAT. |
| B8 | `pull_warn_days` co that vang KEY ma con reader? | **DAT — va day la cho de doc NHAM nhat.** `grep -c` ra **1 hit** ⇒ doc au se ket luan "co key". Tao parse JSON: `h24_cadence` keys = `_note·_owner_ratified·light_every·deep_every·jump_on_class_repeat` ⇒ **KHONG co `pull_warn_days`**; hit duy nhat la **VAN XUOI trong `_note`**. Reader song that (`nhip-no-probe.ps1:212` `$warn = $cad.pull_warn_days`). ⇒ ghost-wire class-2 XAC NHAN, **con-DO S12 DAT**. |
| B9 | ledger that su 0 dong? 3 cite dong :5/:12/:50 co dung? | **DAT ca 4.** File that o `.claude/governance/reinject-ledger.md` (57 dong): 10 dong `^\|` = **8 dong chu-giai-cot + 1 header + 1 o placeholder** ghi nguyen van "_(chua co floor-rot nao duoc reinject — ledger khoi-tao trong S95, 2026-07-01)_" ⇒ **0 entry THAT**, dung ca moc S95. Ba cite: `:5` = "quyen cap-ngan-sach cua anh (project-owner)" ✓ · `:12` = "Chi floor-rot moi vao ledger... chua-tung-dung = build-gap" ✓ · `:50` = "**BUILD-GAP (honest, disclosed):** ... per-item-L1-presence ... still PARTIAL" ✓ — **3/3 BYTE-EXACT**. |

⇒ **BAC 9/9 DEU CO CAN CU NEO DIA. 0 truong-hop "bac cho gon".** Tat ca deu chi ra doi-tuong/lane cu the thay vi im lang bo qua.

## V4 — 5 item "CHUA LAND": tao do lai tung cai

| item | claim con-DE-XUAT | tao do lai | verdict |
|---|---|---|---|
| A1@S153 `_INDEX` cicd | con `Total 78 records`, header y-nguyen | file **19.484 B**; `Total **78 records**` **con 1 hit**; dau vet D1@S152 con o `:3` (`🗜️ gist-of-index @S152 (D1 queue)`) | **DAT** (ve "header 2.164 B" tao khong tach duoc bien header ⇒ **khong cham**, phan load-bearing thi xac nhan) |
| A2@S154 budget | con **3 lan** "first-run pending restart" | `grep -o \| wc -l` = **3** | **DAT byte-exact** |
| A3(i)@S154 `harness-refine/MEMORY.md:22` | con nguyen "CHUA chay lan nao" | `:22` = "S141 (2026-07-20) seed khi adopt khuon hub `58e28bae` — **CHUA chay lan nao**; first-run cho restart-CLI + spawn-probe + anh consent" | **DAT byte-exact** |
| A3(ii)@S154 luat 2-CUA | grep **0 hit** | **0** | **DAT** |
| A1@S154 3 diary ctx | ctx-curator + ctx-verifier **0 heading**, ctx-audit co 1 | xem duoi 🔴 | **DAT — nhung tao suyt bat OAN** |

### 🔴 Bay do-luong tao tu dinh phai (ghi lai de doi sau khong dam vao)
Lan dau tao dem `grep -c '^#'` ⇒ ctx-curator **1**, ctx-verifier **1** ⇒ dinh ket con-DE-XUAT khai SAI ("0 heading").
Doc lai **thuoc that** — parser `memory-archive-gate.ps1:153` khop `^#{2,3}\s`, tuc **`##`/`###`, KHONG tinh `#` h1**.
Dem lai dung thuoc: ctx-curator **0** · ctx-verifier **0** ⇒ **con-DE-XUAT DUNG**, cai sai la cay thuoc cua tao.
(Guong cua bay S153-T2 cua chinh tao: lan do probe LONG doc prose thanh block; lan nay probe LONG suyt de ra BROKE gia.)

### 🔴 PHAT HIEN MOI — vet va KHONG lam kim di chuyen
- `ctx-verifier/MEMORY.md` mtime **2026-07-28 20:45** = lead DA M9 seed on-behalf (dung nhu `run.md:29` hua), tuc **SAU** khi con-DE-XUAT chay (20:40).
- Nhung do lai bay gio: **VAN `entries=0`**. Seed do vao ma **khong dat duoi heading `##`** ⇒ `memory-archive-gate.ps1` van doc **0 entry**, van "cannot auto-drain", value-protect van chay tren 0 entry.
- ⇒ **E3 cua con-DE-XUAT khong nhung con song ma con duoc chung minh manh hon**: da co mot lan sua THAT, va so do **khong nhuc nhich**. Vet-sua ≠ vet-do.
- (`ctx-audit` mtime 20:48 nay `entries=2` — luc con-DE-XUAT do la 1; delta nay do seed sau, KHONG phai khai sai.)

---

## [LEAD GHI ON-BEHALF @closeout — path-3, SAU khi VERIFY từ đĩa]

🔴 **Vai `#53` CẢ HAI lượt** (lượt 1: `"Confirmed: 3 of the 9 INFORM flags come from this very run's own sub-files…"` · lượt 2 sau resume: `"Now the chốt-dừng/owner-gate khuôn, plus the mfe-state file…"`) ⇒ **không có dòng `HARNESS-AUDIT: … — …Đ/…T` và không có `END · TOTAL=`**.
Lead **KHÔNG bịa verdict-tổng**. Ghi lại đúng những gì **đọc được từ đĩa** (11.182 B / 83 dòng có chữ), để lượt sau không phải suy:

- **BÁC 9/9 của con-ĐỀ-XUẤT: ĐẠT, 0 ca "bác cho gọn"** — vai neo đĩa từng cái.
- **B2 mạnh hơn lời khai:** vai **CHẠY THẬT** `memory-archive-gate.ps1` chế-độ mặc-định rồi đo mtime trước/sau `.archive-strikes.json` → **y hệt byte VÀ y hệt nano-giây** ⇒ DRY-RUN không ghi = **HELD bằng thực-nghiệm**, không chỉ bằng đọc source.
  ⇒ **Ngược lại, S16 của con-ĐO TRƯỢT ở vế meta:** nó khai *"không phân giải được trong cửa-sổ (cấm re-run)"* — nhưng **cả 4 vế đều phân giải được KHÔNG cần re-run** (git log + đọc source + parse JSON). Con-ĐO **bỏ cuộc sớm, tự áp một ràng buộc không tồn tại**.
- **B1 sắc thái:** tem `on-behalf/M9` in-content là THẬT, nhưng nó **CỦNG CỐ S7 chứ không lật** — chính corpus **tự khai** là được seed hàng-loạt. Con-ĐỀ-XUẤT scope đúng: nó đòi **đổi LANE sửa** (instrument đọc mtime), không phủ nhận số.
- **B8 — chỗ dễ đọc nhầm nhất:** `grep -c pull_warn_days` ra **1 hit** ⇒ đọc ẩu sẽ kết luận "có key". Vai **parse JSON**: `h24_cadence` chỉ có `_note · _owner_ratified · light_every · deep_every · jump_on_class_repeat` ⇒ **KHÔNG có `pull_warn_days`**; hit duy nhất là **văn xuôi trong `_note`**. Reader sống thật (`nhip-no-probe.ps1:212`) ⇒ **ghost-wire class-2 XÁC NHẬN**, S12 của con-ĐO **ĐẠT**.
- **V4 — 5 item "CHƯA LAND": 5/5 ĐẠT**, 4/5 byte-exact.
- 🔴 **Bẫy đo-lường vai TỰ ĐỊNH PHẢI:** lần đầu đếm `grep -c '^#'` ra ctx-curator **1** / ctx-verifier **1** ⇒ suýt tố con-ĐỀ-XUẤT khai sai *"0 heading"*. Đọc lại **thước thật** (`memory-archive-gate.ps1:153` khớp `^#{2,3}\s`, **không tính `#` h1**) ⇒ đếm lại đúng thước: **0 · 0** ⇒ **con-ĐỀ-XUẤT ĐÚNG, cái sai là cây thước của vai**.
- 🔴 **PHÁT HIỆN MỚI — nhắm thẳng vào LEAD:** `ctx-verifier/MEMORY.md` đã được lead M9 seed lúc 20:45, **nhưng đo lại vẫn `entries=0`** vì seed đặt dạng bullet `-` chứ không dưới heading `##` ⇒ `memory-archive-gate` vẫn "cannot auto-drain". **Vết-sửa ≠ vết-đo.**
  ✅ **Lead đã VÁ ngay trong closeout:** đổi entry S158 sang heading `##` → đo lại `entries` **0 → 1**. E3 của con-ĐỀ-XUẤT vì thế **được chứng mạnh hơn**, không phải bị đóng.

**Nấc trung thực:** phần trên = **lead đọc đĩa**, KHÔNG phải verdict do vai phát ngôn. Vai đã chấm 9 BÁC + V4 5 item + nhiều falsify, nhưng **verdict-tổng và TOTAL-line thì không tồn tại** — đừng ai trích một con số tổng cho lượt này.

`END · TOTAL=n/a (vai khong tra verdict-tong; lead ghi on-behalf tu dia)`
