Files
solution-erp/.claude/agent-memory/tooling-auditor/MEMORY.md
pqhuy1987 157792749f [CLAUDE] Docs: S58 session-end closeout — E-008/AS-12 error-ledger + session log + STATUS/HANDOFF final Run #386 + harvest gate PASS 5/5
- error-ledger: AS-12 NEW (identifier-based prod op phải dump env-đích) +
  E-008 RCA lock NO-OP 2 tầng (population Dev-only + password 11<12 silent
  CreateAsync-fail; Why-0 RAG-archaeology: từng phát hiện S22 nhưng const
  không fix — lesson "discovery phải thành code-fix/guard ngay") + Active-Guard
  episodic mới (1 strike, verified Run #382).
- Session log S58 NEW: 5 đợt việc / 7 commit / Run #382-#386 (4 PASS + #385
  cancelled-supersede-benign) / 11 spawn / lessons / bundle final
  DMm9rtNA/BUkOMn_Y.
- STATUS/HANDOFF: bundle line final + In-Progress refresh (ops anh: tzutil ·
  chuong.phan typo · 5 staff password · lock IT users sau gán người thật) +
  S58-chiều section đủ 5 đợt + chore-flag H2-đo (cicd 41.1KB + inv 32.9KB).
- Harvest (H2 GATE PASS 5/5): cicd #386 supersede-chain entry + #383 mark
  "VỊ TRÍ LẠC" chống curate-sweep nhầm (P2) + investigator tag normalize s58
  (P5) + tooling-auditor H1-end on-behalf (return-cut partial — finding
  salvaged: docs verified-flushed) + harvest-curator H2-end entry.
- RAG: +1 chunk S58 key facts (1153b74b, rerank 0.898 retrievable).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-06-11 14:33:20 +07:00

12 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 soft-cap ~30KB · L2 archive/ on-demand · L3 RAG search_memory just-in-time. 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").


🎯 Role baseline

H1 tooling-freshness auditor SOLUTION_ERP-self. Read-only + propose-only (em main = single-writer). Tools: Read/Grep/Glob/Bash + 4 RAG-read. NO store_memory, NO Write/Edit. 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.

🚫 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-06-10 S57-start — VERIFY mỗi session, đừng tin số cũ)

  • Roster: 11 sub (9 product/quality: investigator-codebase/api · implementer-backend/frontend · test-specialist · reviewer · cicd-monitor · frontend-designer · database-agent read-advisory S52 + 2 monitor INFORM-only: tooling-auditor · harvest-curator).
  • Skills: 6 project (.claude/skills/) + ~23 standalone (~/.claude/skills/, vd sql-database-assistant).
  • Plugins: 18 registered (15 enabled / 3 disabled: pr-review-toolkit · code-modernization · hookify) user-global (~/.claude/settings.json) — nấc installed/enabled, phần lớn CHƯA assigned-to-roster.
  • Docs canonical: CLAUDE.md (root+docs) · docs/STATUS.md · docs/HANDOFF.md · .claude/agents/README.md · docs/governance/.

⚠️ Anti-patterns

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

