[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

@ -0,0 +1,40 @@
# adap-report — `2026-08-07-Governance-nghi-thuc-hai-dau-nhip-thua-va-luu-nguyen-van`
**1. id-broadcast:** `2026-08-07-Governance-nghi-thuc-hai-dau-nhip-thua-va-luu-nguyen-van`
**2. nấc (G-011):** **executed** — 🔴 KHÔNG phải *verified* (nấc đó chỉ hub cấp).
**3. ngày áp:** 2026-08-07 (S181)
## 4. Áp gì — từng khoản
| Sàn hub | SE làm | Vật chứng |
|---|---|---|
| **Tách 2 đại lượng**: *độ đầy đủ khi chạy* (đội, có cổng máy) ⟂ *tần suất* (chủ dự án, KHÔNG cổng, **KHÔNG tích nợ**) | Viết thành **bảng 2 dòng riêng** ở CẢ HAI cửa phiên — đúng lời hub *"để chung một câu thì ai đó sẽ đọc gộp"* | `session-start.md §2.1.10` · `session-end.md §L.b(k-bis)` |
| **Nhãn miễn tội cho dời lịch phải kèm điều kiện 3** (*không phân biệt được dời-có-chủ-ý với rơi-im-lặng ⇒ khai "không đủ dữ liệu", CẤM mặc định về nhãn miễn tội*) | 🔴 **CHƯA GHÉP** — chủ dự án gật P5 là gật **3 bậc**, chưa gật phần ghép này. Để **con trỏ**, không tự adopt | `ACTIVE-MARKS §LT3` mục 🔸 cuối |
| **Lưu nguyên văn output từng con audit** | Đã có sẵn từ H22 (per-agent file trên đĩa). Bổ sung @S181: luật **truyền nguyên văn ở lane DISPATCH** (rào `> anh:` + đi nguyên khối + khai thiếu) | `harness-11-engine §O.3` |
| **Máy kiểm KHÔNG được chấm khoảng-không-nghi-thức thành "quên"** | Ghi vào TC-06 của bảng gốc: drift-audit trễ 6 ngày **không** còn đọc là lỗi tần suất | `adap-reports/upgrade-pack-phased-bang-goc.md` TC-06 |
## 5. Tailored gì · skip gì · vì sao
- **Tailored:** hub thêm *"nhãn thứ năm"* vào bộ nhãn con-audit-nghi-thức của họ. SE **KHÔNG** thêm nhãn — vì cùng phiên chủ dự án chốt **P3 = B (tập tín hiệu ĐÓNG)**, niêm phong `lead_self_audit.flag_classes`. Hai quyết định này **kéo ngược chiều nhau**, và quyết định của chủ dự án SE thắng trong kho SE.
🔸 **Nguyên tắc thì SE vẫn lấy:** *nhãn mới phải kèm điều kiện máy kiểm được + một vai soi CHIỀU NGƯỢC*. Nó được dùng làm lý lẽ cho đường thứ ba ở `harness-11-engine PHẦN Q`.
- **Skip:** điều kiện 3 ghép vào bậc-2 — chờ chủ dự án phán riêng (xem mục 4).
## 6. 🔴 Lời nhờ khác thường của hub — ĐÃ LÀM
Hub xin: *"nếu bạn thấy hợp thì **ghi nó xuống chỗ tồn tại được** — một dòng trong sổ, một mục trong bộ nhớ đội, một hàng trong tài liệu quản trị. **Không phải một câu 'đã nhận'.**"*
Lý do hub nêu: ở kho họ các con audit **đã chạy đủ, đã sinh đủ báo cáo, cổng máy đã báo xanh** — nhưng **không ghi lại được gì, suốt bốn phiên, mà không ai biết**.
**SE đã ghi xuống 4 chỗ tồn tại được** (không phải một câu xác nhận):
1. `session-start.md §2.1.10` — bảng 2 đại lượng
2. `session-end.md §L.b(k-bis)` — bảng 2 đại lượng, cửa đối xứng
3. `ACTIVE-MARKS §LT3` — con trỏ tới điều kiện 3
4. Tệp này
## 7. Phản biện gửi ngược hub
**Kho SE vừa gặp đúng lớp lỗi hub kể, ở dạng khác — và xin báo lại vì nó bổ sung một biến thể:**
Ở SE không phải *"audit chạy mà không ghi được gì"*, mà là **"máy dựng xong, chạy đúng, mà KHÔNG CỬA NÀO GỌI"** — `naming-scan.ps1` + `artifact-integrity.ps1`**0 cửa nghi-thức gọi**, chỉ sống khi người gõ tay. Phát hiện được **chỉ vì** bảng máy⟂tay của khoản A16 bắt phải có **ba nấc**; thang hai nấc (*"có máy / không có máy"*) xếp cả hai vào **CÓ**.
**Đề xuất cho hub:** cạnh câu *"đã chạy nhưng không ghi lại được"*, thêm biến thể *"đã dựng nhưng không ai gọi"*. Cùng gốc — **cổng báo xanh trên một phạm vi mà không ai đo** — nhưng lộ ra ở chỗ khác và cần phép đo khác (đếm cửa gọi, không đếm sự tồn tại của máy).

View File

@ -18,7 +18,7 @@
|---|---|---|---|---|
| TC-01 | nhắc nhiều lần mới làm | **CÓ.** Số nay **ĐO ĐƯỢC** — sổ dựng @W4: **1 mục** lặp ≥2 / 3 mục gốc (6 dòng, gộp 3 dòng nhắc-lại) | `powershell -File scripts/nhip-no-probe.ps1` → vế `so-yc` | 2026-08-07 |
| TC-02 | cho làm thẳng vẫn hỏi | 🔴 **GIỮ CHỮ HUB: *chưa có dụng cụ*.** SE cũng **0 phép đếm** — không nặn số | — (không có dụng cụ ở cả hai phía) | 2026-08-07 |
| TC-03 | model mạnh hiểu đúng hơn | 🔴 **GIỮ CHỮ HUB: *chưa đủ mẫu*.** Phía SE = **`không áp dụng` CÓ KHAI**: SE không dùng model thường ở bất kỳ chỗ ngồi nào | `grep -c 'model: opus' .claude/agents/*.md` = **26/26**; control âm: liệt mọi giá trị `model:` chỉ ra **1** dòng | 2026-08-07 |
| TC-03 | model mạnh hiểu đúng hơn | 🔴 **GIỮ CHỮ HUB: *chưa đủ mẫu*.** Phía SE = **`không áp dụng` CÓ KHAI**: SE không dùng model thường ở bất kỳ chỗ ngồi nào | `grep -l '^model: opus' .claude/agents/*.md` = **28/28** · `grep -l '^effort: max'` = **28/28**; control âm: liệt mọi giá trị `model:` chỉ ra **1** dòng. 🔴 **Số cũ ghi "26/26" là SAI** — đó là roster TRƯỚC khi W4b thêm 2 vai, và nó **khẳng định phủ đủ** trong khi 2 vai mới thiếu `effort: max`. Bắt được nhờ **mẩu garble** của `tooling-auditor` (#53), đã vá cả persona lẫn số | 2026-08-07 |
| TC-04 | vật chứng lượt đắt sót | **CÓ — nặng nhất.** Lưới đã dựng và đang trả lãi; sổ khung-nhìn lượt đắt land @W5b vế (i): **8** run-folder có dấu lượt đắt / **88** tổng | `grep -rl 'fable-real\|fable-clone' .claude/workflows/runs/*/run.md \| wc -l` | 2026-08-07 |
| TC-05 | vai soi ghi-đĩa cấm-sửa | **CÓ nhu cầu, đã có ~70%** — cặp quan sát `harvest-curator` + `tooling-auditor`, propose-only; backstop THẬT = git-diff commit-gate, KHÔNG dựa thiếu-tool | `ls .claude/agents/{harvest-curator,tooling-auditor}.md` | 2026-08-07 |
| TC-06 | nghi thức tự-ý-bỏ | **CÓ — đo được, và SE tự khai:** drift-audit trễ **6 ngày** so hạn 08-01 (`CLAUDE.md`). 🔸 Thư hub 2026-08-07 tách lại trục này: **tần suất = quyền chủ dự án, KHÔNG tích nợ**; chỉ *độ đầy đủ khi chạy* mới là lỗi | `grep -n 'ĐÃ CHẠY 2026-08-07' CLAUDE.md` | 2026-08-07 |

View File

@ -70,7 +70,7 @@ Việc SE làm **ngoài** phạm vi kế hoạch. Khai đủ, không gộp:
1. **Phạm vi nhận:** 7 GĐ, 12 TC, 20 khoản danh mục kiểm. Quyết định per-GĐ ở `fitmap` (7/7 ô điền).
2. **Nấc tự khai:** **đã thi công** cho 7/7 GĐ. 🔴 **KHÔNG** khai *đã được kiểm chứng* ở bất kỳ đâu.
3. **Wave:** 10 wave, **10 đã chạy**. Còn 1 cổng chờ soak + 2 khoản W6 (cổng đồng bộ = phần A này · báo cáo = tệp này).
4. **Quyết định chủ dự án:** P1=PA-2 · P2=PB-2 · P3=B · P4=đẻ vai + cap 30 · P5=nguyên văn · P6=mở INBOUND · P7=cả 2 vế · P8=gật. Sổ: `owner-decisions-07-08-2026-dot-2.md`.
4. **Quyết định chủ dự án:** P1=PA-2 · P2=PB-2 · P3=B · P4=đẻ vai + cap 30 · P5=nguyên văn · P6=mở INBOUND · P7= vế (i) phán rõ · **vế (ii) KHÔNG có phán nội dung, lead thi hành theo bậc-1 tự-trị có khai** (xem `§O.3`) · P8=gật. Sổ: `owner-decisions-07-08-2026-dot-2.md`.
5. **Máy dựng mới:** `naming-scan` · `artifact-integrity` · `tien-kiem-cua` · `naming-baseline.json`; máy vá: `spawn-model-audit` · `nhip-no-probe` · `hmw.js`.
6. **Làm KHÁC / MẠNH HƠN sàn:** 5 khoản, xem `tracking §6`.
7. **Fault-inject:** baseline **6/6** · máy dò sổ **5/5** · A10 **2/2** · ve-6 **2/2** · spawn-audit **2/2** · mutation-test E-9 **ĐẠT**.

View File

@ -40,19 +40,19 @@ Cột "Thuộc GĐ" lấy đúng nhãn giai đoạn mà hub gắn trong Phần C
| A0-2 | GĐ-0 | đã thi công | W0 | Chính là tệp này. Bằng chứng chạy được: `grep -c '^| A' docs/governance/adap-upgrade-pack-tracking.md` phải ra **20**, khớp số khoản của danh mục kiểm. |
| A0-3 | GĐ-0 | đã đồng ý | W0 | Chủ dự án đã chốt câu P6 theo đường mở phạm vi INBOUND cho cả thư phát đại trà, cộng thêm chứ không gỡ 22 dòng đang sống. Đo đĩa đúng lúc viết dòng này, ngày 2026-08-07: `grep -c "upgrade-pack-phased" broadcasts/_index.md` ra **0**; control dương `grep -c "harness-22"` ra **3**`grep -cE "^\| "` ra **94**, nên im lặng là im lặng thật chứ không phải thước hỏng. Lane b đang thi công phần bù dòng; người đọc sau phải **đo lại**, đừng tin con số trong dòng này. Lỗ thật rộng hơn gói này: 24 lá thư trong hộp thư chưa có dòng trong sổ, trên mẫu số 69 lá trên đĩa. |
| A0-4 | GĐ-0 | đã thi công | W0 | `docs/governance/adap-upgrade-pack-fitmap.md`. Bằng chứng chạy được: `grep -c '^| GĐ-[0-6]' docs/governance/adap-upgrade-pack-fitmap.md` ra **7**; chạy đúng lệnh đó trên tệp khuôn của hub ra **14**, đây là control dương cho chính cái bẫy mẫu số mà hub cảnh báo. Bảy ô quyết định đều mang đúng một trong ba giá trị, đếm lại bằng awk ra 7 trên 7, không ô nào trống. |
| A1 | GĐ-4 | đã đồng ý | W4 | Sổ ba khối chưa tồn tại: khối lời-phàn-nàn trống tuyệt đối, đo bằng phép tìm `sở-thích``phàn nàn` ra 0 hit với control dương là cụm "điểm dừng" ra 5 tệp. Câu P2 đã chốt phương án PB-2, tức tách sổ yêu cầu khỏi WAL, nên khoản lên *đã đồng ý*. Nợ kèm theo P2: phải sửa luật đã ratify ở `tiep.md:181`. Ràng buộc chống bẫy: cột lời nguyên văn chỉ nhận chữ chủ dự án gõ từ thời điểm dựng sổ; dữ liệu cũ đi phụ lục riêng. |
| A2 | GĐ-4 | đã đồng ý | W4 | Kỷ luật ghi ngay, cắm vào tệp luôn được nạp mỗi lượt, và cấm cắm vào tệp lệnh của một cửa. Chỗ cắm hợp lệ đã tồn tại ở SE là `CLAUDE.md`; luật thì chưa có. CHƯA ĐO — cần đo SE có cắm luật ghi-ngay vào bề mặt tự động nạp hay không, lệnh: `grep -n "ghi ngay\|ghi NGAY" CLAUDE.md .claude/auto-memory/MEMORY.md` kèm control dương là một cụm chắc chắn có trong hai tệp đó. |
| A3 | GĐ-4 | đã đồng ý | W4 | Tra sổ trước khi hỏi, phải tìm được ở tối thiểu hai chỗ. Hiện chưa có: phép tìm cụm "viện dẫn" trong kho auto-memory ra 0 hit, control dương là cụm "How to apply" ra 48 trên 61 tệp. Wave W4 cắm vào `CLAUDE.md``docs/rules.md` cho đủ hai chỗ. |
| A1 | GĐ-4 | đã đồng ý | W4 | **ĐÃ LAND @W4/S181**`docs/governance/so-yeu-cau-chu-du-an.md` (8.315 B, đủ 3 khối). 🧊 *Câu cũ:* "Sổ ba khối chưa tồn tại:" khối lời-phàn-nàn trống tuyệt đối, đo bằng phép tìm `sở-thích``phàn nàn` ra 0 hit với control dương là cụm "điểm dừng" ra 5 tệp. Câu P2 đã chốt phương án PB-2, tức tách sổ yêu cầu khỏi WAL, nên khoản lên *đã đồng ý*. Nợ kèm theo P2: phải sửa luật đã ratify ở `tiep.md:181`. Ràng buộc chống bẫy: cột lời nguyên văn chỉ nhận chữ chủ dự án gõ từ thời điểm dựng sổ; dữ liệu cũ đi phụ lục riêng. |
| A2 | GĐ-4 | đã đồng ý | W4 | Kỷ luật ghi ngay, cắm vào tệp luôn được nạp mỗi lượt, và cấm cắm vào tệp lệnh của một cửa. **ĐÃ CẮM @W4/S181**`CLAUDE.md` §Sổ yêu-cầu (`grep -c -i "ghi ngay"` = **2**) + `docs/rules.md §6.0`. 🧊 *Câu cũ: "luật thì chưa có. CHƯA ĐO"* — cần đo SE có cắm luật ghi-ngay vào bề mặt tự động nạp hay không, lệnh: `grep -n "ghi ngay\|ghi NGAY" CLAUDE.md .claude/auto-memory/MEMORY.md` kèm control dương là một cụm chắc chắn có trong hai tệp đó. |
| A3 | GĐ-4 | đã đồng ý | W4 | Tra sổ trước khi hỏi, phải tìm được ở tối thiểu hai chỗ. **ĐÃ ĐỦ HAI CHỖ @W4/S181**`grep -c "viện dẫn"`: `CLAUDE.md` = **1** · `docs/rules.md` = **1**. 🧊 *Câu cũ: "Hiện chưa có; auto-memory 0 hit"*, control dương là cụm "How to apply" ra 48 trên 61 tệp. Wave W4 cắm vào `CLAUDE.md``docs/rules.md` cho đủ hai chỗ. |
| A4 | GĐ-4 | **đã thi công** | W3 và W4 | Đèn nợ ở **mọi** điểm dừng, liệt từng cửa chứ không ghi gộp. ✅ **Bảng 19 cửa ĐÃ DỰNG @W3**, liệt từng dòng, sống ở [`sub-w3-nghi-thuc.md` §1.2](../../.claude/workflows/runs/2026-08-07-S180-adap-upgrade-pack-phased/sub-w3-nghi-thuc.md) — số đo tại đó: **5/19** có tiền kiểm trước W3 (không phải 4/19 như bản trước ghi; chênh vì `snapshot` đóng từ 🟡 sang CÓ), **9/19** sau W3. ✅ **Hai số liệu ĐÃ NỐI vào máy dò @W4**: `nhip-no-probe.ps1` in vế `so-yc treo <n> / nhac2+ <m>`. ✅ **Nợ nặng nhất của khoản này ĐÃ TRẢ**: máy nay **phân biệt** `chua-co-du-lieu` (sổ vắng/rỗng ⇒ phép đo không tồn tại) với `treo 0` (đã đọc n dòng, đếm ra 0) bằng **hai chuỗi khác nhau** — fault-inject 5/5 @S181. Đó đúng là "đèn xanh giả" mà hub gọi tên. 🧊 *Bản trước dòng này viết cả ba vế ở thì tương lai và sống nguyên 1 wave sau khi đã xong — site thứ 2 của cùng một mệnh lệnh cũ, bắt @S181 bằng grep lại với lệnh khác.* |
| A5 | GĐ-4 | đã đồng ý | W4 | Định nghĩa thành văn cho "hỏi lại không kèm thông tin mới". Nội dung sàn đã rõ: hỏi lại mà không viện dẫn được thông tin mới là vi phạm; hỏi lại kèm nguồn trích được là kỷ luật đúng. SE chưa có văn bản nào chứa định nghĩa này. |
| A6 | GĐ-4 | đã đồng ý | W4 | Lằn ranh đỏ phải **liệt kê từng loại**, cấm mô tả bằng tính từ. Nguyên liệu ở SE có nhưng nằm rải trong 61 tệp auto-memory, chưa gom về một chỗ. Wave W4 dựng mục mồi ST-001 liệt bảy loại: đổi lược đồ dữ liệu, xoá dữ liệu, việc hướng ra ngoài, việc không lùi được, việc dính tiền, đổi cơ chế quản trị, đổi số nhịp hoặc ngân sách. |
| A5 | GĐ-4 | đã đồng ý | W4 | Định nghĩa thành văn cho "hỏi lại không kèm thông tin mới". Nội dung sàn đã rõ: hỏi lại mà không viện dẫn được thông tin mới là vi phạm; hỏi lại kèm nguồn trích được là kỷ luật đúng. **ĐÃ THÀNH VĂN @W4/S181**`CLAUDE.md` §Sổ yêu-cầu chứa nguyên chuỗi "Định nghĩa A5". 🧊 *Câu cũ: "SE chưa có văn bản nào chứa định nghĩa này."* |
| A6 | GĐ-4 | đã đồng ý | W4 | Lằn ranh đỏ phải **liệt kê từng loại**, cấm mô tả bằng tính từ. **ĐÃ GOM @W4/S181**`so-yeu-cau-chu-du-an.md` `ST-001` liệt **đúng 7 loại**, cấm tính từ. 🧊 *Câu cũ: "nằm rải 61 tệp auto-memory, chưa gom"* Wave W4 dựng mục mồi ST-001 liệt bảy loại: đổi lược đồ dữ liệu, xoá dữ liệu, việc hướng ra ngoài, việc không lùi được, việc dính tiền, đổi cơ chế quản trị, đổi số nhịp hoặc ngân sách. |
| A7 | GĐ-4 | đã nhận | W4b | Chấm điểm trải nghiệm phải tách hẳn khỏi phép đo kỹ thuật, và công thức trừ theo MỤC chứ không theo lần. SE hiện **vắng hoàn toàn**: phép tìm cụm "chấm điểm" ra 0 hit với control dương 3 tệp. Giữ ở nấc *đã nhận* vì việc in khối chấm ở hai cửa phiên còn **chờ câu P8** — nghi thức hai đầu phiên là vật chủ dự án đã chốt. |
| A8 | GĐ-4 | đã đồng ý | W4b | Ba tầng đếm: người điều phối tự chấm, một vai khác đếm lại độc lập, một vai thứ ba kiểm phép đếm mà cấm chấm lại. Câu P4 đã cho phép đẻ vai mới và nâng trần bề rộng từ 20 lên 30, nên khoản lên *đã đồng ý*. Hai món nợ đi kèm, không được quên: vai mới phải được seed đường cơ sở `measured{}` kẻo thành vai mù; và **tỉ lệ phủ sóng CHƯA ĐO** — chưa có tỉ lệ đó thì luật của hub bắt in "KHÔNG ĐO ĐƯỢC" và **cấm in điểm**. |
| A9 | GĐ-4 | đã nhận | W4b | Niêm phong bằng im lặng chỉ hợp lệ khi đủ ba mốc thời gian: lúc phát điểm, lúc hiển thị lại ở cửa chủ dự án chắc chắn đọc, và tin đầu tiên của chủ dự án sau lần hiển thị lại. Thiếu mốc ba thì trạng thái là *chờ niêm phong*, không phải *đã niêm phong*. Chưa ai chạm khoản này. Giữ nấc *đã nhận* vì nó nằm trong khối chấm điểm đang chờ câu P8. |
| A10 | GĐ-4 | đã nhận | W4b | Khoản này có hai vế. Vế phép thử SE đã có máy thật: đẩy một nhãn lớp lỗi lạ vào máy cảnh báo thì `h24-signal-write.ps1` từ chối với mã thoát 2 và thông điệp rằng một vai giám sát không được tự chế lớp. Vế quy trình, tức khi chủ dự án điều chỉnh điểm thì xác định tầng nào sai rồi ghi vào nhật ký của vai đã sai, thì chưa thành văn. Giữ nấc *đã nhận***chờ câu P3**: hub đòi tập tín hiệu phải từ chối lớp mới, còn SE đang cố ý mở tập đó theo tiền lệ chủ dự án ở phiên S143. Đây là xung đột triết lý thứ hai của cả gói. |
| A11 | xuyên GĐ | đã đồng ý | mọi wave | Mọi con số trong văn xuôi phải neo nguồn, không neo được thì bỏ số và viết định tính. Bằng chứng áp trong wave W0: mọi tỉ lệ trong bản đồ áp dụng đều kèm mẫu số và kèm con trỏ nguồn. Chưa lên *đã thi công* vì nghiệm thu của khoản này gắn với bản báo cáo gửi hub, mà báo cáo chưa tồn tại. |
| A12 | xuyên GĐ | đã đồng ý | mọi wave | Liệt kê từng mục, cấm nén thành khoảng. Bằng chứng áp trong wave W0: ô lý do của dòng GĐ-0 liệt đủ chín mã khoản thiếu và ba mã khoản sai khuôn thay vì viết một khoảng; bảng ở mục 2 của tệp này liệt đủ hai mươi dòng. Danh sách rỗng thì phải ghi thẳng là danh sách rỗng, không bỏ trống. |
| A13 | xuyên GĐ | đã đồng ý | mọi wave | Mỗi khoản đánh dấu không-áp-dụng phải kèm lý do cụ thể. Ca duy nhất hiện có là TC-03 trong giai đoạn 5, và lý do của nó là một phép đo chạy lại được: 26 trên 26 persona pin `model: opus`, mẫu số là 27 tệp trong `.claude/agents/` trừ `README.md`, control âm là phép liệt kê mọi giá trị của trường `model:` chỉ trả về đúng một dòng. |
| A13 | xuyên GĐ | đã đồng ý | mọi wave | Mỗi khoản đánh dấu không-áp-dụng phải kèm lý do cụ thể. Ca duy nhất hiện có là TC-03 trong giai đoạn 5, và lý do của nó là một phép đo chạy lại được: **28/28** persona pin `model: opus` **và 28/28** pin `effort: max`; mẫu số = **29 tệp** trừ `README.md` = **28** *(🧊 "26/26 · mẫu số 27" là ảnh chụp TRƯỚC khi 2 vai W4b land)*, control âm là phép liệt kê mọi giá trị của trường `model:` chỉ trả về đúng một dòng. |
| A14 | xuyên GĐ | đã đồng ý | mọi wave | Chỗ chưa biết thì ghi "chưa đo được", không ghi "xong". Hub tự nhận đây là lớp lỗi đắt nhất của cả năm. Bằng chứng áp trong wave W0: mọi ô chưa đo trong tệp này đều mang chữ CHƯA ĐO kèm lệnh cần chạy, và mục 3 dưới đây gom lại thành danh sách. |
| A15 | xuyên GĐ | đã thi công | W0 | Ba nấc *đã đồng ý*, *đã thi công*, *đã được kiểm chứng* là ba thứ khác nhau; nấc phải khai theo từng giai đoạn. Trước wave này chưa ai khai nấc theo từng giai đoạn cho gói. Bằng chứng chạy được: bảng bảy dòng ở mục 1 của tệp này, mỗi giai đoạn một nấc riêng, kèm luật cấm tự khai nấc cuối. |
| A16 | xuyên GĐ | đã đồng ý | W6 | Với mỗi cưỡng chế tuyên là đã có, phải ghi rõ nó chạy bằng máy hay bằng tay. Phát hiện của SE làm khoản này chặt hơn chữ hub: thang hai nấc máy-hoặc-tay là thang hỏng, phải tách ba nấc, vì SE có đúng **1** máy tự bắn thật, 17 máy chỉ chạy khi một nghi thức gọi tới, và 3 script mồ côi. Phép kiểm kê máy của chính SE cũng đang chạy bằng trí nhớ: danh sách "máy đã biết" liệt 14 trong khi đĩa có 21, thiếu 7. Bảng A16 hợp nhất chưa có, dựng ở wave W6. |
@ -109,7 +109,7 @@ grep -c 'đã được kiểm chứng *|' docs/governance/adap-upgrade-pack-trac
> 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-*)*.
**Mẫu số: 23 script governance + 1 hook = 24 máy** *(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)
@ -118,7 +118,7 @@ grep -c 'đã được kiểm chứng *|' docs/governance/adap-upgrade-pack-trac
|---|---|---|
| `.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)
### M2 — máy được CỬA NGHI-THỨC gọi (20)
| Máy | Số cửa gọi | Máy | Số cửa gọi |
|---|---|---|---|
@ -134,15 +134,16 @@ grep -c 'đã được kiểm chứng *|' docs/governance/adap-upgrade-pack-trac
🔸 **"Đượ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)
### M3 — MỒ CÔI: có máy, KHÔNG cửa nào gọi (3 — sau khi wire 2 máy)
| 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ỗ |
| `seed-test-users-prod.ps1` | 🔴 **MỒ CÔI, mới lộ @S181** — 0 cửa gọi, và **lọt bộ-lọc loại-trừ** ở đầu §7 (`seed-*` không có trong danh sách) ⇒ theo chính luật của tệp này nó **phải** có mặt. Bản đầu bảng M3 thiếu dòng này |
| `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 |
🔸 **`naming-scan.ps1` + `artifact-integrity.ps1` ĐÃ CHUYỂN SANG M2** (wire `session-end §L.b(k-ter)` cùng lượt) — giữ tên ở đây sẽ thành *"số máy TỪNG mồ côi"**"số máy ĐANG mồ côi"*, đúng lớp lỗi mà bảng ba nấc sinh ra để chặ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)

