Files
solution-erp/.claude/auto-memory/feedback_absence_looks_like_clean.md
pqhuy1987 d29187902a
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m30s
[CLAUDE] Docs: S181 closeout — bookend @close 21 FLAG, va 20 + 2 loi lead tu gay
Bookend @close chay du 6 vai + 2 vai KIEM vong. Ket qua dat nhat cua phien.

Con-DO:
- tooling-auditor  PASS_WITH_FLAGS 6  (F-1 o canonical Sub-agents 26 -> 28,
  la dich cua 5 con-tro B1 ⇒ 1 o sai = 5 con-tro resolve sai)
- harvest-curator  GATE-FAIL 6        (F-03: cong thuc cot-A MU khi phien
  khong mo run-folder ⇒ A∖B = ∅ ⇒ bao PASS trong khi 7/7 vai thung.
  DAT-ao do CAU TRUC — may khong hong, may HOI SAI CAU)
- lead-stale-auditor 9 FLAG · lead-gap-auditor 6 FLAG

Con-KIEM:
- ring1-audit 26 DAT / 5 TRUOT — thach-CLEAN THUNG mat "skill sach" cua H1:
  ef-core-migration heading tu mau thuan (vua tro STATUS canonical vua ghi
  "moi nhat = row cuoi bang", row cuoi = Mig 71, dia = 72).
- ring2-audit 14 DAT / 0 TRUOT — 15/15 FLAG trung vat that, 0 gan oan.

🔴 HAI LOI LEAD TU GAY, ca hai do phep do doc lap bat:
1. Tu MO RONG tham quyen: viet "Chu du an phan P7 ve (ii)" tren vat GUI HUB,
   trong khi so quyet-dinh ma chinh bao-cao tro toi ghi "CHUA phan, VAN TREO".
   Anh noi "OK lam het roi khep tron di" = uy quyen chay not, KHONG phai phan
   noi dung. Da ha chu 3 site. Anh bac thi go, 1 luot.
2. Sweep "roster 23->28" TOAN CUC an vao 2 anh chup DONG BANG (STATUS:15 ky
   S159-S160 · :478 lineage S153). Bang chung noi-tai: o :15 moi so lang gieng
   cung dong van gia tri cu, CHI roster nhay. Da hoan ca 2 ve 23.
   ⇒ LUAT: literal trong segment " S…" = ANH CHUP, CAM sweep theo pattern.

Va them: vi pham C1 dong-bang be-mat-do (ghi STATUS/HANDOFF trong luc 4 vai
dang do; vai gap chung bang chinh phep do cua no: 285/54 -> 287/56). RCA
C1-S181 vao error-ledger, kem khai NO CHUA TRA: 0 cong may nao chan.

Da xu 20/21 FLAG: seed 9/9 nhat ky vai · re-stamp 20 slug mo + 3 moi · RC
-21-42-10 vao ACTIVE-MARKS kem PHAM VI KY · va cong thuc cot-A · YC-007..012
loi anh nguyen van · 2 bai hoc vao auto-memory.

§L.c gate: vong 3/5 (khong-nhip V3 trio, V4 nen-ngu) | phep DAT 4 / TRUOT 0.
mind-check closed-mode: dat=10 TRUOT=0 exit 0. _end da ghi (FROZEN).

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-07 23:31:01 +07:00

5.9 KiB

name, description, metadata
name description metadata
feedback-absence-looks-like-clean 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
node_type type originSessionId modified
memory feedback 55aae6bd-8d74-4018-a203-343da07d3618 2026-08-06T08:31:35.632Z

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ậtwired-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.

(4) HEAD~n KHÔNG phải "commit trước của mình" — đo @S177 (2026-08-06), sập THẬT 1 lần. Verify deploy cần đối-chứng trước/sau, lead chạy git show HEAD~1:<file> vs git show HEAD:<file>y hệt nhau. Đọc thẳng thành "không có gì đổi ⇒ deploy hỏng?". Thật ra Stop-hook wal-flush.ps1 auto-commit ở turn-boundary nên HEAD = wal: flush, còn HEAD~1 = chính commit vừa tạo ⇒ phép so bản mới với chính nó. 🔴 Cùng lớp: hai vế bằng nhau trông như một phép đo hợp-lệ, không có gì kêu. Khác ca (2) ở chỗ output không rỗng mà khớp — còn dễ tin hơn. How to apply: trong repo có hook auto-commit, CẤM HEAD~n cho mọi phép so trước/sau — dùng SHA đích danh (git log --oneline lấy đúng commit sản-phẩm, bỏ qua wal:). Cùng gốc với luật đã có ở project_h22_wal_session_continuity (hook 4-path) và điểm-mù Sàn-3: hook làm "cây sạch""HEAD~1" đều mất nghĩa. Bonus S177: bundle prod CŨ cũng không dùng làm đối-chứng được (deploy dọn dist ⇒ URL cũ trả ~900B SPA-fallback, grep ra 0 mọi chuỗi = lại một rỗng đọc thành sạch) — xem feedback_prod_db_verify_integrated_auth.

🔸 Neo chung cả 4: thứ có mặt sai thì grep ra; thứ vắng mặt thì không. Nên với xoá/đè/rỗng/so-nhầm-mốc, bằng-chứng phải đến từ NGUỒN KHÁC (git history theo SHA · lệnh khác · người khác), không từ chính bề-mặt đang soi.

🔴 @S181 — hai ca CÙNG LỚP, cùng phiên, cả hai suýt chỉ sống ở WAL (tệp bị §6.4 xoá trắng cuối closeout):

(a) Phép trích RỖNG trên một sổ ĐẦY. Acceptance W4 ô-1 là grep -c '^ST-' <sổ> ≥ 2. Sổ có đúng 2 mục ST-, nhưng ở dạng BẢNG (| \ST-001` |) ⇒ regex neo ^ST-` trả 0. Thước đọc rỗng trên vật đầy. 🔴 Cám dỗ là bẻ BẢNG cho vừa regex — làm thế là rời tập-đo, và bảng mất luôn cột. Đúng: giữ vật, khai thước không khớp layout, đếm bằng phép đúng dạng (=2).

(b) Một regex sửa-1-bảng ăn sang bảng thứ hai. Script cập nhật bảng nấc §1 dùng | N |; tệp có hai bảng đánh số ⇒ 5 dòng của §6 ("SE làm KHÁC/mạnh hơn") bị ghi đè bằng nội dung GĐ. Báo cáo của chính lead không thể thấy; chỉ cổng đồng-bộ 4 tầng (phép đo độc lập, đếm dòng từng bảng) thấy. ⇒ Sửa hàng loạt trong tệp nhiều bảng: neo theo PHẠM VI SECTION, không neo theo hình dạng dòng — và sau khi sửa, đếm lại từng bảng chứ không đếm tổng.

How to apply (bổ sung): thước trả 0 trên vật mình biết là đầy ⇒ nghi thước, đừng nghi vật, và tuyệt đối đừng đổi vật cho vừa thước. Sửa hàng loạt ⇒ đếm lại từng đơn vị con, vì tổng đúng vẫn che được hai lỗi bù nhau.