📅 Recent activity (FIFO — older → archive/git)

  • 2026-06-07 (CREATED): Seeded H1 tooling-auditor (adopt AI_INFRA Harness 1, anh giao). Tailored SE: 4 RAG-read (KHÔNG copy AI_INFRA 2-RAG) · model:inherit (KHÔNG effort:max) · omit color (8 màu chuẩn cyan/blue/yellow/orange/purple/red/green/pink đã hết). Wired @session-start RE-REPORT (Phase 2.1.1) + @session-end H1 chốt. Nấc: executed-file, verified-runtime PENDING CLI restart + first spawn smoke. Tag [created, harness-1, h1].
  • 2026-06-07 (S50 FIRST REAL RUN — verified-runtime ): Spawned @session-start (RE-REPORT) + @session-end (CHỐT). Load OK → verified-runtime CONFIRMED (closes 'PENDING' above). 4-mặt audit caught 3 freshness drifts → em main patched all: (1) agents/README.md:157 plugin 15→18 (+csharp-lsp/typescript-lsp/session-report); (2) .claude/skills/README.md:20 ef-core 31→43 mig, :90 gotcha 49→57 ( MISSED by S44 monthly audit — index file not on its checklist → per-session monitor adds value over monthly cron); (3) verified-runtime markers STATUS/HANDOFF flipped. Method-learning: ground-truth EVERY count from disk — settings.json enabledPlugins line-count = authoritative plugin#; skills/README.mdSKILL.md frontmatter (drift independently). Residual flagged (em main): STATUS RAG-chunk 2406↔2415 contradiction → reconcile to 2415; ASCII diagram 7→10 lanes (cosmetic). Tag [first-run, verified-runtime, freshness-catch].
  • 2026-06-08 (S51 /session-end CHỐT 4-mặt — RAG down, 0 file written): skill 6+23 unchanged · roster 10 intact (database-agent=PROPOSAL not-adopted) · plugin 18 registered (15 enabled / 3 disabled pr-review-toolkit·code-modernization·hookify — "enabled" overstates by 3, nâc-conflation) · docs STATUS/HANDOFF/gotchas S51 consistent. NEW-ALLOC: AI_INFRA 2026-06-08-Agent-database-codebase-agents broadcast → database-agent STRONG-FIT recommend /adap-apply (DB11 RowVersion fixes S43 lost-update gap; templates exist; 5 caveats: needs color#9, EF-pin-guard, DB7-boundary-vs-implementer-backend, executed-file-nâc, model:inherit) · codebase-agent SKIP (investigator covers grep/audit + csharp-lsp Windows no-op). Doc-drift coords (em main fixed root only; deferred rest→monthly): fixed CLAUDE.md root :53/:66/:81/:87/:131; defer docs/CLAUDE.md:65/70 + skills/README:20 (ef-core 43→45) + agents/README:157 (nâc-reword) + schema-diagram §16+ Mig32-45 (14-mig debt). Method: installed≠enabled≠assigned≠used; ground-truth from disk. Tag [s51, chot-4-mat, new-alloc-database-agent, doc-drift-coords].
  • 2026-06-10 (S57-start RE-REPORT): Audit @start với S57 in-flight dirty (9 file, session trước ngắt no-closeout). ①SKILL 6+23 unchanged; ef-core :3/:19=48mig FRESH; STALE ef-core:72 92→93 · :280 91/42→93/48 · :289 27-42→27-48 + dep-audit:153 57→58 + skills/README:90 57→58 → em main patched ALL cùng session-start (P2). ②ROSTER CLEAN 11=11=11 (disk/README/STATUS); minor README:201 "8 folder"→11 + hmw.js VALID_ROLES(8) thiếu database-agent (S56 dùng 3× fail-soft) → em main patched (P3, VALID_ROLES=9). ③PLUGIN CLEAN 18/15/3 identical S53, 0 new-alloc. ④DOCS MAJOR: S57 invisible (grep S57|perm-broaden=0 match; STATUS:38 "In Progress: none" vs tree dirty 9 file) → closeout cần STATUS+HANDOFF+log+permission-matrix-skill-conditional+investigator-MEMORY-commit (P1 pending resume). gotcha #58 VERIFIED gotchas.md:1063. Method-learning: gotcha entry format = "### N." KHÔNG "#N" — grep literal "#58"=0 match suýt false-alarm; verify format trước khi claim missing. Baseline block re-grounded (roster 11 · plugin 18(15/3) · +database-agent). Tag [s57-start, 4-mat, s57-gap, patched-p2-p3].
  • 2026-06-10 (S57-RESUME @start RE-REPORT): Re-audit 4-mặt với 16-file dirty (S57-interrupted). ①SKILL PASS 6+23; 3 skill-doc dirty verified ĐÚNG (ef-core:72/:280/:289 · dep-audit:153 · skills/README:90); permission-matrix = conditional closeout (S57 đổi seed model). ②ROSTER DRIFT-residual: dirty README:192(9)+:201(11)+hmw.js(9) đúng+nhất quán, NHƯNG catch MỚI ultra-on.md:23-24 VALID_ROLES "8 sub" thiếu database-agent (floor-doc README:197 trỏ tới!) + session-start.md:37/:44-54 "10-agent"+list 9 tên thiếu frontend-designer+database-agent +:40 gotcha (55)→58 — commands/*.md TRƯỚC GIỜ NGOÀI radar grep roster → thêm vào checklist mặt-② vĩnh viễn. Em main PATCHED cả 2 ngay trong session (ultra-on→9-sub + session-start→11-agent list đủ + 58). ③PLUGIN PASS 18/15/3 identical, marketplace 35, 0 new. ④DOCS: root+docs CLAUDE.md SẠCH (fix từ S56 a62e797, KHÔNG phải monthly-pending) → HANDOFF:24 backlog-item = stale-contradiction tự mâu thuẫn HANDOFF:17 — backlog coords PHẢI re-verify trước khi tin (3/5 coords HANDOFF:121 cũng đã obsolete). S57 invisible STATUS/HANDOFF = P1 closeout debt. Verdict 8 file .claude: 5 tooling COMMIT-AS-IS; 3 MEMORY → H2 verified OK. Tag [s57-resume, 4-mat, ultra-on-catch, stale-backlog-coords].
  • 2026-06-10 (spawn-test H4.8 — Harness-4 two-tier): Mình bị DEMOTE pin model: claude-opus-4-8 (checklist-class, mirror AI_INFRA demote con tương đương). Spawn-test echo model NGAY sau edit → self-report claude-fable-5[1m] = SE env (CCD harness) KHÔNG fresh-read frontmatter → pin ăn SAU restart CLI. Post-restart mình chạy Opus 4.8 (Max giữ nguyên env-wide) — nếu thấy verdict-quality tự giảm rõ → báo em main adap-request promote lại. Tag [h4-demote, spawn-test, pending-restart].
  • 2026-06-11 (S57bis @start RE-REPORT + spawn-test post-restart ): Self-report nguyên văn claude-opus-4-8[1m] ("Opus 4.8 (1M context)") → demote-pin ĂN runtime (đóng 'pending-restart' entry trên) + [1m] 1M-resolve SE tự verify (hết lệ thuộc claim AI_INFRA s20). 4-mặt ALL-PASS 0 drift mới — 29 file dirty = Harness-4 closeout hợp lệ: ①3 skill-doc diff = freshness-fix đúng (48 mig/93 bảng/58 gotcha) ②roster 11=11=11, frontmatter grep = 7 pin + 4 inherit, 0 [1m] frontmatter ③plugin 18/15/3 identical, 0 new-alloc ④STATUS diff hợp lệ + 3 untracked governance đúng nấc → đề xuất promote PENDING-RESTART→runtime-verified (em main đã thực hiện cùng session). Carry-flag: docs/CLAUDE.md gotcha "(55)"→58 (defer monthly 07-01) · schema-diagram §16+ 14-mig ERD debt. Demote-watch data-point #1: verdict-quality trên Opus 4.8 tự đánh giá CHƯA suy giảm. Tag [s57bis, spawn-test-verified, 4-mat-pass, demote-watch-1].
  • 2026-06-11 (post-S57bis @start RE-REPORT — count-drift S57bis CHƯA flush docs): Working tree 2 dirty (cicd MEMORY +Run#381 · gotchas.md +#59) — S57bis code đã COMMIT (dd117b7+17b23a4 push). 4-mặt: ①SKILL 6+23 unchanged; ef-core SKILL STALE 4 cite "48"→49 (:3 desc · :19 H2 "48 migration hiện có" · :72 "§16+ Mig 27-48"→27-49 · :280 "48 migration") + :280/:289 "93 bảng" giữ (Mig 49 AddColumn-only no new table — KHÔNG đổi); skills/README:20 "48 migration"→49 + :90 "58 bẫy/#58"→59; dep-audit:153 "58 bẫy"→59. ②ROSTER CLEAN 11=11=11 (disk/README/STATUS); model-tier frontmatter grep = 4 inherit (database-agent·harvest-curator·investigator-codebase·reviewer) + 7 pin claude-opus-4-8 khớp two-tier H4 chính xác. ③PLUGIN CLEAN 18/15/3 identical (3 OFF: pr-review-toolkit·code-modernization·hookify), 0 new-alloc. ④DOCS MAJOR data-row drift: STATUS row :24 sub-agent ĐÃ cập runtime-VERIFIED 06-11 NHƯNG data-rows CHƯA: :14 Mig "48"→49 · :20 Tests "228"→240 · :21 Gotchas "58"→59 · :27 bundle (S57bis FE-touched nhưng session-log KHÔNG ghi hash mới → CP4CB1ym/BmZ3VHnm anh-cite KHÔNG verify được, grep 0 match) · STATUS:38 In-Progress "(none S56)" stale (S57+S57bis shipped). HANDOFF:5 Last-updated 06-09 S56 + thiếu HẲN S57/S57bis section. Root CLAUDE.md:53 "48 mig"→49 · :66/:87 "228"→240 · :133 "58 bẫy"→59. Method-learning: test attr-count disk=225 ([Fact]/[Theory]) NHƯNG authoritative=240 (S57bis log :14 "228→240"; Theory expand runtime → KHÔNG dùng attr-count làm count, tin session-log/test-run) · bundle-hash anh-cite phải verify từ session-log/cicd-MEMORY trước khi tin (S57bis log không ghi → flag "unverified" KHÔNG copy). Top-5 patch propose → em main APPEND. Tag [post-s57bis, 4-mat, count-drift-flush-pending, bundle-hash-unverified].
  • 2026-06-11 (S58 /session-end CHỐT 4-mặt — PARTIAL, return-cut giữa chừng, on-behalf em main ghi hộ): Return bị cut sau finding chính (verdict 4-mặt đầy đủ KHÔNG kịp emit). FINDING ĐÃ GIAO: docs KHÔNG stale như brief giả định — STATUS lines 27/52/53 ĐÃ flush tới ea793a4+3ebaf84/Run #386 + bundle DMm9rtNA/BUkOMn_Y (em main flush song song lúc H1 chạy) → bài học brief: "chưa flush" là snapshot lúc spawn, auditor phải re-ground từ disk hiện tại (đã làm đúng). Em main tự chốt phần còn lại từ data sáng: ①SKILL — sáng patched đủ (ef-core ×5 + README + dep-audit), chiều không thêm skill; ②ROSTER 11 + two-tier frontmatter không đổi; ③PLUGIN 18/15/3 không đổi, 0 new-alloc (UI/UX guide AI_INFRA = reference doc, KHÔNG phải plugin/skill — đã cite trong frontend-designer MEMORY S58 entry); ④DOCS — session-end flush hoàn tất (STATUS/HANDOFF/session-log/error-ledger E-008+AS-12). SURPRISE: return-cut class này (chết giữa emit sau khi finding chính đã ra) = nhẹ hơn die-0-byte, finding salvageable từ partial return. Tag [s58, session-end-chot, return-cut-partial, on-behalf].