# ctx-verifier Agent — Persistent Memory

- **S162 (2026-07-30) LƯỢT 3 @`/tiep` window-4 L8 — verdict `CO-CO — 8 cờ` `[LEAD SEED ON-BEHALF @closeout — nguồn: đĩa `_tiep-3.md:6` + return; H2 F-01 HIGH bắt: mày CHẠY THẬT 3 phiên (S153 seed · S158 seed · S162 seed) mà **CHƯA LẦN NÀO tự APPEND** ⇒ hỏng ở khâu GHI, không ở phát hiện; vá gốc = wire diary-append vào `tiep.md §3-ter`, đã lên HANDOFF NEXT-em #1]`:** 8 cờ K1-K8. **Cờ đắt nhất K7 = biến-thể LÙI-MỘT-TẦNG của chính nấc-vàng S156:** S156 mày dạy *diff tập-ý D block-trên vs block-dưới*; lead làm đúng (MIND-3→MIND-4 **SẠCH 6/6**) — nhưng rò **tụt xuống block ĐÃ NÉN**: nén MIND-1 @PAUSE-3 chỉ cấp disposition `(nay …)` cho **3/5 dòng D**, và **đúng 2 dòng không disposition = 2 ý biến mất**: `slot-45` (tiền-đề đã LẬT — trần thật 89,06%) + `detectors :1095/:1760 lọc sub-* sót trio-return (C11b)` (**0 hit ngoài MIND-1** ⇒ nén lần nữa là MẤT HẲN). ⇒ **LUẬT MỚI: nén block = phải đối chiếu TỪNG ý mục D có nơi đi (đóng/carry/con-trỏ), không chỉ đếm byte.** **K2/K3 lớp mới:** con-trỏ `WAL:49` chết + `WAL:8,10` giải-nhầm IM-LẶNG — WAL **tái sinh + đánh số lại mỗi `/pause`** ⇒ mọi con-trỏ số-dòng vào WAL **thối trong 1 cửa**, và thối im lặng vì path vẫn tồn tại nên máy con-trỏ (phép 4) KHÔNG kêu ⇒ **trỏ WAL theo NỘI-DUNG**. K4 orphan ×3 (1 **dương-giả TÊN** — H2 sau đó bác chẩn đoán của lead: glob `*-synthesis.md` **neo ĐUÔI**, không phải thiếu dấu `-`) · K5 nhãn chưa hạ dù đã thi hành · K6 trần đo tươi 89,1% · K8 OVERDUE 8/6→9/6 (sổ máy tươi thắng CẢ WAL lẫn `_mind`). Lead áp: K7 di-trú 2 ý vào WAL→HANDOFF (`[carry:mind-tran-nen-moi-cua]` slot 58) · K8 vá 2 nơi · K2/K3 thành bài học session-log. Tag `[s162, lan-chay-3, van-chua-tu-append-3-lan, ro-tut-xuong-block-da-nen, con-tro-WAL-theo-noi-dung, glob-neo-duoi, seed-on-behalf]`
- **S156 (2026-07-27) LƯỢT CHẠY ĐẦU ĐỜI — spawn-probe ALIVE, nấc `file-land`→CHẠY THẬT @`/tiep` §3-ter (L7 window 3):** verdict `CO-CO — 10 cờ`. Nấc-vàng học được: **4 khoản của mày ĐỀU ra cờ, nhưng cờ NẶNG nhất KHÔNG nằm ở khoản nào cả** — nó là **biến-thể NGƯỢC của khoản 3**: ý mục D **rơi IM-LẶNG** giữa 2 block (MIND-1→MIND-2 mất 3 ý, 0 khai) trong khi khoản 3 chỉ dạy soi "định-đoạt mà chưa đổi nhãn". ⇒ **LUÔN diff tập-ý D block-trên vs block-dưới**, đừng chỉ đọc block top (đúng vệt `absence_looks_like_clean`). Ca đắt nhất: ý "trần `mind_ctx_kb`=32KB" {treo-chờ-anh} rơi ĐÚNG lúc nó thành ràng-buộc thật — đo ra `_mind` **85,5% trần (28.010/32.768 B), dư 4.758 B < mọi block (5.767-7.536)** ⇒ MIND-3 sẽ vượt, luật buộc nén MIND-1.
  **2 nghề rẻ mà ăn tiền:** (a) **đo byte từng block** (`python` split theo `## MIND-`) — 1 lệnh ra cờ trần + số để lead quyết nén · (b) **chạm ĐĨA để bác chú-thích lớp mềm**: §E ghi `sub-implementer-backend-1.md` "(file này không còn)" mà `ls` ra **3.499 B, commit `9c0ac68`, ruột toàn `⏳`** ⇒ nhãn đúng = `skeleton-ruột-rỗng` CÒN SỐNG. Máy `mind-check` chấm `dat` vì nó chỉ soi path TỒN TẠI — **máy đúng, chữ sai**; khoản 4 phải soi CHÚ-THÍCH chứ không chỉ đọc verdict.
  **Bẫy bản-đồ 2 chiều (khoản 2):** `run.md` tail còn `[ ] Đ2-W1/W2/W3` dù WAL `[x]` đã deploy — **ledger run-folder tụt hậu so WAL**; và việc sinh SAU mốc block-top (commit `f4494cf`) thì `_mind` mù **có lý do chính đáng** — vẫn cờ, nhưng phải nói rõ "mù có lý do" kẻo lead đọc thành lỗi cẩu-thả.
  Tag `[s156, lan-chay-dau, spawn-probe-alive, y-D-roi-im-lang, do-byte-tung-block, tran-85-5, chu-thich-vs-dia, ledger-tut-hau]`

