[CLAUDE] Docs: khep tron goi adap 7-GD — W5b + W3b + W6/A16, 10/10 wave da chay
All checks were successful
Deploy SOLUTION_ERP / build-deploy (push) Successful in 6m25s

Chu du an chot @S181: "OK lam het roi khep tron di" (P7 ve ii duoc phan).

W5b (het gated):
- Ve (ii) luat truyen-nguyen-van lane DISPATCH -> harness-11-engine §O.3:
  rao "> anh:" + di-nguyen-khoi + khai-thieu. => D-11 nay 5/5 (truoc 4/5).
  Khai vet: rao CU chi phu lane LUU TRU (pause.md), lane DISPATCH 0 rao —
  ca "phu mot nua trong nhu da phu". Va ca tu quy chieu: chinh prompt lane D
  chua 0 khoi "> anh:".
- Ve-6: artifact-integrity them muc VANG-DAT (CAO NHAT) cho luot dat.
  Fault-inject phan biet dung: r-thuong->VANG, r-dat->VANG-DAT.
  Do that: 54/88 thu muc la luot dat, 4 VANG-DAT (truoc do tron trong VANG).

W3b (phan loai xong, CHUA cam):
- harness-11-engine PHAN Q. Tieu chi KHONG che moi — lay tu ranh co san
  memory-archive-gate:323-325 (toan-ven=CHAN / ve-sinh=CANH-BAO).
- 64/64 co: 63 canh-bao + 1 chan (broken-gotcha-ref = con tro vao hu-khong).
- 🔴 Ma thoat CHUA doi o bat ky may nao — thieu ve "soak INFORM >=1 phien".
  Chan tu tan theo thoi gian, khong can ai phan them.

W6 (phan con lai cua lot truoc):
- Bang A16 3 nac (tracking §7), mau so 23 may — KHONG ep ve 21 cua ke hoach.
- 🔴 Phat hien dat nhat: naming-scan.ps1 + artifact-integrity.ps1 MO COI,
  0 cua nghi-thuc goi. Dung xong o W1/W2, chay dung, fault-inject co rang —
  ma khong ai bam nut => het phien la het chay. Da WIRE session-end §L.b(k-ter).
  2 mo coi con lai giu CO KHAI (wal-recovery-test = dung chay tay; session_scaffold.py
  nghi trung, chua xac minh nen khong xoa theo phong doan).
- Bang nac §1 lat 7/7 GD sang "da thi cong".
- WAL viet lai sach: nhieu dong da thoi (next: con ghi cho P2/W4/W5 da xong;
  "5 tep chua commit" da commit tu lau).

Con lai: cam ma thoat W3b khi soak du · cong dong-bo 4 tang · bao cao cuoi
khuon B -> anh duyet -> gui hub. Nac "da duoc kiem chung" chi hub cap.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
pqhuy1987
2026-08-07 22:41:28 +07:00
parent c4d18380e2
commit 587f0c29c1
5 changed files with 184 additions and 49 deletions

View File

