# Session S108 — 2026-07-10 — Fable-real FIRST-REAL-RUN + runbook 60KB + email-chain AI_INFRA

> **Type:** governance/docs-only — 0 prod-code (hmw.js đổi COMMENT-only). **HMW-ON + fable-real-ON** (anh gõ `/fable-real` trong lệnh đầu phiên).
> **Lead runtime:** Fable 5 (S107→S108 liên tục, cùng conversation). 4 commit: `69957fd` → `f1af05c` → `5d13b48` → closeout.
> **Lệnh anh:** check-email AI_INFRA + adap-apply/request/report + send-email · "Fable-real invest và review plan cụ thể hàm/biến/checklist → ra File" · "ultra-on fan-out đám Opus 4.8 MAX xử lý" · "/fable-real review check lại".

## 1. Email-chain AI_INFRA

- **STAGE 1:** 0 thư mới (9/9 outbox→se processed ≤07-04). `/adap-apply` n/a · `/adap-report` n/a-no-new.
- **`/adap-request` MỚI:** [2026-07-10-se-registry-hot-reload-new-agent.md](../../governance/adap-requests/2026-07-10-se-registry-hot-reload-new-agent.md) — finding S107 hot-reload agent-MỚI (classify: infra), bảng verified-vs-chưa (ADD ✅ n=1 / EDIT ❓ / command-body ❓), đề nghị AI_INFRA verify n=2 + broadcast thu hẹp S27-lesson fleet.
- **`/send-email`:** `2026-07-10-se-to-ai_infra-s107-office-document-hotreload-fable-real-first-run` — sha `8d14405f…` **selftest-6c MATCH** (2-bước Write-PENDING→compute→fill→recompute, chống lệch), `_index` +1 row. 6 mục: 0-new ack · roster-12 · hot-reload · #53 data-point · first-real-run kết quả · runtime-note.

## 2. Runbook `docs/governance/fable-real-runbook.md` (~60KB — deliverable chính)