- **S153 (2026-07-26) SINH RA — vai-2 vòng Ctx `[seed on-behalf by lead @closeout M9 — mày CHƯA chạy lần nào; nguồn = đĩa]`:** sinh bởi **OWNER-VETO @S153** (anh chốt trực tiếp *"Build đủ 3 vai như hub"* qua AskUser = **owner chốt THẬT**, không phải delegated). Khai-sinh tên `ctx-reload`, **RENAME `ctx-verifier` CÙNG PHIÊN** theo lệnh anh *"đặt tên giống hub/sisters để dễ audit"* — 🔴 lưu ý nghịch-lý dễ nhầm: **VIPIX gọi vai này ĐÚNG là `ctx-reload`** (trùng tên khai-sinh của mày), nhưng **hub** gọi `ctx-verifier`; luật SE = **hub-form khi hub≠sister** (tiền lệ S149 `lead-*`) ⇒ tên mày theo hub.
  **Việc của mày:** @MỖI `/tiep`, **SAU** máy `mind-check` full (~55ms), làm **4 khoản đối-chiếu** rồi trả **BẢN NẠP-LẠI ≤15 dòng**: (1) mục B hướng-tiếp vs WAL `next:` — lệch ⇒ 🔴 **TIN SỔ MÁY** + giương cờ (WAL = sổ chốt; `_mind` = lớp mềm) · (2) mục C kế-hoạch vs bản-đồ việc (WAL chain + run-folder + STATUS §In Progress) · (3) ý mục D đã ĐỊNH-ĐOẠT mà chưa đổi nhãn ⇒ cờ (đổi nhãn = việc lead ở block kế) · (4) con-trỏ mục E — đọc verdict 3-trạng-thái của máy, KHÔNG tự phán lại.
  🔴 **Dòng BẮT BUỘC cuối return:** `LEAD-PHAI-NHAC-LAI: <tên-ý-D> · <E-verdict>` — đây là **bằng-chứng NỘI-DUNG** của sàn khoản 3 thư hub: lead phải nhắc lại chi tiết chỉ-biết-nếu-đã-đọc; câu "đã nạp" suông KHÔNG tính, metadata ts/hash KHÔNG tính. Thiếu dòng này = sàn khoản 3 thành khai suông.
  **Ranh:** KHÔNG nạp NỀN hộ lead — nạp nền = nghi-thức LEAD theo khoá `tiep_reload` (mode `rut-gon`, ~40-60K tok; nền-full SE đo tươi **596.316B ≈ 149-199K tok**, nặng hơn nền hub 1.36× nên rút gọn là quyết (37)(b)). Mày CHỈ lo lớp mềm.
  **Nấc THẬT:** `file-land @S153` — **spawn-probe ALIVE CHƯA CÓ** (T9 phiên sau restart CLI); lượt chạy đầu = dogfood 4-cửa @T9. Wire: `tiep.md §3-ter`.
  Tag `[s153, sinh-ra, owner-veto-3-vai, rename-hub-form-nghich-ly-vipix, vai-2-nap-lai-@tiep, lead-phai-nhac-lai, chua-spawn-probe]`

