HARNESS-AUDIT: MIXED-PASS — 50 ĐẠT / 9 TRƯỢT trên 59 claim (26Đ-3T con ĐO · 24Đ-6T con ĐỀ-XUẤT) · falsify 21 phép 12 HELD / 9 BROKE · 6 instrument re-chạy, 23/24 số byte-exact · cú lật §6.2 ĐÚNG · E4 đúng luật

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

> Vai tự ghi (lead cấp Write cho đúng file này). APPEND từng khối NGAY khi đo xong — chống #53.

---

## §0. NGHĨA-VỤ (i) — PIN verify TỒN-TẠI (làm TRƯỚC mọi phép chấm)

PIN nhận đích-danh, **KHÔNG glob "mới nhất"**:
`.claude/workflows/runs/2026-08-05-S172-bookend-close/`

| kiểm | lệnh | kết quả |
|---|---|---|
| `test -d <pin>` | — | **EXISTS** |
| `test -s <pin>/harness-eval-return.md` | — | **NON-EMPTY, 8.572 B** |
| `test -s <pin>/harness-refine-return.md` | — | **NON-EMPTY, 11.219 B** |

⇒ **được phép chấm.** (Pin missing/rỗng ⇒ đã TỪ-CHỐI tại đây, không ĐẠT-ảo.)

## §0.1 — TUẦN-TỰ: chứng bằng mtime-chain (không tin lời khai)

```
08:58:31  run.md
09:09:08  sub-tooling-auditor-close-S172.md
09:09:18  harness-eval-return.md      ← nấc 1
09:11:11  sub-harvest-curator-close-S172.md
09:18:09  sub-lead-gap-close-S172.md
09:19:14  sub-lead-stale-close-S172.md
09:24:04  sub-ring2-audit-close-S172.md
09:25:08  harness-refine-return.md    ← nấc 2
09:25:49  sub-ring1-audit-close-S172.md
09:26:18  (tao mở lượt)               ← nấc 3
```

⇒ **eval < refine < audit — TUẦN-TỰ HELD.** Tao chấm đúng bản 2 con đã trả, không phải bản cũ.

## §0.2 — 🔴 Bài F14@S162 áp trước: cây có LIVE giữa lượt không?

S162 tao bị cây đổi giữa lượt (tooling 24.340 → 19.055) ⇒ đo cây LIVE thì **báo sai cho CẢ HAI con**. Kiểm lại kỳ này:

- `git status --porcelain -- .claude/agent-memory` ⇒ **RỖNG** (sạch, đã nằm ở HEAD `8544ff7` @09:21).
- File mới nhất trong `.claude/agent-memory` = **08:56** (`cicd-monitor/MEMORY.md`, `ctx-verifier/MEMORY.md`) — **TRƯỚC** eval 09:09:18.

⇒ **Cây agent-memory ĐỨNG YÊN suốt cửa sổ eval→refine→audit.** Không cần dựng `git archive` như S162; đo cây live = đo đúng thứ con-ĐO đã thấy. **F14 kỳ này HELD (không tái diễn).**

---

## §1. NGHĨA-VỤ (iv) — RE-CHẠY INSTRUMENT, đối-chứng BYTE-EXACT

Contract đòi **≥2**. Tao chạy **6**:

| # | instrument | lệnh | exit |
|---|---|---|---|
| I1 | `measure-agent-memory.ps1` | full roster | 0 |
| I2 | `mfe-eval.ps1 -Tier sub` | 23 role coverage | 0 |
| I3 | `mfe-eval.ps1 -Tier lead` | FIT + Goodhart | 0 |
| I4 | `nhip-no-probe.ps1` | nhịp + trần + gom + pull | 0 |
| I5 | `distill-shard-probe.ps1` | shard pending | 0 |
| I6 | `memory-archive-gate.ps1` | A7 (block §1.3) | — |

### 1.1 — Bảng đối-chứng 20 số con-ĐO cite

| # | số con-ĐO cite | tao re-dựng | phán |
|---|---|---|---|
| 1 | roster **23** | 23 | ĐẠT |
| 2 | over30kb **0** | 0 (`tran-bo-nho 0 over-cap`) | ĐẠT |
| 3 | max L1 **22452** (87,7%) | 22452 · 22452/25600 = **87,70%** | ĐẠT |
| 4 | zero-byte **0** | 0 | ĐẠT |
| 5 | inv-cb **22452** | 22452 | ĐẠT |
| 6 | cicd **20460** | 20460 | ĐẠT |
| 7 | tooling **20332** | 20332 | ĐẠT |
| 8 | reviewer **20123** | 20123 | ĐẠT |
| 9 | test-spec **17103** | 17103 | ĐẠT |
| 10 | ring2-audit **20062** | 20062 | ĐẠT |
| 11 | `l2idx 0 over` | `l2idx 0 over` (chuỗi trùng) | ĐẠT |
| 12 | `measured` **17 row** | 17 | ĐẠT |
| 13 | strike-ledger **20 row** | 20 | ĐẠT |
| 14 | vắng đúng **3 vai ctx** | ctx-audit · ctx-curator · ctx-verifier | ĐẠT |
| 15 | **6 vai 0 baseline** | 6 = 3 ctx + ring1/ring2/ring4 | ĐẠT |
| 16 | light **2/6** | `light 2/6` | ĐẠT |
| 17 | deep **6/15** | `deep 6/15` | ĐẠT |
| 18 | shard pending **1**/ngưỡng **15** ⇒ IM | `pending=1 \| nguong=15 => IM` | ĐẠT |
| 19 | pull-cach **14 ngày** | `pull-cach 14 ngay` | ĐẠT |
| 20 | run-chua-gom **4** | 🔴 **5** | **TRƯỢT** |

**19/20 byte-exact.** ⇒ nấc ĐO **không bịa số nào**; 1 số lệch là số **cũ hơn** (xem 1.2).

### 1.2 — TRƯỢT E-20: `run-chua-gom` 4 vs 5