Cấu trúc: §1 dùng-nhanh-5-phút · §2 wiring (marker lifecycle semantic-INVERSE + **bảng 12 biến hệ thống** TÊN·KIỂU·NGUỒN + việc→hàm + **3 GAP-guard dạng RULE thi hành** + decision-matrix real/clone + tương-tác 2-marker) · §3 lane investigator-codebase (8 biến + spawn-template chống-#53 + JSON hmw thật + checklist 12 mục evidence-form + H5 per-run) · §4 lane reviewer (6-category + Smart-Friend + ranh giới 2-trục vs invest + checklist 12) · §5 PRE-FLIGHT/PER-RUN/POST-RUN + **AC 8 tiêu-chí đo được** + dogfood-form (đã điền kết quả first-run) + 8 anti-patterns (AP-1..8).

**Pipeline sinh:** 4 worker Opus 4.8 tier-2 role-less (Workflow `wf_2f85b3f6-3dc`, **4/4 done 0-empty** ~514K tok, schema-NHỎ 3-field) → em-main assemble + 6 stale-fix đợt-1 → 2-judge Fable review → 37/37 fix đợt-2.

**2 bẫy Workflow-tool tự-fix (→ user-memory `feedback_workflow_fanout_reliability` +S108):**
1. `args` đến script dạng **JSON-STRING** → `args.taskList.map` undefined → parse-guard `typeof args==='string' ? JSON.parse(args) : args` + resume (0 mất — fail trước khi agent nào chạy).
2. `tier:'opus'` = convention **hmw.js-only** — Workflow generic dùng `model:'opus'` trong agent() opts; không sửa thì 4 worker inherit **Fable** (sai ý "đám Opus xử lý").

## 3. FIRST-REAL-RUN H19 (dogfood — đóng honest-note engine §K:334)

- Marker ON (`git check-ignore` ✓ `.gitignore:92`) — **lần bật THẬT đầu tiên**, đúng ngày Fable UP → real = single-Fable trọn nghĩa (hết vacuously-met).
- **2 judge SINGLE-FABLE song song 2-đầu-khác-trục** (theo đúng template §3.2/§4.2 của chính runbook — dogfood đúng nghĩa):
  - 🟦 **invest PARTIAL 103/111 cite-exact** (~111 anchor): **bắt trúng bẫy honesty em cài** (email claim "đã sửa hmw.js:31" khi disk chưa sửa) · 7 cite off-by-1/2 (systematic quanh code-fence) · 1 **meta-drift 2-tầng** (drift-note runbook:123 "engine còn 9 vai" tự-stale vì em vá engine:328 → 10 vai SONG SONG lúc worker draft).
  - 🟥 **reviewer FAIL** (Smart-Friend không nể dogfood): 1 CRITICAL (email fact) + 4 MAJOR (M1 2-stale-claim sót · **M2 clone-example thiếu `tier:'opus'` = leak N×Fable trái K.D floor-2 khi Fable UP** · M3 AP-4 wording tự-toggle trái K.D-2 · M4 drift-note) + 6 minor; **core SOUND** (7 refutation-probe: JSON-shape khớp hmw từng field, marker-evidence đứng, AC đo được).
  - 2 judge **khớp chéo** C1/M4/cite-lệch = cross-validation 2-trục hoạt động; **0 garble 2/2** (VERDICT-header dòng-1).
- **Fix:** 37/37 python-applied + vá `hmw.js:30-33` comment THẬT (per-session-probe wording — lesson: comment stale làm 2/4 worker đọc sai runtime) + engine **H20 đủ-tầng** (§K.C:328 "9→10 vai" · §K:334 "designed+**dogfooded** first-real-run S108" · K.D:332 S108-note "vacuously-met hết còn thường-trực") + form dogfood điền → **AC 8/8**.
- **Harvest GAP-2/3 lần đầu áp thật:** 2 entry on-behalf `[engine: fable-real-single · Fable-S108]` (1/vai, em-main single-writer).

## 4. cicd Run #491 (`69957fd`) — PASS

Gate 440 · deploy 5m06s · bundle **FROZEN** `BVyH-FY7`/`EDsZebvn` (**#69 frozen-streak ×2** #490→#491 sau rotate-#489 — cùng ngày cùng 0-fe-src: LM-in-window + real-size = ship-signal duy nhất, hash vô nghĩa cả 2 chiều) · Mig 62/89 frozen · smoke 200×3 · **path-filter verified 2 chiều** (`f1af05c` .md-only 0-run). STATUS:27 không cần hoist (hash giữ).

## 5. Closeout

- **§L.a 0 AS-hit** · guard #53: **0-garble 7/7** (4 worker schema-NHỎ + 2 judge header + cicd) — cộng dồn S107-S108 = 13/14 sạch, mitigation regime (schema-nhỏ + VERDICT-header + RETURN-format) coi như HELD-mạnh.
- **Spot-check (i) 4/4 PASS:** sha email recompute độc lập khớp · bundle-curl FROZEN đúng claim #491 · runbook grep 9×tier-opus + 0 stale-claim · engine 10-vai.
- A7 **228/228** · archive-gate 0-over-cap · budget-table: hotload 321.7KB → [80.4K..107.2K] tok / headroom 272.8K / target 0-OFF · 🌙 sleep 8d (INFORM ×3, chờ anh).
- Chore-carry phiên sau: harvest-curator ~19.4KB + cicd ~20.9KB self-compact · watch AI_INFRA phản hồi adap-request.
- Marks: 5 Active-High, n-a quyết-định mới (runbook = derived "cách bấm nút" dưới RC H19 sẵn).
- **Workflow-worker memoryDelta (role-less, hấp thụ tại đây):** W-A/B/C/D đều 4-field clean; learned chung = đọc persona thật trước khi viết checklist (khớp floor từng vai); surprise chung = engine/hmw comment stale nhiều chỗ hơn dự kiến (đã vá 3 điểm).

## 6. State cuối phiên

**Mig 62 · 89 bảng · 440 test · gotcha 79 · menu 54 · Sub-agents 12 · VALID_ROLES 10 · bundle `BVyH-FY7`/`EDsZebvn` (#491 frozen) · RAG ~2435.**

🔴 **Marker fable-real VẪN ON** — anh gõ `/fable-clone` khi muốn về ảo-default (em không tự toggle — AP-4/K.D-2).
**Carry NEXT anh:** PE số-phiếu+user · BVAAU ×3 · sleep-recovery consent · Supplier Phase B PARKED.
