--- name: feedback-absence-looks-like-clean description: "Vắng-mặt trông giống ổn — slot-index tái-dụng xoá im-lặng, phép trích rỗng đọc thành sạch; vá xong phải grep lại bằng lệnh KHÁC" metadata: node_type: memory type: feedback originSessionId: 55aae6bd-8d74-4018-a203-343da07d3618 modified: 2026-07-22T17:15:28.207Z --- **Ba ca cùng một lớp, đo được @S146 (2026-07-22/23) — "cái BỊ MẤT không tự tố-giác".** **(1) Slot-index tái-dụng = xoá im-lặng.** Owner nói *"còn lại xử lý hết xong rồi session-end"*; lead ghi đúng vào `WAL` slot `[7]` = uỷ-quyền commit+push. Sau đó lead thêm mục mới và **tái-dụng `[7]`** ⇒ dòng cũ **biến mất, 0 hit toàn repo**. Hệ-quả: lead **hỏi lại 3 lượt** đúng thứ owner đã trả lời, ngay dưới khối tên *"ghi đè, KHÔNG hỏi lại"*. 🔴 Khác **đổi giá-trị** (còn thấy giá-trị cũ để grep) — **đè slot thì không còn gì để grep**. Và **máy MÙ hoàn-toàn**: không detector nào biết `[7]` từng là thứ khác. **Why:** WAL **ghi-đè toàn-file** ⇒ mất-mát không đi qua diff-review từng dòng. **How to apply:** khối đánh số (`[n]`, checklist, enum) **CHỈ TĂNG index, CẤM tái-dụng**. Đối-chứng mất-mát trong WAL = `git show :.claude/WAL.md`. Catch-layer duy nhất = vai soi **CÁI THIẾU** ([[feedback_meta_count_selfcoverage_blindspot]]). **(2) Phép trích rỗng ⟂ không có gì.** Vá 6 site theo danh-sách người khác liệt → **vá 5 sót 1**. Cơ-chế: `grep -oE '.{50}consent.{80}'` đòi **đúng 50 ký-tự TRƯỚC** match; match ở offset ~30 ⇒ **0 match ⇒ RỖNG** ⇒ đọc thành *"dòng này sạch"*. Đúng phải `.{0,60}`. 🔴 Nguy hơn bẫy `grep -c` (đã có trong [[feedback_resume_premise_reverify]]): `grep -c` trả **`0` — một con SỐ**, nhìn là biết đang đếm; cửa-sổ hỏng trả **rỗng**, **trông y hệt sạch**. **How to apply:** **vá xong PHẢI tự grep lại bằng lệnh KHÁC lệnh đã dùng để tìm** (khác mẫu, khác cửa-sổ). Vá-theo-danh-sách mà không tự-verify = đời-3 của cùng lớp lỗi. **(3) Ghost-wire soi được 2 CHIỀU.** Trước giờ chỉ canh *khai-có-mà-không-chạy*. @S146 gặp chiều ngược: `tiep.md` PROSE khai *"`closed.md` CHƯA wire"* trong khi **MÁY ngay phía trên đã đọc `closed.md` thật** — **wired-but-declared-unwired**, và nằm đúng dưới nhãn *"chống ghost-wire H18"*. **Why:** khai-chưa-xong cho thứ đã xong khiến người sau đi vá cái đã lành, và làm mất niềm tin vào chính lưới đó. **How to apply:** khi lật một cơ-chế sang "đã wire", grep **mọi surface khai nó chưa wire** — cùng kỷ-luật [[feedback_cardinality_change_grep_consumers]]. 🔸 **Neo chung cả 3:** thứ *có mặt sai* thì grep ra; thứ *vắng mặt* thì **không**. Nên với xoá/đè/rỗng, **bằng-chứng phải đến từ NGUỒN KHÁC** (git history · lệnh khác · người khác), không từ chính bề-mặt đang soi.