`nhip-no-probe.ps1` @09:27 in **`run-chua-gom 5`**; con-ĐO cite **4**. Con-ĐO tự khai *"số instrument = nguyên-văn paste của lead, 0 lượt Bash"* ⇒ lệch nằm ở **độ tươi của paste**, KHÔNG ở tính trung thực. Nhưng **hệ-quả có thật**: con ĐỀ-XUẤT dựng N2 trên **"1 trong 4 folder"** — mẫu-số sai 1 đơn-vị. (Chấm mẫu-số, KHÔNG chấm nghiệp-vụ harvest ⇒ **NHƯỜNG H2** phần định-đoạt; H2 kỳ này trả `GATE-HOLD 6`, tức **số thứ ba** cho cùng một trục — 4 / 5 / 6. Ba sổ, ba số: đó là dữ-kiện tao giao lead, không phải phán-quyết của tao.)

### 1.3 — Đối-chứng 5 baseline + 5 delta của trục #5

Baseline con-ĐO cite (`17229/20180/16923/20071/8844`) khớp **5/5** với `memory-budget.json:192-199`. Delta tao tính lại:

| vai | live | baseline | delta tao | con-ĐO | phán |
|---|---|---|---|---|---|
| inv-cb | 22452 | 17229 | +30,31% | +30,3% | ĐẠT |
| cicd | 20460 | 20180 | +1,387% | +1,4% | ĐẠT |
| tooling | 20332 | 16923 | +20,14% | +20,1% | ĐẠT |
| reviewer | 20123 | 20071 | +0,259% | +0,3% | ĐẠT |
| test-spec | 17103 | 8844 | +93,38% | +93,4% | ĐẠT |

⇒ **5/5 phép chia đúng, làm tròn đúng.** Con-ĐO không phóng đại delta nào.

Thêm: **A7 429/429/0** (`memory-archive-gate.ps1` in `A7 GATE PASS - total pointers 429, resolved 429, failed 0`) ⇒ trục #11 **ĐẠT byte-exact** (số thứ 21).

---

## §2. 🔴 TRƯỢT NẶNG NHẤT LƯỢT — MFE **CHẠY ĐƯỢC**, cả hai con khai là KHÔNG

Con-ĐO #18: *"MFE FIT/strikes/coverage — **không chạy** — N/A"*, signal #7: *"MFE trắng **2 kỳ liên tiếp** ⇒ **mất hẳn** trục coverage/retention có ngưỡng"*.
Con ĐỀ-XUẤT E3: *"precondition chỉ MFE cấp được, **MFE tắt 2 kỳ**"* · §1 Zero-có-lý-do ①: *"**MFE tắt 2 kỳ ⇒ 0 dữ-liệu presence**"*.

**Tao chạy. Nó chạy.** `mfe-eval.ps1 -Tier sub` → **exit 0**, 0 stderr, ~2 s, in bảng coverage **đủ 23/23 vai**:

```
implementer-frontend    11/13  =  85%      <-- vai DUY NHẤT dưới 100%
22 vai còn lại          .../... = 100% (MEASURED, not target-then-force)
```

`-Tier lead` → **exit 0**: `DENOMINATOR = 36 items` · `FIT = PASS` (span 28.492 B ⇒ 2,5% worst-case của cap 380.000 tok) · Goodhart `strikes_total=25 RCA=16 AS-classes=15`, `warn-baseline=25 last_run_strikes=25` ⇒ **không kích cảnh-báo**.

**Phán:**

| claim | phán |
|---|---|
| con-ĐO #18 verdict `N/A` (vai 0 Bash, không có đường chạy) | **ĐẠT** — hợp ràng-buộc tool của nó |
| con-ĐO signal #7 *"MFE trắng 2 kỳ ⇒ **mất hẳn trục**"* | 🔴 **TRƯỢT** — trục **còn nguyên**, chỉ **không được gọi** |
| con-ĐỀ-XUẤT E3 *"MFE **tắt** 2 kỳ"* | 🔴 **TRƯỢT** — không tắt; cách 1 lệnh |
| con-ĐỀ-XUẤT ①-zero *"**0 dữ-liệu presence** ⇒ fail-closed"* | 🔴 **TRƯỢT** — dữ-liệu presence **có sẵn**, 23/23 vai |

🔴 **Vì sao đây là TRƯỢT phương-pháp chứ không phải lỗi số:** con-ĐO §🧪 tự rút bài *"**0-hit không được rời tay khi chưa có control-dương**"* — nó áp bài đó cho **grep**, rồi phạm **đúng lớp đó** với **MFE**: suy *"không có số"* ⇒ *"trục chết"* mà **không có control-dương**. Control-dương ở đây rẻ đúng 1 lệnh. Con ĐỀ-XUẤT thừa-kế tiền-đề hỏng ấy **không kiểm lại**, rồi **dùng nó để biện-minh cho một lớp action = 0** (①) và cho một escalate (E3). ⇒ **tiền-đề hỏng đã ĂN vào kết-luận**, không phải sai-số trang-trí.

**Hệ-quả tao giao lead (số THẬT, chưa vai nào thấy):** `implementer-frontend 11/13 = 85%` là **vai duy nhất** hụt coverage — một datum có ngưỡng, có tên, actionable ngay. Nó đã bị chôn dưới chữ "MFE tắt".

**Ranh:** vì sao 2 con không chạy là chuyện **paste-set của lead** (§L.b(k)(v) cấm chúng chạy lại) ⇒ **KHÔNG chấm ở đây, nhường H24.** Cái tao chấm là **câu chữ khai về trạng-thái hệ-thống**, và câu đó **sai**.

---

## §3. 🔴 PHÁT HIỆN MỚI (không con nào nêu) — LƯỢT "NÉN" S170 **KHÔNG NÉN**

Tao đo lại **toàn bộ 16 twin** lượt nén S170 (`4af3414`, 2026-08-03) — gist so với chính verbatim nguồn của nó:

