[CLAUDE] Infra: adopt AI_INFRA adap-* channel + store_memory strip + frontend-designer (S47)
- Install 3 federated adoption slash-commands (/adap-apply|report|request) in .claude/commands/ (read AI_INFRA outbox read-only, apply own repo, write adap-report; AI_INFRA /adap-audit reads cross-repo) - Broadcast #1 (Memory-store-memory-strip-global): strip store_memory from all 8 sub-agents -> lead = sole RAG-writer; 4 RAG-read retained; agents/README synced + G-015 note - Broadcast #2 (Agent-frontend-designer-floor): frontend-designer 8th agent (pink) -- forked AI_INFRA canonical FD1-FD10 visual-verification floor, tailored SE stack + use-existing-DS + boundary vs implementer-frontend; memory seed; roster doc 7->8 - Broadcast #3 (Governance-gov-v2): already-applied S44 -- delta report (gap: no formal error-ledger/L.b checklist) - 3 adap-reports (5-field LOCK) in docs/governance/adap-reports/ + adoption-ledger row - All nac executed-file/verified-pending (restart + spawn-test). 0 agents spawned. No product code. Test gate 181 unchanged. CI-skip (all .md). Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@ -84,6 +84,7 @@ SOLUTION_ERP adopts RAG Framework v1.3 via **Path B delegation stub** — deferr
|
||||
|---|---|---|
|
||||
| **2026-05-29** (charter v2 / tiered-mem / session-cmd / RAG v1.3) | 4/4 | `6f08d1f` (Tiered Memory v1) + `c8ff5e1` (/session-start /session-end) · RAG re-bootstrap 3080→2406 |
|
||||
| **2026-06-01** (RAG T1/T2 · Gov-v2 · hygiene · session-cmd #4) | §A auto · §B align · §C wording ×7 · §D #4 step · §E/§F · ✅ **VERIFIED 2-way** (AI_INFRA RT3 confirm) | S44 audit (docs-only) — chain `ae30f8f→071c25c` tree-clean — [`BROADCAST-OUT-SOLUTION-ERP-2026-06-01.md`](BROADCAST-OUT-SOLUTION-ERP-2026-06-01.md) |
|
||||
| **2026-06-02** (adap-* channel + Memory-strip + frontend-designer + Gov-v2 re-confirm) | 3-cmd channel installed · #1 strip `store_memory` 8 subs (lead=sole RAG-writer) · #2 frontend-designer 8th agent ADOPT · #3 Gov-v2 already-S44 delta | S47 — `docs/governance/adap-reports/` 3 files (5-field LOCK) · nấc **executed / verified-pending restart** (spawn-test FD2) · AI_INFRA `/adap-audit` reads cross-repo |
|
||||
|
||||
**Cadence #4 (self-sustaining):** `/session-end` Phase 6.3 auto-generates §E adoption-report when infra adopted → em main `/session-start` next watches + double-checks (2-way loop).
|
||||
|
||||
|
||||
@ -0,0 +1,35 @@
|
||||
# adap-report — 2026-06-02-Agent-frontend-designer-floor
|
||||
|
||||
> SISTER = SOLUTION_ERP. Report-format LOCK (5 trường). Generated S47 (2026-06-02). User decision: **ADOPT** (scaffold the sub).
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-06-02-Agent-frontend-designer-floor` (category: Agent · reviewer_gate: PASS · targets: all-fit)
|
||||
|
||||
## 2. nac G-011
|
||||
**executed** (file-level: 8th agent forked + roster doc synced) → **verified-pending** (restart + spawn-test FD2 visual loop).
|
||||
|
||||
## 3. evidence
|
||||
- **NEW sub-agent (8th):** `.claude/agents/frontend-designer.md` — **forked** canonical `D:\...\AI_INFRA\docs\templates\frontend-designer.agent.template.md` (NOT copy-paste; tailored SE stack). FD1–FD10 floor present (FD2 visual loop + FD4 rubric kept verbatim-intent).
|
||||
- **Memory seed:** `.claude/agent-memory/frontend-designer/MEMORY.md` (role + SE design-system + FD2 rig + activity log).
|
||||
- **Roster doc:** `.claude/agents/README.md` — header 7→8 · S47 upgrade note · decision-tree branch · split-boundary row · skill-matrix row · 8 memory folders.
|
||||
- **Frontmatter checks (sister-guide):** `model: inherit` (NOT `[1m]`, gotcha #37) · `color: pink` (unique vs {cyan,blue,yellow,orange,purple,red,green}) · `description: |` block-scalar (no colon-space parse risk) · `store_memory` STRIPPED (consistent w/ broadcast #1 — RAG-read only: search_memory/search_code/cross_project_search/list_projects).
|
||||
|
||||
commit-sha: _unpushed (working-tree) — batch with restart-verify._
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **PROJECT-FIT decision (S47):** SE has FE (2 React apps) → NOT the "no-FE → n-a" skip. User chose **ADOPT** over defer-with-pushback (upcoming greenfield FE: P11-E AttendanceReport + dashboards).
|
||||
- **FORM tailored (§F4 form-freedom, floor intact):**
|
||||
- Stack = React 19 / Vite 8 / TS 6 / shadcn/ui / Tailwind / TanStack Query (2 apps :8082 + :8080).
|
||||
- **FD1 = USE SE's existing design-system** (`#1F7DC1` + Be Vietnam Pro + shadcn tokens + ERP shell), NOT establish-new — SE is brownfield with an established DS.
|
||||
- FD2 rig wired to SE: Vite dev servers + `webapp-testing` Playwright + auth-token/login-fixture caveat + static-preview fallback.
|
||||
- FD8 skill table mapped to SE harness skills.
|
||||
- **FD9 boundary clarified** vs `implementer-frontend` (design/UX vs cookie-cutter mechanical mirror; no double-touch same UI file) — SE-specific, avoids the DYD double-touch class.
|
||||
- `memory: project` + `maxTurns: 30` to match SE roster convention.
|
||||
- **Floor NOT lowered** (add-only-increase §F4.1) — FD1–FD10 all present. Recommended ADD noted (design-review via existing `reviewer`).
|
||||
|
||||
## 5. honest-caveat
|
||||
- **VERIFIED-pending (§C5 no-fake):** agent `.md` no hot-reload → requires **restart + spawn-test** 1 small design task to confirm the FD2 screenshot loop runs THẬT. NOT claiming `verified`.
|
||||
- **FD2 rig not yet stood-up/run:** SE FE is an **authenticated ERP** (authed pages need API+SQL+login to render). The rig (webapp-testing + login fixture) is **documented in the agent body + memory**, but first-spawn (post-restart) validates it actually shoots. Fallback static-preview documented (no skip-soi).
|
||||
- **`effort: max`** included (canonical + dogfood-proven same-machine VIPIX/BVAAU); SE's 7 existing agents don't use it — if this CLI rejects the field, restart spawn-test will reveal (flagged). Floor unaffected either way (FD1–FD10 in body).
|
||||
- **Recommended quality-ADD not yet wired:** sister-guide ⭐ design-review-by-second-agent — SE HAS `reviewer`; wire FD4-rubric gate when first design task runs (quality-increase §F4.1, not floor).
|
||||
- Roster other-count drift: README cost-table + S38 state-line still say "7" (dated snapshots) — left as historical; live operational sections (count/tree/boundary/skill/memory) updated to 8.
|
||||
@ -0,0 +1,26 @@
|
||||
# adap-report — 2026-06-02-Governance-gov-v2-session-cmd-framework
|
||||
|
||||
> SISTER = SOLUTION_ERP. Report-format LOCK (5 trường). Generated S47 (2026-06-02). This broadcast = re-consolidation of Gov-v2; SE **already-applied S44** — broadcast itself cites `SE ae30f8f`.
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-06-02-Governance-gov-v2-session-cmd-framework` (category: Governance · reviewer_gate: PASS · targets: all-fit)
|
||||
|
||||
## 2. nac G-011
|
||||
**executed** (already-applied S44, file-committed) → **verified-pending** (full 5-axis function-completeness delta below + AI_INFRA cross-repo audit).
|
||||
|
||||
## 3. evidence
|
||||
- **ALREADY-APPLIED S44 (2026-06-01):** `docs/governance/README.md` "Cross-Project Adoption Ledger" logs bundle 2026-06-01 = §A auto · §B align (no new layer) · §C wording ×7 · §D #4 step · ✅ **VERIFIED 2-way** (AI_INFRA RT3). Commit chain `ae30f8f → 071c25c` (the broadcast precondition line cites `SE ae30f8f`).
|
||||
- **Session-cmd 4-feature LIVE:**
|
||||
- **#6 Echo full command body (BƯỚC 0):** DEMONSTRATED this session — `/session-start` echoed full Phase 1–3 body raw (not summarized).
|
||||
- **#7 Plan cha→con→task + màu + agent-assignment:** `/session-start` Phase 3 render (S47 bootstrap report tree).
|
||||
- **#8 Helper-note:** **n-a** — SE roster = 7 sub + em main, **NO helper-tier** (uses built-in `Explore`). Per broadcast PROJECT-FIT "SKIP=n-a nếu roster-0-helper".
|
||||
- **#9 #4 infra-adoption cadence:** wired `/session-end` Phase 6.3 (README line 88) → auto §E adoption-report; `/session-start` watches (this session's audit step). NOW EXTENDED by the `/adap-*` channel installed this session.
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **Gov-v2 5-axis (§K/§L/§M/§G2):** adopted S44 "no new layer" (§B align). SE maps function onto **existing artifacts** (form gộp per §F4): adoption-ledger (≈comms-ledger) + STATUS/session-logs (≈summary-index) + gotchas.md (≈error catalog).
|
||||
- **Helper-note (feature 8) = n-a** (roster-0-helper).
|
||||
|
||||
## 5. honest-caveat
|
||||
- **DELTA / partial (brutal-honest, §M):** SE has the session-cmd features + Gov-v2 *principles*, but a **formal, distinct 3-ledger** — specifically an **error-ledger with blameless RCA + Active-Guards index + 2-strike-promote**, and **§L.b 6-step session-end auto-maintain as an explicit deterministic checklist** — is **only PARTIALLY formalized** (function distributed across gotchas.md + STATUS + session-logs; dedicated-artifact form not fully built). This is the main open gap vs the broadcast floor.
|
||||
- **Proposed next:** formalize the error-ledger + §L.b auto-maintain checklist as a follow-up (candidate for `/adap-apply` post-restart or a small Gov hardening task). Flagged, not silently claimed-done.
|
||||
- **nac honesty:** executed (file-level S44 committed) — NOT claiming `verified` for full 5-axis completeness; that needs the delta above + AI_INFRA `/adap-audit`.
|
||||
@ -0,0 +1,36 @@
|
||||
# adap-report — 2026-06-02-Memory-store-memory-strip-global
|
||||
|
||||
> SISTER = SOLUTION_ERP. Report-format LOCK (5 trường). Generated S47 (2026-06-02), manual apply by em main (commands not yet runtime-live pre-restart).
|
||||
|
||||
## 1. id-broadcast
|
||||
`2026-06-02-Memory-store-memory-strip-global` (category: Memory · reviewer_gate: PASS · targets: all-fit)
|
||||
|
||||
## 2. nac G-011
|
||||
**executed** (file-level) → **verified-pending** (runtime needs Claude Code restart — agent `.md` no hot-reload).
|
||||
|
||||
## 3. evidence
|
||||
Stripped `mcp__rag-unified__store_memory` from `tools:` frontmatter of **ALL 7** sub-agents (SE roster):
|
||||
- `.claude/agents/investigator-codebase.md`
|
||||
- `.claude/agents/investigator-api.md`
|
||||
- `.claude/agents/implementer-backend.md`
|
||||
- `.claude/agents/implementer-frontend.md`
|
||||
- `.claude/agents/test-specialist.md`
|
||||
- `.claude/agents/reviewer.md`
|
||||
- `.claude/agents/cicd-monitor.md`
|
||||
|
||||
SELF-CHECK (broadcast):
|
||||
- `grep store_memory .claude/agents/*.md` → **0** in any `tools:` line (sole hit = `README.md:128` doc-description, now synced).
|
||||
- All 7 retain ≥1 RAG-read tool: `search_memory` ×7 (+ `search_code` + `cross_project_search` + `list_projects`).
|
||||
- Doc sync: `.claude/agents/README.md` §Tool-grant "5 RAG MCP → **4 RAG-READ**" + note "lead = sole RAG-writer · sub→MEMORY.md · G-015 not-read-only".
|
||||
|
||||
commit-sha: _unpushed (working-tree) — commit batched with restart-verify._
|
||||
|
||||
## 4. tailored-gì + skip-gì-vì-sao
|
||||
- **FUNCTION-floor adopted FULLY:** `store_memory` removed **GLOBAL** (all 7 subs, no per-context variant) → lead (em main) = sole RAG-writer (mechanized, failure-safe).
|
||||
- **FORM (SE roster = 7 sub):** chose a **single centralized doc-note** in `agents/README.md` covering all 7 (lower-noise) instead of BVAAU's per-agent body-note redirect (both valid per §F4 form-freedom).
|
||||
- **No SKIP** — SE fit = **adopt** (all 7 subs HAD `store_memory` in allowlist). Not the n-a case (n-a = subs already read-only / roster-0 built-in Explore).
|
||||
|
||||
## 5. honest-caveat
|
||||
- **Accuracy (G-015):** `store_memory` now un-callable by subs — this is **NOT** "subs read-only". Subs retain `Bash` (+ `Write/Edit` for the 4 write-role subs) = open write channels. Real containment = defense-in-depth (git-diff + Qdrant chunk-count monitoring), NOT allowlist alone.
|
||||
- **VERIFIED-pending:** runtime effect requires **restart** (agent `.md` no hot-reload). Pre-restart, this session's spawns would still resolve `store_memory`. Proven at **file-level only** so far. Do NOT claim `verified` — that is AI_INFRA `/adap-audit` cross-repo call.
|
||||
- **Aligns with SE's own prior lesson** (`feedback_store_memory_rebootstrap_protection`, S41): sub `store_memory` content was wiped on RAG re-bootstrap unless disk-twinned → centralizing RAG-write to lead removes that data-loss class. So this adopt is corroborated by SE dogfood, not just external mandate.
|
||||
Reference in New Issue
Block a user