[CLAUDE] Docs: S181 closeout — bookend @close 21 FLAG, va 20 + 2 loi lead tu gay
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m30s

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>
This commit is contained in:
pqhuy1987
2026-08-07 23:31:01 +07:00
parent 420440002c
commit d29187902a
24 changed files with 277 additions and 22 deletions

View File

@ -47,6 +47,7 @@
- [Máy rộng, UI hẹp](feedback_may_rong_ui_hep.md) — nguyên tắc owner S164 ×2 quyết định: schema/BE theo ca TỔNG QUÁT (N/gộp), UI default ca HẸP (1-1), user cần thì bung — 0 đổi máy; rào cứng 409 → rào hiển thị
- [Pause phải nhớ kỹ plan-progress](feedback_pause_track_plan_progress.md) — owner S165: /pause giữa chuỗi wave = WAL/run.md liệt TỪNG đầu việc đã-review (wave + vá-số + finding treo), rà từng dòng OG trước khi tuyên xong (ca thật: gap checkbox OG-3 → gate F-1 MAJOR)
- [Guard dựng mà không ai gọi](feedback_guard_built_but_never_called.md) — máy đúng + fault-inject có răng nhưng 0 cửa gọi = chết câm; thang 2 nấc xếp vào "CÓ"; và nghi THƯỚC của mình trước khi trách máy
- [Dry-run bắt lời-hứa-chưa-land](feedback_dryrun_finds_promised_but_unlanded.md) — S168: command CHỈ SỐNG TRONG COMMENT sống sót 8 wave + 8 gate + 8 cicd + 644 test; guard-chặn-không-đường-ghi = chết câm; comment nêu tên ⇒ grep tên ngay
## Project — ongoing decisions / context

View File

@ -28,3 +28,11 @@ metadata:
**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.

View File

@ -0,0 +1,17 @@
---
name: feedback-guard-built-but-never-called
description: "Máy/guard dựng xong, chạy đúng, fault-inject có răng — mà KHÔNG cửa nào gọi ⇒ chết câm; thang 2 nấc xếp nó vào \"CÓ\" và ta yên tâm nhầm"
metadata:
node_type: memory
type: feedback
originSessionId: 1ba002a9-95df-4fc1-ab97-e36eeb531eeb
modified: 2026-08-07T16:02:37.345Z
---
Một guard có thể **đúng hoàn toàn** mà vẫn vô dụng: nếu **không cửa nghi-thức nào gọi nó**, nó chỉ chạy khi có người gõ tay ⇒ hết phiên là hết chạy. Đo thật @S181: `naming-scan.ps1` + `artifact-integrity.ps1` (dựng ở W1/W2, chạy tốt, fault-inject 2 chiều có răng) có **0 cửa gọi** — phát hiện **chỉ vì** bảng máy⟂tay bắt phải có **BA nấc**.
**Why:** thang 2 nấc (*"có máy / không có máy"*) xếp máy mồ côi vào **CÓ**, và ta đọc thành "đã tự động hoá". Nấc thứ ba (*fire tự động?*) mới tách được **tồn tại** khỏi **được gọi**. Cùng họ với `feedback_dryrun_finds_promised_but_unlanded` (lệnh chỉ sống trong comment) và `feedback_absence_looks_like_clean` — đều là **vắng mặt trông giống ổn**.
**Đối ngẫu bắt được cùng phiên — thước của mình sai trước khi trách máy:** mutation-test lần đầu ra *"chỉ 1 bài đỏ ⇒ máy soi một chiều"*, và tôi đã viết cả đoạn giải thích nghe rất hợp lý. Nhưng máy **có** chiều ngược; **regex đo của tôi** thiếu pattern. Khi phép đo tố cáo công cụ, **nghi phép đo trước** — công cụ đã qua fault-inject, thước thì vừa gõ ra.
**How to apply:** dựng guard xong ⇒ **grep xem cửa nào gọi nó** (`grep -rl "<tên script>" .claude/commands/ .claude/hooks/`), 0 hit = chưa xong việc, phải wire. Khi kiểm độ phủ tự-động hoá, **đếm cửa gọi**, đừng đếm sự tồn tại của máy. Và trước khi kết luận "máy thiếu X", chạy control dương cho **chính thước đo** của mình. Liên [[feedback_dryrun_finds_promised_but_unlanded]] · [[feedback_absence_looks_like_clean]] · [[feedback_faultinjection_proves_teeth]].

View File

@ -20,3 +20,9 @@ metadata:
- Trục **honesty PHẢI có lane độc-lập** — S119 lane R4 chết ⇒ 2 lỗi honesty cấp-C lọt tới cổng-cuối mới bị bắt.
Liên quan: [[feedback-resume-premise-reverify]] (3 bề-mặt lỗi NGOÀI body: metadata-count · số-tự-tính · N/A-fact-claim) · [[feedback-review-presentation-and-stale-config]] · [[feedback-agent-return-garble-recover]]
🔴 **@S181 — datum MẠNH NHẤT tới nay, vì lần này có VAI ĐỘC LẬP đối chứng:** lead (tầng-1) đếm **3 mục** lặp≥2; vai `score-counter` (tầng-2, CẤM xem điểm tầng-1) đếm **1**. Lập luận của tầng-2 không cãi được: luật lấy ví dụ *"mục nhắc 5 lần trừ đúng 1, KHÔNG phải 4"* — mã hoá ca đó thành 5 dòng thì **đếm-theo-DÒNG ra 4**, đúng bằng con số luật gọi là SAI; số 3 của lead là `41`, **cùng dấu vân tay**. ⇒ Lead sập đúng cái bẫy mình vừa viết luật để chặn, **trong chính phiên viết nó**, và ở **con số ĐẦU TIÊN** hệ đó sinh ra.
🔬 **Vì sao ca này đắt hơn mọi datum trước:** các datum cũ chỉ chứng *lead đếm sai về mình*. Ca này chứng thêm **cách chữa có tác dụng thật** — không phải "lead cẩn thận hơn", mà là **một vai khác đếm ĐỘC LẬP và bị CẤM nhìn số của lead**. Nếu tầng-2 được xem số tầng-1 trước, nó gần như chắc chắn đã hội tụ về 3. **Tính độc lập là cơ chế, không phải thái độ.**
**How to apply (bổ sung):** con số nào lead **tự sinh về công việc của chính mình** (đếm mục, đếm phủ, đếm đã-xong) ⇒ nếu có vai đối chứng thì **đừng đưa số của mình vào prompt của nó**; nếu không có vai thì tự hỏi *"đơn vị đếm của tôi có trùng đơn vị luật nói không?"* — sai đơn vị là cách sai phổ biến hơn sai số học.