Files
solution-erp/.claude/agent-memory/harness-audit/MEMORY.md
2026-08-05 12:13:25 +07:00

46 lines
16 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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 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 đề **độ 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 `[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 số rủi ro thật của trục l2_index con 47,3% 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 **14/16**. **Ba phán quyết:** 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 **BẮT BUỘC**; refine trình bày một nước bắt buộc như tự nguyện; giả thuyết " việc" BROKE refine không Write nên ACTION ESCALATE **tốn lead như nhau**, 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** 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 **cấp Write**, tức **phá single-writer để làm đẹp một chỉ số**; đây **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" dương-giả spec nói cap = main file; "canonical" grep usemention) **tự rút lại §3** sau khi thấy ring4 đã đo 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:1714:3314:45tao). **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** *reference-file [skip sleep: da distilled-form]*, không phải shard `<period>`; bỏ 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 verdict này khai thẳng: gist sinh ra trên **trigger dương-giả**, hại ADDITIVE + 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 **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 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 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, 6 B đúng) va chạm liên-lane **đúng và NHẸ HƠN sự thật**: F-02 **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 DO** (2 chân độc lập đủ bác: máy còn 4.323 B + lane thuộc H2); **tiền-đề câu hỏi của lead không đứng** H2 return **0 hit “DUE”**, nguồn self-compact DUE thật 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 "PINLIVE 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` chuỗi `coverage` nhưng **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 `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 = ĐẠ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 = 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 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 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 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).