46 lines
16 KiB
Markdown
46 lines
16 KiB
Markdown
# harness-audit — MEMORY (bộ-ba đồng-kiểm memory, nấc 3/3: con KIỂM)
|
||
|
||
- **S173 (2026-08-05) @open trio nac-3 — `HARNESS-AUDIT: 50Đ/7T` tren **57 claim** (con-DO 24Đ/5T · con-DE-XUAT 26Đ/2T) `[LEAD SEED ON-BEHALF — propose-only, single-writer = lead (B3)]; nguon `runs/2026-08-05-S173-bookend-open/harness-audit-return.md` 57.039 B`:** PIN GATE PASS (eval 32.842 B khop; refine that **40.048 B** — lead PIN "~30 KB", lech ~25%); mtime-chain 11:02 < 11:26 < 11:29 ⇒ tuan-tu HELD. **5 instrument re-chay, 85 o doi chung byte-exact, 84 khop**; 1 lech truy duoc ve commit `f1e1ff9`@11:05 — khong phai bia (tranh bay F14 nho `git diff --stat` TRUOC khi cham). 🔴 **TRUOT nang nhat — CHUOI HEADROOM, KET LUAN DAO DAU:** con-DO khai **4 moc**, dia co **6** — bo sot **S163 = 160.924** (stdout `run.md:31`) va **S169 = 152.968** (nhan "MAY VUA IN"). ⇒ "buoc sut −17.584" that la **khoang S162→S173 = 3 phien GOP**; **buoc that ky nay −4.785 < buoc truoc −7.956 ⇒ CHAM LAI**, khong phai gia toc; −4.785 la buoc **nho thu nhi** trong 5 buoc. ✅ **VAN DUNG:** don-dieu giam qua **ca 6 moc, chua 1 lan dao chieu** (chat hon con-DO tuong) + hotload **+16,62% vs S153** neo dung. 🔴 **3 phep thu de khong bat loi oan** (gom phep TU NGHI *"co phai tao bia 2 moc de bat loi?"*): S163/S169 deu la **so MAY**, va **khong tieu-chi nao** loai chung ma giu S162. 🔴 **BROKE co-che MFE cua lead, HELD ket-luan:** `/` va dau cach **DEU** la separator trong `[^a-z0-9]+` ⇒ dau phan cach **khong phai bien quyet dinh**. Bien that = **DINH vs TACH** (`30min` = 1 alnum-run) ⇒ **ca 2 vai deu chi duoc 1 tu tai cho do**. Backend qua ai nho token `30` tu **`mig 29/30/31`** — **0 lien quan ngu-nghia**. ⇒ **2 hien-vat NGUOC CHIEU**: frontend 12/13 = **am-tinh-gia** · backend 18/18 = **chua duong-tinh-gia**; **ca tu-so 12 lan 18 deu khong do cai chung tu nhan do**. 🔴 **CANH BAO VE THUOC (quyen owner, co y KHONG tu de-xuat doi):** discriminator that = *"co token roi o BAT KY DAU trong file hay khong"* ⇒ **file cang DAI, xac-suat khop ngau-nhien cang cao** ⇒ MFE per-role **thien-lech theo DO DAI diary**, **thuong vai phinh to** — **nguoc han truc `autoinject_cap`**. Va cach RE NHAT de day 92%→100% la viet chuoi `30` dung rieng vao diary ⇒ **Goodhart thuan** ⇒ **CAM "va" muc MISS nay bang nhoi noi-dung**. 🔴 **Con-DO khong tu tuan luat minh dat:** tuyen "CAM tru thang" **2 lan**, roi `:388` tru `95,14 − 47,28 = −47,8 diem %` va cham **HEALTHY** tu chinh con so do. 🔴 **E4 — LEAD SAI 3/3** (`:27` khong phai `:23` · **12** khong phai 11 · **S168 CO**) ⇒ thi-hanh nguyen van lenh lead se **nhan ban muc dang dung**. **Dong ve chinh tao (+773,3%) DAT** — baseline 1.513 seed S141, live 13.213 do 2 lan; dinh that, con-DO quy dung goc "baseline chet", khong thoi. 🔴 **Thu hep co-che cua `ring2`:** `:25` **KHONG** o vung planner mu, no o vung **`value_protect`** (planner THAY nhung CAM dung) ⇒ **2 lop song-dai khac nhau, 2 duong va**. 🔴 **MOI:** **9 thu-muc `agent-memory/<role>/` RONG** moc trong run-folder ⇒ **lo backstop THU 3** (git khong track dir rong; `measure-agent-memory` khong quet path do). 0 file ⇒ 0 byte that lac luot nay. ⚠️ **7 truc KHONG-CHAM-DUOC / NHUONG — cam doc thanh sach.** Tag `[s173, 50d-7t, chuoi-thieu-moc-dao-dau-dao-ham, 3-phep-tu-nghi-bia-moc, mfe-2-hien-vat-nguoc-chieu, thuoc-thien-lech-do-dai-diary, con-do-khong-tuan-luat-minh, e4-lead-sai-3-3, lo-backstop-thu-3]`
|
||
|
||
- **S168 (2026-08-01) @close — `MẤT-RETURN (session-limit)` — 0 verdict thu được, **KHÔNG phải ĐẠT, KHÔNG phải TRƯỢT** `[LEAD HARVEST HOI-TO @S172 — no mo tu closeout truoc; owner slot (71) chot 'gom va sleep thi auto, tu quyet'. Nguon = artifact tren dia, KHONG suy dien]; nguồn `runs/2026-08-01-S168-bookend-close/harness-audit-return.md` 4.553 B (lead scribe on-behalf)`:** 🔴 **Lỗ hổng cấu-trúc khai thẳng:** vai **không có Write/Edit** ⇒ nội dung chỉ sống ở return; return bị **session-limit** cắt ⇒ **verdict mất, không vớt được từ đĩa**. Đây đúng lỗ vòng-1 S141 mà luật `(k)(iii)` (*lead scribe NGAY khi con trả*) sinh ra để chặn — **nhưng luật đó chỉ cứu khi con TRẢ; con chết TRƯỚC khi trả thì không có gì để scribe**. ⇒ Phân biệt 2 chế-độ hỏng: **#53 garble** (đĩa cứu được) ⟂ **chết-trước-khi-trả ở vai-không-Write** (đĩa **không** cứu được). Chống-#53 bằng artifact-đổ-ruột **không áp dụng** cho vai bị cấm ghi đĩa. Đối chiếu S172: vai chạy trọn, `MIXED-PASS 50/59`, 23/24 số byte-exact ⇒ vấn đề là **độ dài lượt**, không phải năng-lực vai. Tag `[s168, mat-return-session-limit, khong-dat-khong-truot, luat-iii-chi-cuu-khi-con-tra]`
|
||
|
||
- **S172 (2026-08-05) @close — `MIXED-PASS — 50 ĐẠT / 9 TRƯỢT trên 59 claim`; 6 instrument re-chạy, **23/24 số byte-exact** ⇒ nấc ĐO không bịa gì `[LEAD SEED ON-BEHALF @closeout M9 — vai INFORM-only, single-writer = lead (B3 VERIFY→APPEND)]; nguồn `runs/2026-08-05-S172-bookend-close/sub-harness-audit-close-S172.md` 36.852 B + return`:** PIN verify TRƯỚC khi chấm; **tuần tự HELD** bằng mtime-chain (eval → refine → mình); cây tĩnh từ 08:56 ⇒ F14@S162 không tái diễn. 🔴 **BA SỐ THẬT CHƯA LANE NÀO CẦM:** (1) **`mfe-eval.ps1` CHẠY ĐƯỢC** — exit 0, bảng đủ 23 role, trong khi **cả hai nấc dưới khai nó chết**; tiền đề sai đó **ăn trọn E3 + toàn bộ lớp-① = 0** của refine; datum bị chôn: **`implementer-frontend 11/13 = 85%`**, role duy nhất dưới 100%. (2) **`reviewer/_INDEX.md` = 13.941/20.480 = 68,1%** mới là số rủi ro thật của trục l2_index — con 47,3% là của `cicd`, đúng per-vai nhưng **hạ thấp trục 20,8 điểm**. (3) **2/16 gist phình +656 B lúc 11:03, MỘT PHÚT sau khi ring4 đóng lúc 11:02** ⇒ bất biến "16/16 byte-identical" nay là **14/16**. **Ba phán quyết:** cú lật của refine **ĐÚNG 6/6 chân** (`ring4:67` chứng `git hash-object` 16/16 trùng HEAD ⇒ ADDITIVE, **không tồn tại mất mát**; phát ra thì rollback **233.858 B**) — **hành vi mẫu** · **E4 = đúng luật, KHÔNG né việc** (`harness-refine.md:42` quy escalate là **BẮT BUỘC**; refine trình bày một nước bắt buộc như tự nguyện; giả thuyết "né việc" BROKE vì refine không có Write nên ACTION và ESCALATE **tốn lead như nhau**, mà E4 còn **đòi nhiều hơn**) · C1 ĐẠT toàn phần (33 shard − 32 twin = 1, đúng tên) · C3 ĐẠT cả số học lẫn nhân quả. 🔴 **N3 phán 2 vế:** quy-kết về lead **ĐẠT**, nhưng *"bất-khả-giải"* **TRƯỢT** — và cảnh báo hướng: đọc thành *"vai thiếu năng lực"* thì cách sửa hiển nhiên là **cấp Write**, tức **phá single-writer để làm đẹp một chỉ số**; đây là **quyết định CHÍNH SÁCH, chỉ owner phán**. **Tự falsify:** 4 đòn của chính mình BROKE (l2idx "over cap" là dương-giả — spec nói cap = main file; "canonical" grep là use⟂mention) và **tự rút lại §3** sau khi thấy ring4 đã đo và lập luận về đúng tỉ lệ đó. Tag `[s172, ba-so-chua-lane-nao-cam, mfe-song-that, cu-lat-dung-6-6, escalate-la-bat-buoc, khong-cap-write-de-lam-dep-chi-so]`
|
||
|
||
- **S162 (07-30) nấc KIỂM (3/3) vòng trio — `43Đ / 4T / 4KC` `[LEAD SEED ON-BEHALF @closeout M9 — nguon: harness-audit-return.md]`:** PIN 4/4 tồn tại + non-empty; tuần-tự HELD (mtime 14:17→14:33→14:45→tao). **6 instrument re-chạy, 22/24 số byte-exact** ⇒ nấc ĐO **không bịa số nào**. 🔴 **TRƯỢT nặng nhất R10 — A2 của nấc ĐỀ-XUẤT MẤT TRIGGER:** refine X7 kết “`baseline-history.md` không làm sai kết luận KÊU” — **SAI**: `memory-budget.json:191` **tự khai** nó là *reference-file [skip sleep: da distilled-form]*, không phải shard `<period>`; bỏ nó ⇒ pending **15**, `-gt 15` ⇒ **IM** ⇒ **A2 không có trigger**. Refine lẫn *dương-giả MỚI* với *dương-giả QUYẾT ĐỊNH* — ở ngưỡng 15/đếm 16 thì **một cái là đủ**. (Lead verify độc lập: note `:191` đúng nguyên văn; A2 **đã thi hành** trước khi có verdict này ⇒ khai thẳng: gist sinh ra trên **trigger dương-giả**, vô hại vì ADDITIVE + có giá trị đọc riêng, nhưng **KHÔNG được tính là “đóng nợ shard”**.) 3 TRƯỢT còn lại: **E3** eval “+876 B/1 ngày” — 876 đúng, **thời-lượng sai** (2,76 ngày; 24h gần nhất +0 B) · **E4** tổng L1 cite 303.937 vs re-dựng **303.883 (−54 B)** — lead-write giải thích 100% file lệch nhưng **KHÔNG** giải thích 54 B ⇒ lỗi ở khối đóng-băng `run.md`, KHÔNG ở lượt eval; trục N/A không cap ⇒ decision-impact NIL · **R19** “0 hit ⇒ chưa duyệt” — thước 17,1K **CÓ ghi** ở `:192` dạng prose + “self-compact planned”; đúng lớp phải là **“0 key + 0 reader”**, chính lăng-kính refine dùng đúng cho `pull_warn_days`. **Falsify 15 phép: 7 HELD / 8 BROKE.** 🔴 **F14 BROKE = bài phương-pháp**: tooling **24.340 lúc mở → 19.055 @14:49** (lead thi hành A1/A2 GIỮA lượt) ⇒ đo trên cây LIVE thì **báo sai cho CẢ HAI con** ⇒ phải dựng cây đóng-băng bằng `git archive de0e69f` (chứng `git diff --stat de0e69f HEAD -- .claude/agent-memory` = RỖNG). **F6 HELD**: 8/8 bước tăng lịch sử diary tooling (min 574) đều vượt điểm gãy 420 B/mục ⇒ 876 là mẫu **bảo thủ** ⇒ A1 vẫn đứng. **F12 HELD**: tự phá giả-thuyết “verdict tổng của tao che TRƯỢT lẻ”. 3 điểm nghi lead giao: **(a) A1 ĐỨNG** khi bỏ phép ×3 (trigger là so sánh TĨNH 1.260 < 3.070, không neo tốc độ; + 8 mẫu độc lập chống lưng) · **(b) 167 B ĐÚNG byte-exact** (5/5 mốc git, min-step 161, “dư 6 B” đúng) — va chạm liên-lane **đúng và NHẸ HƠN sự thật**: F-02 là **2 record ⇒ 322 > 167 ⇒ vỡ CHẮC CHẮN**; đường lead chọn (đính-chính-câu) **KHÔNG vỡ**, verify từ đĩa `_INDEX` mtime 07-29 size bất biến — **nhưng nợ chỉ HOÃN, E1 phải giữ trạng thái sống** · **(c) refine đúng KẾT LUẬN sai LÝ DO** (2 chân độc lập đủ bác: máy còn 4.323 B + lane thuộc H2); và **tiền-đề câu hỏi của lead không đứng** — H2 return có **0 hit “DUE”**, nguồn “self-compact DUE” thật là note S107 **cũ 20 ngày**. Tag `[s162, 43d-4t, a2-mat-trigger-r10, duong-gia-moi-vs-duong-gia-quyet-dinh, f14-cay-live-lech-giua-luot, git-archive-dung-cay-dong-bang, 167B-va-cham-lien-lane-nang-hon-khai, seed-on-behalf]`
|
||
- **S153 (07-26) trio vòng AUTO — con KIỂM `[lead seed on-behalf @closeout M9; nguồn = harness-audit-return.md]`:** **25 ĐẠT / 3 TRƯỢT / 1 KHÔNG-CHẤM trên 29 claim** · falsify **16 phép: 12 HELD / 4 BROKE** · **re-chạy 7 instrument, 24 số eval cite → 0 lệch**. Lượt-1 GARBLE #53 (return-only, 0 đĩa) → resume trả trọn.
|
||
**3 TRƯỢT (đều bắt bằng phép mạnh hơn lời khai):** T1 eval "PIN↔LIVE 5/7" = SAI, thật **4/7 khớp / 3 lệch** (bảng của chính eval đã liệt 3 dòng lệch ⇒ tự-mâu-thuẫn; meta-count blind-spot) · T2 refine A2 "6/19" = SAI, thật **5/19**, work-list THIẾU 1 file (`tooling-auditor/archive/2026-06.gist.md` — có chuỗi `coverage` nhưng là **prose** `:26` "N/A có-chủ-đích (coverage-diff)" ⇒ probe lỏng đọc mention thành block; chạy y-văn 13 file = bỏ sót IM-LẶNG; tử-số phủ thật 26,3% không 31,6%) · T3 **LẬT 2 BÁC B2/B3** của refine — số đúng byte-exact nhưng nền suy-luận vỡ (gist harvest TỰ KHAI `+7427B NGOÀI scope` ⇒ hụt 31,4%; gist cicd scope "20 run-records" vs **0** `Run #` trên src).
|
||
**Claim mạnh nhất xác-nhận (N2 refine):** C11(b) filter `sub-*.md` + regex `^sub-<role>[-.]` (`:1760`/`:1783`) + 3 vai trio ĐỀU `INFORM-only` (⇒ enrolled `$informRoles`) + artifact tên `harness-*-return.md` ⇒ **KHÔNG BAO GIỜ khớp**; folder có `sub-lead-*`/`sub-ring2-*` nên `$c11Measured=true` ⇒ caveat "MEASURED NOTHING" **KHÔNG in** ⇒ **đọc thành sạch**. Diary-seeding của chính bộ-ba = vùng KHÔNG được đo.
|
||
**Quy-trình:** tuần-tự HELD (mtime-chain 12:21 → 12:36 → sau) · lead scribe §2.1.9(c) ĐẠT (2 file đúng tên/chỗ, ghi RỜI 15 phút ⇒ không batch cuối) · ⚠️ điểm yếu cấu-trúc **return-only = 0 đĩa để vớt** nếu chết hẳn (tái-hiện lần 7-8 trong wave).
|
||
Tag `[s153, 25d-3t-29claim, 16-falsify-4-broke, re-chay-24-so-0-lech, n2-c11b-diem-mu-trio, t3-lat-2-bac-refine]`
|
||
|
||
## Role baseline
|
||
Con KIỂM của bộ-ba đồng-kiểm memory-system (adopt AI_INFRA 2026-07-18 khuôn 5-câu `58e28bae`). Read-only INFORM-only + verify-độc-lập: ĐỌC run-folder PIN đích-danh (CẤM tự tìm 'run mới nhất'; pin missing/rỗng → TRƯỢT/từ-chối, CẤM ĐẠT-ảo) → TRẢ verdict ĐẠT/TRƯỢT per-claim + falsify-log HELD/BROKE + tự RE-CHẠY ≥2 số load-bearing đối-chứng byte-exact vs con-ĐO cite. Chạy CUỐI (TUẦN TỰ, sau eval+refine). Propose-only, single-writer = lead.
|
||
|
||
## Split boundary (MINE vs NOT)
|
||
- **MINE:** verify spec-conformance + re-dựng số memory-health (byte-exact re-run ≥2 instrument).
|
||
- **NOT (nhường):** chấm diff-code → `reviewer` · soi lead-surface → 2 vai H24 · harvest-op → `harvest-curator` H2 · đo-số-gốc → `harness-eval` · đề-xuất → `harness-refine`.
|
||
|
||
## Luật cứng
|
||
- 🔴 PIN đích-danh — verify TỒN-TẠI trước khi chấm (`test -d`/`test -s`); tự-tìm run mới nhất = vớ bản cũ = ĐẠT-ảo.
|
||
- 🔴 RE-CHẠY ≥2 số load-bearing, byte-exact đối-chứng; KHÔNG tin lời-khai con-ĐO.
|
||
- 🔴 TUẦN TỰ — chạy song song = chấm bản cũ = verdict vô-nghĩa; verdict-tổng KHÔNG che claim TRƯỢT lẻ.
|
||
|
||
## Nhật-ký
|
||
- S141 (2026-07-20) seed khi adopt khuôn hub `58e28bae` — CHƯA chạy lần nào; first-run chờ restart-CLI + spawn-probe + anh consent.
|
||
|
||
## S151 (2026-07-25) — trio vòng-2, spawn đầu [M9 on-behalf]
|
||
- {nấc: verified-self · evidence: harness-audit-return.md · 37Đ/3T/1KC · falsify 11 (8H/3B) · re-chạy 6 instrument BYTE-IDENTICAL}
|
||
- Chấm B9: refine đúng (fd 21492<21760). F5 sâu hơn refine: split-file rơi vào $contentFiles = haystack TỰ-KHỚP → B2 phải sửa kèm :252. Ghi KHÔNG-CHẠM-ĐƯỢC thay ĐẠT-ảo cho claim 0-Bash (không có log tool-call trong tầm). Bài: mtime-chain chứng tuần-tự; provenance-test bằng bộ-số-KHÁC-PIN.
|
||
|
||
## S152 (2026-07-25) — trio vòng-3, lượt AUTO đầu (owner #32, giữa 2 bookend; nấc KIỂM 3/3 tuần-tự) [M9 on-behalf]
|
||
- {nấc: executed+scribed · evidence: runs/2026-07-25-S152-trio-memory/harness-audit-return.md (lead scribe + ERRATA appended) + trio-synthesis.md}
|
||
- Verdict per-claim chi-tiết = file return (diary giữ pointer). return-only khuôn cứng: CLEAN — trio 3/3 CLEAN cùng phiên wave 6/6 garble.
|
||
|
||
## S159 (2026-07-29) — trio nấc 3/3 (con KIỂM) @open bookend L8 [M9 on-behalf]
|
||
- {nấc: self (vai KIỂM cuối) · evidence: `harness-audit-return.md` 20.236B}
|
||
- **42Đ/6T** · re-chạy **3 instrument, 15/15 số BYTE-EXACT** (`measure-agent-memory` · `mfe-eval` · `memory-archive-gate`) ⇒ nấc ĐO **không bịa số nào**.
|
||
- Nấc 1: **17Đ/1T** (E10 — "chạm 14 diary" thật = **16**, 2 phép độc-lập; **KHÔNG** làm đổ E11 vì 11 dựng lại độc-lập). Nấc 2: **25Đ/5T** — *"ĐẠT ở lõi-thật, TRƯỢT ở tiền-đề-đĩa"*, neo `file:line` **0/8 bịa**, claim tự-có-lợi **không phóng đại**.
|
||
- ⭐ **F20 — tự phủ định chính mình:** giả-thuyết *"verdict tổng của tao gộp để che claim TRƯỢT lẻ"* → **HELD** ⇒ liệt **6 TRƯỢT từng dòng** thay vì gộp. Tự áp luật meta-count S119 lên chính mình.
|
||
- ⭐ Giữ đúng nấc với A2: **số-học ĐẠT · headroom-tripwire ĐẠT · "1 ngày" TRƯỢT · "nhanh nhất đội hình" TRƯỢT** — 4 vế riêng, **không làm tròn**.
|
||
- Bài: **claim tự-có-lợi phải soi kỹ nhất** (nấc 2 dùng "6/6 chưa thi hành" để biện minh cho việc đề ít action — verify từng món rồi mới nhận).
|