Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
6.3 KiB
adap-report — 2026-06-07-Agent-harness-1
SISTER = SOLUTION_ERP. Report-format LOCK (5 trường). Generated 2026-06-07, apply by em main (HMW-mode ON — recon fan-out 4 read-only agent @P2, WRITE = em main single-writer governance). Agent/command
.mdchưa runtime-live pre-restart (no hot-reload).
1. id-broadcast
2026-06-07-Agent-harness-1 (category: Agent · reviewer_gate: PASS · nac: published · targets: all-fit). Harness 1 = Self-observability: H1 tooling-freshness audit + H2 harvest-integrity audit (⚠️ anh-mandate 2 sub TÁCH BIỆT) + H3 plugin/skill adoption (gộp-vai, KHÔNG phình roster).
2. nac G-011
executed-file (2 sub mới + 2 memory seed + agents/README roster 8→10 + session-start Phase 2.1.1 + session-end §L.b 7-step + H3 mapping section written) → VERIFIED-pending CLI restart (agent .md no hot-reload → cần (a) restart Claude Code để registry load tooling-auditor + harvest-curator, (b) 1 spawn-test mỗi sub confirm load OK + chạy 4-mặt/5-trục thật). H3 = recommend-only executed (mapping doc written; 0 plugin enable thực — skills đã available user-global).
3. evidence
PROJECT-FIT = ADOPT (tailored). H1 phổ-quát (mọi roster cần freshness). H2 ADOPT (SE có 10-sub roster + Workflow → có memory để harvest). H3 per-stack.
Files written/edited (repo SOLUTION_ERP):
- H1 sub — NEW
.claude/agents/tooling-auditor.md(4-mặt: skill·sub-role·plugin·docs freshness; @session-start báo+diff, @session-end chốt+new-alloc; INFORM-only) + seed.claude/agent-memory/tooling-auditor/MEMORY.md. - H2 sub — NEW
.claude/agents/harvest-curator.md(5-trục: Coverage·Completeness·Fidelity-FLAG·Placement·Corruption; @session-end GATE + wave-gom B5; @session-start harvest-mới; INFORM-only) + seed.claude/agent-memory/harvest-curator/MEMORY.md. - roster doc —
.claude/agents/README.md: title 7→10-agent, architecture line (8 product/quality + 2 monitor), upgrade-note 06-07, skill matrix +2 row, tool grant +monitor note (read-set + store_memory strip + G-015), decision tree +2 nhánh (tooling-auditor/harvest-curator). - lifecycle wire —
session-start.mdPhase 2.1.1 Monitor RE-REPORT (H1 tooling-state+diff · H2 harvest-mới+delta-mồ-côi) + roster 7→10;session-end.md§L.b 6-step→7-step ((d)(f)=H2 5-trục GATE + wave-gom B5 · (g)=H1 chốt+new-alloc) + roster refs 7→10. - H3 mapping —
.claude/agents/README.md§"External skill/plugin mapping" (sql-database-assistant/frontend-design→vai · pr-review-toolkit→reviewer checklist · KHÔNG enable code-modernization/code-reviewer/csharp-lsp).
SELF-CHECK (broadcast H1):
- H1.1: tooling-auditor.md audit 4-mặt (skill·sub-role·plugin·docs). ✓ (executed-file)
- H1.2: wired CHỐT @session-end (§L.b g) + RE-REPORT-diff @session-start (2.1.1). ✓
- H1.3/H2.3: INFORM-only + lead single-writer (VERIFY→APPEND B3); 2 sub
tools:KHÔNG store_memory/Write. ✓ (verify post-restartgrep store_memory .claude/agents/tooling-auditor.md harvest-curator.md= 0) - H2.1: harvest-curator.md 5-trục đủ (nâng từ session-end §L.b 3/5 sẵn có → 5/5 + Fidelity-escalate-reviewer + Placement). ✓
- H2.2: GATE @session-end §L.b(f) + RE-REPORT @session-start 2.1.1. ✓
- H3.1/3.2: rà marketplace + 23 standalone skill → gộp-vai, 0 agent mới. ✓
- H3.3: Windows-no-op (csharp-lsp) + name-collision (code-reviewer→giữ reviewer canonical) + KHÔNG phình roster. ✓
- H1/H2 RIÊNG BIỆT (anh-mandate): 2 file .md TÁCH BIỆT, scope overlap=0. ✓
commit-sha: e27d877 (S49, 2026-06-07 — 37 files, +626/-23, governance/infra; CI runs vì hmw.js/.gitignore/.gitkeep not path-ignored nhưng 0 product change). Follow-up sha-fill: xem git log.
4. tailored-gì + skip-gì-vì-sao
- FUNCTION-floor adopt FULLY: H1 4-mặt · H2 5-trục · H1≠H2 2-sub-riêng-biệt (mandate) · INFORM-only + single-writer · @session-start diff + @session-end chốt/gate · H3 gộp-vai-KHÔNG-phình-roster — giữ đủ, KHÔNG hạ floor.
- FORM tailored SE: (a) tools 2 sub = 4 RAG-read (search_memory/search_code/cross_project_search/list_projects) thay AI_INFRA 2-RAG;
model:inheritthayeffort:max. (b) Bỏ "agent-ops-monitor/sister" vai (AI_INFRA-specific) — SE là sister, audit self-only. (c) ref SE files (agents/README, docs/STATUS, docs/governance) thay AGENT-ROSTER/CANONICAL. (d) Fidelity-escalate → SEreviewer. (e) omitcolor(8 màu chuẩn cyan/blue/yellow/orange/purple/red/green/pink đã hết; brown/teal không trong enum chuẩn → tránh load-fail; mirror AI_INFRA cũng omit). (f) H2 NÂNG nền sẵn có (session-end §L.b(d)(f)(c) = 3/5 trục) thay build-from-scratch. - KHÔNG skip mục nào (H1/H2/H3 đều fit). H3 = recommend+map (KHÔNG enable plugin agent-bearing — đúng floor "CHỈ enable nếu lấp lỗ-hổng roster THẬT"; roster 10 đã đủ).
5. honest-caveat
- 🔴 nấc honest: executed-file, CHƯA verified-runtime. 2 sub CHƯA spawn lần nào (agent .md no hot-reload). Đừng đọc report = "monitor đã chạy". verified-runtime cần anh restart CLI + spawn-test tooling-auditor/harvest-curator (giống S39 split + S47 frontend-designer lesson).
- G-015 KHÔNG overclaim: 2 sub = propose-only, KHÔNG "read-only enforced".
store_memorystrip = tool RAG-write không-gọi-được; NHƯNG giữBash= write-channel mở (recon-wave này đã CHỨNG: investigator-api tự-APPEND MEMORY.md qua Write/Bash dù strip — git-diff bắt 1 file-write, chunk-count 2414=2414 bắt 0 RAG-write). Containment = defense-in-depth (em main single-writer + git-diff + chunk-count), KHÔNG allowlist đơn-độc. - name-collision (FORM, KHÔNG runtime): tooling-auditor/harvest-curator trùng tên AI_INFRA canonical — KHÁC repo → KHÔNG collision lúc chạy; body ĐÃ tailor SE (KHÔNG copy-paste). code-reviewer (×3 nguồn) collide roster reviewer → giữ
reviewercanonical, KHÔNG enable plugin code-reviewer. - H3 plugin nấc: 15 plugin = ENABLED user-global, mapping doc = assigned, CHƯA used-in-session. KHÔNG conflate "enabled"="đang dùng".
- Restart-batch: Harness 1+2+3 (S này) → toàn bộ agent/command/workflow
.md/.jscần 1 restart chung hot-reload.