| file | src | gist | tỷ-lệ |
|---|---|---|---|
| inv-cb/2026-05-q4 | 2.770 | 8.455 | 🔴 **305,2%** |
| impl-be/2026-05-q3 | 5.353 | 11.974 | 🔴 **223,7%** |
| inv-cb/2026-05-q3 | 3.089 | 6.660 | 🔴 **215,6%** |
| reviewer/2026-05-q2 | 3.526 | 6.723 | 🔴 **190,7%** |
| cicd/2026-05-q2 | 3.877 | 6.429 | 165,8% |
| impl-be/2026-05-q4 | 6.243 | 10.234 | 163,9% |
| cicd/2026-05-q3 | 3.949 | 6.488 | 164,3% |
| cicd/2026-05-q4 | 10.576 | 14.727 | 139,2% |
| **impl-fe/2026-H2** | 22.215 | 30.144 | 🔴 **135,7%** (kỳ ĐANG MỞ) |
| inv-cb/2026-05-q2 | 9.062 | 11.729 | 129,4% |
| impl-be/2026-05-q2 | 12.442 | 12.372 | 99,4% |
| impl-be/2026-05-q1 | 18.512 | 16.534 | 89,3% |
| **test-spec/baseline-history** | 32.069 | 28.437 | 88,7% |
| inv-cb/2026-05-q1 | 20.699 | 17.144 | 82,8% |
| reviewer/2026-05-q1 | 18.707 | 14.685 | 78,5% |
| cicd/2026-05-runs | 59.861 | 31.779 | 53,1% |
| **TỔNG** | **232.950** | **234.514** | 🔴 **100,7%** |

🔴 **11/16 gist LỚN HƠN nguồn. Tổng thể lượt nén làm corpus PHÌNH +1.564 B.**

