wal: flush 20260807T1357

This commit is contained in:
pqhuy1987
2026-08-07 13:57:44 +07:00
parent c7248b5bc1
commit d8c107c888
5 changed files with 380 additions and 78 deletions

View File

@ -31,7 +31,31 @@
### 🔴 Điều chỉnh thiết kế cho N3 (rút từ 7/7 ca #53 phiên này)
Counter-datum ổn định qua S151 · S152 · S180: **return-only + khuôn cứng định sẵn sống sót tốt hơn return tự-do sau khi làm việc dài.** Bằng chứng mạnh nhất phiên này: **3 spawn-probe vai STYLE trả đúng 1 dòng cố định → 3/3 CLEAN** trong khi 7/7 vai làm việc dài đều garble.
**N3 ensemble mỗi lane PHẢI có:** (a) ép ghi đĩa từng phần · (b) **khuôn return CỨNG, ngắn** (verdict dòng-1 + ≤N mục cố định) · (c) lane độc lập nhau để 1 lane chết không giết cả run (`parallel()` chứ không `await` chuỗi).
- [ ] N2 `/fable-real reviewer` — phản biện N1
- [x] **N1 XONG**`INVEST-N1: PHỦ ĐỦ — 7GĐ/7 · 12TC/12 · 9LỖI/9`, artifact **48.433 B** (§0-§7 + END-line). Recover #53 bằng lệnh "đổ ruột trước" ⇒ **7.049 B → 48.433 B**.
- [!] **N2** `/fable-real reviewer` — phản biện N1 — ĐANG CHẠY
### N1 — kết quả cốt lõi (lead đã verify 2 claim load-bearing)
**Bậc trưởng thành SE theo GĐ:**
| GĐ | trạng thái SE | thiếu gì |
|---|---|---|
| **GĐ-5** | 🟢 **gần xong nhất** — H21 per-invocation + worker-tier-pin + `spawn-model-audit` đo S126 0-mismatch + vật chứng chung-gốc `runs/` + ctx-pack chống-nạp-giả | sổ-khung-nhìn lượt đắt · luật truyền-nguyên-văn |
| **GĐ-2** | 🟡 **~70%** — run-folder FLAT + `nhip-no` orphan-count + archive-gate A7 + trần-ở-config | vị-từ CỤT/NÉN (AS-17/19 mới là **nghi-thức**, chưa cơ-khí-hoá) · mục-lục-sống `runs/` · điểm-danh-2-nguồn |
| **GĐ-3** | 🟡 **nửa** — bookend 2-đầu + đèn-nợ-4-cửa + carrier-commit **ĐÚNG NGUYÊN VĂN hub** | 4-nhãn · vòng-hỏi-ngược · thang-exit |
| **GĐ-1** | 🔴 **chốt MỞ KHOÁ** — có máy rời (C3/C11/alias-map) nhưng **không có chuẩn-duy-nhất****KHÔNG khai miễn được** ⇒ chặn điều-kiện-vào mọi GĐ sau | chuẩn đặt tên duy nhất (TC-11) |
| **GĐ-4** | 🔴 **hổng nhất**`grep "sở-thích\|phàn nàn"` = **0** (control 3 file) · chấm điểm `grep` = **0** (control 3 file) | sổ 3-khối · cơ chế chấm điểm. **TC-12 SE NẶNG HƠN hub**: điểm **chưa từng được sinh** |
| **GĐ-0** | 🟡 gần đóng | dòng sổ "đã nhận" (A0-3 hụt) · fit-map · tệp theo dõi · report |
| **GĐ-6** | ⚪ chưa động — **đúng thiết kế** (điều-kiện-vào chưa thoả) |
**Xung đột triết lý — N1 tìm được ĐÚNG 1:** hub GĐ-3 đòi **cổng-CHẶN-mã-lỗi 4 trạng thái** ⟂ SE doctrine **exit-0-advisory** (`governance-detectors.ps1:1963` *"Exit 0 always"*) + probe-không-chặn 4 cửa. SE chỉ có **2 máy fail-loud** (`session-counter-tick`, `h24-signal-write`) + `hmw` checkpoint throw.
*(N2 được giao nhiệm vụ tìm xung đột **thứ hai** — "chỉ 1" là loại kết luận dễ sai theo hướng lạc quan.)*
**4 khoản VƯỢT-KHUNG → cần anh + AI_INFRA:** (1) đổi exit-0 → gate ở lớp detector/sentinel · (2) wire chấm điểm vào 2 cửa phiên + vai tầng-2/3 + thu-hẹp-vai-cũ · (3) sổ-3-khối = **artifact lane quản trị MỚI cạnh WAL** (🔴 nguy cơ **nguồn-đôi**, phải vẽ ranh trước) · (4) đẻ vai mới (giữ-chuẩn-tên / đọc-sổ) — đụng roster + điều-kiện-vào GĐ-6.
**TC-04 — lưới SE đang TRẢ LÃI, đo được:** 7/7 vai dính #53 phiên này (N1 là vai thứ 7), **recover mất 0 byte** nhờ ghi-đĩa-trong-lúc-làm.
**🔴 F-1 gửi ngược hub (không chặn GĐ-0):** cả 4 thư frontmatter `status: DRAFT` + `reviewer_gate: "PENDING"`, trong khi `thu-chinh:66` tuyên *"khi phát, mỗi món đi kèm dấu xác thực nội dung và **trạng thái đã duyệt**; **bản nháp thì không có**"*. **Lead verify: 4/4 đúng.** Hash **4/4 khớp canonical** qua `scripts/stamp_verify.py`**không phải tamper**, là **dấu trạng thái lệch nội dung**. 🔸 Phép hash **tự chế của N1 ra MISMATCH cả 4** → suýt phán tamper sai; đúng bẫy `false-tamper` @S141, **máy mesh cứu**.
**A0-3 hụt:** 4 thư nằm inbox 2 ngày mà `grep "upgrade-pack-phased" broadcasts/_index.md` = **0 hit** (control `harness-22` = 3) ⇒ chưa có dòng "đã nhận".
- [ ] N3 `/fable-clone reviewer` — ensemble bóc tách không bỏ sót
- [ ] N4 `/fable-real reviewer` — tổng hợp → **plan wave**
- [ ] N5 HMW fan-out Opus 5 MAX — thi công từng wave
@ -50,7 +74,7 @@ Counter-datum ổn định qua S151 · S152 · S180: **return-only + khuôn cứ
| **6** neo trích dẫn bằng số dòng chết ngay khi sinh | ✅ **HÔM NAY** | `STATUS:8` trỏ `:479` mà row bundle ở **`:481`** · `lead-stale-auditor.md:45` neo `STATUS:19` (dòng không liên quan) · memory `feedback_absence_looks_like_clean` đã ghi lớp này |
| **7** tuyên "gấp đầy đủ" mà thân là mục lục | ✅ | `skeleton-ruột-rỗng` **nấc-2** — 1.661 B **toàn heading** sau 202K tok; guard "byte tăng" MÙ với ca này |
| **8** nhãn "đã đóng" hẹp hơn phạm vi thi hành | ✅ **HÔM NAY** | slot **(70)** `~~ĐÓNG @S179~~`**rider lỗi máy H24-2 còn sống** (`lead-gap` FLAG-1) |
| **9** cưỡng chế được tuyên mà chưa có máy | ✅ | class **ghost-wire** của SE (H18): `tools-whitelist-no-teeth` · `session_ctx_kb` 0-reader @S146 · `pull_warn_days` khoá trống |
| **9** cưỡng chế được tuyên mà chưa có máy | ✅ (2 món, **không phải 3**) | class **ghost-wire** của SE (H18): `tools-whitelist-no-teeth` · `session_ctx_kb` 0-reader @S146. ⚠️ **`pull_warn_days` ĐÃ BỊ N1 BÁC — lead sai:** `check-email.md:48` ghi rõ *"🔒 CỐ Ý để TRỐNG — anh không đặt số @S148, script cấm tự chế mặc-định"* ⇒ đây là **cố-ý-chưa-đặt-CÓ-KHAI**, KHÁC HẲN *defined-but-unread*. Lead verify: xác nhận N1 đúng. 🔸 N1 khai thẳng nó **chưa đo lại 2 món kia** ⇒ 2 món đó vẫn đứng nhưng chưa được kiểm chéo lượt này. |
🔴 **Kết luận sơ bộ của lead: 9/9 lớp SE đều có ca THẬT.** Đây là **hội tụ ĐỘC LẬP** — 4 thư kéo về **SAU KHI** bookend @open đã chạy xong và các ca trên đã được ghi. SE không đọc thư rồi diễn lại. ⇒ tín hiệu **PROJECT-FIT cao**.
🔸 Khai mặt kia: lead mới soi **9 lớp lỗi**, **chưa** soi 7 GĐ và 12 TC — đó là việc của N1. Bảng này là **thước để kiểm N1**, không phải kết quả thay N1.