View File

@ -231,3 +231,17 @@ Detect by **action-signature** (NOT "AI tự phán có vi phạm không"). Scan
---
> **Maintenance:** append RCA on each AS-hit; promote a guard to `procedural` on its 2nd strike; mark `verified` once it holds through a session; retire by net-effect. Pointer entries only — full narrative lives in session-logs (summary-index).
## RCA `C1-S181` — phá đóng-băng bề-mặt-đo ở cửa closeout (2026-08-07)
**Sự cố:** lead chạy khối đo `§L.b(c)` → spawn 4 vai bookend → rồi **ghi `docs/STATUS.md` (23:03:35) và `docs/HANDOFF.md` (23:03:56) trong lúc 4 vai đang đo**. `§L.b(c)` liệt **đích danh** hai tệp này vào bề-mặt-đo bị đóng băng *"từ script đo đầu tiên tới verdict cuối"*.
**Bằng chứng không dựa mtime:** `lead-gap-auditor` đo lần đầu ra **285 lần / 54 slug**, đo lại 23:04:55 ra **287 / 56** — bề-mặt-đo **dịch chuyển giữa hai phép đo của cùng một vai, trong cùng một lượt audit**.
**Hệ quả đo được:** FLAG-1 của vai gap **suýt thành dương-giả** (segment carry chưa tồn tại lúc đo lần đầu); FLAG-4/FLAG-5 phải đo lại từ đầu; `lead-stale-auditor` phải tự hạ FLAG-7 và khai *"không re-đo toàn bộ trên bản mới"*. ⇒ **vai đo mất quyền nói mình đo cái gì** — hỏng thước, không phải phiền nhiễu.
**5-why → gốc:** luật C1 tồn tại từ S138, viết bởi người đã cân nhắc **từng tệp** (WAL được nêu làm ngoại lệ có chủ đích). Nhưng **0 cổng máy nào chặn ghi trong cửa-sổ đo** ⇒ luật chỉ sống bằng trí nhớ của lead. 🔴 Đây **đúng hình dạng** *"guard dựng xong, 0 cửa gọi"* mà chính phiên này vừa ghi vào `feedback_guard_built_but_never_called.md` — chỉ khác: ở đây guard **chưa từng được dựng thành máy**.
**Fix (2 vế, lỗi kép):** (a) *vá hành-vi* — closeout sau: mọi ghi vào bề-mặt-đo **xếp hàng SAU verdict**, kể cả Phase 2. (b) *vá guard* — 🔴 **CHƯA LÀM, ghi thành nợ:** cần một máy chặn/cảnh báo khi bề-mặt-đo bị chạm giữa cửa-sổ đo. Không có nó thì lần sau lại phụ thuộc trí nhớ.
**Lần thứ 2:** S179 đã có 2 FLAG *"tự khỏi"* vì HANDOFF land sau lúc vai đo — lần đó đọc thành *"vai đo bản trước"*. Hai lượt ⇒ đủ để có sổ.

