# Harvest-Curator Agent — Persistent Memory

- **S181 (2026-08-07) @close — `HARVEST: GATE-FAIL — 6 điểm` `[LEAD SEED ON-BEHALF]`:** 🔴 **F-03 là loại nguy nhất tao từng bắt: ĐẠT-ảo do CẤU TRÚC.** Công thức cột-A của checklist C2 là `ls runs/<id>/sub-*.md`. Phiên S181 **không mở run-folder mới** ⇒ cột-A = **∅** ⇒ `A∖B = ∅` ⇒ checklist **báo PASS trong khi 4/4 vai đang thủng**. Máy không hỏng — **máy hỏi sai câu**. Lead đã vá: cột-A = HỢP của {run-folder} ∪ {vai có verdict trong WAL chain}. 🔴 **F-01/F-02 — đo TÊN ra 2/4, đo NỘI DUNG ra 0/4**, và 2 vai *có nhãn* lại **TỆ HƠN** 2 vai vắng nhãn: dòng seed *"CHƯA CHẠY LẦN NÀO"* đẻ trước lượt chạy 8-10 phút, nay **phủ định đúng cái đã xảy ra**, và nó **tự-nạp vào L1 mỗi lần spawn**. 🔴 **F-04 — tao tự bắt THƯỚC của chính tao, lần thứ 2 cùng bẫy:** `grep -P` chết `rc=2` (locale) mà **stderr bị nuốt vào tệp kết quả** ⇒ `wc -l` in `FILES=1` ⇒ **lệnh chết vẫn đẻ ra con số trông hợp lệ**. Chỉ thoát bằng perl byte-mode **có control dương**. ⇒ Luật: mọi census corruption **chạy control dương trước, đọc rc của CHÍNH lệnh đo**, không đọc rc của `sort` trong pipe. Tag `[s181, dat-ao-do-cau-truc, do-TEN-vs-do-NOI-DUNG, seed-thoi-tu-nap-L1, lenh-chet-van-de-ra-so, control-duong-truoc-khi-do]`
- **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 9−1 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 mà `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` có `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` mà `*-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"

## S188 (2026-08-10) — [LEAD SEED ON-BEHALF]

- H2 @close S188 — census 17 artifact S187 + phat hien folder-count UNDER-COUNT (luot-vai that >=23: W2 khong artifact, reviewer cum chet trang x2, W10 x4 doi). Coverage FAIL 7/19 luot-vai co ban ghi = 37% (do NOI DUNG khong do TEN). Orphan that = 1 (S187 thieu synthesis, lead da dong @close). 🔴 L1 cua chinh minh 29.776 B VUOT read-limit 24,4KB => bi cat THAT khi spawn phien nay; self-compact DUE.

## S189 (2026-08-11) — @open L15 · GATE-FAIL-5 (2H·1M·2L)
- F-01 HIGH: 4 vai chạy S188 nhận 0 chữ = 42.975B mồ côi (ring2 18.195 · ring5 11.282 · harness-audit 10.664 · ctx-audit 2.834) — dedup sạch, APPEND an toàn. F-02 HIGH narrative-capture != memory-landing; ring1 B-09 sửa ĐỘNG TỪ: ef1d4fbb KHÔNG "seed diary" — 3 vai là NÉN-xuống-archive, chỉ harness-refine +5/-0 là append thật (lõi vẫn ĐẠT).
- Orphan 0/93 (dual-accept; ring1 chứng nhánh `harvest/` legacy SỐNG — 5 folder 2026-06-18 chỉ qua nhờ nó). Đối chứng 3 số lead khai: 19 OK · 12 OK · "10 file" SAI, đĩa 14 (-3).
- Read-limit ĐO ĐƯỢC + đảo dấu: chấm KÝ-TỰ (không byte) => 0/29 vai vượt, max lead-gap 96,5%; đứng ở cả x1000 lẫn x1024. -> .claude/workflows/runs/2026-08-10-S189-bookstart-open/sub-harvest-curator-open-S189.md

## S191 (2026-08-13) — @close L15 (phiên ĐÓNG) · GATE-HOLD 6 (2H·3M·1L)

- **C2:** A=7 vai (nguồn-1 CHỈ 1 = `sub-cicd-va-goc-92.md`; folder mới `2026-08-13-S191-bookend-close/` có mỗi `run.md` ⇒ nguồn-1 gần-∅ đúng như cảnh báo S181) · **B=0/29** (grep `S191` toàn 29 MEMORY.md = 0, đo 2 lần cách nhau ~40') ⇒ **A∖B = 7/7 thủng**. Nguồn-2 (verdict trong `_tiep-2.md` + bảng scribe `run.md`) gánh 6/7 — bỏ nguồn-2 là checklist báo PASS.
- 🔴 **F-01 nợ CHÍNH TAO nêu @S189 chưa đóng, và tao suýt đọc nhầm lần nữa:** tag-scan thấy `ring2-audit` có chuỗi "S188" ⇒ tưởng đã về nhà; mở ra thì đó là **mention trong thân entry S189** (đếm slug "S185 20/23 · S188 47"), KHÔNG phải bản ghi. Grep TRỌN dir (kể cả `archive/`) = **0/4 vai** ⇒ 42.975 B mồ côi (ring2 18.195 · ring5 11.282 · harness-audit 10.664 · ctx-audit 2.834) vẫn nguyên sau 2 cửa sổ. **Đo TÊN-token cũng là đo tên** — chỉ `grep -rn` cả dir mới là đo nội dung.
- 🔴 **F-02 ctx-verifier nợ 2 lượt chứ không 1:** `_tiep-1.md:6` (13 cờ, "lần 10") + `_tiep-2.md:6` (13 cờ, "lần 11") mà sổ dừng ở **S187 lượt 12/lần 9** ⇒ window-2 chưa ai gom. Vai không có Write = nợ CƠ-CHẾ, cửa `/pause` không phải cửa gom.
- **F-03 Placement:** `fe-user/.claude/agent-memory/implementer-frontend/` 3 tầng dir RỖNG (mtime 19:10 = giờ W2/W3), **git mù 2 lớp** (rỗng + `.gitignore:118 fe-*/.claude/`); session-log:34 + WAL:22 khai "dọn stray dir rỗng" mà đĩa còn nguyên (mtime không đổi ⇒ chưa ai rmdir). 🔴 **Thước của chính tao cũng mù:** `find .claude -type d -empty` = 0 — phải quét **repo-wide** mới thấy (đúng bài S172, tái phạm nếu quên).
- **F-04:** session-log:31 "file DUY NHẤT vượt trần = ring2 27.458" — đĩa **3 vai** vượt `autoinject_cap_bytes` 25.600 (lead-gap 28.094 · ring2 27.458 · lead-stale 25.966), và **chính máy lead chạy cùng phiên** (`nhip-no-probe`) in "tran-bo-nho **3 over-cap**" ⇒ số sai mâu thuẫn với máy của chính nó. (Caveat S189 giữ: chấm KÝ-TỰ thì 0/3 vượt — khoá tên `_bytes` + máy đọc byte ⇒ byte là nghĩa đang hiệu lực.)
- **Fidelity STRONG** cho on-behalf `sub-wq3-be.md`: 5/5 claim truy về `69860362` (Mig 3-file 29+7067+3 · service +88 · DTO/controller +21/+22/+16 · `[Fact]`=**4** khớp đúng chữ "+4") ⇒ 0 bịa, không escalate. **Corruption** 25 hit/12 file `.claude`-wide (control dương rc=0, SCANNED 1284) = baseline 24/11 **+1 mention** ở `S185/sub-ring1-audit.md:150` (trích chính ca hỏng của cicd làm bằng chứng — citation-trap đời N) ⇒ lành, baseline mới **25/12**. **Orphan 0/94** run.md (dual-accept), S191-close = IN-PROGRESS không tính.
- Chore tự khai: L1 tao 22.196 B < cap 25.600 nhưng > self-target 17,1K ⇒ self-compact còn DUE. Tag `[s191, C2-nguon-2-ganh-6-tren-7, mention-khong-phai-ban-ghi, no-S188-qua-2-cua-so, ctx-verifier-2-luot, stray-ngoai-.claude-git-mu-2-lop, so-mau-thuan-may-cua-chinh-minh]`

## S192 (2026-08-13) - bookend @open L16 - **GATE-FAIL - 6 finding** `[LEAD SEED ON-BEHALF]`
- Coverage @S191 thung 2 vai (`ring5-audit` 3.708B + `harness-audit` 8.191B); no S188 42.975B/4 vai treo 3 cua so; `STATUS:517` sai CA HAI CHIEU (khai ~306KB, that 113.993B). [!] Tu bat thuoc 2 lan: `grep -rl S191` trung moved-marker (dung vi MAY, khong vi thuoc) va regex KC suyt vu oan lead bia so. Probe `run-chua-gom` = DAT-ao CAU TRUC (do co-file, khong do ve-so). [!] `ring1` phan mau-so 12 TRUOT (loc bat-doi-xung) + nhan byte-exact la overclaim; nhat quan 11/13, nac-3 chot 13 -> 11 -> 9. -> `.claude/workflows/runs/2026-08-13-S192-bookend-open/sub-harvest-curator-open-S192.md`
