7.6 KiB
W2 — GĐ-2: LƯỚI GHI ĐĨA + MỤC LỤC VẬT CHỨNG
Vai: implementer-backend (WRITE lane) · Phiên: S180 · Run:
2026-08-07-S180-adap-upgrade-pack-phasedMô hình tự khai: claude-opus-5, effort max. Đầu vào ghim đích danh (đọc thật, không nghe kể):
.claude/workflows/runs/2026-08-07-S180-adap-upgrade-pack-phased/sub-n3-lane-b-gd2.md(13 khoản B-01..B-13 · 4 vị từ V-1..V-4 §3 · phép thử tay §2 · V-2 heading-scoped §7.2)wave-plan-S180.md:57-72(W2 đủ 7 trường: GĐ · TC · 7 deliverable · acceptance · lớp restart · rủi ro · khối lượng)sub-w1a-mayd-octen.md:229-243(§1c tổng kiểm kê 14 đoạn máy, 0/14 tự thích nghi) ·:458(§4 ràng buộc lane B)docs/governance/naming-standard.md(W1 vừa ký) ·docs/governance/adap-upgrade-pack-tracking.mdbroadcasts/inbox/ai_infra/2026-08-04-Governance-upgrade-pack-phased-phu-luc-spec-pitfall.md§GĐ-2Guard AS-17: file này append TỪNG PHẦN trong lúc làm, KHÔNG dump-cuối. Phiên này 18 vai dính #53, cứu 18/18 nhờ ghi-đĩa-từng-phần. Luật tự áp:
KHÔNG ĐO ĐƯỢChợp lệ; bịa thì không. Mọi 0-hit kèm control-dương. Mọi tỉ lệ kèm mẫu số + định nghĩa "đếm CÁI GÌ".
§0 — Kế hoạch + ranh giới tự áp (ghi TRƯỚC khi gõ dòng mã nào)
4 deliverable lead giao:
scripts/artifact-integrity.ps1— 4 vị từ V-1..V-4, INFORM-only exit 0, luôn in mẫu số.- Fault-inject 3 chiều (A hỏng-phải-kêu · B đúng-phải-im · A2 mất-tập-phải-kêu-cờ-riêng) + ca chuẩn N1 (skeleton 7.049 B, 6/9 heading
[ĐANG ĐO]). - Mục lục SỐNG cho
runs/— đo_ledger.md/README.mdsống hay chết; chết ⇒ dựng derive-view (sinh từ đĩa), KHÔNG sổ chép tay. - Khoản sàn GĐ-2(v) "Khai luôn điểm mù" — 1 đoạn văn vào
runs/README.mdC7.
Ranh tự áp (từ lệnh lead + ràng W1a):
- KHÔNG sửa:
docs/STATUS.md·docs/HANDOFF.md·CLAUDE.md·broadcasts/_index.md·docs/governance/naming-standard.md·docs/governance/adap-upgrade-pack-*.md·scripts/naming-scan.ps1. - KHÔNG lái mã thoát (exit code) — W3b sau khi anh chốt PA-2.
scripts/*.ps1pure-ASCII (khuônnaming-scan.ps1).- KHÔNG làm vỡ 14 đoạn máy
sub-w1a-mayd-octen.md§1c — tôi thêm tệp mới, KHÔNG đổi tên/di chuyển vật đang có; mọi tệp mới phải hợp chuẩn W1.
Thứ tự làm (ghi trước để người sau đếm lại được): §1 đo nền → §2 chọn K cho V-1 bằng phân bố THẬT → §3 viết script → §4 fault-inject 3 chiều → §5 mục lục → §6 đoạn văn C7 → §7 chốt + mẫu số.
§1 — Đo nền: tái lập ca N1 từ git (không nghe kể, rút bản thật)
git show c7248b5:.claude/workflows/runs/2026-08-07-S180-…/sub-invest-fitmap-S180.md | wc -c → 7049
✅ Khớp đúng 7.049 B lead đưa. Bản hiện tại trên đĩa = 48.433 B.
| Phép đo | Skeleton (7.049 B) | Bản XONG (48.433 B) |
|---|---|---|
grep -cE '^#{1,6} ' (heading) |
10 | 16 |
grep -cE '\[(ĐANG ĐO|CHỜ|TODO|PENDING)' thô |
7 | 1 ← 🔴 dương-giả |
grep -cE '^#{1,6} .*\[(ĐANG ĐO|…)' neo heading |
6 | 0 ✅ |
| ruột/khung (fence-aware, xem §2) | 2,70 | 10,88 |
🔴 Xác nhận lane B §7.2 bằng phép đo độc lập: vị từ thô cho 1 dương-giả trên chính bản đã xong — hit đó là câu định nghĩa nhãn ở :5 ("Mục nào chưa xong sẽ có nhãn [ĐANG ĐO]"), tức lớp citation-trap self-reference. Neo vào heading khử sạch: 6 / 0. Con số 6 khớp đúng "6/9" của lead — khai mẫu số: lead đếm 9 = heading cấp ##/### (bỏ dòng tiêu đề #); tôi đếm 10 = mọi heading. Cùng một sự thật, hai đơn vị.
Phát hiện phụ, ngoài đề bài — báo không tự vá: run-folder S180 chứa thư mục .claude/agent-memory/reviewer/ LỒNG BÊN TRONG (8 tệp, đã tracked/commit). Duy nhất 1/90 run-folder có (find .claude/workflows/runs -maxdepth 2 -name ".claude" -type d → 1 hit). Đây đúng lớp feedback_agent_cwd_relative_memory_misland (S54: sub cd subdir ⇒ MEMORY Write rơi <subdir>/.claude). Không thuộc 4 deliverable của tôi ⇒ KHÔNG chạm. Nhưng máy tôi dựng phải biết: nó quét phẳng depth-1 theo C1, nên 8 tệp này nằm ngoài tầm — và tôi cho máy in tên thay vì im (luật 4c của khuôn W1).
§2 — Chọn K cho V-1: ĐO PHÂN BỐ TRƯỚC, cấm cảm tính
Định nghĩa "đếm CÁI GÌ" (khai trước, vì cả bài phụ thuộc nó):
head= dòng khớp^#{1,6}và KHÔNG nằm trong khối mã (fence``` toggle). Không loại fence thì# commenttrong khối bash bị đếm là heading ⇒ tệp nhiều mã bị đánh oan.body= mọi dòng không rỗng còn lại. 🔴 Dòng bảng|VÀ dòng trích>VÀ dòng trong khối mã đều TÍNH LÀ RUỘT — đây là chỗ lane B tự sửa ở §3 (bản nháp loại^\|khỏi tử số là sai).
Phân bố THẬT (mẫu số khai 2 nấc, bẫy đơn-vị):
| Tập | Mẫu số | p1 | p2 | p5 | p10 | p25 | p50 | p75 | p90 |
|---|---|---|---|---|---|---|---|---|---|
mọi *.md trong runs/ (đệ quy) |
747 tệp, 740 có head>0 | 1,6 | 2,0 | 2,44 | 3,0 | 4,33 | 6,23 | 8,33 | 11,25 |
họ sub-* + *-return (tệp phải có ruột) |
446 có head>0 | 1,43 | 2,29 | 3,00 | 3,85 | 5,20 | 7,00 | 9,00 | 11,75 |
7/747 tệp có 0 heading ⇒ V-1 KHÔNG ÁP DỤNG (chia 0) — cả 7 đều là tệp ký-ức lạc ở §1. Máy phải in KHONG-AP-DUNG, không được đọc thành "sạch".
Chi phí theo K, trên họ sub-* (mẫu số 446):
K=2 → 6 · K=2,5 → 14 · K=3 → 20 (4,5%) · K=3,5 → 32 · K=4 → 47 (10,5%)
🔴 CHỌN: K = 3,00 = phân vị 5 của họ sub-*, đo 2026-08-07, mẫu số 446. Và PHẠM VI V-1 = chỉ họ sub-*/*-return, không áp cho *-synthesis.md/run.md. Lý do có nguyên tắc, không phải chỉnh cho vừa ca:
runs/README.md:26định nghĩasub-*= "full working detail 1 sub" ⇒ họ này mới có nghĩa vụ có ruột.*-synthesis.mdlà bản gom, ngắn là ĐÚNG — 20 tệp thấp nhất của tập 747 gần như toàn synthesis nhỏ (312 B, 188 B…). Áp K cho chúng = dương-giả có hệ thống ngay ngày đầu, đúng thứ W1-b cảnh báo (dương-giả ngày đầu là cách nhanh nhất để người ta tắt máy soi).
🔴 KHAI THẲNG chỗ V-1 YẾU — đây là kết luận quan trọng hơn cả con số K:
Skeleton N1 ở 2,70, tức phân vị 3,6 của họ sub-* (16/446 tệp lịch sử còn thấp hơn nó). Nó lọt lưới K=3,00 sát nút: thêm ~3 dòng ruột là ratio vượt 3,0 và V-1 tha. ⇒ V-1 KHÔNG phải lưới bắt ca N1; nó là lưới PHỤ. Vị từ bắt ca N1 là V-2 (6 hit, không cần ngưỡng nào). Tôi không hạ K xuống 2,7 cho vừa ca — đó là chỉnh thước theo ca đã biết (Goodhart), và nó sẽ mù với ca tiếp theo.
🔸 Hệ quả phải in ra: mỗi lần V-1 kêu, máy in kèm K=3.00 (p5 ho sub-*, mau so 446, do 2026-08-07) để người đọc biết 4,5% kho lịch sử cũng nằm dưới ngưỡng này — con số cờ không đọc thành "hỏng".