# run — 2026-07-16-S125-fable-real-adap-review

> Engine-đắt **/fable-real** (H21 lệnh-A, owner-invoked trong đề-bài S125). **Vai compound anh gõ: "review và invest" = reviewer + investigator-codebase** (khớp tiền lệ hub run `2026-07-11-s87 invest-review`; KHÔNG phải em tự chọn — honest-note H21(a)). Lead phiên = Fable 5 ⇒ deep-pass chạy INLINE bởi chính lead (single-context; propose/verify/ghi collapse — mitigation: MỌI finding đều có evidence đĩa/lệnh, không finding nào đứng bằng self-trust).

## taskList snapshot
1 lane single deep-pass (review đối-kháng wave adap S125 + invest trạng-thái repo) → spec-file + checklist cho hmw @Opus 4.8 MAX. (`taskList.length=1 < 3` ⇒ gate hmw.js không cắn — cờ/folder vẫn tạo per §H21① artifact-trace.)

## Bối cảnh wave adap S125 (việc được review)
- `/check-email AI_INFRA`: directed 14/14 đã nhận từ trước, 0 mail mới; fan-out `outbox/all` 65 file → 64 có adap-report, **1 mới**: `phuong-phap-dem-token-tien-de-vong4`.
- `/adap-apply` broadcast mới (type:new NOT-adopt): negative-control tái lập + relabel mislabel-as-real S124 + vá tooling hash-verify + adap-report/-request + email đính chính hub.
- STAGE-2 hygiene: 7 broadcast processed move root→`inbox/ai_infra/`.

## Ground-truth đã verify (evidence từng dòng)
1. **Hash broadcast:** false-TAMPER ban đầu do **verifier SE hỏng** (PS 5.1 `Get-Content -Raw` decode UTF-8-no-BOM bằng ANSI → mojibake `PhÆ°Æ¡ng-phÃ¡p…` → `07238c8d…` ≠ declared) — chẩn bằng: sibling known-good CŨNG fail (loại file-specific) + git hub 1-commit/worktree-sạch (loại tamper-sau-publish) + chạy chính `AI_INFRA\scripts\stamp_verify.py` → **OK canonical `e0bb5bbf…` exit-0**. Byte-safe re-hash: reply-wave-s122 `7fca0deb…` MATCH + 3 outbound SE 3/3 MATCH (stamping SE lành, chỉ verify-path hỏng).
2. **Negative-control (3 probe scratchpad 150.000 chars):** `'a'`-lặp → notice "150,006 tokens" ~1,0/char · `'x'`-lặp → **150,006 Y HỆT** (content-independent) · mixed-ASCII → 143,251 ~0,955/char ⇒ notice-N = **heuristic họ-đếm-ký-tự = CẬN-TRÊN**, không phải tokenizer (tokenizer thật nén lặp ≪0,1/char). Caveat: ASCII-only n=3; offset +6 chưa truy nguồn.
3. **Relabel:** STATUS:41 · HANDOFF:5 ×2 · do-token report +ADDENDUM · reviewer MEMORY +correction. Math re-verify: 124.503/4=31.126 ✓ · 31.126/380K=8,2% ✓ · 70.892/380K=18,7% ✓ · tổng [46K–103K]=[12,2–27,1]% ✓ · 70.892/124.503=0,569≈0,57/byte ✓. Sweep cùng-lớp: KHÔNG còn floor-sống "token thật/real-token/đo được" gắn notice-count ngoài context đã-sửa (17 hit còn lại = frozen evidence/quote-corrected/generic-VN "đo được" acceptance-wording).
4. **2 command vá:** `check-email.md:17` + `send-email.md:28` → byte-safe formula + CẤM `Get-Content -Raw` + verifier-suspect-first. Verify hiển thị `﻿` escape (3 lần Edit đầu FAIL vì pipeline sinh-chữ render escape→ký-tự-BOM-thật; fix build-from-codepoint `[char]0x5C`+'uFEFF' — bẫy tooling đáng nhớ).
5. **Email hub `2026-07-16-…dinh-chinh-token-label-hash-verify`:** stamp `6f5f7937…` → **EDIT chính-xác-hoá nguồn** (near-miss tự bắt: suýt claim "snippet hub dùng Get-Content -Raw" — mở hub `check-email.md:18` thì snippet **để HỞ decode** (`$txt` không định nghĩa) + hub **ĐÃ CÓ** script-verify s76 `check_email_pull.py`:31 — sửa cả email + adap-request sang khung "pin-decode fallback + nhân tuyến script sẵn-có", KHÔNG nhận vơ) → **RE-STAMP `58f5afd8…`** + `_index` sync + selftest `stamp_verify.py` **exit-0 ×2** (trước & sau edit — không để stamp-then-edit sống).
6. **FYI hub:** `do-token` + `h17-cadence-bookend` publish **thiếu content_sha256** (script hub: NO-DECLARED-SHA) — trái adap-broadcast bước 5 / G-024/E-025.
7. **STAGE-2:** `git mv` 7 file → `inbox/ai_infra/`; root còn `README.md` (backlog audit sạch). 7/7 có adap-report (dedup-key check từng cái).

## Invest — trạng-thái repo (probe S125)
- **auto-memory:** 50 file TRACKED + 0 porcelain ⇒ **R6 git-track ĐẠT** (carry usermem thu hẹp còn: runtime-WRITE-path verify sau restart).
- **Agent pin:** 15 file `.claude/agents/` = 14 role (`model: opus` 14/14 + `effort: max` 14/14) + README.md (không frontmatter — benign).
- **6 product carries owner-held:** uat-s117 · pe-phanquyen · bvaau · binh-le · tra-bui · account-trung — **6/6 CÒN trong HANDOFF** (0 rớt).
- **H24:** counter=4 (tick S125 content-addressed HEAD `3aacdf9`), last light+deep@3, cadence 6/15/3 ⇒ **chưa tới nhịp**, 0 class repeat ≥3.
- **all-inherit residue:** `fable-real.md:37` floor-sống STALE (file KHÔNG nằm trong sync-list S124 = gap thật) + `fable-clone.md:43` residual-asym trong-file (:57 đã update, :43 sót) → **CẢ 2 VÁ S125**. `session-start.md:52` + `hmw.js` comments = lineage/so-sánh hợp lệ (GIỮ). Sweep repo-rộng còn lại → giao Opus (spec B1).
- **Stop-hook wal-flush:** KHÔNG fire per-turn phiên này (HEAD đứng `3aacdf9` suốt phiên) — dirt 22 rows đợi commit chủ-động.
- **Dirt phân loại:** 5 pre-session (self-compact monitor S125-start: harvest-curator/tooling-auditor MEMORY+archive + counter tick) + 17 session-work (relabel/report/request/email/move/vá) — TẤT CẢ thuộc commit S125, 0 lạ.

## Verdict
**PASS-WITH-SELF-FIXES** — 2 near-miss tự bắt trong lượt (false-tamper→verifier-RCA · source-claim→mở-file-nguồn), cả 2 sửa TRƯỚC khi ra ngoài. 0 finding tồn chưa xử ở phần đã làm; phần còn lại = spec checklist (restart-dependent + owner-gated + fan-out) → `spec-adap-review-s125-16-07-2026.md`.