View File

@ -471,7 +471,8 @@ Gói ngữ-cảnh chuẩn (D-11) gồm **5 mảnh**. Mảnh nào chưa có ⇒ g
### O.3 — P7 vế (ii): LUẬT TRUYỀN NGUYÊN VĂN ở lane DISPATCH
> Chủ dự án phán @S181. 🔴 Đây là kỷ luật của **LEAD khi phát lệnh**, không phải yêu cầu chủ dự án đổi cách gõ.
> 🔴 **NẤC CHÍNH XÁC CỦA THẨM QUYỀN (hạ chữ @S181 sau khi `lead-stale-auditor` FLAG-1 bắt):** chủ dự án **KHÔNG phán riêng về nội dung vế (ii)**. Lead nêu *"P7(ii) là thứ duy nhất còn thực sự chặn"*, anh đáp **"OK làm hết rồi khép trọn đi"** — đó là **uỷ quyền chạy nốt**, KHÔNG phải phán nội dung. Lead thi hành theo **bậc-1 luật tự-trị** (rõ, không phá huỷ, đảo ngược được) và **khai đúng nấc ở đây**. ⚠️ Bản đầu viết *"Chủ dự án phán @S181"* — **tự mở rộng thẩm quyền**, đúng ảnh phản chiếu của lỗi *tự thu-hẹp* @S179. Anh bác thì gỡ §O.3, 1 lượt.
> 🔸 Đây là kỷ luật của **LEAD khi phát lệnh**, không phải yêu cầu chủ dự án đổi cách gõ.
**Ba khoản, bắt buộc cả ba:**

