Files
solution-erp/.claude/workflows/runs/2026-08-07-S180-adap-upgrade-pack-phased/sub-invest-fitmap-S180.md
2026-08-07 13:39:48 +07:00

60 lines
6.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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]`