Files
solution-erp/.claude/agent-memory/tooling-auditor/MEMORY.md
pqhuy1987 4727d16178 [CLAUDE] Docs: S119 adap 6 broadcast AI_INFRA - dieu tra chieu rong + spec v3 (dung truoc wave)
check-email 6 broadcast moi (H23 model-at-spawn / H24 lead-self-audit / H22 wal-defect-fix
5-san / H22 push-guard / EOL-CRLF agent-registry / owner-sign) - hash 7/7 + tamper 4/4 MATCH.

Pipeline H21: fable-clone invest 5-lane (wf_1f6bd5e2-478, 5/5 clean) -> spec v1 ->
fable-clone reviewer 4-lane (wf_78a84f9b-03e: R2 FAIL 4C+8M, R3 FAIL 5C+6M, R1/R4 chet #53)
-> v2 -> fable-real reviewer cong-cuoi (wf_cb964f83-331: GO-WITH-FIXES + 8 fix + 2 honesty-C)
-> v3 (STILL-BROKEN = 0). Anh chot B: dung tai spec, wave chay phien sau qua /tiep.

Do that: 57 wal: da lot origin/main (hub do duoc 1 -> SE = 57x); nguyen nhan KHONG phai
turn-seam ma la session-end.md:113 SE tu viet "kep sau -> GIU NGUYEN". K troi 3->10/buoi.
v1 SE GAY MAT VIEC (R3 fault-inject: NONWAL=0 -> 0 commit de fixup -> detached HEAD ->
hook fail-open -> abort -> mat worktree = E-029 bang cua sau).

Owner 6 chot: nguyen-tac moi (vuot-khung = request anh + AI_INFRA) / PA-2 = PA-2a hang-so +
PA-2b audit / 6-15-3 / [carry:slug] / KHONG don 57 / fix#8 (a)(b).

0 prod-code, 0 migration, 0 FE. Test 509 giu nguyen (45D + 464I).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-15 11:20:29 +07:00

22 KiB
Raw Blame History

Tooling-Auditor Agent — Persistent Memory

Persistent diary cross-session. Auto-injected first ~200 lines at spawn (L1 HOT). Update BEFORE every stop. Tiered Memory v1: L1 HOT (hook hard-limit <17KB) · L2 archive/2026-06.md verbatim on-demand · L3 RAG search_memory. Keep entry ≤ 1.5K chars. NEW agent 2026-06-07 (adopt AI_INFRA Harness 1 — H1 tooling-freshness; TÁCH khỏi harvest-curator H2 per anh-mandate "H1/H2 hay quên+nhầm → riêng-biệt"). Compacted S99 2026-07-02 (19.6KB→~9KB, 12 entry 06-xx → archive NGUYÊN VĂN) · S105 2026-07-07 (19.4→~16KB, S98-S100 → archive/2026-07.md) · S106 2026-07-07 (19.7→14.9KB, S102-S104 @start → archive/2026-07.md; byte-verified md5×3 @S107) · S107 2026-07-10 @end (17.8→16.2KB, S101+S105 @start → archive md5×2) · S109 2026-07-10 @start (17.2→~13KB, S105-end+S106-start → archive md5×2) · S111 2026-07-12 @start+@end (18.35→16.9→~16.4KB, S107×2+S108-end [@start ×2-pass] + S109-start [@end pass-3] → archive fragment+size-verified) · S116 2026-07-13 @end (17.06→13.5→~15.4KB, S110 @start+@end → archive/2026-07.md verbatim sed-append +3643B-verified) · S118 2026-07-14 @start (15.7→~15.4KB, 7 pointer-entry S98→S106 gộp 1-digest — verbatim ĐÃ ở archive từ compact trước, 0 move mới).


🎯 Role baseline

H1 tooling-freshness auditor SOLUTION_ERP-self. Read-only + propose-only (em main = single-writer; NGOẠI LỆ duy nhất: diary/archive của chính mình). Tools: Read/Grep/Glob/Bash + 4 RAG-read. NO store_memory. Audit 4-mặt mỗi session: skill · sub-role · plugin · docs — đầy-đủ + kịp-thời. @session-start báo state + diff-vs-last; @session-end chốt + new-alloc audit. 🔴 Final message = VERDICT trực tiếp, KHÔNG narrative memory-curation (#53 return-garble ×4).

🚫 Split boundary

  • MINE: tooling/docs freshness (4-mặt) + roster-drift + skill/plugin new-alloc — SOLUTION_ERP-self
  • NOT: harvest-memory/5-trục → harvest-curator (H2) · corpus/RAG/deploy → cicd-monitor · code/SQL audit → investigator-codebase · write/decide → em main

📋 Baseline state (re-ground 2026-07-02 S99 — VERIFY mỗi session, đừng tin số cũ)

  • Roster: 12 sub (S107 +office-document 📄 Office WRITE, anh giao), 12/12 model: inherit (Harness-8 all-inherit, runtime-verified S98 — Fable 5 RESTORED, inherit-chain self-report claude-fable-5). 10 product/quality (investigator-codebase/api · implementer-backend/frontend · test-specialist · reviewer · cicd-monitor · frontend-designer · database-agent read-advisory · office-document Office S107 verified-runtime cùng-phiên [hot-reload agent-MỚI ăn thật — S27 lesson chỉ còn EDIT-agent/command]) + 2 monitor INFORM-only (tooling-auditor · harvest-curator). VALID_ROLES hmw.js = 12 đủ roster (+2 monitor S110 anh-directed; monitor vẫn INFORM-only, lane RETURN-only).
  • Skills: 6 project (.claude/skills/) + 23 standalone (~/.claude/skills/) + 18 command-file (S101 +fable-real/clone · S111 +pause/tiep H22) (.claude/commands/ — hmw = script workflows/hmw.js, KHÔNG phải slash-command).
  • Plugins: 18 registered (15 enabled / 3 disabled: pr-review-toolkit · code-modernization · hookify) user-global ~/.claude/settings.json:17-35 · marketplace 35 · settings model: claude-fable-5[1m] + effortLevel: xhigh + :38 skipWorkflowUsageWarning (first-noted S111). ⚠️ S111 H22: project .claude/settings.json RA ĐỜI = hooks.Stop wal-flush.ps1 ONLY — KHÔNG plugin/model override → authority ③ VẪN user-global (đừng conflate 2 file settings).
  • Docs canonical: CLAUDE.md (root+docs) · docs/STATUS.md (số canonical B1) · docs/HANDOFF.md · .claude/agents/README.md · docs/governance/.

⚠️ Anti-patterns

Tự sửa config/doc/enable-plugin (propose-only) · conflate plugin "enabled"="used" (installed≠enabled≠assigned≠used) · tick-checkbox no-evidence · đụng harvest-memory (harvest-curator) · G-015 overclaim "read-only enforced" (Bash residual = write-channel mở).

🧭 Method distilled (S50-S98 — chi tiết verbatim archive/2026-06.md)

  • Ground-truth MỌI count từ disk: settings.json enabledPlugins = authoritative plugin# · skills/README.md ≠ SKILL.md frontmatter (drift độc lập) · Migrations ở Infrastructure/Persistence/Migrations (KHÔNG Infrastructure/Migrations).
  • Test count: KHÔNG attr-count [Fact]/[Theory] (Theory expand runtime) — tin session-log/test-run/STATUS.
  • Bundle-hash: KHÔNG tin 1-source — triangulate (cicd-MEMORY = provenance giàu nhất Run#+sha+rotate); anh-cite chưa verify được → flag "unverified", KHÔNG copy.
  • gotcha format: entry = ### N. KHÔNG #N — verify format trước khi claim missing.
  • commands/*.md + ultra-on.md = trong radar: roster-grep (S57 catch) + count-grep (S99 catch "(68)") — lớp file hay bị monthly-audit bỏ sót; index/README files cũng vậy (S50).
  • Drift born-SAU-monthly-CÙNG-NGÀY = lớp riêng (S97/S98) — per-session monitor bù lớp monthly không thấy.
  • system-reminder claudeMd header = pre-session snapshot → re-Read line thật trên disk, KHÔNG tin context-injection. Brief "chưa flush" cũng = snapshot lúc spawn → re-ground disk hiện tại (S58).
  • Backlog/coords trong HANDOFF phải re-verify trước khi tin (stale-contradiction S57-resume).
  • Model spawn-test: frontmatter no hot-reload — pin/inherit ăn SAU restart CLI; self-report nguyên văn = bằng chứng runtime (H4 S57bis · H8 S98).
  • Tool-gotchas: Bash nuốt $ PS-inline → powershell -NoProfile -Command escape \$ · PS Get-Content -Raw+-TotalCount mutually exclusive → dùng Grep tool ^model:.
  • Return-cut giữa emit (S58) = finding chính vẫn salvageable từ partial return; emit finding chính SỚM trong report.
  • Grep-tool brace-glob {a,b}/** match 0-FILE → sweep VOID tưởng clean (S105) — re-run per-dir; phân-biệt "0-match" vs "0-file-searched".

📅 Recent activity (FIFO — older → archive/2026-06.md verbatim)

  • 2026-06 (12 entry S50→S66 → archive): CREATED+first-run verified-runtime (S50 3-drift: plugin 15→18 · ef-core 31→43 · gotcha 49→57) · S51 new-alloc database-agent STRONG-FIT/codebase-agent SKIP · S57×2 (ultra-on+session-start roster catch; VALID_ROLES 9) · H4 demote spawn-test ×2 (pin ăn post-restart, demote-watch #1 OK) · post-S57bis count-drift top-5 · S58 return-cut-partial · S59×2 ALL-FRESH (bundle triangulate 4-src; SearchableSelect=code KHÔNG skill) · S63 H5 opus-collapse confirm + ef-residual · S66 H8 all-inherit flip (7 pin→inherit). → archive/2026-06.md.

  • 2026-07-02→07-07 (S98→S106 digest — 7 pointer-entry gộp S118; verbatim ĐÃ ở archive/2026-07.md từ compact trước, 0 move mới): S98 Fable-restore + ef-core stuck-59 · S99 F1 flip-miss / F2 SendMessage-stale / F3 command-count "(68)" · S100 ALL-PASS + method git log -- .claude/skills/ last-touch · S101×2 MODEL-DRIFT first-catch (self-report = per-session probe, đừng tin last-session claim) + cmd 14→16 fable-real/clone COMMAND-tier≠skill · S102-S104 flip-chain #6-#8 + S104 Mig-62 ship docs-lag D1-HIGH (table 89 count-invariant 18-AddColumn; git show --stat = commit-scope nhanh) · S105×2 skills/README:20 Mig-61-stale + 4-patch LANDED + FLAG-M closed 3/3 · S106 D-BUNDLE gốc STATUS:27 #484→#488 + CADENCE-proposal (adopted S107) + ĐỪNG-tin-brief-baseline-HEAD (re-ground git log mỗi commit-mới). Lesson brace-glob hoisted → Method.

  • 2026-07-10 (S107 @start + @end → archive/2026-07.md verbatim, compact S111): @start ALL-4 PASS flip-8-Fable (data-point #11) + self-compact-S106 md5×3 LOSSLESS + D-BUNDLE/D-MODEL closed + CADENCE-proposal ADOPTED (STATUS:24 canonical 1-chain) · @end roster 11→12 +office-document VERIFIED-RUNTIME cùng-phiên (hot-reload agent-MỚI; S27 lesson thu-hẹp EDIT-only) + new-alloc 5-skill PASS ×3-chỗ + D-BUNDLE-lặp #489 (→ closed S108) + residual-grep 0-sót.

  • 2026-07-10 (S108 @end → archive/2026-07.md verbatim, compact S111): ①②③ 0-đổi PASS · ④ PASS +runbook 60KB · marker ON-not-committed ✓ (gitignore:92) · D-BUNDLE S107 CLOSED (STATUS:27 hoisted #489) · propose-LOW runbook-pointer ×2 (→ APPLIED S109 557642f).

  • 2026-07-10 (S109 @start → archive/2026-07.md verbatim, compact S111-end): ALL-4 PASS 0-flag · Fable streak-3 #12 · runbook-pointer propose-S108 APPLIED-verified 557642f · sleep-PAUSED resume-point nhất-quán budget.json · ⚠️ lesson marker-name: resolve tên THẬT từ source (fable-real:11/.gitignore:92) TRƯỚC khi flag absence (suýt false-alarm .fable-real-active).

  • 2026-07-12 (S111 @start RE-REPORT — ALL-4 PASS + 1-FLAG LOW STATUS:39 mark-row stale; Fable streak-5 data-point #14; L1-over-cap self-compact): HEAD 191532e CLEAN; 1 commit post-38262d8 = closeout 10-file (git show --stat: 2 persona F1 + runbook F2 + 3 diary + session-log 44L + run-synthesis committed [H10 ✓] + STATUS/HANDOFF). F1/F2 S110 FIXED-verified: persona tooling-auditor:13/:22 + harvest:13 = B1-pointer "đếm DISK/README" (persona MỚI load trong CHÍNH spawn này = restart ĂN, runtime-proof) · runbook:148 quote mới "§K.C:332 … 12 vai khớp hmw.js:22-30". ①PASS 6+23+16 identical, last-touch 0f16c00 S105; 4 cmd EDIT S110 loaded: ss:27-35 BƯỚC-0.5b per-invocation + fable-real:2/:9/:17 + fable-clone:2/:21 <vai> <đề-bài> + marker ABSENT ls-verified (engine:329 gitignore:92 giữ phòng-hờ). ②PASS 12=12=12 (README:1/:3 · STATUS:24) + VALID_ROLES 12 (hmw:22-30 = README:208) + 2 persona-edit re-verified inherit:5 (10 file còn lại untouched-since-S110-grep per git). ③PASS 18/15/3 + m35 + fable[1m]:11 + xhigh:37; INFO first-noted settings:38 skipWorkflowUsageWarning (ngoài git không date được, không phải plugin — vào baseline). ④1-FLAG LOW: STATUS:39 "Mark-proposal … pending anh confirm" STALE — mark ĐÃ stamped (ACTIVE-MARKS:19 Active-High anh-confirm-S110 + :31 H19→📦 + chính STATUS:38 🟢 done + HANDOFF:5 "stamped") → propose flip :39 → 🟢 done stamped-S110 RC-…20-42-01 (row thêm pre-stamp trong debe82f, quên flip @ac3f122/closeout). Còn lại PASS: engine §K.E:338 + :332 · ACTIVE-MARKS:19 row mới verbatim · STATUS:14 Mig62/:15 89 · STATUS:27 BVyH-FY7/EDsZebvn VẪN ĐÚNG (cicd:55 FROZEN ×5 #490→#494, D-BUNDLE không tái) · residual stale-10 sweep 4-dir ACTIVE = 0 (3 hit = run-trace + 2 adap-report history-frozen). Model: self-report claude-fable-5 (…S109F→S110F→S111F streak-5). Tag [s111-start, all-pass-1-low, mark-row-stale-catch, f1-f2-fixed-verified, self-compact-s111].

  • 2026-07-12 (S111 @end CHỐT — H22 WAL: ①CMD 16→18 · ②③ 0-đổi · ④ 1-FLAG LOW arch:377; new-alloc 0-external; FLAG-1 CLOSED): +2 commit (318a271 STATUS:39 flip LANDED · 8aa3869 H22 30-file) + tree 1-M WAL.md = hook-persist expected (squash §5.0 — ĐỪNG flag stray). ① /pause+/tiep = COMMAND-tier lead-only (sub không invoke slash → KHÔNG map vai). ③ TOOLING-MỚI: project .claude/settings.json FIRST-EVER = hooks.Stop wal-flush.ps1 ONLY · WAL.md TRACKED 15/40-dòng · hook VERIFIED-RUNTIME ×2 12071c5/67be443. ④ anchors đủ (chi-tiết → session-log S111 + return-text): ss:47-54 BƯỚC-0.7 · se:111/:143 · hmw:9/:19 ≥3-task/>5' · ACTIVE-MARKS:20 row-6 AH · engine N:401/:418 · rules:225 · CLAUDE:21 (docs/CLAUDE 0-hit by-design) · C5:412 · deploy.yml D10 +2 path → AS-6 class đổi — cicd-monitor lane. 🟡 FLAG LOW: docs/architecture.md:377 enumerate paths-ignore 3-entry CŨ thiếu 2 path D10 → propose +2 hoặc B1-pointer→deploy.yml (gotchas #41/#47 = narrative-history OK; migration-todos:154 generic OK). Tag [s111-end, h22-wal, cmd-18, settings-json-first, d10-cicd-handoff, arch-377-stale].

  • 2026-07-13 (S116 @end CHỐT — PE nhập-giá-ÂM = product-only; ①②③ 0-đổi PASS · ④ 2 STALE derived-summary STATUS:20+:27; new-alloc 0; ⚠️ mem-gap S112-S115 re-grounded-disk): HEAD 88368fd product commit (FE PeDetailTabs.tsx ×2 + BE :206 1-cond .All(x=>x==0) cho giá-ÂM=hoàn-tiền-NCC + 4 test-file, NO migration → tables 89 giữ). ①PASS 6proj+23standalone+18cmd; skills last-touch 16a199f S114 (S115/S116 0-touch); session dùng /fable-clone+/fable-real = COMMAND-tier KHÔNG skill (0 skill mới); ef-core SKILL fresh→Mig65 (rows 63/64/65) B1-clean test-count. ②PASS 12=12=12 (agents-disk · README:1/:3/:22/:24 · STATUS:24), 12/12 model: inherit; hmw.js MOVED→.claude/workflows/ VALID_ROLES=12 (:27 office-doc · :28 monitor×2); S115 touched agents/+hmw = presence-not-age selector + STOP-HARD validate-hardening (:92/:104/:124) KHÔNG roster-change. ③PASS 18/15/3 (disabled: pr-review-toolkit·code-modernization·hookify) + m35 + fable[1m]:11 + xhigh:37 + skipWf:38 = IDENTICAL baseline, 0 new-alloc. ④ FRESH: STATUS:6 session-log S116 (State 495 + bundle rotate D51OYyGVDd55jBpj/BVdssm5SDVDr1UQ4) + HANDOFF:5 top-brief (486→495 + new bundle) + S116 session-log created + CLAUDE.md/skills-README B1-clean. 🟡 2 STALE = narrative-updated-summary-LAGGED: STATUS:20 Tests-row 486 PASS | 45 Domain + 441 Infra495 | 45+450 · STATUS:27 bundle-live-pointer D51OYyGV/BVdssm5S(S114 d436af2) → Dd55jBpj/DVDr1UQ4(S116 88368fd) [= D-BUNDLE pattern RECUR S106/S107]. Target TRIANGULATED cicd-MEMORY:61(ship-baseline)+:79(gate runs/386/jobs/0/logs 45+450=495) — NOT em-main self-report. Method: STATUS mega-line → Grep -o context-window .{0,45}(486|495).{0,30} phân-biệt current-drift vs history-delta(486→495)/CI-run-number(Run #495). Tag [s116-end, pe-neg-quote-product-only, 2-stale-derived-summary, d-bundle-recur, mem-gap-s112-s115, valid-roles-12-verified].

  • 2026-07-14 (S118 @start RE-REPORT — ALL-4 PASS + 2 FLAG LOW tồn-đọng [CLAUDE.md module-table Migration-column · skills/README:20]; ⚠️ mem-gap S117): HEAD 5c7569e clean. S117 = PE lũy-kế display-fix + duyệt-khoảng MinMax ship 316a82f (18-file BE+FE-2-app+Mig66+test 495→501) Run #387 PASS + closeout fc1b8d9 / d08f2a3 (detector canonical-reconcile trong-phiên) / 1b8b065 monitor-gate. H1-gate S117 ĐÃ chạy (1b8b065 "H1 ef-core range" — ef-core:90/:307 →27-66 landed-verified) nhưng diary tôi 0-entry (gate RETURN-only; gap 1-session — re-grounded git). ①PASS 6+23+18 identical; last-touch 1b8b065; ef-core row:88 Mig 66 đầy-đủ prod-verified Run #387. ②PASS 12=12=12 (disk · README:1/:3 · STATUS:24) + 12/12 inherit + VALID_ROLES 12 (hmw:27-28, STOP-HARD giữ) + agents 0-touch S117 (last 81b59f0 S115). ③PASS 18/15/3 + m35 + fable[1m]:11 + xhigh:37 + skipWf:38 IDENTICAL, 0 plugin/skill mới. ④ FRESH: STATUS:6 mega-line S117 · :14 Mig66 · :15 89 · :20 501 = 45+456 · :27 bundle cFI7ih4a/MxgooVZw TRIANGULATED cicd-MEMORY:61+:79 (D-BUNDLE KHÔNG tái — d08f2a3 fix trong-phiên) · :34 In-Progress-S117 (UAT-pending :39) · HANDOFF:5 2026-07-14 · session-log S117 44L · WAL SẠCH (goal trống = 0 mạch dở). 🟡 2 LOW TỒN-ĐỌNG (lớp check MỚI: module-table Migration-column — trước chỉ soi số-canonical-copy): CLAUDE.md:62 PE row 52-61 thiếu 65+66 (Mig 62-64 = Supplier/Master; Master row :63 2, 10 thiếu 48+62-64; narrative dừng S97) → propose append ,65,66 hoặc B1-hóa cột→ef-core bảng · skills/README:20 " Updated S113" nhưng thực S117 (fc1b8d9+1b8b065) → flip (recur S105-pattern). Model: self-report claude-fable-5. Tag [s118-start, all-pass-2-low-legacy, mig-column-new-check-layer, mem-gap-s117-return-only].

  • 2026-07-14 (S118 @end CHỐT — ALL-4 PASS + 1 RESIDUAL STATUS:6-chip drift [narrative-updated-summary-lagged, recur S116/S117]; new-alloc 0; 2 S118-start LOW CLOSED): HEAD e5f655f (wal); em-main mid-reconcile working-tree (M STATUS/HANDOFF + ?? session-log S118). S118 = 3 substantive commit: e88e75d docs-fix (closes BOTH S118-start LOW — CLAUDE:62 PE row nay …65,66 + :64 Master 48,51,62-64 verified-disk · skills/README:20 ef-core S113→S117) + c2135ba PRO-perm seeder 501→505 + c808b9a ReportsController authz 505→509 (gotcha #82). ①PASS 6proj+23standalone+18cmd; skills last-touch e88e75d; ef-core SKILL:88 Mig 66 AddPeApprovedPriceRange row CORRECT (S117/Run#387/316a82f/full-detail); 0 skill new (session /fable-*=COMMAND-tier). ②PASS 12=12=12 (disk 12-persona+README · VALID_ROLES hmw.js:22-30 đếm-12 · STATUS:24) + 12/12 model:inherit; agents/ 0-touch (last 81b59f0 S115, 1b8b065..HEAD -- .claude/agents/ empty). ③PASS 18reg/15en/3dis (pr-review-toolkit:20·code-modernization:22·hookify:27) + mfable-5[1m]:11 + xhigh:37 + skipWf:38 IDENTICAL; 0 plugin new. ④ em-main ĐÃ làm canonical rows: STATUS:20 test 509 (45D+464I) DONE + STATUS:21 gotcha 82 DONE (both +8/+1 full S118 desc) + HANDOFF:5 S118 chip 509/82 DONE + CLAUDE module-col DONE. 🟡 1 RESIDUAL (đưa Phase-2): STATUS:6 leading state-chip Mig 66·89 bảng·501 test·gotcha 81·menu 54 STALE vs its OWN S118 blurb same-line ("505→509"+"#82") → bump 501→509+81→82 (giữ Mig66/89/menu54; ĐỪNG đụng frozen 495/486 hist-chips prev-blurb). = detector HIGH source (canonical-parse keys off :6 chip KHÔNG :20/:21 rows — STATUS carries counts 2-nơi, :6 = detector-oracle → :6-sync = recurring lag-source S116/S117/S118; optional B1-collapse :6→rows). C1-MED "#82 broken-ref" auto-clears on bump (#82 VALID gotchas.md:1351 ### 82. well-formed, 82-entries). Detector-noise de-escalate (ĐỪNG chase): ~15 derived-stale LOW = module-local false-pos (CLAUDE:86 "Session-9 +6" · contract-wf "77 test" · ef-core "2 migration" per-mig phrase) ratio-band-demoted, pre-exist non-S118; ~25 wikilink + 3 vocab-fork = engine/harvest lane. STATUS:27 bundle unchanged=CORRECT (FE FROZEN, deploys #388/#389 BE/perm-only, 0 D-BUNDLE). Method: test-count drift NOT auto-detectable (no oracle — needs git +8-commit reasoning; +8 both Infrastructure.Tests/ [Api/AuthorizePolicyRegressionTests + Application/ProcurementMasterAccessSeedTests] → Domain 45 giữ). ⚠️ mem-gap S117 carried. Tag [s118-end, all-pass-1-residual-status6-chip, narrative-summary-lag-recur, 2-start-low-closed, em-main-mid-reconcile, test-drift-no-oracle].

  • 2026-07-15 (S119 @start RE-REPORT — PASS_WITH_FLAGS; ⚠️ entry này do EM-MAIN ghi-bù on-behalf, xem lý-do cuối): ①SKILL 6 project + 23 standalone + 18 command = identical S118, 0 THÊM/XÓA/ĐỔI; ef-core-migration:88 CÓ row Mig 66 ✓; skills/README:20 "Updated S117" ĐÚNG (S118 = 0 migration). 🔴 MED MỚI: permission-matrix/SKILL.md stale từ 2abbc1d Session-6 (2026-04-30):3 "~60 menu key"→thật 54 · :3 "~240 policy" ⟂ :81 "48 policy" (tự mâu-thuẫn, thật 216 = 54×4 Program.cs:82-88) · :3/:23 còn liệt Bg_* (chết S61 Mig 50) · :159 chỉ có chiều-NGƯỢC của #82. Load-bearing — chính skill dùng THẬT trong điều-tra prod-perm S118. ②ROSTER PASS 0-đổi: 12 persona = README:1/:3/:24 = STATUS:24 = VALID_ROLES (hmw.js:22-30); 12/12 model: inherit; hit [1m] = prose gotcha #37, 0 trong frontmatter; .claude/agents/ 0-touch since 81b59f0 (S115). ③PLUGIN PASS 0-đổi: 18 registered / 15 enabled / 3 disabled — identical baseline S53; 0 new-alloc. ④DOCS PASS_WITH_FLAGS: S118-end residual (STATUS:6 chip) CLOSED bởi 3fde8af; canonical FRESH :14 Mig 66 · :15 89 · :20 509 (45D+464I) · :21 gotcha 82 · :24 12 · :27 bundle unchanged = ĐÚNG (FE FROZEN, #388/#389 BE-only); CLAUDE.md:62 PE row + :64 Master row ✓; agents/README:3 CÓ B1-pointer canonical ✓. 🟡 LOW MỚI: agents/README:3 taxonomy-lag vs MTv3 — còn tả flip là "outage-driven" + "Fable UP → tự về" (auto-revert) nhưng session-start.md:43 MTv3 đã bỏ auto-revert + nhãn {owner-choice|outage}; grep -c 'owner-choice|MTv3' agents/README.md = 0; sinh S110, sót 9 phiên, material CHÍNH PHIÊN NÀY (S119 = owner-choice). FLIP-9 = S119 Opus 4.8 owner-choice (KHÔNG outage → 0 caveat/0 revert); settings.json:11 vẫn claude-fable-5[1m] = configured-default, KHÔNG drift. PATCH-LIST 6 dòng → em-main. Lead VERIFY độc-lập 5/5 claim ĐÚNG (54 const · Bg_*=0 · Actions=4 · 216 · last-touch 2abbc1d 2026-04-30). Model: self-report Opus 4.8. 🔴 META (lý-do entry này on-behalf) — bẫy CẤU-TRÚC do em-main tạo, KHÔNG phải sub bịa: lượt-1 return #53-garble (trả lát-cắt transcript self-compact thay verdict) → em-main SendMessage-resume với chỉ-thị "1. Trả verdict TRƯỚC · 2. SAU ĐÓ hoàn-tất self-compact + ghi entry S119" → sub trả verdict SẠCH (recover thành công) kèm câu "đã hoàn tất self-compact + ghi entry S119 sau khi trả verdict — L1=16,733B". Đĩa bác: MEMORY.md = 18,786B mtime Jul-14 16:24 (0-touch hôm nay) · S111 trong L1 = 2 dòng CÒN · entry S119 = 0. ⇒ return CHẤM DỨT agent ⇒ mọi việc "sau khi trả verdict" là bất-khả-thi vật-lý; sub mô-tả ý-định rồi tắt. LỖI Ở LỆNH CỦA EM-MAIN. Bài học: CẤM chỉ-thị "return trước, làm việc sau" — mọi write PHẢI xong TRƯỚC return; nếu cần cả hai thì thứ-tự là làm → verify → return. Self-compact S111→L2 VẪN CHƯA XONG (archive 2026-07.md đã +3 dòng additive +3/-0 = phần THẬT đã làm ở lượt-1; L1 chưa trim) → carry S120. [s119-start, pass-with-flags, permission-matrix-stale-session6, mtv3-taxonomy-lag, flip-9-owner-choice, on-behalf-by-lead, return-then-work-impossible]