Files
solution-erp/.claude/agent-memory/harvest-curator/MEMORY.md
2026-08-07 17:37:03 +07:00

83 lines
24 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

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.

# Harvest-Curator Agent — Persistent Memory
- **S173 (2026-08-05) @open bookend L11-w1 — `HARVEST: GATE-FAIL — 6 finding` (3 HIGH/2 MED/1 LOW) `[LEAD SEED ON-BEHALF — propose-only, single-writer = lead (B3)]; nguon `runs/2026-08-05-S173-bookend-open/sub-harvest-curator-open-S173.md` 25.439 B`:** 5-truc: Coverage ❌FAIL · Completeness ✅ · Fidelity ✅STRONG · Placement 🔶 · Corruption ✅ (24 hit/11 file khop baseline S172). 🔴 **F-01** no S168 **CHUA dong het**: con **82.383 B / 3 vai** (`harvest-curator` 29.299 + `lead-gap-auditor` 29.820 + `lead-stale-auditor` 23.264) — HANDOFF slot 71 ghi "9/10 vai" la SAI, **6 vai da gom @S172**. 🔴 **CO-CHE truy duoc (khong dung o trieu-chung):** luot gom @S172 doc danh-sach tu **BANG** cua luot do truoc, khong tu **FOLDER**; bang do under-count dung 2 so H24 = **53.084 B — khop TUNG BYTE**. Vai thu 3 (`harvest-curator`) roi vi **diem mu tu-quy-chieu**: nguoi di gom khong tu liet minh. **Phep chan de-xuat:** luot gom phai lay danh-sach tu `ls runs/<id>/` (GOC), khong tu bang (dan-xuat). 🔴 **F-02** khoi `S169/S170` **mo coi 501.300 B / 10 vai** — HANDOFF **khong he co mon nay****tong no THAT = 583.683 B**, gan **2×** con so "~306 KB" dang ghi. 🔴 **F-03** thuoc orphan do **TEN** file synthesis chu khong do **chu da ve nha** ⇒ S169 CO synthesis nen tin-hieu doc ra "sach" trong khi **10/12 vai chua ve so**. Doi-2 cua con benh S172. **F-04** C11 `ring4-audit` XAC NHAN + **10 vai cung lop** — 🔴 nhung ve *"mat dau khoi MOI so ben"* bi `ring1` **BAC**: that ra **6 be-mat con giu**; ve *"ky sau tra ra SAI"* thi DUNG. ✅ orphan **0/79** verify doc-lap · `S159-bookend-open` duong-gia xac-thuc **lan 2** (10/10 vai co ENTRY S159) · S171 4/4 + cicd `998ea55` · 2 sha `a2bbcb9`/`b5799fc` dong · S172 10/10. Tag `[s173, gate-fail-6, gom-tu-BANG-khong-tu-FOLDER, 53084-khop-tung-byte, no-that-583683, thuoc-do-TEN-khong-do-NOI-DUNG, tu-quy-chieu-nguoi-gom]`
- **S172 (2026-08-05) @close bookend L10-w4 — `GATE-HOLD 6 vấn đề` (HIGH 3 · MED 2 · LOW 1) `[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-harvest-curator-close-S172.md` 25.488 B + return`:** 🔴 **Phát hiện lớn nhất — thước-TÊN sai CẢ HAI CHIỀU cùng lúc.** Đếm folder trả lời *"thiếu file tên gì"*; câu hỏi thật (`tiep.md:41`) là *"chữ đã về nhà chưa"* = câu hỏi về NỘI DUNG. Đo theo nội dung: `S159-bookend-open` **DƯƠNG-GIẢ** (10/10 vai có entry S159 thật) ⟂ `S168-close` **ORPHAN THẬT 9/10 vai ~160 KB** · `S171` **nợ 4 vai 143.682 B** · `a2bbcb9`+`b5799fc` **mở 3 phiên từ chính finding S162 của mình**. ⇒ 1 vu-oan + 2 bỏ-sót. Và **"probe corroborate 4" KHÔNG phải chứng độc lập** — cả probe lẫn lead đều đo TRƯỚC khi folder thứ 5 sinh lúc 08:58 (m#12: hành-động-đo tự sinh artifact). 🔴 **BÁC giả-thuyết "bệnh riêng 1 vai" bằng cách TỰ ĐƯA MÌNH vào danh sách bị cáo:** ≥10 vai rơi delta S168→S171, gồm chính mình (đóng băng S164 trong khi đẻ 29.299 B @S168). `ring1` chấm việc tự-tố này làm verdict **MẠNH hơn** (cắt động-cơ thiên-vị · kiểm được · khép vòng nhân-quả) — nhưng khai đúng giới hạn: tự-tố chứng **mẫu đủ rộng**, KHÔNG chứng **chẩn đoán đúng**; và **bảng under-count 2 sổ H24 (53.084 B)** ⇒ tin kết-luận, đừng tin bảng. Fidelity 2 seed lead: **STRONG** (6/6 + 7/7 truy về đĩa) ⇒ lead KHÔNG bịa. **Tự bắt thước 2 lần:** empty-dir scan mù ngoài `.claude/` (repo-wide 91 IDE = 8, khớp lead) · corruption dính lại **m#20-bis****tự sửa baseline 24/12 → 24 hit/11 file** (tổng khớp mà mẫu số lệch = vân tay batching của chính mình; `ring1` re-đo xác nhận ĐÚNG lần này, khác tiền lệ nhận-tội-oan S168). ⚠️ Cảnh báo đưa ra **đã cứu lead**: folder S172 thiếu `*-synthesis.md` ⇒ suýt thành orphan thứ 5, đúng cách 4 món kia sinh ra. Tag `[s172, gate-hold-6, thuoc-ten-sai-2-chieu, duong-gia-S159, tu-to-manh-hon, bang-under-count, tu-sua-baseline-24-11]`
- **S162 (07-30) @close bookend L8 — `GATE-FAIL 4 finding` `[LEAD SEED ON-BEHALF @closeout M9 — nguon: runs/2026-07-30-S162-bookend-close/sub-harvest-curator-close-S162.md 13.833 B + return]`:** F-01 HIGH `ctx-verifier` chạy THẬT (`_tiep-3.md:6`) mà diary **0 hit S162**, entry cuối S158 — và **S153 + S158 đều là lead-seed** ⇒ vai chưa BAO GIỜ tự APPEND (hỏng khâu GHI, không phải phát hiện). F-02 HIGH `cicd-monitor/MEMORY.md:9` khai “verbatim→archive” cho #422/#425`git log -S` **rỗng toàn lịch sử**; 🔴 tự đính chính overclaim của chính mình: **không “mất hẳn”** — nguyên liệu còn ở `runs/…S159-tong-quan-pipeline-menu/cicd-verify-{b5799fc,a2bbcb9}.md` ⇒ mất **lớp chưng cất**, phục hồi được. F-03 MED `ship-synthesis` trích `SHIP-READY` mà sub-file **0 hit** ⇒ đề luật END-line. F-04 LOW 2/4 vai thiếu `Evidence:`. Orphan **3 xác nhận / universe 75 dir / 72 có run.md** — 🔴 **BÁC chẩn đoán lead** về folder S160: không phải “thiếu dấu gạch” mà **glob `*-synthesis.md` neo ở ĐUÔI**, file còn `-clone-s160` SAU chữ synthesis ⇒ sửa theo chẩn đoán cũ **không hết bệnh**. 🔴 Bài đắt nhất của chính tao: vòng-1 gắn cờ 13 ca CUT-NOT-MOVED, vòng-2 **tự bác 20/22 ca là artifact-đo** (thước thiếu 2 lớp: dòng MODIFIED tại chỗ + stub trỏ archive bị gộp) — chỉ 2 ca sống sót, và sống bằng chứng cứ MẠNH HƠN substring (`git log -S`). **Nghi ngờ thước của chính mình trước khi tố người khác.** Corruption baseline mới **24 hit/12 file** (Δ+8/+2 trọn vẹn ở 2 file S159 = **mention** trích bằng chứng, citation-trap đời-4). Placement `find -type d -empty` = **0** ⇒ cờ S159 “5→6 đang tăng” **ĐÓNG**. Chore tự khai: L1 21.277 B > self-target 17,1K ⇒ self-compact DUE (nợ từ S153) — 🔴 `harness-refine` BÁC hộ vì thước `self_target_bytes` **0 hit trên đĩa** (chưa duyệt) + thước MÁY còn 4.323 B. Tag `[s162, gate-fail-4, ctx-verifier-never-self-append, claim-manh-hon-viec, glob-neo-duoi, tu-bac-thuoc-cua-minh, seed-on-behalf]`
- **S153 (07-26) 2 LƯỢT bookend — vòng V1 harvest `[lead seed on-behalf @closeout M9; nguồn = 2 sub-file đĩa]`:** @open GATE-PASS-WITH-FLAGS 4f (0 orphan/57 · corruption 16/10 + đề **m#20** mẫu-số-có-mệnh-đề-loại-trừ · 0-byte = 10 `.gitkeep` · Fidelity byte-exact 67056 · FLAG-A/B S152 ĐÓNG · tự bắt `grep -P` chết rc=2 im-lặng ⇒ chuyển perl byte-mode). @close **GATE-PASS-WITH-FLAGS 8f**: 5-trục {Coverage PASS-with-debt · Completeness PASS · **Fidelity STRONG** · Placement PASS · Corruption PASS} · **0 orphan/59** (3 dir không-`run.md` KHÔNG orphan: 2 spec-only S117 + `S144-bootstrap``bootstrap-synthesis.md` — ca tự trượt @S151) · **Sàn-5 3/3 đăng-ký** (WAL `run=` 0 toàn sổ, session-log §6 gánh 4 dòng `wf:`) · **spawn-record 20 lượt** (brief ước ≈15) · **baseline S154 = 16/10** (tự SỬA bản "~23/11" của mình — ring1 @open HELD: file dùng ASCII `<FFFD>` KHÔNG đếm) · M9 3 vai ctx **ĐÃ seed, GAP-3 lần đầu đóng NGAY trong phiên sinh vai** (6 lần trước hồi-tố).
**4 method mới:** **m#20-bis** perl `END{}` chạy 1 lần/batch xargs ⇒ TỔNG đúng mà TÊN FILE bịa hoàn toàn (tự bắt khi đo) · **m#21** END-line có ≥2 khuôn (văn-xuôi vs HTML-comment ⇒ grep 1 khuôn ra dương-giả "no END") · **m#22** cùng-size PHẢI md5 mới phán copy-vs-re-chạy · **m#23** vắng ở `git status` = đã-commit HOẶC bị-ignore ⇒ cần `ls-files --error-unmatch` + `check-ignore` mới phân biệt.
**Nợ của chính mình:** L1 **17.655B > self-target 17.1KB** ⇒ self-compact DUE phiên sau (khối S150+S151).
Tag `[s153, gate-pass-8f, 0-orphan-59, san5-session-log-ganh, baseline-16-10-tu-sua, m20bis-m21-m22-m23, self-compact-due]`
> **Persistent diary cross-session.** Auto-injected first ~200 lines at spawn (L1 HOT).
> Update BEFORE every stop. Tiered Memory v1: **L1 self-target ≤17.1KB (hook read-limit 24.4KB)** · L2 `archive/` on-demand · L3 RAG `search_memory` just-in-time. Keep entry ≤ 1.5K chars.
> **NEW agent 2026-06-07** (adopt AI_INFRA Harness 1 — H2 harvest-integrity; TÁCH khỏi tooling-auditor H1 per anh-mandate "H1/H2 hay quên+nhầm → riêng-biệt").
---
## 🎯 Role baseline
H2 harvest-MD-integrity auditor **SOLUTION_ERP-self**. Read-only + **propose-only** (em main = single-writer, VERIFY→APPEND B3; ngoại lệ duy nhất = diary chính mình khi em main cho phép). Verify HARVEST mỗi session ĐỦ+ĐÚNG **5-trục**: Coverage · Completeness · Fidelity-FLAG · Placement · Corruption. @session-end GATE trước đóng + gom run-folder; @session-start báo harvest mới + delta mồ-côi + orphan run vs ledger.
## 🚫 Split boundary
- ✅ MINE: harvest-memory integrity (5-trục) + spawn-record 4-field + run-folder gom (Harness-10) + delta mồ-côi — SOLUTION_ERP-self
- ❌ NOT: tooling/skill/plugin/docs-freshness → **tooling-auditor** (H1) · corpus/RAG/deploy → cicd-monitor · Fidelity tự-phán "bịa" → escalate **reviewer** · write/decide → em main
## 📋 Baseline state (re-ground S99)
- **Spawn-record 4-field SE:** `{task · verdict · learned · surprise}` (memoryDelta R1 contract HMW).
- **agent-memory:** 12 folder `.claude/agent-memory/<role>/MEMORY.md` (placement target — S107 +office-document seed). Cap L1 = 25.6KB (H11 `memory-archive-gate.ps1`); hook self-target 17.1KB.
- **Run-trace (Harness-10, thay wave-folder Harness-2):** `.claude/workflows/runs/<run-id>/` git-TRACKED, FLAT (`run.md` + `sub-*.md` + `*-synthesis.md`); 5 run cũ 06-18 giữ `sub-md/`+`harvest/` subfolder (dual-accept). **🧊 Ledger `runs/_ledger.md` RETIRED H18-B S100** (true-catch 0/15 lifetime + mode-A coverage 0/8; 15 row frozen giữ lịch-sử) — **orphan-authority = folder-scan:** folder có `run.md``*-synthesis.md` VẮNG/0-byte. Mode-A ephemeral (S98 note): HMW default KHÔNG tạo run-folder = by-design, vắng folder ≠ orphan.
- **Nền H2 gốc:** `session-end.md` Phase 1.5 §L.b = 3/5 trục; sub này nâng +Fidelity-escalate +Placement = đủ 5.
## ⚠️ Anti-patterns
❌ Tự ghi/overwrite memory ngoài diary mình (propose→em main APPEND) · ❌ tự phán Fidelity "bịa" (→ reviewer) · ❌ tick "đã flush?" nhị-phân (phải đủ 5-trục) · ❌ đụng tooling-freshness (đó là tooling-auditor) · ❌ G-015 overclaim "read-only enforced" · ❌ final-message trả narrative memory-curation thay verdict (#53 return-garble).
## ⭐ Methods (giữ vĩnh viễn — đúc từ S50-S66, verbatim → `archive/2026-06.md`)
1. Chunk-count qua **RAG MCP `list_projects`**, KHÔNG shell-probe Qdrant (MCP trỏ host khác → false-negative).
2. Sub killed-mid-write → verify tail **terminates-clean** (`wc -l` + closing-Tag), KHÔNG chỉ `-size 0` (partial-write ≠ 0-byte).
3. Detect interrupted-session: so **mtime agent-memory vs closeout-commit timestamp**.
4. Commit-stat "có append" ≠ "có fanout-record" — classify bằng **grep tag session + mtime**, đừng tin stat.
5. Extract added-bullet trong diff: `grep "^+-"` (filter `grep -v "^[+-][+-]"` NUỐT dòng `+- **…`).
6. `tail -c N` cắt giữa UTF-8 multibyte in ra ký-tự-thay-thế GIẢ — corruption thật = **grep literal U+FFFD** (đừng viết literal đó vào L1 kẻo tự false-alarm).
7. Mojibake quoted-cũ vs mới: **arithmetic line-shift** = đúng số dòng insert phía trên → cũ.
8. Sub die không để delta → **commit-body = spawn-evidence** (S60 reviewer tự khai trong msg).
9. U+FFFD self-quote trong file MÌNH + archive = quoted-evidence cố-ý — đừng false-alarm.
10. Trend self-tag session-drift (cicd s50→s51 · inv s56→s57 · inv s57bis→s58 · cicd s98→s97 ×4): entry mới soi tag vs session thật.
11. **Đếm role-dir từ path-field DÍNH file root-level:** `git ls-files .claude/agent-memory/ | cut -d/ -f3 | sort -u` nuốt `memory-budget.json` + `.mfe-state.json` → ra 14 thay 12 (tự-bắt S123). Guard: `awk -F/ 'NF>3{print $3}'` hoặc `find -mindepth 1 -maxdepth 1 -type d`.
12. **Mẫu-số có NGÀY-ĐO — hỏi "đếm LÚC NÀO" trước khi so:** count freeze ở commit-time; nếu chính việc-đo sinh artifact mới (run-folder retro-harvest) thì mẫu-số tự lỗi-thời (S123: em-main 25 = baseline `48e0d26`@11:48, thật 26 sau `22ea8c5`@14:28). Verdict khớp ≠ mẫu-số khớp.
13. **git MÙ thư-mục RỖNG** → empty-dir residue (stray cwd-relative `<runfolder>/.claude/agent-memory/<role>/`, role-dir chưa seed) KHÔNG BAO GIỜ hiện `porcelain --ignored`. Quét bằng `find .claude -type d -empty`, đừng tin git.
## 📅 Recent activity (FIFO — older → `archive/`)
> **S50→S66 (14 entry) verbatim → `archive/2026-06.md`** — curate S99 (hook 19.9KB > self-target 17.1KB), moved-not-cut grep-verified 5/5 + entry-count 14. Digest: verified-runtime S50 · GATE PASS 5/5 ×6 (S50/51/58/59/63/66) · chuỗi 4-MISS post-S57bis rushed-closeout + reviewer die ×3 (S57bis ×2 + S60) · cicd over-cap saga 32→86.8KB → curate S66 86.8→28.9KB.
> **S98→S101 (4 entry) verbatim → `archive/2026-07.md`** — self-compact 2026-07-10 @S109-start (plan đứng từ S107/S108; block-md5 `e2b906336b4cdad3034329cffc09525a` moved-not-cut). Digest: S98/S99/S100 @start-report chuỗi CLEAN (3 orphan-append S97 đóng · cicd #485 orphan-sane arithmetic-fidelity · tooling live-delta bootstrap) · S101 GATE PASS 5/5 + AS-10 Fidelity-call LEGIT-KEEP (keep-if-correct, 0 fabrication).
> **S102→S106 (5 entry) verbatim → `archive/2026-07.md`** — self-compact 2026-07-12 @S111-start HOOK-directed (plan ĐỨNG từ S107/S108/S110; mở-rộng +S106 để đạt <17.1KB; block-md5 `3163566688e277f628daf349c1230142` 6652B moved-not-cut, giữ file-order gốc — S106 nằm trước S105-close). Digest: S102 CATCH ×2 (reviewer cut-not-moved f229b07 → recover + dead-satellite pointer) · S104-retro self-record blind-spot gate-agent · S105 @start mồ-côi-×1-đóng / @close moved-not-cut byte-level tooling 19380→16305 · S106 ref-table = S98-snapshot benign + cicd-not-spawned-S105 resolved-false-alarm.
> **S107→S109 (5 entry) verbatim → `archive/2026-07.md`** — self-compact 2026-07-12 @S113-end HOOK-directed (plan ĐỨNG từ S107-end/S108; +S109 đạt <17.1KB; block-md5 `75b69b41534cb67cdf349b6e1164d47f` 5623B moved-not-cut, file-order verbatim). Digest: S107 md5-3of3 all-clean flip-8 · S107-end/S108 GATE PASS 5/5 (od-12th-seed · engine-label-first md5-4of4) · S109-start sleep-resume disk-MATCH + 0-gist-new + self-compact-S98→S101-exec (luot-a-transcript-lost) · S109-sleep-P1 gather 5+5-gist propose-only.
> **S110→S111 (4 entry) verbatim → `archive/2026-07.md`** — self-compact 2026-07-13 @S116-end HOOK-directed (SELF 20KB>read-limit; plan ĐỨNG từ S114-start; block-md5 `640f80e452b42badb12bc2a3c57cf9f7` 6638B moved-not-cut, file-order verbatim, anchor 4×{L1=0·AR=1}). Digest: S110-start rerun-DEDUP luot-sang-transcript-lost (gist byte-exact `cat-file`==disk) · S110-end GATE PASS 5/5 close-gate-15of15 garble-x2-recovered + FFFD-baseline-1-selfquote seed · S111-start self-compact-S102→S106-EXECUTED + gist-frozen-x2 · S111-end GATE PASS 5/5 close-gate-0of16 h22-first-subtask-runtrace + `--stat`-truncate-trap.
> **S113 ×2 entry (start+end) verbatim → `archive/2026-07.md`** — self-compact 2026-07-14 @S118-start (plan ĐỨNG từ S117-end soft-due; block-md5 `0c782c7cebc8f1d8b16f65b8e1474820` 4064B moved-not-cut, file-order verbatim, anchor 2×{L1=0·AR=1}). Digest: S113-start MOSTLY-CLEAN 0-orphan/20 + 2-coverage-gap propose (impl-be thiếu Supplier-BE · test-spec thiếu narrative; embedded-synth pattern mới · maxdepth-1 false-flag lesson) · S113-end GATE PASS 5/5 0/21 (2-gap CLOSED idempotent · wal-flush-landing 6-diary · Fidelity `5fa11b5` file-list exact · nit journal-jsonl dead-pointer + backfill-22-vs-37).
> **S114/S116/S117 (3 entry) verbatim → `archive/2026-07.md`** — self-compact 2026-07-15 @S123-start HOOK-directed (plan ĐỨNG từ S119-start soft-due; block-md5 `3d7033e0253c3dfaeba7aad1a1067efe` 7163B moved-not-cut, file-order verbatim, anchor 3×{L1=0·ARC=1}, append-BEFORE-trim m#S119). Digest: S114-start ALL-CLEAN 0/21 garble-×2-captured + 4-BUG-captured · S116-end GATE PASS 5/5 0/24 (review-Lane2 mirror-gap · DOUBLE session-drift-tag m#10 · Fidelity 7-file exact) · S117-end GATE PASS 5/5 0-orphan (fable-real spec-only dual-accept · 3 nit S118-mistag/test-500/cicd-garble-claim → ALL FIXED @S118 `1b8b065`).
> **S118 (start+end) + S119-start (3 entry) verbatim → `archive/2026-07.md`** — self-compact 2026-07-16 @S125-start HOOK-directed (SELF 22.5KB>read-limit; block-md5 `9f7a11dcd057a27d03b06843bbdf2274` 6252B moved-not-cut, file-order verbatim, anchor 3×{L1=0·ARC=1}). Digest: S118-start ALL-CLEAN 0/26 (3nit-S117-fixed `1b8b065` · FFFD-baseline 1→0 self-quote-left-L1) · S118-end GATE PASS 5/5 0-orphan-no-runtrace (cicd-garble-×2-return-label-nit em-main-FIXED) · S119-start ALL-CLEAN 0/26 77/77-tracked + LIVE mid-flight catch (sibling append-BEFORE-trim=safe-order · m#5 archive-diff-grep-swallow self-caught).
> **S123→S125 (2 entry @start RE-REPORT) verbatim → `archive/2026-07.md`** — self-compact 2026-07-18 @S140-gate HOOK-directed (SELF 19.7KB>17.1 read-limit; block-md5 `cbcd17aba6461d57a5fbb34e9be0e301` 7427B moved-not-cut byte-identical, file-order verbatim, anchor 2×{L1=0·ARC=1}). Digest: S123 @start MOSTLY-CLEAN 0-orphan/26 (m#12 mẫu-số-25-vs-26 · dạng-3 dead-code · doc-stale-at-birth pe-neg-quote · reviewer-coverage-gap-5spawn · 2 H24-dir-no-seed + stray-S54 → ALL CLOSED @S132) · S125 @start FLAGS 0-orphan/27 (2 H24-firstrun-no-diary HIGH · stray-S54-still → CLOSED @S132). m#12/#13 preserved in Methods §⭐.
> **S126/S140/S143 (3 entry GATE) verbatim → `archive/2026-07.md`** — self-compact 2026-07-25 @S152 A3 (plan ĐỨNG từ S150-chore; block-md5 `6cbb19bc6610a807b0171c1113bf7b40` 5808B moved-not-cut, file-order verbatim). Digest: S126 GATE PASS 5/5 0-orphan/29 + m#6-mới grep `Ã|ư|â€` = FALSE-POSITIVE trên VN-UTF8 (signal thật = U+FFFD + iconv) · S140 GATE PASS 5/5 8/8-invocation + Fidelity-gate CÓ RĂNG (inv-cb FAIL→re-distill CỤM11 LANDED cùng phiên, FAIL→fix loop CLOSED) + 0-runfolder mode-A vacuous-PASS · S143 GATE-PASS-5 fidelity-on-behalf STRONG lần đầu (beyond-source ≠ fabrication — tiêu-chí: truy-được-về-đĩa + khai nguồn) + m#14 diff-filter `grep "^[+-]" | grep -v "^+++\|^---"` + m#15 stub⟂content.
> **S132-DỒN (S127→S131) + S150-closeout (2 entry ruột) verbatim → `archive/2026-07.md`** — moved-not-cut @S164 refine A2 (đích có twin gist — shard 15/15 giữ IM) · tra substring:"S132 DỒN S127→S131" / "S150 (2026-07-25) closeout phiên-LOGIC-3"
## S151 (2026-07-25) — H2 re-report @open, trả nợ skip — return CLEAN duy nhất wave [M9 on-behalf]
- {nấc: verified (ring1: TRƯỢT-2/3 CỦA TAO — orphan S144-bootstrap lọt universe run.md-only [53 dir vs 50] + fidelity đếm 4/6 class) · evidence: sub-harvest-S151.md 8.944B}
- m#19: file nhỏ = NGHI-VẤN, đọc RUỘT mới phán skeleton vs đang-viết-dở. 2 FLAG S150 đóng (ring diary có ruột). Bài: universe đếm phải KHAI tiêu-chí lọc; 'khớp exact' phải dán từng phần tử.
## S152 (2026-07-25→26) — H2 @open + @close GATE [M9 on-behalf]
- {nấc: verified (ring1-close: 20Đ/3T/1KC trên 24 claim; byte-evidence 10/10 exact) · evidence: sub-harvest-S152.md 16.263B + sub-harvest-close-S152.md 20.411B}
- @open GATE-PASS-WITH-FLAGS: ⭐FLAG-1 HIGH deep-S151 3-lane 67.056B 0-diary (GAP-3 lớp-LƯỢT lần 6) → M9 @close ĐÃ seed 3 pointer hồi-tố. @close: 15 spawn-record (→17 sau 2 ring, tự khai drift) · M9-list 10 diary/13 đơn-vị (ring1 kiểm 10/10 → lead APPEND thẳng) · FFFD root-cause perl-byte-mode blind + detector mới `\xEF\xBF\xBD` + `close ARGV` · 2 điều-kiện lead (session-log 2 dòng `run=` · ring4 scribe).
- 🔴 TRƯỢT-3 (ring1-close): Placement "0 empty-dir/0 stray" — 4 dir rỗng + stray `.claude` LỒNG run-folder (4 sub @close tự đẻ, lead đã rm), thước `-not -path "./.claude/*"` MÙ CẤU-TRÚC by-construction → kỳ sau đo "mọi `.claude` depth>1", chạy ở bước CHỐT · Corruption census 8/6 → thật 10/8 (phạm-vi hẹp, không lan luật E-2 sang trục anh-em — root-cause-over-symptom). Verdict "0 corruption MỚI" vẫn HELD. Baseline kỳ sau = 10 hit/8 file, quét TRỌN `.claude/` gồm run-folder cũ.
## S159 (2026-07-29) — H2 @open bookend L8 [M9 on-behalf]
- {nấc: verified (ring1 chấm 13Đ/5T) · evidence: `sub-harvest-curator-open-S159.md` 26.134B}
- **GATE-FAIL 9 finding.** Orphan **0 thật/63**. Fidelity 2 file retro-harvest của lead: **12/12 byte-exact · 8/8 verdict nguyên văn · claim (i) 3/3 cite đúng dòng · claim (ii) VERIFIED STRONG** ⇒ lead KHÔNG bịa.
- Bắt 2 lỗi trong artifact lead: **F-02** errata gọi `531` là test-count (thật = **task-id Gitea**; dãy 529/530/531 ↔ run# 416/417/418) · **F-05 HIGH** synthesis **tự lỗi-thời sau 15 phút** vì ARC vá spec giữa 2 phép đo → đề SUPERSEDED-line, lead đã áp.
-**m#24 (method mới):** retro-harvest dẫn LEDGER mà nó sắp tick ⇒ **tự giết cite trong vài phút** (3/3 ca) ⇒ cite bằng **NEO VĂN BẢN**, không `:NNN`.
- 🔴 **F-07 (nợ của chính vai này):** 9/10 vai chạy @S158 có 0 nội-dung S158; **11 vai đóng băng cùng mốc `11db5ef`**, 11/11 đều có artifact sau. **Khâu hỏng là APPEND, không phải phát hiện.** `MEMORY.md` 19.456B = 0 B đổi xuyên **5 phiên** (S154→S158).
- 🔴 **5 TRƯỢT (ring1) — tự-báo-sạch SAI:** T-5 "stray `.claude` = 0" → thật **1** · T-6 "empty-dir = 0" → thật **5→6 ĐANG TĂNG** · T-7 trục Placement PASS đổ theo · T-3 "lành theo lai-lịch S152" = claim mạnh chống bằng suy-luận yếu (mở 3/10 rồi khái quát 10/10) · T-4 "0 hit mới sau S152" **tự phản-chứng** (file S159 của chính nó thêm 3 hit — citation-trap đời 3).
- ⭐ Tự bắt **F-09**: sweep U+FFFD ban đầu là **LỆNH CHẾT** (`grep -P` exit=2 bị `2>/dev/null` nuốt) ⇒ **rỗng trông y hệt sạch**. Bài: kiểm exit-code trước khi đọc kết quả rỗng thành sạch.
- **S180 (2026-08-07) @open L12 — `GATE-FAIL — 7`** `[LEAD SEED ON-BEHALF]`: nợ harvest THẬT **583.683 B / 14 lượt-vai** (S168 82.383 + S169 243.927 + S170 257.373) — carry ghi `~306 KB (S168+S171)` **SAI 2 CHIỀU**. 🔴 **F-04 TỰ BÁC CHÍNH MÌNH:** số S173 "501.300 mồ-côi" đúng TỔNG nhưng **sai CÁCH KỂ** — md5 chứng 14/16 sleep-draft ĐÃ về archive byte-exact ⇒ ai đọc sẽ đi gom lại thứ đã ở nhà. 🔴 **F-05 bẫy ĐƠN-VỊ:** baseline không khai đơn-vị ⇒ suýt báo "2 corruption"; thật 22 **dòng** ⟂ 24 **lần**. Bài chống bẫy này **đã viết ở `sub-harvest-curator-close-S168.md`** mà vì file đó chưa về nhà nên vấp lại **6 phiên sau****nợ harvest có CHI-PHÍ ĐO ĐƯỢC**. Orphan trừ folder đang chạy ⇒ **0/84 KHỚP lead**. `ring1` tái-dựng: tổng nợ **khớp từng byte**, nhưng **BÁC** 2 số phụ (`sleep-drafts` 268.861→**238.661**; empty-dir 5→3). Tag `[s180, gate-fail-7, no-583683B, tu-bac-f04, bay-don-vi-f05]`