60 lines
6.9 KiB
Markdown
60 lines
6.9 KiB
Markdown
# sub-invest-fitmap-S180 — BẢN-ĐỒ ÁP-DỤNG gói nâng cấp 7 GĐ cho SOLUTION_ERP
|
||
|
||
> **Vai:** investigator-codebase (N1, `/fable-real`, Fable 5) · **Phiên:** S180 (2026-08-07)
|
||
> **Đầu vào đã ghim:** spec `spec-adap-upgrade-pack-phased-07-08-2026.md` + 4 thư `broadcasts/inbox/ai_infra/2026-08-04-Governance-upgrade-pack-phased-*` (33.156 + 46.416 + 30.502 + 9.970 = 120.044 B — ĐÃ ĐỌC TRỌN cả 4, không đọc qua tóm tắt).
|
||
> **Trạng thái file:** GHI DẦN TRONG LÚC LÀM (chống #53). Mục nào chưa xong sẽ có nhãn `[ĐANG ĐO]`.
|
||
> **Ràng buộc thi hành:** `KHÔNG ĐO ĐƯỢC` là verdict hợp lệ · 0-hit kèm control-dương · 4 ô hub để chữ (TC-02/03/07/10) GIỮ NGUYÊN CHỮ · khoản vượt-khung đánh dấu `VƯỢT-KHUNG`.
|
||
|
||
---
|
||
|
||
## §0 — Hub đòi gì (tóm trung thực từ 4 thư gốc)
|
||
|
||
**Thư chính (33.156 B, sha khai `43db2cf0`):** 7 GĐ tuần tự có luật điều-kiện-vào (GĐ trước *đã thi công* HOẶC `không áp dụng` có khai) + luật nấc 5 bậc `đã gửi → đã nhận → đã đồng ý → đã thi công → đã được kiểm chứng` (nấc cuối CHỈ hub cấp) + luật bằng chứng (lệnh chạy được; không dịch được ⇒ `KHÔNG ĐO ĐƯỢC`). Bảng bệnh 12 TC là **hợp đồng nghiệm thu**: GĐ nào không trỏ về ≥1 TC là đồ chơi. 4 ô cố ý để chữ: TC-02 *chưa có dụng cụ* · TC-03 *chưa đủ mẫu* · TC-07 *chưa có dụng cụ* · TC-10 *KHÔNG ĐO ĐƯỢC*. GĐ-4 kéo sớm được (độc lập GĐ-2/3/5); GĐ-5 phụ thuộc môi trường (`không áp dụng` nếu không có hạn mức ≠ tụt lại). Sàn chức năng bắt buộc nếu adopt = đoạn in đậm món 2 + 6 luật rút ra; hình thức tự do, CẤM chép hình thức hub. Track table 6 kho; se thuộc nhóm hub hỏi tiến độ mỗi phiên.
|
||
|
||
**Phụ lục spec-pitfall (46.416 B, sha khai `49287ce7`):** 9 lớp lỗi xuyên suốt (LỚP-1..9) + per-GĐ {sàn chức năng · bẫy đã giẫm · nghiệm thu}. Điểm đáng chú ý: hub tự khai KHÔNG neo commit-hash vì toàn bộ hash trích dẫn xuyên đợt đã rời nhánh sau history-rewrite → neo bằng tên vật chứng + lệnh tái lập.
|
||
|
||
**Khuôn (30.502 B, sha khai `98e31fad`):** Phần A fit-map 7 dòng (điền GĐ-0, mỗi dòng `áp dụng`/`không áp dụng`+lý-do/`hoãn`+điều-kiện-gỡ; lệnh tự kiểm `grep -c '^| GĐ-[0-6]'` = 7 — chạy trên tệp bản đồ, KHÔNG chạy trên tệp khuôn vì khuôn chứa bảng 7 dòng thứ hai → ra 14). Phần B khuôn báo cáo 10 mục (tối thiểu bắt buộc: bằng-chứng-đã-ghi-đĩa + kết-luận-mọi-khoản + bằng-chứng-chạy-được + nấc-tự-khai-đúng-luật ≤ *đã thi công*, khai theo TỪNG GĐ). Phần C danh mục kiểm v1: A0-1..A0-4 (ghi đĩa ngay) + A1..A10 (sàn chức năng, chủ yếu GĐ-4) + A11..A16 (chống adapt-thiếu; A16 MỚI: khai máy-hay-tay).
|
||
|
||
**Luật chấm điểm (9.970 B, sha khai `c24699f0`):** ĐÃ KÝ 04-08-2026, mã dấu `RC-pqhuy1987-04-08-2026-15-05-00` (xuất hiện đúng 1 lần trong bộ). Công thức `điểm = max(0, 10 − số MỤC bị lặp từ lần ≥2)` — trừ theo MỤC không theo lần, lần đầu không trừ. 4 tầng (điều phối tự chấm → vai đọc sổ đếm độc lập → vai 3 kiểm PHÉP ĐẾM cấm chấm lại → chủ dự án quyết cuối). Niêm phong im-lặng cần 3 mốc `emit_ts`/`redisplay_ts`/`first_owner_msg_ts`; thiếu mốc 3 = *chờ niêm phong*. Nguồn đếm = SỔ là chính, transcript là gương; **chưa có số phủ sóng thì in "KHÔNG ĐO ĐƯỢC", CẤM in điểm**. Đo TRẢI NGHIỆM chủ dự án, cấm trộn với phép đo kỹ thuật. Kho adopt GĐ-4 áp thẳng không cần hub ký lại; hình thức đổi được, công thức + 3 mốc + ranh giới tầng thì KHÔNG.
|
||
|
||
**Nguồn-thật đối chiếu:** bản đang nằm ở `broadcasts/inbox/ai_infra/` có frontmatter `status: DRAFT` + `reviewer_gate: PENDING` + `nac: draft` — xem phát hiện F-1 bên dưới (§4).
|
||
|
||
---
|
||
|
||
## §1 — TRỤC 1: 7 GĐ × trạng-thái SE thật
|
||
|
||
### GĐ-0 — Tiếp nhận và bản đồ áp dụng
|
||
|
||
**Hub đòi:** 4 món trên đĩa + hash khớp · tệp theo dõi tiến độ per-khoản · dòng "đã nhận" trong sổ liên lạc · fit-map 7 dòng không dòng trống · gửi báo cáo tiếp nhận (ghi kho mình).
|
||
|
||
**SE đã có:**
|
||
- 4 món ĐÃ trên đĩa: `broadcasts/inbox/ai_infra/2026-08-04-Governance-upgrade-pack-phased-*.md` (ls xác nhận 33.156/46.416/30.502/9.970 B — khớp byte hub khai).
|
||
- Hash verify 4/4 **OK canonical** bằng máy có sẵn `scripts/stamp_verify.py` (exit=0; canonical = strip `\r` → split 2nd `---` → strip 1 leading `\n` → sha256 utf-8). Lệnh tái lập: `python scripts/stamp_verify.py broadcasts/inbox/ai_infra/2026-08-04-Governance-upgrade-pack-phased-*.md`.
|
||
- ⚠️ Ghi nghề: phép tự chế (split `'---\n'` naive) cho MISMATCH cả 4 — nếu tin phép tự chế đã kết luận sai "tamper". Máy canonical mesh ĐÃ có thì dùng máy (đúng bài feedback_h18 hash-verify-trước-khi-áp).
|
||
- Sổ liên lạc TỒN TẠI: `broadcasts/_index.md` (append-only, cột `sha256(12)` + `verify` ✓/✗, INBOUND/OUTBOUND) — hạ tầng A0-3 có sẵn.
|
||
- Kênh báo cáo TỒN TẠI: `broadcasts/outbox/ai_infra/` (15+ báo cáo se→hub, gần nhất 2026-07-26) + khuôn `/adap-report` (`.claude/commands/adap-report.md`) + kho `docs/governance/adap-reports/`.
|
||
- Run-folder S180 này + spec-pin = phôi "tệp theo dõi tiến độ".
|
||
|
||
**SE thiếu (đo được):**
|
||
- 🔴 Dòng "đã nhận" cho bộ 4 món: `grep -n "upgrade-pack-phased" broadcasts/_index.md` = **0 hit** (control-dương: `grep -c "harness-22"` = 3 → thước sống). ⇒ A0-3 CHƯA LÀM dù thư đã nằm inbox 2 ngày (mtime 08-05).
|
||
- Fit-map 7 dòng: chưa tồn tại (file này = nguyên liệu để lead dựng; §5 dưới có bản đề xuất).
|
||
- Tệp theo dõi tiến độ liệt từng khoản A0-1..A16: chưa có.
|
||
- Adap-report tiếp nhận: chưa gửi (spec xác nhận "CHƯA ÁP — 0 adap-report").
|
||
|
||
**Xung đột:** không.
|
||
**Điều kiện vào:** thoả (bộ đã nằm hộp thư chung). **Nấc hiện tại: giữa "đã nhận" (vật lý trên đĩa) và "đã nhận" (đúng luật — thiếu dòng sổ)**. Việc còn lại của GĐ-0 ước < 1 giờ máy: 1 dòng sổ + fit-map + tệp theo dõi + report.
|
||
|
||
---
|
||
|
||
### GĐ-1..GĐ-6 `[ĐANG ĐO — append tiếp]`
|
||
|
||
## §2 — TRỤC 2: 12 TC × bệnh SE `[ĐANG ĐO]`
|
||
|
||
## §3 — TRỤC 3: 9 lớp lỗi × ca SE đã giẫm `[ĐANG ĐO]`
|
||
|
||
## §4 — Phát hiện ngoài đề bài / xung đột / VƯỢT-KHUNG `[ĐANG ĐO]`
|
||
|
||
## §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]`
|