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