## S158 (2026-07-28) @`/tiep` L7 window 5 — verdict `CO-CO 8 cờ`

- **Gói `[LEAD SEED ON-BEHALF @closeout M9 — mày CHẠY THẬT nhưng KHÔNG tự ghi; nguồn = `_tiep-4.md` + xác nhận H2 `grep -c S158`=0]`:** cờ NẶNG nhất **K3** — **7 ý mục D của MIND-3 rơi IM-LẶNG sang MIND-4, 0 khai**, trong khi header nén MIND-3 **tự khai** *"MIND-4 đã nhận lại các ý còn sống"* ⇒ **claim BỊ BÁC bằng grep** (`ring5`/`slot (41)`/`liên-lane`/`mẫu-số`/`vòng KIỂM`/`nhịp` = 0 hit). Đây là biến-thể mày đã học @S156 (*"LUÔN diff tập-ý D block-trên vs block-dưới"*) — nay nâng 1 nấc: **header nén TỰ TUYÊN đã bảo toàn = phải kiểm, đừng tin** (lớp `absence_looks_like_clean`).
  **2 nghề rẻ mà ăn tiền, dùng lại lần 2 và trúng cả 2:** (a) **đo byte từng block** ⇒ bắt trần 92,5%, dư 2.463 B, MIND-5 cần 6.536 B, MIND-1 chỉ còn 1.868 B ⇒ **luật nén KHÔNG đủ chỗ** — lead re-đo độc lập xác nhận, thành câu chờ-owner (45); (b) **chạm ĐĨA bác chú-thích** ⇒ đóng cờ C9 cửa trước (`sub-implementer-backend-1.md` CÒN SỐNG 3.499 B).
  🔴 **Cờ K1 nhỏ mà đắt:** ý *"thứ tự wave"* chỉ còn sống ở `WAL:24`, **0 hit** trong `_mind`+`_context` ⇒ WAL bị §6.4 reset là mất hẳn. Bài: ý chỉ-sống-ở-WAL = ý **sắp chết**, phải nêu để lead di-trú.
  🔸 **Lead re-đo bác 1 điểm của mày (nhận):** mày báo `Gate 5 anchor` *"chưa có nhà"* — thật ra `WAL:18` đã có; nhưng `lead-gap` sau đó chứng **WAL sắp bị reset** nên kết luận *"vô gia cư"* vẫn đúng ở tầng hệ-quả.
  Tag `[s158, lan-chay-2, header-nen-tu-tuyen-phai-kiem, do-byte-tung-block-lan-2, y-chi-song-o-WAL-la-y-sap-chet, seed-on-behalf]`

> **Persistent diary cross-session.** Auto-injected first ~200 lines at spawn (L1 HOT).
> Update BEFORE every stop. Tiered Memory v1: L1 HOT soft-cap ~30KB · L2 `archive/` on-demand · L3 RAG just-in-time. Keep entry ≤ 1.5K chars (gotcha #53).
> **NEW agent S153 (2026-07-26)** — vai-2 vòng Ctx; anh em: `ctx-curator` (@pause) · `ctx-audit` (@2-bookend).
