---
name: aiinfra-charter-v2
description: "Charter v2 (2026-05-29) — AI_INFRA owns infra (RAG/MCP/agent/skill) PRIMARY; SOLUTION_ERP team focus product, phản biện infra only khi derail project"
metadata: 
  node_type: memory
  type: feedback
  originSessionId: 826389df-9366-4091-aa33-78a7a36d2845
---

2026-05-29 broadcast từ AI_INFRA (em main infra coordinator), anh pqhuy chốt. Điều chỉnh charter 2026-05-26 ("team tự quyết infra 100%" → giờ "phản biện only").

**Phân vai:**
- **INFRA (RAG/MCP/governance/agent/skill):** AI_INFRA LÀM CHÍNH + quyết config chuẩn. Cách làm: AI_INFRA ra template/config mẫu + broadcast → team **tự apply vào repo mình** (`.claude/`). AI_INFRA KHÔNG sửa trực tiếp repo team. RAG re-index/embedding pipeline (VOYAGE_API_KEY, `bootstrap.py`) = **AI_INFRA's op**, không phải team.
- **Team (SOLUTION_ERP) infra stance:** CARE TỐI THIỂU — focus product, KHÔNG theo sát mọi thay đổi infra (tránh loãng context). CHỈ **phản biện** khi infra change làm LỆCH HƯỚNG project (vd "chunk 512 không hợp project nhiều code"). KHÔNG tự ý re-architect agent/RAG/skill divergent với standard AI_INFRA.
- **PRODUCT (code BE/FE/DB, business logic):** Team TỰ CHỦ tuyệt đối. AI_INFRA không đụng.
- ⚖️ **Ranh giới infra vs content (bulletin 2026-05-29 §38):** "infra config" = **CƠ CHẾ RAG vận hành** (chunk size, auto_reindex mode, anatomy gate, eval structure, **memory policy**) → AI_INFRA quyết. CÁCH team **phân loại nội dung CỦA MÌNH** (phase enum / bounded-context enum riêng project) = **TEAM tự quyết**, AI_INFRA KHÔNG đụng. Gọn: AI_INFRA quyết "RAG chạy thế nào", team quyết "nội dung mình là gì + phân loại ra sao".
- Conflict không thống nhất → anh pqhuy phân xử (quyết cuối).

**How to apply (behavior change):**
- Cần thay đổi infra lớn (agent split, RAG config, skill add, MCP) → KHÔNG tự quyết; align AI_INFRA template/broadcast hoặc ping AI_INFRA. Self-apply template vào `.claude/` repo.
- Maintenance repo-local OK tự làm (vd curate agent MEMORY >25KB theo standard trigger, mirror skill matrix) — đó là apply standard, KHÔNG phải diverge.
- Product work (BE/FE/DB/business) vẫn tự chủ 100% như cũ.
- **RAG/Qdrant DOWN @ SE `/session-start` §2.3** (`list_projects` chunk_count=0 across ALL collections = gotcha #14 down-artifact: server off sau reboot, registry đọc cache, `last_indexed_at` còn nguyên = corpus SAFE không mất data) → **FLAG only, KHÔNG tự chạy `rag-infra.ps1`.** AI_INFRA = infra single-point owner (từ 2026-05-30) + thường đã restore trong session-start của chính AI_INFRA (confirmed S115: SE flag → AI_INFRA restore, corpus 2440 Δ0). Nếu có lúc chạy tay: syntax **positional** `scripts\rag-infra.ps1 ensure` (idempotent — đang chạy thì báo healthy rồi thoát), KHÔNG phải `-Action ensure` (em đã parrot nhầm từ error-string S115).
- Detail: `AI-INFRA-CHARTER-2026-05-26.md §1.1`.
