[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:
pqhuy1987
2026-06-02 23:34:07 +07:00
parent aecd96b1cd
commit 72bbfa56a5
20 changed files with 492 additions and 18 deletions

View File

@ -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). FD1FD10 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) — FD1FD10 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 (FD1FD10 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.

View File

@ -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 13 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`.

View File

@ -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.