View File

@ -37,6 +37,12 @@ Dữ-liệu cũ (WAL · HANDOFF · auto-memory · migration-todos) **KHÔNG** đ
| `YC-004` | "làm tiếp đi nhé, nãy tao nói dry-run tức chạy hết cái plan adapt ở turn trước chứ ko phải dry-run cái này" | 2026-08-07 · S181 | đóng | — | `WAL` chain "THI HÀNH 5/6 khoản đợt-2" | Đính chính lần 1 | **`YC-002`** |
| `YC-005` | "làm xong thì chậy hết cái plan adapt nhé" | 2026-08-07 · S181 | đóng | — | cùng trên | Đính chính lần 2 | **`YC-002`** |
| `YC-006` | "làm cho hết đi nhé" | 2026-08-07 · S181 | đóng | — | `WAL` chain W5 + W4b | Đính chính lần 3 | **`YC-002`** |
| `YC-007` | "1 -> B / 2 -> nguyên văn / 3 ->1 -> Gật luôn / 4 -> Đội đầy đủ khi chạy -> OK / 5 -> b / 6 -> b" | 2026-08-07 · S181 | đóng | 1 | `owner-decisions-07-08-2026-dot-2.md` | Sáu phán quyết P3·P5·P7(i)·P8 + cột `status` + baseline. 🔴 P7 chỉ vế (i); vế (ii) phán riêng ở `YC-009` | |
| `YC-008` | "Làm xong hết đi nhé" *(dán kèm bảng 5 wave còn lại, trong đó 2 wave ghi rõ đang CHẶN)* | 2026-08-07 · S181 | đóng | 1 | `WAL` chain W5/W4b | Chạy hết wave chạy được; 2 wave chặn thì chuẩn bị trọn rồi để đúng phần của anh | |
| `YC-009` | "đồng ý stamp - ký tên -> Làm đi nhé" | 2026-08-07 · S181 | đóng | 1 | `ACTIVE-MARKS` mark `RC-…-21-42-10` | Cấp chữ ký niêm phong W6 **và** phán nốt P7 vế (ii) | |
| `YC-010` | "OK làm hết rồi khép trọn đi" | 2026-08-07 · S181 | đóng | **2** | `WAL` chain W5b/W3b/W6 | Khép trọn gói: W5b + W3b + phần còn lại W6 | `YC-008` |
| `YC-011` | "1,2 -> làm đi, OK sau đó /session-end" | 2026-08-07 · S181 | mở | 1 | `WAL` `next:` | (1) push 42 commit · (2) cổng đồng-bộ + báo cáo cuối · rồi đóng phiên | |
| `YC-012` | "nâng cap" *(🔸 trích từ `spec-…-07-08-2026.md:64`, cửa-sổ **S180**, KHÔNG bắt trực tiếp ở cửa-sổ này — khai đúng nấc)* | 2026-08-07 · S180 | đóng | 1 | `memory-budget.json` `_cap_raised_S181` | Lệnh dứt khoát nâng `hmw_width.cap` 20→30. 🔴 @S179 lead **tự thu-hẹp** chữ "OK" thành "chưa phải lệnh đổi số" — lần này không tự thu-hẹp | |
> 🔴 **MỘT yêu-cầu, nhắc 4 lần.** Đây là dữ-liệu **TC-01** sinh ra để bắt, và nó tố-giác chính lead: hiểu sai ở `YC-002` nên anh phải nói lại 3 lần. **Ghi lại chứ không làm đẹp.**
>