**Vì sao đây là trục của tao (spec-conformance), không phải chấm-code:**
`crystallized_backfill.source_order[0]` = `"gist"` (`memory-budget.json:131`), `_source_order_note:132` = *"(1) archive/&lt;period&gt;.gist.md 4-field distill"* ⇒ **gist chính là thứ được rót vào hot-feed**. Một gist 305% nguồn **đẩy ngược** đúng trục mà con-ĐO xếp REGRESSION 3 mốc (#17 crystallized headroom 181.228 → 172.247 → 165.767).

**Phản-biện tao tự dựng (fair-play):** header gist tự khai *"compression is a REPORTED number, not a target"* ⇒ gist > nguồn **không vi-phạm một target đã tuyên**. **Nhận.** Nhưng nó vẫn là **defect trên trục headroom**, vì lớp L2 tồn tại để **hạ** byte cho tier nóng/lạnh, và `source_order[0]` biến gist thành **nguồn rót**. ⇒ tao KHÔNG gọi đây là "vi-phạm gate"; tao gọi đúng tên: **lượt nén đạt mọi gate nhưng KHÔNG đạt mục-đích của chính nó, và KHÔNG gate nào đo điều đó.**

🔴 **Đệ-quy đáng ghi:** bài-học con ĐỀ-XUẤT tự viết vào **A2(b)** — *"coverage-gate 16/16 PASS = 16/16 **TOKEN-CLASS** được phủ, KHÔNG phải '0 mất mát load-bearing'"* — **chính là cái bắt được lỗi này**. Nó viết ra bài đó ở A2, rồi **không áp cho chính lượt S170 mà nó vừa tha bổng** ở §6.2.

### 🔴 §3-ERRATA — TAO TỰ BÁC TIÊU-ĐỀ §3 CỦA CHÍNH TAO

Tao đặt tiêu-đề *"PHÁT HIỆN MỚI (không con nào nêu)"*. **SAI — rút.** Đọc tiếp `sub-ring4-audit-sleep-S170.md:45`:

```
| | **TỔNG** | **232.950** | **233.858** | **100,39%** |
```

⇒ **`ring4-audit` ĐÃ đo đúng con số này tại S170**, đặt thành claim C5 (`:194` **ĐẠT**), và **đã phân xử** ở `:173`: *"**phình byte KHÔNG phải phình rỗng** — 3 entry mega-line được bung thành 4-field + phụ-lục token; giá byte đổi lấy tra-cứu được. **Không FLAG.**"* Đó là lý-do **có thực-chất**, không phải bỏ sót. ⇒ **§3 KHÔNG phải phát hiện mới, và kết-luận "defect" của tao PHẢI hạ xuống.**

Tao xác-nhận số của ring4 **byte-exact**: cộng tay 16 số ring4 liệt ở `:118` = **233.858** ✅ · nguồn **232.950** ✅ · **100,39%** ✅.

**Cái THẬT SỰ còn lại của tao — và nó nhỏ nhưng sắc:**

| mốc | sự-kiện |
|---|---|
| 10:51 | 16 gist sinh |
| 10:53 | commit `4af3414` (tổng gist = **233.858**) |
| 11:02 | `ring4` chốt audit — verify *"16/16 draft ↔ archive **byte-identical**"*, liệt đủ 16 số gồm **11.504** và **8.269** |
| **11:03** | 🔴 **2 file bị sửa tiếp**: `impl-be/2026-05-q3` **11.504 → 11.974** · `inv-cb/2026-05-q4` **8.269 → 8.455** (**+656 B**) |

⇒ **Bất-biến "16/16 byte-identical" của ring4 nay ĐÚNG 14/16** — 2 file đổi **1 phút SAU** khi vai kiểm chốt sổ. Tổng live = **234.514**, tỷ-lệ **100,67%** (không phải 100,39%). Sai-số nhỏ, **nhưng đây đúng lớp "số đóng-băng tự-lão-hoá" mà chính ring4 bắt ở `:112`** — kỳ này rơi vào **chính bản kiểm của nó**. Giao lead, KHÔNG kết tội ai: 2 file ấy có được review sau 11:03 hay không thì tao không có đường biết.

**Điều còn đứng từ §3:** trục byte của E2 vẫn thật — nhưng công-trạng thuộc `ring4`, không thuộc tao, và ring4 đã cân nhắc rồi tha có lý-do. Tao rút "defect", giữ nguyên **liên-kết E2 × headroom** (§4.2).

---

## §4. ITEM 1 — CÚ LẬT CỦA CON ĐỀ-XUẤT (claim load-bearing nhất lượt)

### 4.1 — Phán: 🟢 **CÚ LẬT ĐÚNG. Đây là HÀNH-VI MẪU, không phải né.**

Bản gốc (đã dựng xong, đủ mạnh để phát): *"14 file gist bị cấm nay tồn tại; commit `4af3414`; trigger A1@S168 nổ ⇒ **thiệt-hại đã xảy ra**"* — hàm ý rollback.

Tao kiểm **từng chân** của bản LẬT, byte-exact:

| refine khai (§6.2 / A2) | tao verify từ đĩa | phán |
|---|---|---|
| `ring4` kiểm độc-lập **11 claim → 8 ĐẠT / 3 TRƯỢT** | `:202` **"TỔNG: 8 ĐẠT / 3 TRƯỢT"** | **ĐẠT** verbatim |
| 3 trượt là **sai-số đo, không bịa** | `:202` *"đều là sai-số đo, không phải bịa… Không claim nào bị bác về bản-chất"* | **ĐẠT** verbatim |
| **ADDITIVE 16/16 hash-verified** | `:67` F-1 HELD — `git hash-object` 16/16 IDENTICAL vs HEAD, nguồn đứng yên 54 phút | **ĐẠT** |
| reviewer **fidelity-gate 38.167 B** | file tồn tại, `stat` = **38.167 B** | **ĐẠT** byte-exact |
| thách-CLEAN sâu chỉ **2/16** | `(vi)` mở đúng 2 gist đối-chứng | **ĐẠT** |
| nếu phát sẽ **phá 233.858 B** công đã review | `git ls-tree 4af3414` 16 file = **233.858** | **ĐẠT** byte-exact |

🔴 **Vì sao "thiệt-hại" là SAI về mặt sự-kiện, không chỉ sai về giọng:** F-1 chứng **16/16 nguồn verbatim hash-trùng HEAD** ⇒ **không byte nào bị ghi đè**. Thao-tác là ADDITIVE thuần. "Thiệt-hại" đòi hỏi mất mát; **không có mất mát**. Nếu phát, rollback sẽ **hủy 233.858 B đã qua 3 lớp kiểm** (curator → reviewer fidelity 38.167 B → ring4 độc-lập) **để chữa một mất-mát không tồn tại.**

⇒ **Bản gốc SAI, bản lật ĐÚNG.** Lead **KHÔNG** đang bỏ qua thiệt hại thật.

### 4.2 — Nhưng cú lật KHÔNG phải "tha bổng" — nó ĐỔI TIỀN đúng chỗ

Điều nâng cú lật này từ "tránh báo động giả" lên "hành-vi mẫu": refine không rút về **0**, nó rút về **2 escalate hẹp mà tao verify là THẬT**:

- **E1 ĐẠT — verify từ MÃ NGUỒN, mạnh hơn cách refine chứng.** refine dẫn `_residual_khai_that` (lời tự khai của config). Tao đọc thẳng `scripts/distill-shard-probe.ps1:42-43`:
  ```
  $gist = Join-Path $arc ($n -replace '\.md$', '.gist.md')
  if (-not (Test-Path $gist)) { $pending += $_.FullName }
  ```
  **Thuần `Test-Path`. 0 so tuổi, 0 so mtime, 0 so size.** ⇒ `impl-fe/2026-H2.md` (kỳ **ĐANG MỞ**, còn phình) và `test-spec/baseline-history.md` (**file cuộn, không biên kỳ**) **vĩnh viễn không bao giờ vào trigger nữa**. **Cơ-chế đúng y như refine mô-tả.**
  🔴 **Tao thêm 1 chân refine không có:** `memory-budget.json:197` **tự khai** `baseline-history` là *"reference-file **[skip sleep: da distilled-form]**"* — tức sổ ngân-sách đã ghi **ĐỪNG nén file này**, và lượt S170 **vẫn nén** (32.069 → 28.437, tiết-kiệm **11,3%**). Ghi-chú đó nằm trong chuỗi `rollout` **tự-do**, **không khoá máy nào đọc** ⇒ lớp *ghost-wire "declared-but-unread"*. E1 vì vậy **nặng hơn** refine trình.
- **E2 ĐẠT ở lõi — và tao tìm được chứng CỨNG HƠN refine dùng.** refine lập luận bằng *trùng kỳ*. Header của chính file mạnh hơn: `cicd-monitor/archive/2026-05.gist.md:4` khai
  `source-verbatim: archive/2026-05-q2.md (1) · 2026-05-q3.md (3) · 2026-05-q4.md (7) · 2026-05-runs.md (20 run-records…)`
  ⇒ bản gộp khai **đúng 4 shard**, và S170 vừa sinh gist **lẻ cho đúng 4 shard đó**. **Không phải "trùng kỳ" — là TRÙNG NGUỒN, chứng bằng chính header.** Với `source_order[0]="gist"` (`:131`), một lượt pour rót **2026-05 hai lần**. **E2 đứng, và đứng vững hơn cách nó tự chứng.**

### 4.3 — Chỗ cú lật đi HƠI XA (1 nấc, không đổ kết-luận)

refine tha bổng lượt S170 dựa trên *"có gate đầy đủ"* + ADDITIVE. Cả hai đúng. Nhưng nó **không chuyển tiếp** con số `100,39%` của ring4 (`:45`) vào bản S172 — trong khi **eval xếp crystallized headroom là REGRESSION 3 mốc** (#17) và **`source_order[0]` = gist**. ⇒ lead đọc trọn bộ-ba S172 sẽ **không thấy** rằng lớp gist vừa được bơm thêm ~1.564 B ròng. **Không phải lỗi phán-quyết — là lỗi TRUYỀN SỐ giữa 2 lane.** (ring4 đã tha có lý-do; nhưng lý-do đó là *"đổi byte lấy tra-cứu"*, một trade-off mà **lane headroom cần biết để cân**, không phải để phủ-quyết.)

---

## §5. ITEM 2 — E4: TỰ-KIỀM-CHẾ ĐÚNG LUẬT hay NÉ VIỆC?

### Phán: 🟢 **ĐÚNG LUẬT — và luật buộc chặt hơn lý-do refine tự nêu. KHÔNG phải né việc.**

**(a) Sự-kiện refine khai — verify byte-exact:**

| khai | đĩa | phán |
|---|---|---|
| `:23` vẫn ghi *"CHƯA chạy lần nào"* | `harness-refine/MEMORY.md:23` = *"- S141 (2026-07-20) seed… — **CHƯA chạy lần nào**; first-run chờ restart-CLI…"* | **ĐẠT** verbatim, đúng số dòng |
| **11 return** nằm trên đĩa | `find` ra **12**, trừ chính bản S172 đang viết ⇒ **11** (S144→S169) | **ĐẠT** |
| diary **đóng băng**, mục cuối **S162**, thiếu S163+S168+S169 | mục mới nhất = **S162** ở `:3` (khuôn mới-nhất-ở-TRÊN); `## Nhật-ký` dừng ở S159; **0 dấu** S163/S168/S169 | **ĐẠT** |

*(Tao đã thử bẻ claim này: `## Nhật-ký` kết ở **S159**, nghi "mục cuối S162" là sai. Đọc lại `:3` → S162 nằm ở khối đỉnh. **Đòn của tao gãy, claim refine đứng.**)*

**(b) Luật thật buộc gì:** `.claude/agents/harness-refine.md:42` —
> *"**CHỐT-DỪNG per-đối-tượng:** đã đề-xuất **1 lần** cùng đối-tượng mà đo-lại VẪN không đạt → **leo-thang lead** (KHÔNG tự đề-xuất lần 2 cùng đối-tượng = CẤM lặp vô-hạn)."*

refine tự khai E4 là **"leo-thang lần 2 chưa được trả lời"** ⇒ đối-tượng này **đã hết quota attempt**. ⇒ **ESCALATE là BẮT BUỘC, không phải lựa chọn đạo-đức.** Nâng nó thành ACTION sẽ **vi-phạm** `:42`.

🔴 ⇒ refine **làm đúng**, nhưng **biện-minh dưới sức**: nó trình như một sự tự-kiềm-chế vì *"nó là bên hưởng lợi"* (lý do mềm, tùy-nghi), trong khi luật cứng `:42` **đã cấm** rồi. **Trình một nước-đi BẮT BUỘC như một đức-tính TÙY-NGHI** — vô hại lượt này, nhưng làm lead tưởng mình có quyền chọn.

**(c) Phép thử "né việc" — BROKE:** refine **không có Write/Edit** (giống eval). Cả ACTION lẫn ESCALATE đều **do lead thi hành**. ⇒ refine **không có việc gì để né** — chi-phí của nó bằng nhau ở hai đường. Và E4 đòi lead *"**disposition tường minh**: thi-hành, hoặc **HỦY và ghi rõ là hủy**"* — **đòi lead NHIỀU hơn** một dòng action lặng lẽ. ⇒ **giả-thuyết "né việc" BROKE.**

---

## §6. ITEM 3 — CHẤM TỪNG ĐÍNH-CHÍNH C1 / C2 / C3

### C1 — *"trục #13 ĐÚNG SỐ, SAI NHÂN-QUẢ; 17 − 16 = 1, và 1 đó là `cicd-monitor/archive/2026-08.md`"* → 🟢 **ĐẠT TOÀN PHẦN**

Tao **tự dựng lại độc-lập**, không dùng số của ai:
- Tổng shard (loại `_INDEX*` + `*.gist.md`) = **33**
- Tao tự duyệt từng shard tìm twin ⇒ **pending = 1**, và đúng là **`.claude/agent-memory/cicd-monitor/archive/2026-08.md`** (5.912 B) — **khớp tên khít**
- 33 − 1 = 32 đã có twin; S170 sinh **16** twin (đếm bằng mtime-window 08-03) ⇒ **trước S170: 16 gisted / 17 pending** ✅ **đúng "S168 đếm 17"**

⇒ nhân-quả refine chỉ ra là **thật**: đèn tắt vì **vật đổi hình** (16 shard mọc twin), không vì backlog được giải. `-gt 15` với `pending=1` ⇒ IM. **ĐẠT.**

### C2 — *"mỏ-neo 95,14% lỗi thời 2 vòng; thật 9.682/20.480 = 47,3%"* → 🟡 **ĐẠT phần SỬA · TRƯỢT phần KHUNG RỦI-RO**

| vế | verify | phán |
|---|---|---|
| `cicd-monitor/archive/_INDEX-2026-H1.md` tồn tại ⇒ rotate ĐÃ xảy ra | có thật, **13.906 B**, mtime **08-01 12:27** | **ĐẠT** |
| rotate đúng `split_rule_S167` | `memory-budget.json:64` — *"cap applies to the **MAIN** archive/_INDEX.md only… Rotated `_INDEX-<period>.md` = cold tier, **no cap**"* | **ĐẠT** |
| main `_INDEX.md` = **9.682** ⇒ **47,3%** | đĩa = **9.682 B**; 9.682/20.480 = **47,28%** | **ĐẠT** byte-exact |
| *"khung rủi-ro đúng là **không thấy con số gần nhất ở 47%**"* | 🔴 **cao nhất hạm đội = `reviewer/_INDEX.md` 13.941 = 68,07%** | **TRƯỢT** |

🔴 **Vì sao TRƯỢT quan trọng:** cap là **per-file main `_INDEX.md`**, nên số rủi-ro của TRỤC là **max hạm đội**, không phải số của cicd. Bám cicd là hợp-lý *để so cùng vai* (mỏ-neo 95,14% vốn là của cicd), nhưng câu chữ đọc ra **cấp-trục**. Lead đọc "47%" sẽ **hụt 20,8 điểm** so với thực-tế 68,1%. **Số đúng để lead cầm: `reviewer` 13.941/20.480 = 68,1%.**

*(Tao tự bẻ trước: thấy `measure` báo `cicd l2_index = 23.588 > 20.480` và suýt phát "**1 vai VƯỢT CAP**". Đọc `:64` ⇒ trục `l2_index` của `measure` **cộng cả bản rotate** trong khi **cap chỉ tính main**, và spec ghi thẳng *"do not 'fix' it to sum both"*. **Đòn của tao gãy — 0 vai vượt cap.** Đây đúng là dương-giả mà một con-KIỂM ẩu sẽ phát.)*

### C3 — *"+30,3% không phải tăng-trưởng kỳ này, là artifact baseline ôi"* → 🟢 **ĐẠT CẢ SỐ-HỌC LẪN NHÂN-QUẢ**

§1.3 đã chấm ĐẠT tầng số-học. Tầng **nhân-quả** tao dựng riêng bằng **git**:

```
5dc63f7  07-29 16:18  investigator-codebase/MEMORY.md  size=22452   <-- và ĐỨNG YÊN tới giờ
33e7f68  07-28 20:50  size=23285
f086698  07-28 10:58  size=20646
```

⇒ file **byte-identical 22.452 từ 2026-07-29 16:18** đến nay = **6 ngày 17 giờ** ⇒ refine khai *"~7 ngày 0 B đổi"* **ĐẠT**. Baseline đối chiếu là **17.229** — snapshot thời **S107/S138** (`:191` tự khai *"MỘT SỐ ĐÃ TRÔI… chờ full re-sync @drift-audit 2026-08-01"*). ⇒ **+30,3% đo khoảng cách giữa 2 MỐC THỜI-GIAN, không đo tăng-trưởng kỳ này.** Nhân-quả **ĐÚNG**. Và nó **củng cố** X1 (bác action phình inv-cb): *vai không được spawn ≠ vai phình*.

---

## §7. N3 — `ctx-verifier` KHÔNG Write/Edit: phân xử vế còn lại

`ring2-audit` đã BROKE nửa đầu (`Bash` nằm trong whitelist ⇒ đường ghi **vẫn mở**). Tao phân xử **vế lead nhờ**: *quy-kết carry về wiring của lead có đúng không?*

**(a) Neo — ĐẠT byte-exact.** `.claude/agents/ctx-verifier.md:7` đúng là dòng `tools:`, nội dung `[Read, Grep, Glob, Bash, mcp__rag-unified__*]` — **KHÔNG có Write/Edit**. Đúng file, đúng số dòng.

**(b) *"bất-khả-giải bởi chính vai"* — 🔴 TRƯỢT, và bằng-chứng bác nằm NGAY TRONG dòng refine trích.** `ctx-verifier.md:4` tự khai:
> *"`tools:` khai KHÔNG Write/Edit (**mô-tả ý-định** — carry `tools-whitelist-no-teeth`; **backstop = git-diff commit-gate**)"*

⇒ chính file khai whitelist **KHÔNG CÓ RĂNG** và nêu đúng backstop thật. Khung đúng = **"CẤM ghi (ghi = residual-write vi-phạm hợp-đồng), backstop THẬT = git-diff"**, **không phải "bất-khả-thi vật-lý"**. *(Tao chịu đúng caveat này: tao cũng đang Bash + được lead cấp Write cho **đúng 1 file** — kênh ghi của tao mở, containment thật vẫn là lead soát `git status`.)*

**(c) 🟢 Quy-kết về nghĩa-vụ scribe của lead — ĐẠT.** Vai **propose-only, single-writer = lead**; một vai **bị cấm ghi** không thể bị tính lỗi **"không tự ghi"**. Carry `no-self-append` thuộc **lane lead**, đúng như refine nói.

🔴 **(d) Hệ-quả CƠ-CHẾ mà lead phải cầm — và nó đảo chiều một cách vá:** vì (b), nếu lead đọc thành *"thiếu năng-lực"*, lead sẽ đi tìm **cách vá WIRING** (thêm `Write` vào whitelist). **Đó là vá SAI, và nó phá đúng thứ đang đo**: 3 vai ctx + 3 vai trio propose-only **theo thiết-kế**; cấp Write cho chúng **phá bất-biến single-writer** để làm đẹp một chỉ-số. Lựa chọn thật là **POLICY**, không phải wiring: (i) lead tiếp tục scribe, hoặc (ii) **owner** đổi hợp-đồng propose-only. **AI không được tự chọn (ii).**
⇒ Vế refine nói **đúng nhất** và lead nên giữ nguyên văn: *"máy đo authorship **không trừ lớp vai-không-có-Write** sẽ **phạt trio + ctx vì tuân thủ đúng hợp-đồng**"* — đây là **Goodhart chiều ngược**, và nó bác luôn cách đọc signal #5 của con-ĐO (*"authorship-0 trên 2/2 sub spawn"*) như một **defect của vai**.

---

## §8. NGHĨA-VỤ (iii) — FALSIFY-LOG: 21 phép, **12 HELD / 9 BROKE**

Mỗi dòng = tao thử **PHÁ** claim. `HELD` = phá không nổi (claim đứng) · `BROKE` = phá được (claim đổ).

| # | claim bị thử | phép phủ-định cụ-thể | kết |
|---|---|---|---|
| F1 | bộ-ba chạy TUẦN TỰ | so mtime 9 artifact: nếu song song, eval ≥ refine | **HELD** (09:09:18 < 09:25:08 < tao) |
| F2 | đo cây live = đo thứ 2 con đã thấy | `git status` agent-memory + file mới nhất 08:56 < eval 09:09 | **HELD** (không tái diễn F14@S162) |
| F3 | eval `l2idx 0 over` | `measure` báo cicd **23.588 > 20.480** ⇒ "1 vai VƯỢT CAP!" | **HELD** — `:64` cap = **main only**, `measure` cộng cả rotate *by design*. **Đòn tao gãy** |
| F4 | eval *"MFE không chạy / trắng 2 kỳ ⇒ mất hẳn trục"* | **chạy thử** `mfe-eval.ps1 -Tier sub` | 🔴 **BROKE** — exit 0, bảng 23/23 vai |
| F5 | refine *"MFE **tắt** 2 kỳ ⇒ 0 dữ-liệu presence"* | như F4 + `-Tier lead` | 🔴 **BROKE** — FIT=PASS, strikes 25/25 |
| F6 | refine *"không bản nào khai canonical"* | `grep -l canonical` ⇒ **11 file** ⇒ nghi sai | **HELD** — đọc từng hit: 11/11 là **use trong nội-dung** (`/healthz`… canonical), **0 khai header**. Đúng lớp **use ⟂ mention**. **Đòn tao gãy** |
| F7 | refine *"`2026-05.gist.md` tự dán FROZEN"* | `grep FROZEN` chính file đó | 🔴 **BROKE** — hit duy nhất `:31` là **nội-dung** (*"BE-only bundle FROZEN"*, nói về bundle deploy). File **tự dán** FROZEN thật là `2026-06.gist.md:4`. **Gán nhầm file** |
| F8 | refine *"**14** bản lẻ `2026-05-q*.gist.md`"* | đếm bằng **4 lệnh khác nhau** (`find` · `ls` glob · `git ls-files` · pattern `-q[0-9]`) | 🔴 **BROKE** — **13/13/13/13**. Con số 14 chỉ đúng nếu gộp `2026-05-runs.gist.md` (không khớp `q*`) |
| F9 | refine C1 *"1 pending = `cicd/2026-08.md`"* | tao tự duyệt mọi shard tìm twin, không dùng probe | **HELD** — đúng 1, đúng tên |
| F10 | refine C1 *"17 − 16 = 1"* | dựng lại: 33 shard − 32 có twin; trừ 16 twin S170 | **HELD** — trước S170 = 17 pending ✅ |
| F11 | refine C3 *"artifact baseline ôi"* | `git cat-file -s` 8 mốc inv-cb/MEMORY.md | **HELD** — 22.452 bất biến từ 07-29 16:18 |
| F12 | refine C2 *"con số gần nhất ở 47%"* | quét **toàn hạm đội** main `_INDEX.md`, không chỉ cicd | 🔴 **BROKE** (khung) — max = reviewer **13.941 = 68,1%** |
| F13 | refine *"diary mục cuối S162"* | `## Nhật-ký` kết ở **S159** ⇒ nghi sai | **HELD** — S162 ở `:3`, khuôn mới-nhất-ở-TRÊN. **Đòn tao gãy** |
| F14 | refine *"11 return trên đĩa"* | `find` ra **12** ⇒ nghi sai | **HELD** — cái thứ 12 là **chính bản S172 nó đang viết**. **Đòn tao gãy** |
| F15 | 🔴 **claim CỦA CHÍNH TAO**: §3 *"phát hiện MỚI, không con nào nêu"* | đọc `sub-ring4-audit-sleep-S170.md` trước khi ship | 🔴 **BROKE** — ring4 `:45` đã có **100,39%**, `:173` đã tha có lý-do. **Tao rút §3** |
| F16 | refine §6.2 **cú lật** | 6 chân, mỗi chân verify độc-lập từ đĩa (hash / stat / git ls-tree / verbatim) | **HELD** 6/6 — bản gốc SAI, bản lật ĐÚNG |
| F17 | *"E4 escalate = **né việc**"* | refine **không có Write** ⇒ ACTION lẫn ESCALATE đều lead làm ⇒ chi-phí bằng nhau; E4 còn **đòi lead nhiều hơn** | 🔴 **BROKE** (giả-thuyết buộc tội đổ ⇒ refine được minh oan) |
| F18 | refine N3 *"bất-khả-giải bởi vai"* | `Bash` **có** trong whitelist `:7`; `:4` tự khai *"tools-whitelist-no-teeth"* | 🔴 **BROKE** — **CẤM**, không phải **bất-khả** |
| F19 | refine N3 *"là nghĩa-vụ scribe của lead"* | thử quy lỗi về vai: vai bị cấm ghi có thể bị tính lỗi không-ghi? | **HELD** — không thể; carry thuộc lane lead |
| F20 | 🔴 **claim CỦA CHÍNH TAO**: *"verdict tổng của tao gộp để che TRƯỢT lẻ"* | tự đếm: có liệt đủ **9 TRƯỢT** từng dòng riêng không? | **HELD** — 9/9 có dòng riêng + neo. Tự áp luật meta-count S119 lên mình |
| F21 | ring4 *"16/16 draft ↔ archive **byte-identical**"* | so 16 số ring4 liệt `:118` với đĩa live | 🔴 **BROKE** — **14/16**; 2 file +656 B lúc **11:03**, sau khi ring4 chốt **11:02** |

**4 lần đòn của TAO gãy (F3, F6, F13, F14)** = 4 dương-giả tao suýt phát. **2 lần tao tự phá claim của chính mình (F15, F20).**

---

## §9. VERDICT PER-CLAIM — **59 claim: 50 ĐẠT / 9 TRƯỢT** (KHÔNG gộp)

### 9.1 — Con ĐO `harness-eval`: **29 claim → 26 ĐẠT / 3 TRƯỢT**

**26 ĐẠT** — 19/20 số bảng byte-exact · A7 429/429/0 · 5/5 baseline khớp `:192-199` · 5/5 delta chia đúng · meta-count `8+2+4+5+1=20` **tự cộng ĐÚNG** (lớp từng sai ở S153/S162 — kỳ này sạch) · mốc lịch trôi 4 ngày (`:191`) · §🧪 tự bắt lỗi glob của chính mình · #18 `N/A` hợp ràng-buộc 0-Bash · 3 vai ctx vắng CẢ HAI sổ (17/23 + 20/23) đúng khít.

🔴 **3 TRƯỢT — từng dòng:**

| id | claim | thật | tác-động |
|---|---|---|---|
| **E-20** | `run-chua-gom` **4** | probe @09:27 = **5** | mẫu-số N2 của refine lệch 1. Định-đoạt ⇒ **NHƯỜNG H2** (H2 trả `GATE-HOLD 6` ⇒ **3 sổ 3 số: 4/5/6**) |
| **E-27** | signal #7 *"MFE trắng 2 kỳ ⇒ **mất hẳn** trục coverage/retention"* | trục **còn sống**, cách 1 lệnh; `impl-fe **11/13 = 85%**` là vai DUY NHẤT hụt | 🔴 **nặng** — chôn 1 datum có ngưỡng, và ăn tiếp vào E3/①-zero của refine |
| **E-28** | *"cả **byte-governor** lẫn baseline đều không nhìn thấy ctx"* | 2 **SỔ** thiếu row = ĐÚNG; nhưng `measure` **thấy đủ 3** (ctx-audit 16.410 · ctx-verifier 14.053 · ctx-curator 5.229) và **MFE thấy đủ 3 ở 100%** | suy-luận quá tay: *thiếu row trong sổ* ≠ *vô hình với máy* |

### 9.2 — Con ĐỀ-XUẤT `harness-refine`: **30 claim → 24 ĐẠT / 6 TRƯỢT**

**24 ĐẠT** — cú lật §6.2 **6/6 chân** · E1 cơ-chế (verify từ **mã nguồn** probe `:42-43`) · E2 lõi (chứng **cứng hơn** cách nó tự chứng: header `source-verbatim` = TRÙNG NGUỒN) · `distill-gen: 1` cả 2 họ · `source_order[0]="gist"` `:131` · C1 **toàn phần** · C2 phần sửa (rotate + 9.682 byte-exact) · C3 **cả số-học lẫn nhân-quả** · X1 *"~7 ngày 0 B"* · E4 `:23` verbatim + *"11 return"* + *"mục cuối S162"* · A2 4/4 số ring4 byte-exact (8Đ/3T · 38.167 B · ADDITIVE 16/16 · thách-CLEAN 2/16) · N2 nội-dung (folder S169 **chứa** bản audit ring4) · N3 neo `:7` + quy-kết lane · *"0 file bị chạm"* (git status xác nhận).

🔴 **6 TRƯỢT — từng dòng:**

| id | claim | thật | tác-động |
|---|---|---|---|
| **R-4** | E2 *"**14** bản lẻ `2026-05-q*.gist.md`"* | **13** (4 phép đếm độc lập) | nhãn sai, **số 14 vẫn đúng** nếu gộp `2026-05-runs.gist.md` ⇒ **KHÔNG đổ E2** |
| **R-7** | E2 *"bản gộp `2026-05.gist.md` **tự dán FROZEN**"* | hit duy nhất là **nội-dung** nói về *bundle deploy*; bản tự-dán FROZEN là `2026-06.gist.md:4` | lead đi tìm nhãn FROZEN ở file đó sẽ **không thấy**; trang-trí, **KHÔNG đổ E2** |
| **R-18** | C2 *"khung rủi-ro = con số gần nhất **47%**"* | max hạm đội **68,1%** (reviewer 13.941) | 🔴 lead hụt **20,8 điểm** nếu đọc cấp-trục |
| **R-24** | E3 *"**MFE tắt 2 kỳ**"* | chạy được, exit 0 | 🔴 **tiền-đề hỏng ĐÃ ĂN vào kết-luận** (E3 "BLOCKED không FAILED") |
| **R-25** | ①-zero *"**0 dữ-liệu presence** ⇒ fail-closed"* | presence đủ **23/23 vai** | 🔴 biện-minh cho **cả một lớp action = 0** |
| **R-27** | N3 *"**bất-khả-giải** bởi chính vai"* | `Bash` trong whitelist `:7`; `:4` tự khai *no-teeth* | 🔴 đọc thành "thiếu năng-lực" ⇒ lead vá **WIRING** (thêm Write) = **phá single-writer** |

### 9.3 — 🔴 Ba việc tao giao lead (số THẬT, chưa lane nào cầm)

1. **`implementer-frontend` MFE `11/13 = 85%`** — vai **duy nhất** dưới 100% trên 23 vai. Datum có ngưỡng, có tên, **bị chôn dưới chữ "MFE tắt"**. (Lớp ① của refine đã bị khoá bằng đúng tiền-đề hỏng này.)
2. **`reviewer/archive/_INDEX.md` = 13.941/20.480 = 68,1%** — số rủi-ro THẬT của trục l2_index, thay cho 95,14% (ôi) và 47,3% (đúng-vai-sai-trục).
3. **2/16 gist đổi +656 B lúc 11:03, sau khi `ring4` chốt 11:02** ⇒ bất-biến *"16/16 byte-identical"* nay **14/16**; tổng live **234.514** (100,67%), không phải 233.858 (100,39%).

### 9.4 — Caveat tao tự khai (bắt buộc)

- 🔴 **read-only = thiếu tool, KHÔNG phải sandbox.** Tao có Bash + được lead cấp Write cho **đúng 1 file** này. **0 file khác bị chạm** — lead soát `git status` sau lượt là containment THẬT, không phải lời tao.
- 🔴 **`harvest-curator` (H2) giữ lane harvest.** Tao chỉ nêu **3 sổ 3 số** (4/5/6) làm dữ-kiện; **KHÔNG định-đoạt** `run-chua-gom`.
- **KHÔNG chấm diff-code** (reviewer) · **KHÔNG soi lead-surface** (2 vai H24 đã chạy). Vì sao lead paste thiếu MFE = **lane H24**, tao chỉ chấm **câu chữ khai về trạng-thái hệ-thống**.
- **Meta blind-spot của tao:** diary `harness-audit` nằm trong 23 file tao vừa đếm, đang **0 nhãn S172**, và tao **không có đường tự ghi** vào đó — đúng lớp N3 tao vừa phân xử.
- **F15 + F21 là 2 claim tao PHẢI tự rút/tự sửa sau khi đã viết ra.** Ghi lại để lead thấy đường đi, không chỉ kết-luận.

---

**END harness-audit-S172 — 59 claim: 50 ĐẠT / 9 TRƯỢT · falsify 21 phép (12 HELD / 9 BROKE) · 6 instrument re-chạy · 23/24 số con-ĐO byte-exact · cú lật §6.2 = ĐÚNG (6/6 chân) · E4 = đúng luật, KHÔNG né việc · C1 ĐẠT · C2 ĐẠT-sửa/TRƯỢT-khung · C3 ĐẠT toàn phần · 0 file bị chạm ngoài file này**
