[CLAUDE] Docs: S146 closeout — session-model 3 owner-decision + hook 4-path + H24 auto
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 5m25s

Ap spec-apply-hub-s145-v2 (5 axis, governance-only: 0 prod-code, 0 migration).
Workflow S145 chet giua chung -> /tiep §4 relaunch-cat-gon wf_3d803740-41d 3/3 DONE.

Owner-decision @S146:
- session_ctx_kb = 64 TUONG-MINH (giu nguyen caveat ghost-wire: 0 reader)
- session-model: scaffold IDEMPOTENT (tach cap-SO vs tao-THU-MUC) · closed.md WIRE
  (session-end §6.3-bis) · V2 AUTO (go cong NGUOI, GIU cong NHIP 6/15/3)

Landed: C7 §N.8 predicate 4-ve · hook wal-flush.ps1 4 path (+.claude/sessions/)
· San-3 tin-hieu ⑤ + ORPHAN-L · D2 KIEM end-only · §L.c completeness-gate co RANG.
LIVE-VERIFY hook 4-path PASS repo THAT (da7ee8a). Session-model chay TRON VONG dau
tien: pause-S146 -> resume-S146 -> ORPHAN-L can so.

H24 force-fire (P=8 pause >= 1, luat auto moi): 2 vai + h24-audit -> 7 FLAG, va het:
- sweep-consent sot 6 site (h24-audit.md:4 = frontmatter description)
- closed.md wired-but-declared-unwired (ghost-wire CHIEU NGUOC)
- owner-decision [7] BI GHI DE do tai-dung slot-index -> mat uy-quyen push
3/3 vai lane-H24 garble #53: ghi-dia-SOM cuu tron, ghi-MUON mat trang.

So: orphan run-folder 3->0 · carry 14->20 (co tag [carry:*]) · +E-013 +E-014
error-ledger · +memory feedback_absence_looks_like_clean · .gitignore +lock file.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-07-23 00:16:37 +07:00
parent a1e2416f37
commit 8b6df0a396
86 changed files with 5683 additions and 113 deletions

View File

@ -0,0 +1,26 @@
---
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 <sha>:.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.