@ -16,13 +16,13 @@ Chuỗi nấc, theo đúng thứ tự của hub: **đã gửi → đã nhận
| # | Giai đoạn | Nấc hiện tại | Vì sao đứng ở nấc này, và cái gì mở khoá nấc kế |
|---|---|---|---|
| 0 | Tiếp nhận và bản đồ áp dụng | đã đồng ý | Quyết định `áp dụng` đã ghi ở bản đồ, và scope đã liệt từng khoản. Chưa lên *đã thi công* vì hai vật còn nợ: dòng "đã nhận" trong sổ liên lạc (lane b đang làm) và báo cáo tiếp nhận gửi hub. |
| 1 | Nền chuẩn đặt tên | đã đồng ý | Đường `không áp dụng` đã bị đóng bằng đo đạc, nên SE buộc phải thi công. Scope 22 trên 24 khoản đã khai. Mở khoá nấc kế: wave W1 chạy xong văn bản chuẩn, sổ đổi tên và máy soi tên. |
| 2 | Lưới ghi đĩa và mục lục vật chứng | đã đồng ý | Quyết định `áp dụng`, nhưng hiện trạng per-khoản là **chưa làm**: hai trên sáu ô nghiệm thu đạt, tức bốn trên sáu chưa đạt. Mở khoá nấc kế: wave W2. |
| 3 | Nghi thức hai đầu phiên và cổng chặn | đã đồng ý | Scope 8 trên 10 khoản đã khai cho wave W3. Chủ dự án đã chốt câu P1 theo phương án PA-2, nên khoản cổng chặn bằng mã lỗi cũng lên *đã đồng ý* và đi wave W3b. Riêng luật tự trị ba bậc vẫn chờ câu P5. |
| 4 | Sổ yêu cầu chủ dự án và chấm điểm | đã đồng ý | Chủ dự án đã chốt câu P2 theo phương án PB-2 và câu P4 cho phép đẻ vai mới, nên phần sổ ba khối và phần vai đều lên *đã đồng ý*. Phần chấm điểm vẫn chờ câu P8, phần đường ghi lại khi chấm sai vẫn chờ câu P3. |
| 5 | Cửa gọi mô hình đắt tiền | đã đồng ý | Scope phần còn thiếu đã khai cho wave W5. Hai khoản đi wave W5b vẫn chờ câu P7. |
| 6 | Niêm phong đồng bộ và bảng gốc | đã nhận | Quyết định ở bản đồ là `hoãn`. Hoãn là quyết định **chưa adopt**, nên nấc không được lên *đã đồng ý*. Mở khoá nấc kế: mọi giai đoạn mang quyết định `áp dụng` đạt *đã thi công*. |
| 0 | Tiếp nhận và bản đồ áp dụng | **đã thi công** | W0 đóng @S180: `fitmap` + `tracking` + `_index` 45→69 dòng, 24/24 hash khớp, VẮNG=0. |
| 1 | Nền chuẩn đặt tên | **đã thi công** | W1 đóng @S180 (`naming-standard.md` + `naming-scan.ps1`, fault-inject 4/4 ba chiều). @S181 baseline tách ra `scripts/naming-baseline.json` (chủ dự án chốt câu 6 = b), fault-inject **6/6 hai chiều**, 7/7 nhóm xanh. |
| 2 | Lưới ghi đĩa và mục lục vật chứng | **đã thi công** | W2 đóng @S180 (`artifact-integrity.ps1`, CA-N1 bắt bằng 2 vị từ độc lập). @S181 thêm **ve-6**: thiếu-tệp-ở-lượt-đắt nâng lên mức CAO NHẤT (`VANG-DAT`), fault-inject phân biệt đúng lượt thường ⟂ lượt đắt. |
| 3 | Nghi thức hai đầu phiên và cổng chặn | **đã thi công** (phần áp) | W3 đóng @S180, acceptance **6/6 đóng @S181** sau restart. Luật tự trị 3 bậc land ở `ACTIVE-MARKS §LT3` (câu P5 = gật nguyên văn). 🔴 **W3b**: phân loại 64/64 cờ XONG (`harness-11-engine` PHẦN Q) nhưng **chưa cắm mã thoát** — còn thiếu vế *soak INFORM ≥1 phiên*. |
| 4 | Sổ yêu cầu chủ dự án và chấm điểm | **đã thi công** | W4 @S181: sổ 3 khối + mã YC/ST/PN vĩnh viễn + máy dò 2 số (phân biệt `chua-co-du-lieu``treo 0`, fault-inject 5/5). W4b @S181: luật chấm điểm 5 khoản bất biến (PHẦN P) + khối in 2 cửa + 2 vai tầng-2/tầng-3. **Lượt đầu in `KHÔNG ĐO ĐƯỢC` đúng luật** — vai tầng-2 chạy thật và từ chối nặn số. |
| 5 | Cửa gọi mô hình đắt tiền | **đã thi công** | W5 @S181:`spawn-model-audit.ps1` (trước vá **0** lane thấy / sau vá **24/24** + mẫu số + dòng KHAI) · D-3 hết `undefined` im lặng · D-10/D-12 → PHẦN O. W5b @S181: sổ khung-nhìn lượt đắt (vế i) + luật truyền nguyên văn lane dispatch (vế ii, câu P7) ⇒ **D-11 nay 5/5**. |
| 6 | Niêm phong đồng bộ và bảng gốc | **đã thi công** (phần lõi) | Chủ dự án chốt @S181 *"đồng ý stamp - ký tên"* ⇒ GĐ-6 rời `hoãn`. Bảng gốc 12 TC land (12/12 · 4 ô giữ chữ · 0 tự phong nấc) + RC ký kèm **phạm vi ký khai rõ** + mutation-test E-9 ĐẠT + bảng A16 3 nấc (§7). 🔴 Còn: cổng đồng-bộ 4 tầng · báo cáo cuối khuôn B. |
**Luật giữ bảng này thật.** Nấc tự khai tối đa là *đã thi công*. Nấc *đã được kiểm chứng* **chỉ hub cấp**, sau khi hub soi bằng chứng thật ở kho SE — không ai trong kho SE được tự viết nấc đó. Cấm nhảy cóc: khoản nào chưa có bằng chứng chạy được thì không được ghi cao hơn *đã đồng ý*.
@ -97,10 +97,58 @@ grep -c 'đã được kiểm chứng *|' docs/governance/adap-upgrade-pack-trac
| # | Khoản | SE làm | Khác/mạnh hơn ở chỗ nào | Đo được |
|---|---|---|---|---|
| 1 | **D-8** — cửa duyệt đặc t | Đặt cửa duyệt ở **ĐẦU** chuỗi, không phải giữa | Sàn đặt ở giữa; SE đưa lên đầu nên đặc tả sai b chặn **trước khi** tiêu công thi công | Chuỗi S180: N1→N2→N3→N4 rồi mới W0; N2 trả `PASS_WITH_FIXES 0C/5M/6m` trước khi có dòng mã nào |
| 2 | **D-18** — vai không hợp lệ | `VALID_ROLES` **STOP-HARD** (ném lỗi ngay) | Sàn chỉ yêu cầu cảnh báo; SE chặn hẳn nên không có lane nào chạy với vai sai | `hmw.js` throw up-front; `resolveModel` nhánh role-less nay chỉ còn defensive no-op |
| 3 | **TC-03** — mô hình thường ở chỗ ngồi | `không áp dụng` **CÓ KHAI** | SE không dùng mô hình thường ở bất kỳ chỗ ngồi nào ⇒ khoản này không áp dụng; **khai** thay vì bỏ trống | 26/26 persona pin `model: opus`, 26/26 pin `effort: max`; mẫu số = 27 tệp `.claude/agents/` trừ `README.md`; control âm: liệt mọi giá trị `model:` chỉ ra **một** dòng |
| 4 | **TC-09** — máy soát chỗ ngồi | Vá máy, **không** vá người | SE không mắc bệnh nhưng MÁY có lỗ: phủ 0 lane mà vẫn in `TOTAL FLAGS: 0` | Trước vá: 5 phiên gần nhất `wf=0` ⇒ máy thấy **0**. Sau vá: phiên S180 thấy **24/24 lane**, có mẫu số, có dòng KHAI khi phiên đo ≠ phiên mới nhất |
| 5 | **D-12** — khai mảnh thiếu | Luật tổng cho **cả 5 mảnh** | Sàn chỉ đòi khai; SE trước đó phủ **1/5** (`pause.md:53`), nay phủ cả gói + bảng trạng thái từng mảnh | `harness-11-engine.md` **PHẦN O.2**; D-11 nay **4/5** (mảnh 4 có nhà từ W4) |
| 1 | Nền chuẩn đặt tên | **đã thi công** | W1 đóng @S180 (`naming-standard.md` + `naming-scan.ps1`, fault-inject 4/4 ba chiều). @S181 baseline tách ra `scripts/naming-baseline.json` (chủ dự án chốt câu 6 = b), fault-inject **6/6 hai chiều**, 7/7 nhóm xanh. |
| 2 | Lưới ghi đĩa và mục lục vật chứng | **đã thi công** | W2 đóng @S180 (`artifact-integrity.ps1`, CA-N1 bắt bằng 2 vị từ độc lập). @S181 thêm **ve-6**: thiếu-tệp-ở-lượt-đắt nâng lên mức CAO NHẤT (`VANG-DAT`), fault-inject phân biệt đúng lượt thường ⟂ lượt đắt. |
| 3 | Nghi thức hai đầu phiên và cổng chặn | **đã thi công** (phần áp) | W3 đóng @S180, acceptance **6/6 đóng @S181** sau restart. Luật tự trị 3 bậc land ở `ACTIVE-MARKS §LT3` (câu P5 = gật nguyên văn). 🔴 **W3b**: phân loại 64/64 cờ XONG (`harness-11-engine` PHẦN Q) nhưng **chưa cắm mã thoát** — còn thiếu vế *soak INFORM ≥1 phiên*. |
| 4 | Sổ yêu cầu chủ dự án và chấm điểm | **đã thi công** | W4 @S181: sổ 3 khối + mã YC/ST/PN vĩnh viễn + máy dò 2 số (phân biệt `chua-co-du-lieu``treo 0`, fault-inject 5/5). W4b @S181: luật chấm điểm 5 khoản bất biến (PHẦN P) + khối in 2 cửa + 2 vai tầng-2/tầng-3. **Lượt đầu in `KHÔNG ĐO ĐƯỢC` đúng luật** — vai tầng-2 chạy thật và từ chối nặn số. |
| 5 | Cửa gọi mô hình đắt tiền | **đã thi công** | W5 @S181:`spawn-model-audit.ps1` (trước vá **0** lane thấy / sau vá **24/24** + mẫu số + dòng KHAI) · D-3 hết `undefined` im lặng · D-10/D-12 → PHẦN O. W5b @S181: sổ khung-nhìn lượt đắt (vế i) + luật truyền nguyên văn lane dispatch (vế ii, câu P7) ⇒ **D-11 nay 5/5**. |
🔸 **Ô nghiệm thu của hub cho TC-03 GIỮ NGUYÊN CHỮ *"chưa đủ mẫu"*** — SE **không** điền số thay hub.
## §7 — Bảng A16: máy ⟂ tay, BA NẤC (W6/S181)
> Khoản A16 đòi phân biệt **máy tự chạy** với **người gõ tay**, và cảnh báo **thang 2 nấc là thang HỎNG** (lane F §1.1): gộp *"có máy"* với *"máy tự fire"* làm một thì một máy mồ côi vẫn được tính là đã tự động hoá.
**Mẫu số: 23 máy governance** *(không tính script sản phẩm: deploy · backup · migrate · install · convert · deps-audit · plan-* · parse_* · setup-* · rename-*)*.
🔸 **Số này ≠ 21 mà `wave-plan` ghi.** 21 là ảnh chụp **trước** khi `tien-kiem-cua.ps1` land (W3) và trước đợt đo lại @S181. Đo lại bằng lệnh ở cuối mục. **Không ép số về 21 cho khớp kế hoạch.**
### M1 — hook, fire ở turn-boundary (1)
| Máy | Fire tự động? | Bằng chứng |
|---|---|---|
| `.claude/hooks/wal-flush.ps1` | ✅ **CÓ** — Stop-hook, mọi turn-boundary | `.claude/settings.json` khối `hooks` |
### M2 — máy được CỬA NGHI-THỨC gọi (18)
| Máy | Số cửa gọi | Máy | Số cửa gọi |
|---|---|---|---|
| `nhip-no-probe.ps1` | 6 | `governance-detectors.ps1` | 2 |
| `session_ctx.py` | 5 | `crystallized-backfill.ps1` | 2 |
| `tien-kiem-cua.ps1` | 4 | `session-scaffold.ps1` | 1 |
| `measure-agent-memory.ps1` | 3 | `session-counter-tick.ps1` | 1 |
| `distill-shard-probe.ps1` | 3 | `memory-archive-gate.ps1` | 1 |
| `stamp_verify.py` | 2 | `closeout-sentinel.ps1` | 1 |
| `spawn-model-audit.ps1` | 2 | `applied-eval-nokey.ps1` | 1 |
| `mfe-eval.ps1` | 2 | `agent-frontmatter-eol-check.ps1` | 1 |
| `memory-selfimprove-audit.ps1` | 2 | `h24-signal-write.ps1` | 2 |
🔸 **"Được cửa gọi" ≠ "fire vô điều kiện".** Nhiều máy nằm sau cổng nhịp hoặc cổng OVERDUE. Nấc này chỉ khai *có đường ghi tự động*, không khai *chạy mỗi phiên*.
### M3 — MỒ CÔI: có máy, KHÔNG cửa nào gọi (4)
| Máy | Trạng thái @S181 |
|---|---|
| `naming-scan.ps1` | 🔴 **mồ côi khi đo** → ✅ **ĐÃ WIRE** vào `session-end §L.b(k-ter)` cùng lượt |
| `artifact-integrity.ps1` | 🔴 **mồ côi khi đo** → ✅ **ĐÃ WIRE** cùng chỗ |
| `wal-recovery-test.ps1` | 🔴 **CÒN mồ côi** — máy kiểm thử phục hồi WAL, đúng bản chất là chạy tay khi nghi ngờ. Giữ mồ côi **CÓ KHAI** |
| `session_scaffold.py` | 🔴 **CÒN mồ côi** — nghi trùng với `session-scaffold.ps1` (đang được gọi). **Chưa xác minh**, không xoá theo phỏng đoán |
🔴 **Đây là phát hiện đắt nhất của W6.** Hai máy W1/W2 vừa dựng xong, chạy đúng, fault-inject có răng — **mà không cửa nào gọi**. Chúng chỉ sống khi có người gõ tay, nên hết phiên là hết chạy. Thang 2 nấc (*"có máy / không có máy"*) sẽ xếp chúng vào **CÓ** và ta yên tâm nhầm; đúng thứ A16 dựng nấc thứ ba để bắt.
### Lệnh đo lại (đừng tin bảng, chạy lại)
```bash
for f in scripts/*.ps1 scripts/*.py; do n=$(basename "$f");
case "$n" in deploy-*|backup-*|migrate-*|install-*|convert-*|deps-audit*|plan-*|parse_*|setup-*|rename-*) continue;; esac
echo "$(grep -rl "$n" .claude/commands/ .claude/hooks/ 2>/dev/null | wc -l)|$n"; done | sort -t'|' -k1 -rn
```