24 KiB
W1 — LANE b/2: KÝ CHUẨN ĐẶT TÊN + DỰNG MÁY SOI (G1-M1 + G1-M4)
- Phiên: S180 · Vai: implementer-backend · Ngày: 2026-08-07
- Chế độ ghi: GHI ĐĨA TỪNG PHẦN, append ngay khi xong mỗi mục (chống #53 — phiên này 17 vai dính, cứu 17/17 nhờ lối này).
- Đầu vào ĐÃ ĐỌC TRỌN (4/4, trước khi gõ dòng mã đầu tiên):
sub-w1a-mayd-octen.md— 500 dòng / 44.914 B. 14 đoạn máy · 11 vỡ-câm · 11 ràng buộc R1-R11.docs/governance/adap-upgrade-pack-fitmap.md— dòng GĐ-1 =áp dụng, scope 22/24 khoản (trừG1-B2vai giữ chuẩn → P4;G1-B7siết mã thoát → W3b/P1).docs/governance/adap-upgrade-pack-tracking.md— GĐ-1 nấc đã đồng ý; mở khoá nấc kế = W1 ra đủ {chuẩn · sổ đổi tên · máy soi}.broadcasts/inbox/ai_infra/2026-08-04-…-phu-luc-spec-pitfall.md§GĐ-1 (:93-137) — sàn (i)-(v), 6 bẫy, 6 ô nghiệm thu.
- Luật tự áp: mọi 0-hit kèm control-dương · mọi con số kèm mẫu số + đơn vị ·
KHÔNG ĐO ĐƯỢChợp lệ, bịa thì không · KHÔNG ĐỔI TÊN GÌ trong wave này · bác lane a nếu sai thì nói thẳng.
§0 — LUẬT THIẾT KẾ NHẬN TỪ LANE a (ràng buộc mọi thứ dưới đây)
"Một nhóm tên sạch CHÍNH XÁC tới độ sâu máy của nó KIỂM, không sâu hơn một nấc."
Bốn ca hậu thuẫn (lane a §3.1, tôi dùng lại, KHÔNG đo lại): N1 ép thành-viên → sạch thành-viên 26/26/26 · N6 ép hình-dạng thư mục → sạch 12/12 nhưng tệp bên trong 7 họ · N9 ép tiền-tố → sạch 12/12 nhưng nấc-2 8 họ · N5 0 máy → 40,3% dù CLAUDE.md:151 thành văn nhiều tháng.
⇒ Hệ quả thi công: mỗi mục chuẩn tôi ký PHẢI khai NẤC + trỏ MÁY ép đúng nấc đó. Mục nào không có máy ⇒ ghi thẳng CHƯA CÓ MÁY — mô tả, không cưỡng chế, KHÔNG ký sâu hơn.
(Các mục dưới append dần — mục nào chưa xuất hiện = chưa làm xong.)
§1 — RE-GROUND TỪ ĐĨA TRƯỚC KHI KÝ (không tin bảng lane a, đo lại)
1.1 — Tập 231 tên: XÁC NHẬN 7/7 ô, tổng khớp tuyệt đối
| Tập | Đơn vị | Lane a khai | Tôi đo lại | Khớp |
|---|---|---|---|---|
.claude/agents/*.md |
tệp | 27 | 27 | ✅ |
.claude/agent-memory/*/ |
thư mục | 26 | 26 | ✅ |
.claude/commands/* |
mục | 19 | 19 | ✅ |
scripts/* |
mục cấp-1 | 53 | 53 | ✅ |
.claude/sessions/** |
tệp | 90 | 90 | ✅ |
docs/governance/* |
mục cấp-1 | 15 | 15 | ✅ |
.claude/hooks/* |
tệp | 1 | 1 | ✅ |
| TỔNG | 231 | 231 | ✅ 27+26+19+53+90+15+1 |
🔸 Khai một chỗ tôi CỐ Ý không nới: .claude/sessions/ còn 12 thư mục phiên (session-<N>) ngoài 90 tệp. Đưa vào sẽ thành 243 và làm trôi mẫu số đã thoả thuận. Tôi giữ 231 và cho máy in tường minh dòng "12 thư mục phiên: NGOÀI tập, đã có detectors:1639 ép, đo được 12/12 sạch" — visible, không phải [skip] câm (R6).
1.2 — 23 chỗ lệch "còn nguyên": XÁC NHẬN VẬT, BÁC CÁCH PHÂN LOẠI (chi tiết §3.3)
Đo đủ 4 cụm: 5 sổ HOA-GẠCH ✓ · 16 script tiền-tố s<n>-/plan- ✓ (liệt đủ 16 tên) · pause-S146-20260722T2328.md ✓ · closed.md ✓. Cộng 1 vật lane a bỏ sót: resume-S146-20260722T2334.md — tệp mốc phiên thứ 2 ngoài mọi họ tiền-tố (lane a §N6 có LIỆT nó ở ô "lẻ: 2" nhưng không đưa vào bảng lệch §3.2, nên cột lệch thiếu 1).
Đối chứng họ tệp mốc phiên (mẫu số 90 tệp): _tiep 24 · _pause 22 · _snapshot 14 · _context-s 11 · _end 10 · _mind-s 6 · pause 1 · lẻ 2 = 90 ✓ khớp lane a từng ô.
1.3 — Lane a §5 khai 3 chỗ CHƯA ĐO — tôi đo nốt 2 chỗ, ra 1 phát hiện MỚI
- §5.2
settings.jsonchưa đọc toàn tệp → đọc trọn (15 dòng). Khốihooksđúng như lane a: 1 neo tên duy nhấtwal-flush.ps1ở:9. 🔴 NHƯNG lane a bỏ sót:2:"autoMemoryDirectory": "D:/Dropbox/.../SOLUTION_ERP/.claude/auto-memory"— đường dẫn TUYỆT ĐỐI, neo cùng lúc tên thư mụcauto-memoryVÀ vị trí gốc của cả kho. Đổi tên thư mục ⇒ ký-ức-tự-động rơi im lặng. ⇒ R3 có 2 vật, không phải 1. - Neo SỐ DÒNG
wal-flush.ps1:13→ đo được 21 trích dẫn trong*.md(control-dương: thước ra 21 ≠ 0). Trong đó 2 neo SỐNG ngoài run-folder:.claude/commands/tiep.md:23(tệp lệnh = lớp C, restart bắt buộc) +docs/governance/session-model-se-draft.md:4. 19 còn lại nằm trong run-folder đã đóng băng.$pathsxác minh đúng ở dòng 13. ⇒ R4 có bằng chứng định lượng. - §5.3 chưa quét
commands/+agents/→ CHƯA ĐO, tôi không nhận (ngoài scope W1: đó là kiểm kê máy = việc lane a; nhận thêm = ăn lẹm). Ghi vào mục nợ.
1.4 — 3 mục tiêu vá: xác minh 3/3 đúng vị trí
scripts/memory-selfimprove-audit.ps1:298=-Filter 'sub-*.md'✅ (bản vá nguồn để mirror:governance-detectors.ps1:1101-1102Where-Object { $_.Name -match '^(sub-.+|.+-return)\.md$' }, chú thích ca thật:1091-1096)..claude/workflows/hmw.js:33=(11 class: 5 view-* + 6 gap-*)✅ — lane a ĐÚNG:33; 🔸wave-plan-S180.md:49ghi "vùng:36-40" = trôi, dùng số của lane a.- Bất-biến
agents/<role>.md≡agent-memory/<role>/: 27−1(README) = 26 ⟂ 26 thư mục ✅ khớp hôm nay, 0 nguồn chung, 0 máy ⇒ đúng như lane a khai.
1.5 — Ràng buộc kỹ thuật cho máy soi: .ps1 PURE-ASCII (gotcha #30)
Đo 3 script: governance-detectors.ps1 · memory-selfimprove-audit.ps1 · wal-flush.ps1 → 0/0/0 dòng chứa byte ngoài ASCII in-được. Control-dương cùng thước trên adap-upgrade-pack-tracking.md = 58 ⇒ thước sống, 0 là 0 thật. ⇒ naming-scan.ps1 buộc viết pure-ASCII (tiếng Việt không dấu), 0 ngoại lệ.
§2 — LƯỢT CHẠY THẬT TRÊN KHO SỐNG (output nguyên văn)
Lệnh: powershell.exe -NoProfile -ExecutionPolicy Bypass -File scripts/naming-scan.ps1 · mã thoát = 0 (đúng hợp đồng INFORM-only).
=== naming-scan.ps1 - MAY SOI TEN (tang bo may) ===
RepoRoot : D:\Dropbox\CONG_VIEC\SOLUTION\SOLUTION_ERP
Che do : INFORM-only. LUON exit 0 ke ca khi co co (lai ma thoat = W3b, sau P1=PA-2).
Chuan : docs/governance/naming-standard.md
Tap do : 231 ten vat-bo-may, 0 mien tru VUNG (khong quet 1.545 tep .md - bay-4).
--- NHOM: vai [.claude/agents]
mau so: 27 tep
OK 26/27 | LECH 0/27 | MIEN-theo-luat 1/27
[MIEN ] README.md <- quy uoc pho quat (luat L4)
--- NHOM: nhat-ky-vai [.claude/agent-memory]
mau so: 26 thu muc
OK 26/26 | LECH 0/26 | MIEN-theo-luat 0/26
--- NHOM: lenh [.claude/commands]
mau so: 19 tep
OK 19/19 | LECH 0/19 | MIEN-theo-luat 0/19
--- NHOM: kich-ban [scripts]
mau so: 54 muc (tep + thu muc)
OK 52/54 | LECH 1/54 | MIEN-theo-luat 1/54
trong OK: 5/54 theo PEP-8 (*.py snake_case - DUNG, khong phai troi)
trong OK: 16/54 MOT-LAN (tien to s<n>-/plan- = kich ban mot lan, HOP LE)
[MIEN ] __pycache__ <- vat sinh tu dong (luat L4)
[LECH ] master-import-data.generated.md <- kich ban khong-phai-.py phai kebab; xem naming-standard.md section 8
[PEP8 ] parse_forms.py <- PEP-8: *.py snake_case la DUNG
[PEP8 ] parse_workflow.py <- PEP-8: *.py snake_case la DUNG
[MOT-LAN] plan-b-run-verify.ps1 <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-b-verify-prod.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-ca-run-perms.ps1 <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-ca-verify-menu.ps1 <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-ca-verify-menu.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-ca-verify-perms.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-r-backup.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-r-cleanup.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-s-wipe-all-workflows.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] plan-t5-final-cleanup.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] s59-rename-workitems-pmh.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] s59-wipe-demo-workitems.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] s59-wipe-testing-data.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] s85-wipe-uat-data.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] s89-delete-test-users.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[MOT-LAN] s91-wipe-golive.sql <- kich ban mot lan thuoc phien/ke hoach - HOP LE, dem rieng
[PEP8 ] session_ctx.py <- PEP-8: *.py snake_case la DUNG
[PEP8 ] session_scaffold.py <- PEP-8: *.py snake_case la DUNG
[PEP8 ] stamp_verify.py <- PEP-8: *.py snake_case la DUNG
--- NHOM: moc-phien [.claude/sessions]
mau so: 90 tep
OK 87/90 | LECH 3/90 | MIEN-theo-luat 0/90
[LECH ] closed.md <- FORK dau-dong-phien: _end la ho chuan. detectors:1660 THA bang -or => doi sang ten thu BA thi phien da dong bi doc la DANG MO, co khong bao gio ban
[LECH ] pause-S146-20260722T2328.md <- FORK ho cu: _pause-* la ho chuan. session_ctx.py:349-358 THA (doc ca 2 glob) => fork song mai neu khong ai goi ten
[LECH ] resume-S146-20260722T2334.md <- tep moc phien moi BUOC BAT DAU bang _ ; xem naming-standard.md section 5
--- NHOM: so-governance [docs/governance]
mau so: 16 muc (tep + thu muc)
OK 11/16 | LECH 4/16 | MIEN-theo-luat 1/16
[LECH ] BROADCAST-OUT-SOLUTION-ERP-2026-05-29-INFRA-RETRO.md <- VAT LICH SU (thu da gui, mang ngay) - GIU NGUYEN theo luat L1, nhung phai duoc LIET TEN: no la chung nhan nhom nay co 2 ho
[LECH ] BROADCAST-OUT-SOLUTION-ERP-2026-05-29.md <- VAT LICH SU (thu da gui, mang ngay) - GIU NGUYEN theo luat L1, nhung phai duoc LIET TEN: no la chung nhan nhom nay co 2 ho
[LECH ] BROADCAST-OUT-SOLUTION-ERP-2026-06-01.md <- VAT LICH SU (thu da gui, mang ngay) - GIU NGUYEN theo luat L1, nhung phai duoc LIET TEN: no la chung nhan nhom nay co 2 ho
[LECH ] RAG-AUDIT-RESPONSE-2026-05-29.md <- VAT LICH SU (thu da gui, mang ngay) - GIU NGUYEN theo luat L1, nhung phai duoc LIET TEN: no la chung nhan nhom nay co 2 ho
[MIEN ] README.md <- quy uoc pho quat (luat L4)
--- NHOM: hook [.claude/hooks]
mau so: 1 tep
OK 1/1 | LECH 0/1 | MIEN-theo-luat 0/1
--- BAT BIEN: .claude/agents/<role>.md == .claude/agent-memory/<role>/ ---
mau so: 26 vai (tep persona, tru README) / 26 thu muc nhat ky
khop : 26/26
vai THIEU thu muc nhat ky : (danh sach rong)
nhat ky THUA (khong co persona): (danh sach rong)
--- NGOAI TAP 231 (khai tuong minh - KHONG phai [skip]) ---
thu muc phien: 12/12 dat hinh dang ^session-<so>$
CO CHU DICH nam ngoai tap 231: giu mau so 231 da thoa thuan, va nhom nay DA co may ep
(governance-detectors.ps1:1639 + session_ctx.py:133 + 2 ban session-scaffold).
=== TONG ===
mau so TONG : 233 ten vat-bo-may
goc 231 (do 2026-08-07 TRUOC wave W1) = 27 vai + 26 nhat ky + 19 lenh + 53 kich ban
+ 90 moc phien + 15 so + 1 hook
+2 vat chinh W1 de ra: scripts/naming-scan.ps1 va docs/governance/naming-standard.md
=> 233 sau W1. Khai ro de khong ai doc 233 thanh 'kho phinh ra' (bay-6: so do giua chung).
OK : 222/233
trong do PEP-8 : 5/233 (*.py snake - DUNG theo luat ngon ngu, khong phai troi)
trong do MOT-LAN : 16/233 (kich ban mot lan - HOP LE, tin hieu ton kho chu khong phai vi pham)
MIEN theo luat L4 : 3/233 (in ten o tung nhom - mien tru im lang va loi im lang trong giong het nhau)
LECH : 8/233
Danh sach LECH (tung ten - cam nen thanh khoang):
- [kich-ban] master-import-data.generated.md
- [moc-phien] closed.md
- [moc-phien] pause-S146-20260722T2328.md
- [moc-phien] resume-S146-20260722T2334.md
- [so-governance] BROADCAST-OUT-SOLUTION-ERP-2026-05-29-INFRA-RETRO.md
- [so-governance] BROADCAST-OUT-SOLUTION-ERP-2026-05-29.md
- [so-governance] BROADCAST-OUT-SOLUTION-ERP-2026-06-01.md
- [so-governance] RAG-AUDIT-RESPONSE-2026-05-29.md
Ma thoat: 0 (INFORM-only theo hop dong muc 1). Co o tren KHONG lai ma thoat.
Lai ma thoat thuoc wave W3b, sau khi chu du an chot phan loai co theo PA-2.
§2b — Đọc kết quả lượt chạy thật
| Ô | Số | Mẫu số | Ghi chú |
|---|---|---|---|
| OK | 222 | /233 | gồm 5 PEP-8 + 16 MỘT-LẦN |
| MIỄN theo luật L4 | 3 | /233 | 2 README.md + __pycache__ — in tên từng vật, không im |
| LỆCH | 8 | /233 | liệt đủ 8 tên, xem dưới |
| TẬP VẮNG MẶT | 0 | /7 tập | cả 7 tập đều tồn tại |
| Bất biến vai ⟂ nhật ký | 26/26 khớp | 0 thiếu, 0 thừa | |
| Ngoài tập (khai tường minh) | 12/12 | thư mục phiên | đạt ^session-<số>$ |
| Mã thoát | 0 | đúng hợp đồng INFORM-only |
8 tên LỆCH (từng tên, cấm nén thành khoảng):
master-import-data.generated.md(scripts/) — 🔸 ứng viên DƯƠNG-GIẢ, cần lead phán:.generated.mdlà hậu tố có nghĩa. Tôi giữ cờ thay vì tự miễn, vì tự miễn là đúng nước đi Goodhart mà phiên này đang chống. Nhưng nó cũng là phát hiện thật: một tệp dữ liệu.mdđang nằm trong thư mục máy móc.closed.md· 3.pause-S146-20260722T2328.md· 4.resume-S146-20260722T2334.md(tệp mốc phiên — 2 fork + 1 vô-họ) 5-8.BROADCAST-OUT-…-INFRA-RETRO.md·BROADCAST-OUT-…-2026-05-29.md·BROADCAST-OUT-…-2026-06-01.md·RAG-AUDIT-RESPONSE-2026-05-29.md(vật lịch sử, giữ theo L1 nhưng phải bị gọi tên)
§3 — FAULT-INJECT: 3 CHIỀU, cây tạm -RepoRoot (happy-path KHÔNG tính)
Cây tạm dựng đủ 7 tập (mẫu số nhỏ 12 tên) để có baseline SẠCH thật trước khi cấy.
| Chiều | Cấy gì | Kỳ vọng | Đo được | Đạt |
|---|---|---|---|---|
| BASELINE | cây sạch | LỆCH 0 | LECH 0/12 · khop 1/1 · exit 0 |
✅ |
| A — cấy tên LỆCH | BadRole_Name.md (vai) · Bad_Script.ps1 (ps1 hoa+gạch dưới) · closed.md (fork) |
phải KÊU cả 3 | LECH 4/15 — gọi đúng 4 tên: BadRole_Name.md · Bad_Script.ps1 · closed.md · +[bat-bien] BadRole_Name (vai không có thư mục nhật ký — bắt được hệ quả thứ hai mà tôi không cố ý cấy) |
✅ |
| B — cấy tên ĐÚNG | beta-role.md+thư mục nhật ký · good_module.py (PEP-8) · s99-one-off.sql (một-lần) · _snapshot-3.md |
phải IM | LECH 0/17 · khop 2/2 · PEP-8 2/17 · MOT-LAN 1/17 — 0 dương-giả |
✅ |
| A2 — đổi tên cả TẬP | mv .claude/commands → commands-RENAMED |
phải KÊU, cấm [skip] câm |
FLAG THIEU-TAP + dòng "Day KHONG phai [skip]… mau so = 0/19 ky vong" + bộ đếm riêng TAP VANG MAT: 1 đứng cạnh LECH 0/16 ⇒ không đọc nhầm 0 thành "sạch" |
✅ |
🔴 Vì sao chiều A2 quan trọng nhất: đây đúng lớp lỗi phiên này đã có 2 ca thật — spawn-model-audit mù đường Task vẫn in TOTAL FLAGS: 0, và H24-2 nuốt 4 khối carry vẫn in [ok]. Máy này không thể rơi vào ca đó: tập vắng làm bộ đếm TAP VANG MAT bật, và số 0 bên cạnh mất quyền được đọc là "sạch".
Mã thoát giữ 0 ở CẢ 4 lượt (kể cả lượt có 4 cờ) ⇒ hợp đồng INFORM-only đứng vững; lái mã thoát vẫn để nguyên cho W3b.
§4 — BA VÁ KÈM (R11): 3/3 LAND + verify
Vá 1 — .claude/workflows/hmw.js:33 · BỎ SỐ, trỏ khoá cấu hình
- Làm: xoá cụm chép-cứng số lớp, thay bằng câu trỏ
memory-budget.json → lead_self_audit.flag_classes+ giải thích vì sao đếm lướt bị hụt (lớpview-claim-broader-than-samplenằm cuối mảng, ngoài cụmview-*liền kề). - 🔴 KHÔNG sửa 11→12 — đúng chỉ thị B1: sửa số là để nó thối lại.
- Verify:
grep -c "11 class"= 0 (trước vá = 1). Control-dương cùng tệp:flag_classes= 1 ·VALID_ROLES= 8 ⇒ thước sống, 0 là 0 thật.node --checkOK. - 🔴 TỰ BÁO MỘT LẦN TÔI SUÝT TÁI PHẠM: bản vá ĐẦU của tôi trích nguyên văn cụm cũ trong lời giải thích ⇒
grepvẫn ra 1, tức tôi tái tạo đúng mẫu đang gỡ, qua đường TRÍCH DẪN. Đúng lớp citation-trap self-reference (doc mô tả anti-pattern thì chứa chính mẫu đó). Sửa vòng 2: mô tả không tái tạo chuỗi. Bài học chuyển giao: vá một mẫu-chuỗi thì lời giải thích cũng nằm trong tập đo.
Vá 2 — scripts/memory-selfimprove-audit.ps1:298 · mirror bản vá S159
- Làm:
-Filter 'sub-*.md'→Where-Object { $_.Name -match '^(sub-.+|.+-return)\.md$' }+ 8 dòng chú thích trỏ ca thật S159 và trỏnaming-standard.md §12(3 chỗ phải sửa cùng lúc). Sửa luôn chuỗi thông điệp:301cho khớp bộ lọc mới. - 🔸 ĐÍNH CHÍNH mô tả của lead: brief ghi "S159 nới thành
(sub|harness)-*". Đĩa không phải vậy — bản vá S159 thật là^(sub-.+|.+-return)\.md$(governance-detectors.ps1:1101-1102). Bộ ba lọt lưới qua nhánh.+-return, KHÔNG qua tiền tốharness-. Tôi mirror regex thật, vì mirror theo diễn giải sẽ đẻ bản sao thứ 3 lệch nhau — đúng bệnh mà §12 đang cảnh báo. - Verify KHÔNG-GÃY (máy
/session-endđang sống): chạy thật →EXIT=0· 0 dòng lỗi PowerShell (control-dương: 5 hiteval⇒ output thật) · 36 dòng output bình thường. - Verify CÓ RĂNG (fault-inject
-RepoRootcây tạm, run-folder chỉ chứa 3 tệp*-return.md— dựng lại đúng ca S159):
| Chiều | Đo được |
|---|---|
| trước-vá (glob cũ trên cùng folder) | 0 ⇒ máy sẽ in "no sub-*.md … proxy N/A" = mù im lặng, đúng bệnh |
| sau-vá | 3 ⇒ in 3 sub-md but 0 synthesis + GAP:MED — nhìn thấy 3 lane đắt nhất |
| không dương-giả | cấy thêm ghi-chu-phu.md (ngoài mọi họ) ⇒ đếm vẫn 3, không phải 4 ✅ |
- 🔸 Trên run-folder S180 hiện tại, cũ ⟂ mới đều = 12 (folder này có 0 tệp
-return.md) ⇒ lượt chạy live KHÔNG chứng minh được răng; răng chỉ chứng minh được bằng fault-inject ở trên. Control-dương cho biết họ này có thật: 38 tệp*-return.mdtrên toànruns/.
Vá 3 — Khai bất-biến agents/<role>.md ≡ agent-memory/<role>/
- Làm: ghi vào
naming-standard.md§1 (mô tả + hệ quả 2 máy khi lệch:mfe-eval.ps1:264-267loại vai khỏi phép đo kèm lời giải thích sai sự thật ·detectors:1109xếp$unmappedliệt-không-cờ) và §12 (bảng "3 chỗ, không nguồn chung"). - 🟢 NÂNG CẤP ngoài yêu cầu: lane a khai bất biến này "2 chỗ, 0 nguồn chung, 0 máy". Nay nó CÓ MÁY —
naming-scan.ps1kiểm 2 chiều (vai thiếu nhật ký / nhật ký thừa không persona). Đã chứng minh bằng fault-inject chiều A: cấyBadRole_Name.md⇒ máy bật thêm dòngFLAG vai THIEU nhat kymà tôi không cố ý cấy. - Verify kho thật: 26/26 khớp, 0 thiếu, 0 thừa.
Quét CÙNG-LỚP sau vá (luật "được-chỉ-1-chỗ ⇒ grep cùng-lớp")
Quét [0-9]+ class ngoài run-folder: 2 hit trong scripts/ = dương-giả (+-1/2 class, armed-at-0 class — không phải số lớp). Trong persona: 3 site CÒN SỐNG — lead-stale-auditor.md:39 + :41 ("5 class", thật 6) · ring2-audit.md:4 ("5 class view-*").
🔴 NGOÀI SCOPE W1 — đã có chủ: wave W3 gói-B persona. Nhưng bàn giao kèm một cảnh báo: wave-plan-S180.md:85 kê việc đó là "5 class view→6" — tức đổi số, đúng LỚP-5 mà vá-1 vừa gỡ. Làm vậy nó sẽ thối lại. Đề nghị W3 đi đường của vá-1: BỎ SỐ, trỏ lead_self_audit.flag_classes.
§5 — ĐỐI CHIẾU 11 RÀNG BUỘC R1-R11 (tự chấm, lệnh chạy được)
| R | Nội dung | Ở đâu | Verify |
|---|---|---|---|
| R1 | phụ lục 14 đoạn máy | PHỤ LỤC A | grep -cE '^| M-[0-9]+ |' = 14 ✅ |
| R2 | số chỗ sửa đồng thời (4·3·3·5) | §12 | 4 dòng, liệt từng chỗ, cấm nén khoảng ✅ |
| R3 | tên neo NGOÀI kho mã | §11 | 3 vật (lane a khai 1; +settings.json:2, +4 path thân hook) ✅ |
| R4 | CẤM "giữ nguyên số dòng" | §0 L3 (:45) |
kèm định lượng 21 trích dẫn wal-flush.ps1:13, 2 neo SỐNG ✅ |
| R5 | mỗi nhóm khai NẤC + có máy | §1-§10 | grep -c "NẤC muốn sạch" = 11 (10 nhóm + bảng L0) ✅ |
| R6 | máy TỪ CHỐI, cấm 3 lối câm | script hợp đồng (4) | chứng bằng fault-inject A2: THIEU-TAP + bộ đếm riêng ✅ |
| R7 | quét 231 tên, luôn in mẫu số | script hợp đồng (2)(3) | chạy thật: 233 (=231+2 vật W1, khai rõ) ✅ |
| R8 | tập hợp lệ nhật ký chứa cả 5 họ | §6 | grep -cE '^| \([a-e]\) |' = 5 ✅ |
| R9 | miễn trừ theo ngôn ngữ | §0 L4 | 3 loại; máy in tên từng vật miễn ✅ |
| R10 | khai 2 xung đột | §14 | grep -cE '^### XĐ-[12]' = 2 ✅ |
| R11 | 3 vá kèm | §4 | 3/3 land + verify 2 chiều ✅ |
11/11. Phạm vi chạm: đúng 5 tệp (2 đẻ mới + 2 vá + nhật ký). 0 tệp cấm bị sửa (STATUS/HANDOFF/CLAUDE.md/adap-upgrade-pack-*). 0 tên bị đổi.
§6 — CHƯA ĐO / CẦN LEAD
- 🔸
master-import-data.generated.md— ứng viên dương-giả, tôi giữ cờ thay vì tự miễn (tự miễn = nước đi Goodhart). Lead phán: nhận.generated.mdlà hậu tố hợp lệ, hay coi đây là tệp dữ liệu nằm nhầm thư mục máy móc? - 🔴
CLAUDE.md:151sai với 59,7% đĩa (nợ N-1) — W1 bị cấm sửaCLAUDE.md. Cần lead/chủ dự án mở đường; đến lúc đó:151phải đọc là khuôn khuyến nghị, KHÔNG phải vị từ kiểm kho. - 🔴 W3 đừng sửa "5 class"→"6" (
wave-plan:85) — đó là LỚP-5. Đi đường vá-1: bỏ số, trỏ khoá. 3 site:lead-stale-auditor.md:39+:41·ring2-audit.md:4. - KHÔNG ĐO ĐƯỢC: mã thoát thật khi
wal-flush.ps1bị đổi tên (cần đổi tên cây tạm + chạy hook + đọc$LASTEXITCODE) — nợ N-4. - CHƯA ĐO:
.claude/commands/*.md(19) +.claude/agents/*.md(27) neo tên gì bên trong — đó là kiểm kê máy (việc lane a), nhận thêm ở W1 là ăn lẹm — nợ N-5. - Máy soi chưa cắm cổng (chạy tay) — cắm
session-end= W3 (gom restart); lái mã thoát = W3b sau PA-2. Ô nghiệm thu "vai giữ chuẩn" = NGOÀI scope theo fit-map, chờ P4.
END sub-w1b-chuan-ten — VERDICT: chuẩn 11/11 ràng buộc (10 nhóm tên ⊇ 6 nhóm sàn hub) · máy soi 233 tên / 8 lệch / 0 tập vắng / exit 0 · fault-inject 4 lượt 3 chiều ĐẠT (baseline sạch → cấy-lệch KÊU 4 → cấy-đúng IM 0 → mất-tập KÊU THIEU-TAP) · 3/3 vá land + verify · 3 ràng buộc/mô-tả bị BÁC có bằng chứng · 0 tên bị đổi · 0 tệp cấm bị chạm.