---
distill-gen: 1
period: 2026-07 (S98→S119, 24 entry @start+@end)
source-verbatim: archive/2026-07.md (24 entry, 46.063B, gen-0 — snapshot @GATHER S140; NGAY SAU đó self-compact moved S123-@start vào verbatim [+4329B byte-verified] = NGOÀI scope gist này, sống ở verbatim)
pointer-style: substring (Ctrl-F) back-resolve vào archive/2026-07.md; mỗi cụm kết → substring:"<unique>" (anchors grep-verified count=1 @GATHER)
fields-per-line: VIỆC · KẾT-LUẬN(+file:line/commit) · BÀI-HỌC · BẤT-NGỜ · [confidence]
---

# Gist 2026-07 — tooling-auditor (distilled S140 sleep-compress)

## TỔNG-HỢP (5 ý — mọi số/mốc truy được về CỤM dưới)

1. **Trục nặng nhất = model inherit-chain probe:** 12 data-point (#3→#14) + S119, 9 flip Fable↔Opus / 15 phiên → verdict cứng: self-report model = **runtime-availability probe per-session, point-in-time KHÔNG steady-state**. S119 flip-9 = owner-choice (MTv3, KHÔNG outage → 0 caveat/0 revert) đổi bản chất trục. Chống churn: canonical single-owner flip-chain STATUS, derived = pointer-only (S106-propose → S107-adopt). → CỤM 1.
2. **3 lớp drift thực-sự bắt được (còn lại đa số PASS):** (a) SKILL-lag-sau-Mig (ef-core kẹt 59→61→62→66) + skills/README index-lag ĐỘC LẬP SKILL.md + permission-matrix stale-từ-Session-6 load-bearing → CỤM 2; (b) D-BUNDLE STATUS live-pointer lag — luôn triangulate cicd-MEMORY → CỤM 3; (c) DOCS canonical drift, đỉnh = STATUS:6 state-chip = detector-oracle + test-count no-oracle + module-table Migration-column (lớp check MỚI) → CỤM 4.
3. **Roster + surface tăng thật:** roster 11→12 (+office-document OD1-OD10 verified-runtime cùng-phiên) · VALID_ROLES 10→12 (+2 monitor tự-vào whitelist) · command 14→16→18 (fable-* H19 → /pause+/tiep H22) · settings.json project-level FIRST-EVER (wal-flush hook). New-alloc plugin = 0 mọi phiên (18/15/3 invariant). → CỤM 5/6.
4. **Toolbox method vàng:** post-audit-drift-cùng-ngày · `git log --` last-touch · `git show --stat` re-ground HEAD · brace-glob-void (0-match≠0-file) · marker-name-from-source · same-session-respawn≠data-point · gate-RETURN-only→mem-gap-reground · #53 return-CHẤM-DỨT-agent ⇒ "return trước làm sau" bất-khả-thi. → CỤM 7.
5. **Số/mốc era:** Mig 59/60/61/62/65/66 · 89 bảng (Mig62=18AddCol/0CreateTable count-invariant) · test 440→495→501→505→509 · gotcha 68→79→82 · menu 54 · policy 216=54×4 · bundle #484→#495 · plugin 18/15/3 + marketplace 35.

## CỤM 1 [cao] — Model inherit-chain flip-chain (Fable↔Opus per-session probe)
**VIỆC:** trục ② self-report model runtime mỗi phiên vs `settings.json:11` pin. **KẾT-LUẬN:** chuỗi S98-F→S101-O→S102-F→S103-O→S104-O→S105-F→S106-O→S107-F→S108-111-F(streak)→S116-F→S118-F→S119-O owner-choice; dp#3(S99)→#14(S111); flip-4→9. Cadence gộp canonical single-owner STATUS + derived pointer-only (agents/README:3 · session-start:37 · session-end:113) — S106-propose, anh-confirm S107. S119 MTv3 bỏ auto-revert → agents/README:3 taxonomy-lag "outage-driven/tự-về" (LOW, sinh S110 sót 9 phiên). **BÀI-HỌC:** self-report = probe-per-session; G-015 = 1-spawn probe → em-main confirm lead-runtime TRƯỚC APPEND. Flush-mỗi-flip = churn 7/8-phiên → gộp 1-chain. **BẤT-NGỜ:** "Fable VỀ" liên tục bị lật phiên sau (S102→S103, S105→S106) — flip-churn inherent BƯỚC-0.6. [cao] → substring:"inherit-chain self-report = runtime availability probe" · "CANONICAL single-owner flip-chain"

## CỤM 2 [cao] — SKILL drift: ef-core Mig-lag + README index-lag + permission-matrix Session-6
**VIỆC:** trục ① — 6 skill project + 23 standalone. **KẾT-LUẬN:** (a) ef-core kẹt Mig-cũ: S98 stuck-59→disk-61 · S104-D2 header-61 disk-62 (`20260706084342_ExpandSupplierFields.cs`) · S118 row-88 Mig66. (b) skills/README:20 stale ĐỘC LẬP SKILL.md (S105 index-Mig61 sau `af5f9d3` chỉ sửa SKILL; S118 "S113"→S117). (c) S119 permission-matrix stale từ `2abbc1d` Session-6 (2026-04-30): ~60-menu→thật 54 · ~240 vs :81 48 policy TỰ-MÂU-THUẪN→thật 216=54×4 (`Program.cs:82-88`) · còn `Bg_*` chết S61 — load-bearing (dùng thật điều-tra prod-perm S118). **BÀI-HỌC:** README≠SKILL = 2 drift độc-lập (class S50); skill-lag-sau-Mig lặp; skill dùng-thật phải soi kỹ hơn skill-nằm-im. FP đừng chase: ef-core :94/:95/:162/:179 = procedural-history module-local (H18-A ratio-band). **BẤT-NGỜ:** 1 skill TỰ-mâu-thuẫn nội-bộ (240 vs 48 cùng file) sống Session-6→S119 vì "logic vẫn đúng". [cao] → substring:"skill-lag-sau-mig" · "README≠SKILL drift độc-lập" · "chính skill dùng THẬT trong điều-tra prod-perm"

## CỤM 3 [vừa] — D-BUNDLE: STATUS live-pointer bundle-hash lag (recurring)
**VIỆC:** trục ④ chuyên-mục — con-trỏ "Bundle hash live (prod)" vs cicd-MEMORY authoritative. **KẾT-LUẬN:** gốc S98 (#483 `CeTA7Z82`/`CGaAyXen` gắn-nhầm #484; canonical #484 `mEGqlNWc`/`Dnrp4PU1`). Lag lặp: S106 kẹt #484 vs live #488 `ChSNAJBK`/`Bn2w1znH` · S107 #489 `BVyH-FY7`/`EDsZebvn` · S108 CLOSED · S111 frozen ×5 · S116 `Dd55jBpj`/`DVDr1UQ4` · S118 `cFI7ih4a`/`MxgooVZw` unchanged=ĐÚNG (BE-only). **BÀI-HỌC:** triangulate cicd-MEMORY (provenance giàu nhất) — KHÔNG tin STATUS-line đơn-độc; 2-source-trong-cùng-doc cần cross-check; lag-1-run là pattern benign (hoist + prepend giữ history). **BẤT-NGỜ:** data đúng tồn tại in-doc mà con-trỏ chuyên-dụng "live" vẫn thiếu-hoist 1 chain. [vừa] → substring:"bundle-hash-question brief hỏi" · "phải triangulate cicd-MEMORY"

## CỤM 4 [vừa] — DOCS canonical drift: STATUS:6-chip detector-oracle + test-count no-oracle + Mig-column
**VIỆC:** trục ④ tổng. **KẾT-LUẬN:** F3-S99 `session-start.md:44` "gotchas (68)" thật 79 (commands ngoài count-grep monthly). S104-D1-HIGH STATUS Mig61→62 canonical-itself-stale. S118: STATUS:6 leading state-chip = detector-oracle (canonical-parse keys off :6 → :6 lag = nguồn recurring S116/S117/S118; propose B1-collapse). Test-count NO-ORACLE (cần git-reasoning +8-commit). Lớp check MỚI: module-table Migration-column (CLAUDE:62 PE row thiếu 65,66 · :64 Master thiếu 48,62-64). ERD §16+ = known-debt carry. **BÀI-HỌC:** narrative-updated-summary-LAGGED = class lặp; STATUS count 2-nơi → :6 = oracle phải sync; Grep `-o` context-window phân-biệt current-drift vs history-delta. **BẤT-NGỜ:** test-count drift KHÔNG auto-detect được (no oracle) — khác mọi count khác. [vừa] → substring:"leading state-chip" · "narrative-updated-summary-LAGGED" · "module-table Migration-column" · "count-grep monthly"

## CỤM 5 [vừa] — ROSTER 11→12 + VALID_ROLES 10→12 + new-alloc PASS
**VIỆC:** trục ② roster/frontmatter + new-alloc plugin. **KẾT-LUẬN:** S107 roster 11→12 +office-document OD1-OD10 (`21387cd` 14-file), new-alloc 5-skill PASS ×3-chỗ (agent §SKILL + README matrix:165 + VALID_ROLES hmw.js:27 + budget.json:132). S110 VALID_ROLES 10→12 +2 monitor (CHÍNH EM vào whitelist); F1 persona 2-monitor stale "roster 10" (tooling-auditor.md:13/:22 + harvest:13) = blind-spot persona-chính-mình → B1-pointer. **BÀI-HỌC:** verified-runtime CÙNG-PHIÊN được (hot-reload agent-MỚI) nhưng EDIT-agent/command CẦN restart (S27 thu-hẹp); grep-hẹp count-cũ bắt lớp persona-self mà roster-grep bỏ sót. **BẤT-NGỜ:** monitor persona CHÍNH MÌNH khai "roster 10" sau khi roster đã 12 — self-stale. [vừa] → substring:"OD1-OD10" · "CHÍNH EM vào whitelist"

## CỤM 6 [vừa] — COMMAND 14→16→18 + settings.json FIRST-EVER; COMMAND≠Skill-tier
**VIỆC:** trục ① command-count + tooling mới. **KẾT-LUẬN:** S101 command 14→16 (+fable-real/clone H19 — COMMAND KHÔNG phải skill, SlashCommand-tier ≠ skills/<n>/SKILL.md). S108 +fable-real-runbook.md 60.586B. S111 command 16→18 (/pause+/tiep H22) + project `.claude/settings.json` FIRST-EVER = hooks.Stop `wal-flush.ps1` + WAL tracked + hook verified-runtime ×2 (`12071c5`/`67be443`). S108 marker fable-real.on = gitignore:92 KHÔNG committed. **BÀI-HỌC:** đừng conflate command auto-registered thành skill; D10 paths-ignore đổi = AS-6 class → cicd-monitor lane (không phải tooling-auditor). **BẤT-NGỜ:** settings.json project-level lần-đầu — tooling-surface mới ngoài plugin/skill. [vừa] → substring:"là COMMAND KHÔNG phải skill" · "FIRST-EVER = hooks" · "marker-not-committed"

## CỤM 7 [cao] — Method/verify shortcuts & bẫy đo-lường
**VIỆC:** đúc method + trap qua 24 entry. **KẾT-LUẬN + BÀI-HỌC:** (1) post-audit-drift-cùng-ngày = lớp riêng (audit đúng lúc chạy vẫn stale cuối ngày → per-session monitor bù). (2) `git log --` last-touch = shortcut no-change (S100/S103). (3) `git show --stat` mỗi commit — đừng tin brief-baseline HEAD (S106 bắt 2 commit post-closeout sót). (4) brace-glob-void: Grep `{a,b}/**` match 0-FILE → sweep VOID tưởng clean; phân biệt "0-match" vs "0-file-searched". (5) marker-name từ source TRƯỚC khi flag absence (S109 self-caught false-alarm). (6) same-session re-spawn ≠ data-point mới (S110 premise "+1-dòng" SAI). (7) gate RETURN-only → diary 0-entry → mem-gap re-ground-từ-git (S116-S118). (8) #53: return CHẤM DỨT agent → "return trước, làm việc sau" bất-khả-thi vật lý; LỖI Ở LỆNH em-main (S119). Mọi khẳng-định trạng-thái-đĩa phải chạm đĩa; làm→verify→return. **BẤT-NGỜ:** bẫy cấu-trúc do em-main tạo — sub mô tả ý-định "đã ghi entry sau khi trả verdict" nhưng đĩa bác (MEMORY 0-touch). [cao] → substring:"audit đúng lúc chạy vẫn stale cuối ngày" · "0-file-searched" · "return CHẤM DỨT agent" · "brace-glob" · "marker/filename LUÔN lấy từ source" · "Re-spawn lần-2 cùng-phiên" · "post-audit-drift"

## COVERAGE-TOKENS (per-file đóng-kín — nguồn: archive/2026-07.md của tooling-auditor)
**gotcha:** #74 · #76→#79 · 68→79 · #82 · #69 · #41/#47 · #37 · #78/#79·#81 (ref CLAUDE-context). **SHA:** `881783c` `8a249c5` `525a01a` `c112be9` `4263d63` `e350660` `f229b07` `5ee32c0` `3e2c18b` `62cff38` `6d217f7` `778fc98` `95f5555` `af5f9d3` `0f16c00` `41f8061` `54a2c72` `86a34d5` `1eea51b` `21387cd` `5d13b48` `69957fd` `557642f` `a9c3f1d` `72a85bf` `f5a5c3e` `38262d8` `162f0b9` `191532e` `318a271` `8aa3869` `12071c5` `67be443` `debe82f` `ac3f122` `88368fd` `d436af2` `5c7569e` `316a82f` `1b8b065` `fc1b8d9` `d08f2a3` `e88e75d` `c2135ba` `c808b9a` `e5f655f` `3fde8af` `81b59f0` `2abbc1d`. **md5:** `1760f27a`/`a6c8c75f`/`e12e5377` · `12612234`. **file:** `20260706084342_ExpandSupplierFields.cs` · `fable-real-runbook.md` 60.586B. **bundle/Run#:** `CeTA7Z82`/`CGaAyXen`(#483 gắn-nhầm) · `mEGqlNWc`/`Dnrp4PU1`(#484) · `ChSNAJBK`/`Bn2w1znH`(#488) · `BVyH-FY7`/`EDsZebvn`(#489) · `D51OYyGV`/`BVdssm5S` · `Dd55jBpj`/`DVDr1UQ4`(S116) · `cFI7ih4a`/`MxgooVZw`(S118) · Run #484-#495 · CI #386-#389. **file:line-set:** giữ nguyên theo verbatim (ef-core SKILL :3-:307 · skills/README :20/:90 · permission-matrix :3/:23/:81/:159 · STATUS :6-:112 · session-start :8-:123 · session-end :48-:143 · agents/README :1-:264 · CLAUDE :21-:131 · hmw.js :9-:35 · settings.json :11-:38 · ACTIVE-MARKS :15-:31 · engine :315-:418 · Program.cs:82-88 · budget.json :4/:132 · gitignore:92). **guard/root-cause:** post-audit-drift-lớp-riêng · README≠SKILL-độc-lập · COMMAND-tier≠Skill-tier · brace-glob-void · marker-name-from-source · same-session-respawn≠data-point · gate-RETURN-only→mem-gap · return-terminates-agent(#53) · triangulate-cicd-MEMORY · STATUS:6-chip=detector-oracle · test-count-no-oracle · git-log-last-touch · git-show-stat-reground · hot-reload-agent-MỚI/EDIT-cần-restart · new-alloc=0(plugin) · ratio-band-FP-module-local · alias-mapped-benign (wave-folder/Dự-trù-PRO/two-tier) · VALID_ROLES-9-product-by-design. **Counts era:** Mig 59-66 · 89 bảng · test 440/495/501/505/509 (D45+I450/456/464) · gotcha 68/79/82 · menu 54 · policy 216=54×4 · roster 11→12 · VALID_ROLES 10→12 · command 14→16→18 · plugin 18/15/3 + m35 + effortLevel:xhigh · skill 6+23. **Drop `thấp`:** 0 cụm (không cụm nào tag thấp).