View File

@ -46,14 +46,210 @@
---
### GĐ-1..GĐ-6 `[ĐANG ĐO — append tiếp]`
### GĐ-1 — Nền chuẩn đặt tên, áp về phía trước
## §2 — TRỤC 2: 12 TC × bệnh SE `[ĐANG ĐO]`
**Hub đòi:** 1 văn bản chuẩn duy nhất phủ 6 nhóm tên + luật lane đơn trị · 1 vai giữ chuẩn quyền hẹp 2 lớp · sổ đổi tên chỉ-thêm-không-xoá cột "đã quét những đâu" (lệnh + số hit thật) · máy soi tên cổng, báo-cáo-thôi trước, in mẫu số · đối chứng 2 chiều + phản chứng · luật giữ-nguyên-tên-cũ + di trú 6 bước.
## §3 — TRỤC 3: 9 lớp lỗi × ca SE đã giẫm `[ĐANG ĐO]`
**SE đã có (mảnh, đo được):**
- Máy quét governance-MD: `scripts/governance-detectors.ps1` (1.964 dòng, 17 lưới: C1..C12 + H24-1..5 + H25×2 liệt bằng `grep -n "Write-Section" scripts/governance-detectors.ps1` = 20 hit gồm helper). Trong đó **C3 vocab-fork** = soi 1-khái-niệm-nhiều-tên.
- **Tách "con số lái thoát" vs "con số báo-cáo-thôi"** đúng nguyên văn GĐ-1(v) hub: `Write-InformFlag` counted SEPARATELY, "NEVER folded into $script:FlagCount" (`governance-detectors.ps1:65-72`, anti-Goodhart owner-set); output 2 dòng `TOTAL FLAGS` `INFORM-ONLY` (`:1941+`).
- Sổ họ-hàng-gần: `docs/governance/vocab-alias-map.md` **append-only, single-writer em-main, có cột lý-do-đổi, khai frozen-set** (sessions/ archive/ runs/ broadcasts/ không viết lại "giữ nguyên tên " chính luật này áp cho THUẬT NGỮ).
- Quy ước tên đang SỐNG rải rác: run-folder `YYYY-MM-DD-S<N>-<topic>` (90 folder tuân thủ `ls .claude/workflows/runs/ | wc -l` = 90) · sub-file regex máy đọc `^(sub-.+|.+-return)\.md$` (`governance-detectors.ps1` C11 body regex này BẢN S159 sau ca tên lọt lưới S153) · roster INFORM-only đọc SỐNG từ agent frontmatter, không hardcode (C11 body "a NEW monitor auto-joins").
- Bài học chống-hardcode-số đã thành văn trong máy: `hmw.js:9` + comment `:57` *"KHÔNG chép số — lesson S108, tái @S151: '17/17' viết cứng đã stale khi roster lên 20"*.
- Form-check vai: `scripts/agent-frontmatter-eol-check.ps1` (tồn tại, `ls scripts/`).
## §4 — Phát hiện ngoài đề bài / xung đột / VƯỢT-KHUNG `[ĐANG ĐO]`
**SE thiếu:** (1) **VĂN BẢN CHUẨN DUY NHẤT** phủ 6 nhóm (tên vai · nhãn lớp kiểm · thư mục run · tệp mốc phiên · nhãn tác vụ · tên sổ) hiện tán xạ trong personas/commands/engine-doc; (2) **vai giữ chuẩn** không tồn tại; (3) **sổ đổi tên cho TÊN-MÁY-ĐỌC** (vocab-alias-map chỉ cho thuật ngữ, KHÔNG cột "đã quét những đâu" dạng lệnh+hit); (4) **máy soi TÊN chuyên trách** C3/C11 soi vocab + khuôn FLAG, không soi 6 nhóm tên; (5) di trú 6 bước thành văn.
**Ca bệnh TC-11 thật của SE:** tên `sub-ctx-audit-*` lọt lưới C11(b) filter `^sub-<role>[-.]` (S153, đã S159 vết trong chính detector body: *"mirror of the C11(b) filter fix — ctx-audit FLAG-6"*); marker `_tiep-1.md` ghi sha 7-ký-tự khi 7 marker khác ghi 40 (S158, form-drift cùng loại marker).
**Xung đột:** không chỉ thiếu.
**Điều kiện vào:** GĐ-0 thi công CHƯA (đang làm). **SE KHÔNG khai `không áp dụng` GĐ-1 được một cách thật thà** (chưa chuẩn-duy-nhất tương đương kiểm được) GĐ-1 chốt mở khoá các sau.
## §5 — Fit-map 7 dòng (Phần A khuôn, bản đề xuất cho lead) `[CHỜ §1-§4]`
---
## §6 — Đề xuất thứ tự wave sơ bộ `[CHỜ §1-§5]`
### GĐ-2 — Lưới ghi đĩa và sổ mục lục vật chứng
**Hub đòi:** lane ghi nguyên văn mọi cửa phản biện · vai điểm danh cấm-sửa · máy điểm danh 4 vị từ (vắng/rỗng/cụt/nén-quá-tay) + vị từ bộ-tệp-nội-bộ-thư-mục · 3 nhịp (đầu phiên/sau-lượt-đắt/cuối phiên) · sổ mục lục 2 tầng trần-đo-bằng-lệnh trỏ-không-chép · điểm danh 2 nguồn ghi chênh lệch.
**SE đã có:**
- **Lane ghi nguyên văn:** run-folder TRACKED FLAT `run.md + sub-<role>-<i>.md + <stage>-synthesis.md` (`hmw.js:9` mode B, Harness-10) 90 folder; spec-pin trước spawn (H21); chính file này instance sống.
- **Máy đếm mồ-côi:** `scripts/nhip-no-probe.ps1` vế `run-chua-gom` orphan run-folder theo DUAL-ACCEPT port nguyên văn `tiep.md:40-53` (header script tự khai). Vị từ "vắng synthesis" = .
- **Gate con trỏ mục lục:** `scripts/memory-archive-gate.ps1` A7 L1-GATE mọi substring-pointer trong `<sub>/archive/_INDEX.md` phải resolve (SimpleMatch) + file exists + **size>0** PASS/FAIL. = vị từ VẮNG + RỖNG + MỤC-NÁT cho tầng agent-memory.
- **Sổ mục lục 2 tầng cho agent-memory:** MEMORY.md (L1 HOT) + `archive/_INDEX.md` (sha-keyed substring) per-role; **trần sống ở config**: `memory-budget.json` key `archive_gate.autoinject_cap_bytes` script ĐỌC khoá, thiếu key in `CONFIG-THIEU(...)` KHÔNG default (`nhip-no-probe.ps1` header contract (4)); `session_ctx.py` `_require_budget_kb` cùng triết . = đúng "trần tệp cấu hình chung, tài liệu trỏ khoá".
- **3 nhịp:** đầu phiên (bookend @open + Sàn-3) · cuối phiên (khối instruments `session-end.md:164`: measure-agent-memory + memory-archive-gate + crystallized-backfill + nhip-no-probe + mfe-eval AUTO mỗi closeout) · **sau-lượt-đắt: một phần** harvest per-turn primary (`hmw.js:9` C4) nhưng không máy điểm danh BẮT BUỘC ngay-sau-mỗi-lượt-đắt.
- **Vai quan sát cấm-sửa:** cặp obs `{harvest-curator, tooling-auditor}` chạy VÔ-ĐIỀU-KIỆN @session-end (`closeout-sentinel.ps1` header default -Roles); INFORM-only; ràng "cấm sửa" cưỡng chế bằng **git-diff commit-gate backstop** (error-ledger AS-10/G-015 propose-only sub vẫn Bash-write được, backstop THẬT diff-gate).
- **Secrets-sweep phủ trọn session-dir:** `session_ctx.py::secrets_sweep` rglob (S153: `_mind` tự vào lưới) "đích ghi nằm trong vùng quét mật" cho sessions/.
- **Bằng chứng lưới hoạt động thật @S180:** WAL verify-block "#53: 6/6 vai nặng dính, recover 6/6 **mất 0 byte**" nhờ artifact-đổ-ruột.
**SE thiếu:** (1) máy điểm danh **4-vị-từ hợp nhất trên run-folder** vị từ CỤT (thiếu đầu/thân) NÉN-QUÁ-TAY (so tự cùng đơn vị) chưa máy; AS-17 skeleton-ruột-rỗng + AS-19 nén-rơi-ý đều đang **nghi-thức, error-ledger tự khai "chưa cơ-khí-hoá"**; (2) **mục lục SỐNG cho runs/** `ls .claude/workflows/runs/ | grep -i index` = 0 hit (control-dương: cùng lệnh ls đếm được 90 folder) tầng-A "gói theo loại" trong hmw.js/tiep.md prose, tầng-B mục-lục-sống KHÔNG (nhip-no đếm tổng, không liệt ); (3) **điểm danh 2 nguồn** (đĩa mục lục, ghi chênh) chưa chưa mục lục; (4) khuôn-tối-thiểu tệp nguyên văn (tiêu đề + model tự khai + input ghim + kết luận) chưa thành văn bắt buộc mới END-line (AS-20 guard `END <slug> — VERDICT=`).
**Điều kiện vào:** GĐ-1 thi công hoặc miễn CHƯA THOẢ (GĐ-1 chưa).
---
### GĐ-3 — Nghi thức hai đầu phiên và cổng chặn bằng mã lỗi
**Hub đòi:** 4 nhãn lệch nghi thức (quên/tự-ý-bỏ/suy-giảm-hợp-lệ/bị-chặn) kèm vị từ đĩa · vai kiểm chỉ-đối-chiếu · vòng hỏi ngược đóng-khi-0-dòng-trống · cổng lỗi thang 4 trạng thái · tiền kiểm chi-phí-0 đầu MỌI cửa chọn cửa bằng ts-TRONG-tệp · vai kiểm 2 đầu phiên · luật tự trị 3 bậc · trần chi phí cửa hay dùng.
**SE đã có:**
- **Vai kiểm 2 đầu phiên ĐÚNG NGUYÊN VĂN:** cặp `lead-stale-auditor` + `lead-gap-auditor` spawn **VÔ-ĐIỀU-KIỆN mỗi đầu phiên** (`session-start.md:269`) **và MỌI closeout** (`session-end.md:119`), HÌNH B @S149. `ring2-audit` AUTO sau cặp, PIN đích-danh run-folder tươi (cấm glob-latest).
- **Đèn nợ 4 cửa dừng:** `nhip-no-probe.ps1` gọi tại `session-start.md:269` · `session-end.md:118` · `tiep.md:154` · `pause.md:113` cả 4 chỗ in "probe KHÔNG chặn"; vế-set canonical = chính script (`session-end.md:207`, gate đo nguyên văn dòng in chống stale).
- **Tiền kiểm chi-phí-0 khi nối mạch:** Sàn-3 probe @/tiep (WAL S180 dòng đầu: "Sàn-3 SẠCH 5/5") + `mind-check` ~140-300ms không chặn (`tiep.md:169`) + **anchor bằng carrier-commit `git log --diff-filter=A -1 -- <marker>`** (S158 chính "ts ghi TRONG tệp/lịch sử, KHÔNG tin mtime OS"; 8/8 resolve, sống-sau-squash by construction).
- **Máy FAIL-LOUD exit0 ( răng thật, chọn lọc):** `session-counter-tick.ps1` regression/missing-head exit0 no-write, fault-inject 5/5 @S149 (`session-start.md:246`); `h24-signal-write.ps1` class ngoài enum-đóng exit0 (header (1)).
- **Cửa-sau cho cửa-chết-sớm (lưới lùi):** `closeout-sentinel.ps1` M5 FLAG "audit đo rồi như chưa đo" nếu closeout thiếu delta role-dir; positive-control 5/5 lịch sử (`session-end.md:125`).
- **Theo dõi tái phạm:** error-ledger **2-strike promote** (header) AS-17 đã dùng thật (S150+S151 = 2-strike).
- **Luật tự trị (dạng SE):** hạ tầng ACTIVE-MARKS `.claude/governance/ACTIVE-MARKS.md` + 4 lệnh `/user-mark-{active,active-high,medium,disable}` (`ls .claude/commands/`) = posture tự-trị owner-gán dấu RC. **CHƯA ĐO** nội dung đủ "3 bậc" (tự · hồnhánh an toàn · hỏi khi mơ-hồ+phá-huỷ) cần `grep -n "bậc\|tự vá\|an toàn" .claude/governance/ACTIVE-MARKS.md`.
- Nhãn "suy-giảm-hợp-lệ" đã VĂN HOÁ dùng: nhip-no "probe-loi (khong chan)" · C12 note "MEASURED NOTHING... a 0 outside the window is not a green" · WAL ERRATA-block @S180 (3 ERRATA lead tự khai).
**SE thiếu / XUNG ĐỘT:**
- 🔴 **XUNG ĐỘT TRIẾT LÝ (lớn nhất cả gói):** hub GĐ-3 = "cổng CHẶN bằng mã lỗi, thang 4 trạng thái (trọn/thiếu-có-tên/không-xác-định/xung-đột)" thuốc căn cho TỰ-Ý. SE doctrine ngược: `governance-detectors.ps1` "**Exit 0 always (never fails build). FLAGs are advisory**" (`:1963`) + `closeout-sentinel` "exit ALWAYS 0, READ verdict-line" + probe-không-chặn 4 cửa. SE chặn-trước chỉ 2 máy (tick, signal-write) + hmw checkpoint throw (`hmw.js:131-132`); còn nghi-thức = lưới-sau + người. Hub tự nói sàn chức năng chỉ nâng không hạ chuyển detectors/sentinel sang lái-mã-thoát = **ĐỔI CƠ CHẾ → VƯỢT-KHUNG, cần anh + AI_INFRA**. Ghi cả 2 bên: hub ("cửa cổng trả lỗi thì không bỏ qua được"); SE (đèn không chặn điểm dừng người vắng vẫn thoát được phiên an toàn, đúng TC-07 của chính hub).
- 4 nhãn CHƯA thành văn như enum (SE AS-signature taxonomy 20 GIÀU HƠN nhưng KHÁC TRỤC: action-signature nhãn-ý-định; map được quên/tự-ý qua E-011/AS-15).
- Vòng hỏi ngược 5-cột đóng-khi-0-trống: chưa khuôn; gần nhất = bảng disposition từng-dòng (feedback S119) + FLAG-khuôn C11.
- Thang exit 4 trạng thái: không tồn tại bất kỳ máy nào.
- Tiền kiểm "đầu MỌI cửa": mới chắc /tiep + session-start; `/check-email`, `/adap-*`: **CHƯA ĐO** cần `grep -n "probe\|Sàn-3\|san-3" .claude/commands/check-email.md .claude/commands/adap-apply.md`.
- Trần chi phí cửa-hay-dùng: KHÔNG dụng cụ đo per-cửa (khớp TC-10 hub) SE doctrine "đo BYTE, CẤM quy token" (S158). Khai `KHÔNG ĐO ĐƯỢC` + nếu adopt thì trần = hướng-dẫn + nghĩa-vụ-khai (đúng chữ hub).
**Điều kiện vào:** GĐ-1 thi công/miễn CHƯA.
---
### GĐ-4 — Sổ yêu cầu chủ dự án và cơ chế chấm điểm (kéo sớm được)
**Hub đòi:** sổ 3 khối (việc-giao/sở-thích/phàn-nàn) lời NGUYÊN VĂN + vĩnh viễn cấm tái dụng · 2 mục mồi (làm-thẳng + lằn-ranh-đỏ liệt ; tự-trị-khi-vắng) · ghi-NGAY cắm vào tệp-luôn-nạp · tra-sổ-trước-khi-hỏi 2 chỗ · máy 0-phí phân biệt "chưa-có-dữ-liệu"⟂"đo-và-bằng-0" · đèn nợ mọi cửa dừng số-dán-nguyên-văn · vai đọc sổ 4 thấu kính + vai soi vai · thu hẹp vai cùng lượt · luật chấm điểm đã (công thức max(0,10mục-lặp2) · 4 tầng · 3 mốc niêm phong · thiếu phủ-sóng in KHÔNG ĐO ĐƯỢC cấm in điểm).
**SE đã có (mảnh — nhưng đây là GĐ SE HỔNG NHIỀU NHẤT):**
- Khung "đèn nợ + máy 0-phí" ĐÃ SẴN đúng chuẩn hub từng chi tiết: nhip-no-probe = read-only, exit-0, luôn-in, lỗi in " lỗi không chặn", đọc config không default **chỉ THIẾU 2 vế dữ liệu** (đang-treo, nhắc-lần-2) **không có sổ nguồn**.
- Ý thức "chưa-có-dữ-liệu 0": đã cài 2 máy (`nhip-no` CONFIG-THIEU in-line; C12 "MEASURED NOTHING" note). Khuôn để mở rộng sẵn.
- Tệp-luôn-nạp tồn tại đúng nghĩa: CLAUDE.md + auto-memory MEMORY.md (auto-inject mỗi lượt) chỗ cắm kỷ-luật-ghi-NGAY hợp lệ; kỷ luật ghi-ngay hiện cho MEMORY ("user explicitly asks... save immediately") nhưng KHÔNG sổ-yêu-cầu làm đích.
- Mảnh dữ liệu rải: việc-được-giao WAL chain + HANDOFF + `docs/changelog/migration-todos.md`; sở-thích 61 file auto-memory (`ls .claude/auto-memory/*.md | wc -l` = 61; **đề bài lead ghi 60 — số thật 61**, lệnh kèm) Why/How-to-apply nhưng KHÔNG nguyên-văn, KHÔNG mã-vĩnh-viễn, KHÔNG đếm-lần-nhắc; **lời-phàn-nàn: 0 chỗ chứa** `grep -rln "sở-thích\|phàn nàn" .claude/commands/ docs/governance/*.md` = **0 hit** (control-dương: "điểm dừng" cùng fileset = 3 file).
- 2 mục mồi: nguyên liệu SẴN ACTIVE-MARKS (tự-trị-khi-vắng, RC-mark owner-ký) + các lằn-ranh-đỏ ĐÃ RẢI trong feedback memories (đổi chế=anh · số nhịp=quyền anh · prod inspect-before-change · wipe owner-gated · outward report-before-stamp · "máy rộng UI hẹp" 409-rào) **chưa LIỆT KÊ 1 chỗ** đúng A6 (hub: cấm tả bằng tính từ).
- Bảo vệ tập-tín-hiệu-đóng (A10): **CÓ MÁY THẬT** `h24-signal-write.ps1` từ chối class ngoài enum (exit0, "a monitor may NOT invent a class") + dải `_frozen_until_owner` máy không được reset (nợ của owner). Phép thử A10 "đẩy nhãn lạ máy phải từ chối" = CHẠY ĐƯỢC HÔM NAY.
- Trần tự cột nguyên văn: khuôn sẵn (memory-budget.json pattern + "Keep entry 1.5K chars" gotcha #53).
- **Chấm điểm: 0 tồn tại** `grep -rn "chấm điểm" .claude/commands/*.md` = 0 hit thật (1 hit `rerank_score` khác nghĩa; control-dương cùng fileset "điểm dừng" = 3 file). Không tầng, không niêm phong, không khối in 2 cửa. SE thậm chí không nghi thức "hỏi anh chấm điểm" TC-12 SE = **vắng cơ chế hoàn toàn** (nặng hơn hub: hub treo, SE chưa từng sinh điểm).
**SE thiếu:** trọn sổ 3 khối + vĩnh viễn + máy 2 số + 2 vế đèn mở rộng + vai đọc sổ + định nghĩa A5 hỏi-lại-không-thông-tin-mới (hiện chỉ họ hàng: luật-4 hub SE "hỏi lại phải trả phí viện dẫn" CHƯA thành văn CHƯA ĐO: cần grep "viện dẫn" auto-memory) + toàn bộ luật chấm điểm.
**Xung đột/VƯỢT-KHUNG:** (a) luật chấm điểm hub bảo "áp thẳng không cần lại" NHƯNG thi hành = sửa `session-start.md`+`session-end.md` (in khối 2 cửa) + đẻ/gán 2 vai tầng-2/3 + "thu hẹp vai cùng lượt" (lead-gap-auditor đang soi phần yêu-cầu-chủ? chồng lấn phải chuyển giao khai) theo nguyên tắc SE (đổi nghi-thức 2 cửa + roster = quyền anh) đây **VƯỢT-KHUNG cục bộ: cần anh gật trước khi wire**, nội dung luật không cần hub lại. (b) Sổ 3 khối đặt "lane quản trị" = artifact mới cạnh WAL/HANDOFF nguy nguồn-đôi với WAL chain (SE luật "checklist = VIEW derive, CẤM file nguồn-đôi" `tiep.md:181`) thiết kế phải chọn: sổ = NGUỒN cho yêu-cầu-anh, WAL = mạch việc; ranh giới cần vẽ kẻo giẫm sàn-3.
**Điều kiện vào:** chỉ cần GĐ-1 (độc lập GĐ-2/3/5, hub cho kéo sớm) TC-01/TC-12 của SE đau thật ưu tiên cao.
---
### GĐ-5 — Cửa gọi mô hình đắt tiền
**Hub đòi:** mọi cửa đắt do chủ + tham số model tường minh · điều phối chỉ đóng-gói cấm diễn-giải-lại · cửa biên dịch ý định chỉ-ra-bản-nháp · gói ngữ cảnh 5 mảnh khai-chưa-có · sổ lượt-đắt khung-nhìn ghi-ngay-lúc-dựng-thư-mục · vai mới vào danh sách hợp lệ trước · vật chứng CHUNG GỐC.
**SE đã có (GĐ GẦN XONG NHẤT — phần lớn tương đương hoặc mạnh hơn):**
- **Cửa chỉ-anh-gõ:** H21 per-invocation `/fable-real`·`/fable-clone` chỉ sống trong lượt anh , không persist (`.claude/commands/fable-{real,clone}.md` tồn tại; `fable-real-runbook.md` §2.1-bis INVOCATION; CLAUDE.md khối operating-posture: "per-invocation, KHÔNG persist (H21)").
- **Tham số model tường minh + audit:** worker-tier-pin 14/14 opus+max (S124, frontmatter) · `TIER2_EXPECTED_FULL_ID` single-source (`hmw.js:73`) · `scripts/spawn-model-audit.ps1` PA-2b resolved-vs-expected (INFORMATIONAL, header tự khai) · **đo thật S126: 0-mismatch, control no-tier→opus dù lead=Fable** (`session-start.md:51`).
- **Spec-file 3-mục** (engine propose lead verify+ghi worker theo spec, H21) = họ hàng "cửa biên dịch ý định"; spec S180 này instance (4 khối: đề-bài/cách-làm/checklist/bất-biến đủ mục-tiêu/phạm-vi/acceptance/điều-cấm).
- **Vật chứng CHUNG GỐC ĐÚNG NGUYÊN VĂN:** fable-run HMW-run cùng đổ `.claude/workflows/runs/` (run-folder này = fable-real, nằm cạnh 89 folder khác); sổ riêng không tồn tại nên không "đường dẫn thứ hai".
- **Gói ngữ cảnh chuẩn hoá:** `tiep_reload` nạp NỀN theo khoá `memory-budget.json` (B1 cấm chép danh sách tệp `tiep.md:183`) + lớp mềm `_mind` + WAL-reconciled + `ctx-verifier` trả BẢN NẠP-LẠI 15 dòng + **LEAD-PHAI-NHAC-LAI chi-tiết-chỉ-biết-nếu-đã-đọc** ("đã nạp suông KHÔNG tính, metadata ts/hash KHÔNG tính") mạnh hơn khai-chưa-có của hub vế chống-nạp-giả.
- **Ghi-ngay-lúc-dựng:** mode-B em-main scaffold run-folder @P1 TRƯỚC fan-out (`hmw.js:9`); spec-pin trước spawn.
- Recovery lượt-chết: R5 3-nấc + dòng-sống-kể-cả-chết-giữa-chừng đã chứng minh @S180 (7 vai #53, 0 byte mất).
**SE thiếu / làm KHÁC (khai mục-6 khuôn báo cáo, không phải xin lỗi):**
- **Sổ lượt-chạy-đắt dạng KHUNG NHÌN: KHÔNG ** dữ liệu phân tán (WAL chain ghi verdict + engine-stamp `[engine: …]` trong diary từng vai + run-folders). 1 view {thời điểm · loại · đề bài · con trỏ · kết luận} chưa tồn tại. Chi phí dựng thấp (grep-derive từ runs/ + stamps).
- **Cửa duyệt chủ-dự-án giữa spec-nháp thi công:** SE KHÁC HÌNH anh duyệt ĐẦU ( lệnh + vai + đề bài), spec do LEAD verify rồi worker chạy luôn trong CÙNG invocation; hub muốn spec-nháp quay lại chủ duyệt rồi mới thi công. Với văn hoá SE (anh = đã trao), giữ cách SE hợp lệ theo "sàn chỉ nâng"; ghi làm-khác + do.
- "Điều phối cấm diễn-giải-lại lời chủ": SE chưa luật thành văn + chưa rào-nguyên-văn; hub tự khai chế của chính họ đang "bỏ qua khai" adopt mức LUẬT-THÀNH-VĂN trước, máy sau.
- Bẫy-3 hub (đăng vai TRƯỚC khi dùng): SE bài học cùng họ (E-009 custom-workflow không kế thừa guard; "17/17" stale) **CHƯA ĐO** ca "vai mới thiếu đăng nuốt ức" đúng nghĩa: cần grep error-ledger "roster\|đăng ".
**Điều kiện vào:** GĐ-1+GĐ-2 thi công/miễn + hạn mức hạn mức THẬT (phiên này chạy Fable). Không rơi vào nhánh `không áp dụng`.
---
### GĐ-6 — Niêm phong đồng bộ và bảng gốc
**Hub đòi:** cổng đồng bộ 4 tầng dán kết quả · trace ngược phạm-vi-tự-phình · cổng điểm danh số-kỳ-vọng-suy-từ-danh-sách + mutation-test · điều-kiện-vào-danh-sách trọn-gói-1-commit · đối chứng tên 2 chiều lần cuối · bảng gốc 12-TC mỗi-ô-số-kèm-lệnh · bản nháp dấu chờ-ký mã-dấu-trống · quét đồng bộ tài liệu tick-từng-cái · báo cáo cuối.
**SE đã có:**
- Họ hàng cổng-4-tầng: drift-audit tháng (CLAUDE.md:121 vừa chạy S179, verdict `tooling-auditor = PASS_WITH_FLAGS — 8`) + C2/B3 derived-staleness vs STATUS canonical + ring1/ring2 đối kháng (WAL S180: ring1 32Đ/6T · ring2 21Đ/0T) nhưng đó DOC-drift + lead-claim audit, **chưa phải trace ý-tưởng→spec→việc-thật 4 tầng**.
- Số-kỳ-vọng-suy-từ-danh-sách: pattern ĐÃ C11 (informRoles live-read) + hmw.js roster (không chép số); **mutation-test cho cổng roster: KHÔNG CÓ**.
- Bản-nháp-dấu chờ ký: **cơ chế RC-mark ĐÃ CÓ VÀ ĐANG DÙNG** `ACTIVE-MARKS.md` chứa dấu dạng `RC-pqhuy1987-<ts>` do anh cấp (fable-real-runbook.md trích RC-mark thật; luật hub món-4 cũng dùng đúng format RC này cùng chuẩn mesh).
- Quét đồng bộ tài liệu: khuôn tick-list trong nghi thức drift-audit (rules.md §6.49.4 dẫn theo CLAUDE.md:121).
- Khai máy-hay-tay (A16): VĂN HOÁ (AS-19 tự khai "nghi-thức, chưa cơ-khí-hoá"; drift-audit khai "em-main chạy thủ-công"; LỚP-9-fix S100 gỡ cron-claim ghost) **BẢNG A16 hợp nhất chưa có**.
**SE thiếu:** cổng đồng bộ 4 tầng + trace ngược tự-phình + mutation-test + bảng gốc 12-TC (chưa tồn tại §2 file này phôi) + báo cáo cuối.
**Điều kiện vào:** MỌI trong phạm-vi-áp-dụng đã thi công XA NHẤT, đúng thiết kế. Không làm đây trước khi các trước xong.
---
## §2 — TRỤC 2: 12 TC × bệnh SE
> 4 ô hub để CHỮ (TC-02·03·07·10) — GIỮ NGUYÊN CHỮ, chỉ thêm bằng chứng định tính phía SE, KHÔNG điền số.
| TC | SE bệnh? | Bằng chứng đo được trên kho SE (lệnh/đường dẫn) |
|---|---|---|
| **TC-01** nhắc nhiều lần mới làm | **CÓ (định tính; SỐ: KHÔNG ĐO ĐƯỢC — chưa có sổ đếm lần-nhắc, đúng cái GĐ-4 dựng)** | Ca thật: mất-uỷ-quyền-owner phải hỏi lại 3 lượt (`auto-memory/feedback_absence_looks_like_clean.md` "slot-index tái-dụng xoá IM-LẶNG... hỏi lại 3 lượt"); owner S165 phải ra luật `/pause` liệt từng đầu việc việc rơi (`feedback_pause_track_plan_progress.md`) |
| **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. Định tính: SE ĐÃ chế mark-làm-thẳng (ACTIVE-MARKS + `/user-mark-active*` 4 lệnh, `ls .claude/commands/`) + luật derived-flush-không-gate (`feedback_derived_flush_execution.md`) thuốc-phân-biệt-2-loại mầm, phép đếm hỏi-lại chưa |
| **TC-03** model mạnh hiểu đúng hơn | **GIỮ CHỮ HUB: *chưa đủ mẫu*.** Định tính SE cùng chiều: `feedback_high_to_max_multiagent_quality.md` (Max cross-stack); S171 "đầy-đủ đúng" (invest 44KB bị 3 lane reviewer lật MEMORY.md S171); no-tieropus mặc định đo S126 |
| **TC-04** vật chứng lượt đắt sót | **CÓ — NẶNG NHẤT, và lưới đã dựng đang trả lãi** | Phiên S180: **7/7 vai #53** (WAL verify block ghi 6/6; coordinator xác nhận tôi = vai 7) nhưng "recover 6/6 mất 0 byte" nhờ ghi-đĩa-trong-lúc-làm; tally 72-cận-dưới qua S162 (`feedback_agent_return_garble_recover.md`); ca ngược-#53 S149-L1 (return OK đĩa KHÔNG) |
| **TC-05** vai soi ghi-đĩa cấm-sửa | **CÓ nhu cầu, ĐÃ CÓ 70%:** cặp obs {harvest-curator, tooling-auditor} vô-điều-kiện @close (`closeout-sentinel.ps1` header) + sentinel M5 + INFORM-only; ràng cấm-sửa = G-015/AS-10 git-diff backstop (error-ledger). Thiếu: máy 4-vị-từ (xem GĐ-2) |
| **TC-06** nghi thức tự-ý-bỏ | **CÓ — đo được:** drift-audit trễ 6 ngày tự khai (`CLAUDE.md:121` "trễ 6 ngày so hạn 08-01"); cả một lỗi sinh ra từ bệnh này: E-011/AS-15 "nghi-thức chạy tắt, máy lớp nghi-thức-có-chạy-không" (error-ledger); thuốc-tái-phạm ĐÃ (2-strike promote) |
| **TC-07** chủ vắng máy đứng chờ | **GIỮ CHỮ HUB: *chưa có dụng cụ*.** SE 0 bộ đếm đứng-chờ. chế chống sẵn: /pause·/tiep 1-đường (H22) + WAL + ACTIVE-MARKS autonomy + probe-không-chặn-điểm-dừng (thoát phiên an toàn không cần anh). WAL S180 "next: chờ anh chọn (a)(b)(c)" = đứng-chờ KHAI tại lằn ranh hợp lệ, không đếm được |
| **TC-08** audit trong dòng chỉ bắt cái sống lâu hơn | **CÓ — ca chuẩn + thuốc đã uống:** H2-F3 S149 coverage-miss (10 lượt invest 0 delta sổ, ngoài lưới C11(b) by-design MEMORY.md S149); thuốc = closeout-sentinel (cửa-sau, positive-control 5/5) + bookend @open bắt lọt phiên trước |
| **TC-09** chỗ ngồi lệch model không ai biết | **CÓ bệnh-gốc (nỗi sợ), MÁY ĐÃ DỰNG VÀ ĐO 0-mismatch:** `scripts/spawn-model-audit.ps1` (PA-2b) + `TIER2_EXPECTED_FULL_ID` (`hmw.js:73`) + đo S126 control-âm/dương đủ (`session-start.md:51`). Lệnh tái lập: `powershell -ExecutionPolicy Bypass -File scripts/spawn-model-audit.ps1` |
| **TC-10** đo tiêu thụ per-cửa | **GIỮ NGUYÊN CHỮ HUB: KHÔNG ĐO ĐƯỢC.** SE cũng không tồn tại dụng cụ; doctrine S158 "đo BYTE, CẤM quy token" (`MEMORY.md` S158). Nếu adopt trần: trần = hướng dẫn + nghĩa vụ khai khi vượt, đúng chữ hub |
| **TC-11** tên duy nhất, không rớt máy đọc | **CÓ — ≥3 ca:** `sub-ctx-audit-*` lọt C11(b) filter (S153 S159, vết trong detector body); `_tiep-1.md` sha 7-char vs 40 (S158); "17/17" hardcode stale (`hmw.js:57` comment). Máy soi tên tổng: chưa (GĐ-1) |
| **TC-12** chấm điểm treo | **CÓ — dạng nặng hơn hub: VẮNG CƠ CHẾ HOÀN TOÀN.** `grep -rn "chấm điểm" .claude/commands/*.md` = 0 hit thật (control "điểm dừng" = 3 file). Hub: điểm treo chờ chủ; SE: điểm chưa từng được sinh ra |
---
## §3 — TRỤC 3: 9 lớp lỗi × ca SE (đồng thuận nền lead 9/9 — bổ sung ca + file:line của invest)
| LỚP | SE giẫm? | Ca (của lead bổ sung invest) |
|---|---|---|
| **LỚP-1** quên ghi lúc mở | **RỒI, nhiều lần** | #53-family (7 vai @S180); S175 spawn TASK-RỖNG sống nhờ run.md dựng trước (MEMORY.md S175 META); ngược-#53 S149-L1 return-OK-đĩa-KHÔNG. Thuốc SE = scaffold @P1 + spec-pin trước spawn |
| **LỚP-2** thợ rèn không dao | **RỒI — gốc S149 + 3 ca lead đo HÔM NAY** | Gốc: "SE = rules-đủ máy-thiếu, 0 script GHI counter" (S149); lead @S180: harvest-curator mắc bẫy đơn-vị bài-học-nằm-trong-file-chính-nó · `lead-stale-auditor:45` chính stale-count · `ring2-audit:4` ghi "5 class" khi enum 6 (nguồn: run.md cùng thư mục tôi KHÔNG đo lại, tin điều kiện, đánh dấu lead-measured) |
| **LỚP-3** chấm chéo lần-1 KHÔNG ĐẠT mặc định | **RỒI — và SE đã lập kế hoạch có vòng vá** | S171 miễn-trừ 63 + 6 acceptance gãy khi chạy thật (MEMORY.md S171); S179 C7 bắt 2 MAJOR trong chính bản (commit `57e672f`); S180 ring1 32Đ/**6T** (WAL). Cấu trúc N1N5 của spec này TỰ CHỨA vòng phản biện = đúng thuốc |
| **LỚP-4** exit-0 không cờ | **RỒI — ca tươi HÔM NAY** | ERRATA lead 1 @S180: BƯỚC 0.9 tuyên "all=0" SAI khi 4 thư chưa áp (WAL verify block; control-dương loi-do-luong=1). SE đồng thời ĐÃ thuốc cấu trúc: tách TOTAL INFORM-ONLY 2 dòng (detectors `:1941+`) đọc thiếu dòng 2 tái phạm |
| **LỚP-5** số chép tay trôi | **RỒI, kinh niên — đã lên LUẬT B1** | Persona neo "40" stale tới 71 (S169); "17/17" (`hmw.js:57`); STATUS:467 công-thức-chữ tự-huỷ "trừ Designer+Snapshot cho 71 không phải 72" (WAL S180 NẶNG NHẤT ring1 tự tìm); thuốc = B1 trỏ-canonical-không-chép-số (CLAUDE.md nhiều chỗ) + C2/B3 detector |
| **LỚP-6** neo số dòng chết ngay sinh | **RỒI** | Lead @S180: `STATUS:8` trỏ `:479` row thật `:481`; bẫy "con-trỏ-số-dòng-vào-sổ-tái-sinh" (`feedback_resume_premise_reverify.md`); thuốc ĐÃ chuẩn: archive `_INDEX.md` substring-anchor + máy resolve `memory-archive-gate.ps1` A7 |
| **LỚP-7** tuyên gấp-đầy-đủ thân mục lục | **RỒI — kể cả CHÍNH FILE NÀY hôm nay** | AS-17 skeleton-ruột-rỗng 2-strike S150/S151 (error-ledger); S157 coordinator chặn skeleton @202K; **@S180: tôi bị coordinator bắt đúng lớp này** 7.049B khung đầy đủ, ruột 15%, sau 202K token đọc (datum §4) |
| **LỚP-8** nhãn đã-đóng hẹp hơn phạm vi | **RỒI** | Lead @S180: slot (70) `~~ĐÓNG~~` rider H24-2 còn sống; citation-trap gen-2 lây-qua-trích-dẫn 3 đời/1 wave (`feedback_citation_trap_selfreference.md`); permission-matrix header quên CÂY S122S164 (SKILL.md tự khai "dư-lượng bất-đối-xứng") |
| **LỚP-9** cưỡng chế tuyên chưa máy | **RỒI, ≥5 ca — và có văn hoá tự khai tốt** | Lead @S180: `tools-whitelist-no-teeth` · `session_ctx_kb` 0-reader · `pull_warn_days` khoá trống; +H18 S100 cron-claim CronList=0 (`feedback_h18_ghostwire_stamp_integrity.md`); +per-L keys tự khai GHOST-WIRE ngay trong doc (`session-start.md:119-121` " số hành-vi"); +S168 command-sống-trong-comment (`feedback_dryrun_finds_promised_but_unlanded.md`). A16 (khai máy/tay) = đúng thuốc, SE nên adopt nguyên khoản |
---
## §4 — Phát hiện ngoài đề bài · xung đột · VƯỢT-KHUNG · datum
1. **F-1 — 4 thư đang ở nấc DRAFT phía hub:** frontmatter cả 4 = `status: DRAFT` + `reviewer_gate: PENDING` + `nac: draft`, TRONG KHI thư chính tuyên "khi phát, mỗi món đi kèm dấu xác thực nội dung trạng thái đã duyệt; bản nháp thì không " hash canonical LẠI KHỚP 4/4. hoặc hub phát bản chưa flip nhãn, hoặc nhãn nấc không nằm trong vùng hash. **Không tự phán — nêu ở mục phản-biện-gửi-hub (khuôn B mục 8) khi adap-report.** KHÔNG chặn GĐ-0 phía SE (hash khớp = nội dung toàn vẹn).
2. **Datum LỚP-7 tự thân @S180 (ghi theo lệnh coordinator):** invest này đọc 202K token/27 tool-use nhưng chỉ đổ 7.049B (~15%) ra đĩa trước khi bị nhắc bản-đồ-về-lớp-lỗi tự giẫm đúng LỚP-7/LỚP-2 đang lập bản đồ. trong-phiên: nhát Edit này. Bài: **tỉ-lệ-đổ-ruột (byte-trên-đĩa / token-đã-đọc) là tín hiệu giám sát được** đề xuất thêm vào khuôn C11(b)/AS-17 dưới dạng ngưỡng mềm.
3. **Xung đột lớn duy nhất: exit-0-advisory ⟂ cổng-chặn-mã-lỗi** (chi tiết GĐ-3). VƯỢT-KHUNG anh + AI_INFRA. Các mục còn lại THIẾU chứ không NGƯỢC.
4. **VƯỢT-KHUNG cần anh (4 khoản):** (a) đổi chế độ exit của lớp detector/sentinel; (b) wire luật chấm điểm vào 2 cửa phiên + vai tầng-2/3 + thu-hẹp-vai-cũ; (c) sổ-3-khối = artifact lane quản trị mới cạnh WAL (nguy nguồn-đôi cần vẽ ranh); (d) đẻ vai mới (giữ-chuẩn-tên / đọc-sổ) đụng điều-kiện-vào-danh-sách trọn-gói (GĐ-6 (iii)) + roster.
5. **SUPERSEDE = 0 việc un-do phía SE** (bộ 5-phần 03-08 chưa từng phát; inbox chỉ 4 file 08-04 `ls broadcasts/inbox/ai_infra/ | grep 2026-08-0` khớp; đồng thuận nền lead).
6. **Số kho lệch nhỏ so đề bài giao (dùng số ĐO, kèm lệnh):** runs = **90** folder (đề bài: 87) `ls .claude/workflows/runs/ | wc -l`; auto-memory = **61** (đề bài: 60) `ls .claude/auto-memory/*.md | wc -l`; gotchas "87 mục": **CHƯA XÁC NHẬN** `grep -c "^## " docs/gotchas.md` = 19 ĐẾM SAI THƯỚC (header cấp-2 mục #n); cần `grep -cE "^#{2,4} #[0-9]+" docs/gotchas.md` hoặc đọc header file để lấy pattern thật. KHÔNG dùng 87 khi chưa tự đếm.
7. **Nhịp hub-hỏi-tiến-độ:** se thuộc nhóm bị hỏi MỖI PHIÊN (thư chính, bảng track) GĐ-0 đóng sớm giá trị quan hệ mesh, không chỉ nội bộ.
---
## §5 — Fit-map 7 dòng (Phần A khuôn — BẢN ĐỀ XUẤT, lead + anh quyết)
| Giai đoạn | Tên | Quyết định (đề xuất) | do / điều kiện | Người làm | Mốc dự kiến |
|---|---|---|---|---|---|
| GĐ-0 | Tiếp nhận bản đồ áp dụng | **áp dụng** | đang làm dở phiên này; còn: dòng đã-nhận `_index`, fit-map file rời, tệp theo dõi A0..A16, adap-report | em-main | S180-S181 |
| GĐ-1 | Nền chuẩn đặt tên | **áp dụng** (tailored) | KHÔNG khai không-áp-dụng được (chưa chuẩn-duy-nhất); viết 1 văn bản HỢP NHẤT trỏ máy sẵn (C3/C11/alias-map) + sổ đổi tên máy-đọc; vai-giữ-chuẩn = chờ anh (VƯỢT-KHUNG (d)) | em-main + investigator | wave 1 |
| GĐ-2 | Lưới ghi đĩa + mục lục vật chứng | **áp dụng** (nâng từ ~70%) | thêm vị-từ CỤT + NÉN-QUÁ-TAY (cơ-khí-hoá AS-17/AS-19) + mục-lục-sống runs/ + điểm danh 2 nguồn | em-main | wave 2 |
| GĐ-3 | Nghi thức 2 đầu + cổng lỗi | **áp dụng MỘT PHẦN — phần cổng-mã-lỗi HOÃN** | 4 nhãn + vòng-hỏi-ngược + liệt-kê-cửa-có-tiền-kiểm = áp; đổi exit-0gate = điều-kiện-gỡ-hoãn: anh + AI_INFRA quyết xung đột triết | em-main (phần áp) | wave 3 |
| GĐ-4 | Sổ yêu cầu chủ + chấm điểm | **áp dụng — sổ TRƯỚC, chấm điểm CHỜ ANH GẬT wire** | TC-01/TC-12 SE đau thật; sổ 3 khối + máy + 2 vế đèn = việc máy; khối chấm điểm đụng 2 cửa phiên = VƯỢT-KHUNG (b) | em-main + anh | wave 4 (sổ) · wave 4b (điểm, gated) |
| GĐ-5 | Cửa gọi model đắt | **áp dụng phần THIẾU nhỏ; phần lõi khai "đã có tương đương/mạnh hơn"** | đã có: per-invocation + tier-pin + spawn-audit + chung-gốc + ctx-pack chống-nạp-giả; thiếu: sổ-khung-nhìn lượt đắt + luật truyền-nguyên-văn thành văn; cửa-duyệt-spec = làm-KHÁC khai (mục 6 khuôn B) | em-main | wave 5 (nhẹ) |
| GĐ-6 | Niêm phong + bảng gốc | **hoãn** | điều kiện gỡ: mọi áp-dụng đạt *đã thi công*; khi gỡ: cổng 4 tầng + trace-ngược + mutation-test + bảng gốc 12-TC + bản-nháp-dấu (RC-mark sẵn) | em-main + anh | sau wave 5 |
Tự kiểm khi lead chép sang file bản đồ thật: `grep -c '^| GĐ-' <tệp-bản-đồ>` = 7 (chạy trên tệp bản đồ, KHÔNG trên khuôn/không trên file này file này bảng trên cũng 7 dòng, nhầm mẫu số ra 14, đúng bẫy hub cảnh báo).
---
## §6 — Thứ tự wave sơ bộ (cho N4 tham khảo — N4 mới là người chốt)
> Bất biến gói: mỗi wave trỏ ≥1 TC; điều-kiện-vào = wave trước thi-công hoặc miễn-có-khai.
- **W0 (đóng GĐ-0)** dòng "đã nhận" vào `broadcasts/_index.md` + tệp bản-đồ 7 dòng + tệp theo dõi A0-1..A16 + adap-report tiếp nhận. **TC chữa: điều kiện tồn tại của mọi TC.** Phụ thuộc: không. Chi phí: <1 giờ. Làm S180/S181.
- **W1 (GĐ-1)** chuẩn-tên hợp nhất + sổ-đổi-tên máy-đọc + (tùy anh) vai giữ chuẩn. **TC-11.** Phụ thuộc: W0. do đứng sớm: luật điều-kiện-vào GĐ-2..5 đều neo GĐ-1, SE không khai miễn được.
- **W2 (GĐ-2 nâng)** vị từ CỤT/NÉN (cơ-khí AS-17/19) + mục-lục-sống runs/ + điểm-danh-2-nguồn. **TC-04, TC-05.** Phụ thuộc: W1 (tên artifact chuẩn trước khi viết máy soi). Đây wave trả lãi nhanh nhất #53 7-vai/phiên bệnh đắt nhất đang chảy máu.
- **W3 (GĐ-3 phần áp)** 4 nhãn thành văn + vòng-hỏi-ngược khuôn + liệt từng-cửa-có-tiền-kiểm + luật tự-trị-3-bậc đối chiếu ACTIVE-MARKS. **TC-06, TC-07, TC-08.** Phần cổng-mã-lỗi: treo chờ anh+hub (không chặn wave sau hub cho GĐ-4 độc lập GĐ-3).
- **W4 (GĐ-4 sổ)** sổ 3 khối + vĩnh viễn + máy 2-số + nối 2 vế vào nhip-no + 2 mục mồi từ ACTIVE-MARKS + A5/A6 thành văn. **TC-01, TC-02(dụng cụ), TC-12(nền).** Phụ thuộc: W1. **W4b (chấm điểm)**: sau khi anh duyệt wire 2 cửa công thức + 3 mốc + 4 tầng giữ nguyên ruột theo luật đã .
- **W5 (GĐ-5 phần thiếu)** sổ-khung-nhìn lượt đắt (derive từ runs/ + engine-stamp) + luật truyền-nguyên-văn. **TC-03(nền mẫu), TC-09(duy trì), TC-04.** Nhẹ, thể ghép W2.
- **W6 (GĐ-6)** chỉ mở khi W1-W5 thi công: cổng 4 tầng + bảng gốc 12-TC + mutation-test + bản-nháp-dấu + báo cáo cuối cho hub. **TC-12 (tô xanh có bằng chứng) + toàn bảng.**
## §7 — Vét ô CHƯA ĐO (đợt 2, sau lệnh đổ-ruột của coordinator)
1. **Luật tự-trị 3-bậc (GĐ-3):** `grep -n "bậc|tự vá|mơ hồ" .claude/governance/ACTIVE-MARKS.md` 1 hit duy nhất "bậc-MẠNH" (tín hiệu Sàn-3, KHÁC nghĩa). **thang 3-bậc dạng hub (rõ→tự-vá · mơ-hồ→nhánh-an-toàn · hỏi-khi-phá-huỷ) CHƯA thành văn**; SE posture-mark owner-ký (Active-High/Active/Medium/Disable) = trục KHÁC (ai-được-tự-trị-đến-đâu per-cơ-chế, không phải cây-quyết-định-khi-vắng). Khoản GĐ-3(vii): CHƯA LÀM, nguyên liệu = 2 mục mồi GĐ-4 + ACTIVE-MARKS.
2. **Tiền kiểm ở cửa phụ (GĐ-3):** `check-email.md:45` FAIL-SOFT "check-email loi (khong chan)" cùng khuôn nhip-no nhưng đó **fail-soft, KHÔNG phải tiền-kiểm-soi-cửa-đã-đóng**. Cửa `/check-email`, `/adap-*`: **không có tiền kiểm** khi làm GĐ-3, liệt từng-cửa phải khai 2 cửa này "không sinh tệp mốc / chưa tiền kiểm".
3. 🔄 **BÁC MỘT PHẦN nền lead (lead mời bác):** lead xếp `pull_warn_days` khoá trống vào LỚP-9 ghost-wire. Đo lại: `check-email.md:48` khai **"🔒 `pull_warn_days` CỐ Ý để TRỐNG anh không đặt số @S148, script cấm tự chế mặc-định"** + vế-4 đã ĐỔI VAI thành chỉ-báo-sức-khoẻ-nghi-thức. đây **owner-gated-empty CÓ KHAI**, không phải "cưỡng chế tuyên chưa máy" máy , số quyền anh, sự trống ĐƯỢC khai đúng chỗ. 2 món ghost-wire còn lại của lead (tools-whitelist-no-teeth · session_ctx_kb 0-reader) tôi KHÔNG bác chưa đo lại, giữ nhãn lead-measured.
4. **Đếm gotchas:** 2 thước đã thử đều hỏng (`^## ` = 19 header-cấp-2 mục; max token `#N` = `#482` dính "Run #482" CI, không phải gotcha). **tổng gotcha = KHÔNG ĐO ĐƯỢC bằng thước đã thử; canonical = row trong `docs/STATUS.md` (đúng B1)** người sau muốn đếm phải mở file xem format đánh số inline rồi mới viết regex, đừng dùng số 87 của đề bài khi chưa tự đếm.
5. **A5 họ-hàng ("hỏi lại phải trả phí viện dẫn"):** `grep -rln "viện dẫn" .claude/auto-memory/*.md` = **0 hit** (control-dương: cùng thư mục ls được 61 file; cụm này nằm trong THƯ HUB luật-4, không phải memory SE). A5 chưa thành văn phía SE xác nhận kết luận GĐ-4.
6. **GĐ-5 bẫy-3 (vai mới thiếu đăng ký):** `grep -n "roster|đăng ký" docs/governance/error-ledger.md` = **0 hit** (control-dương: cùng file đọc được AS-13..AS-20 đầu phiên này). SE **chưa có hồ-sơ ca giẫm** bẫy này; họ hàng gần nhất = "17/17 stale" (hardcode-count) E-009 (custom-workflow không kế thừa guard). Khi GĐ-6 làm điều-kiện-vào-danh-sách, đây bẫy PHÒNG chứ không phải bẫy ĐÃ chảy máu.
**END sub-invest-fitmap-S180 — VERDICT=PHỦ-ĐỦ-7GĐ-12TC-9LỖI; 1 xung đột triết lý (exit-0 ⟂ cổng-chặn); 4 khoản VƯỢT-KHUNG; 1 bác-một-phần nền lead (pull_warn_days = owner-gated-empty có khai); GĐ-5 gần xong nhất, GĐ-4 hổng nhất; W0 đóng được ngay hôm nay.**

View File

@ -0,0 +1,14 @@
# sub-review-n2-S180 — Phản biện bản đồ áp dụng N1 (deep-pass N2)
> **Vai:** reviewer (N2, `/fable-real`, Fable 5) · **Phiên:** S180 (2026-08-07)
> **Vật soi:** `sub-invest-fitmap-S180.md` (48.433 B, 256 dòng — ĐÃ ĐỌC TRỌN 2 lượt Read)
> **Đối chiếu:** 4 thư gốc `broadcasts/inbox/ai_infra/2026-08-04-*` (đọc lại TỪ GỐC, không tin N1 thuật) + spec + run.md
> **Chế độ ghi:** GHI DẦN TRONG LÚC LÀM — mỗi finding append ngay khi chốt. File này KHÔNG có heading chờ-điền.
## Ghi nhận mở màn (đã chốt trước khi mở thư gốc)
- N1 fitmap cấu trúc: §0 tóm 4 thư · §1 7 GĐ · §2 12 TC · §3 9 lớp · §4 phát hiện/VƯỢT-KHUNG/datum · §5 fit-map 7 dòng đề xuất · §6 wave sơ bộ · §7 vét ô CHƯA ĐO (6 mục). END-line VERDICT có.
- N1 tự khai trung thực đáng ghi nhận: (a) datum LỚP-7 tự thân §4.2 (bị coordinator bắt skeleton 15%); (b) 3 chỗ nhãn `CHƯA ĐO` ở đợt 1 được vét lại ở §7 bằng lệnh thật; (c) nhãn `lead-measured` cho 3 ca LỚP-2 không tự đo lại — khai tin-có-điều-kiện; (d) bác-một-phần nền lead (pull_warn_days) có lệnh + trích chữ.
- Điểm sẽ soi nặng theo đề: T2 claims chống lưng cho "GĐ-2 ~70%", "GĐ-5 gần xong nhất", "GĐ-3 nửa" — từng file:line phải giải được; T5 phải tự tìm xung đột thứ 2 (N1 tuyên "xung đột lớn DUY NHẤT" §4.3 + GĐ-1/GĐ-2 đều ghi "Xung đột: không").
<!-- findings append từ đây xuống -->