---
name: rag-mcp-recovery-and-concurrency
description: RAG MCP rớt → recovery = quit+relaunch FRESH + trust .mcp.json (KHÔNG resume); tránh 2 session SE song song sửa cùng repo
metadata: 
  node_type: memory
  type: feedback
  originSessionId: d13767bc-39cb-492a-a620-a7b745e52419
---

S40 (2026-05-29): 2 sự cố infra-usage cần nhớ để xử nhanh lần sau.

**1. RAG MCP (`rag-unified`) rớt giữa session:**
- Triệu chứng: ToolSearch không thấy `mcp__rag-unified__*`; tool gọi fail InputValidationError.
- Root cause S40: **máy treo full ổ C → 6 project mất MCP đồng loạt**.
- **Recovery (AI_INFRA runbook `rag-mcp-client-setup.md`):** QUIT HẲN Claude Code → mở lại bằng `claude` FRESH (KHÔNG `-c`/`--resume`/`--continue` — resume xài cached config, không ăn) → **APPROVE trust `.mcp.json` prompt**. Gõ `/mcp` thấy `rag-unified` connected.
- **Chẩn đoán phía SE (trước khi đổ lỗi):** `curl http://127.0.0.1:6333/healthz` (Qdrant server) + `python <AI_INFRA>\claude-rag\server.py </dev/null` (thấy FastMCP banner = server OK). Nếu server+VOYAGE_API_KEY+deps+Qdrant OK mà tool vẫn vắng → **lỗi Claude Code MCP client** (không phải server) → recovery trên. **ĐỪNG đụng python `C:\ZKBioTime\Python311`** (RAG deps ở đó).
- **Stopgap khi MCP down:** broadcast/memory → ghi file repo (`docs/governance/`, nằm trong RAG corpus `docs/**/*.md` → discoverable sau re-index) thay vì `store_memory`. Khi MCP lên lại → `store_memory` bổ sung.

**2. Concurrency — KHÔNG chạy 2 session SE song song sửa cùng repo:**
- S40: session SE thứ 2 append "BROADCAST 2" + edit file uncommitted → trùng việc + risk commit đè. Phát hiện qua `git status` (file M mình không sửa) + `cross_project_search` (chunk lạ source_path của mình).
- **How to apply:** closeout `git add <file cụ thể>` (KHÔNG `-A`/`.`) để không commit nhầm việc-dở session khác. Thấy file M mình không sửa → flag anh main, KHÔNG clobber/revert. Link [[status-handoff-tiering]] (broadcast persist-to-file pattern) + [[aiinfra-charter-v2]] (infra = user-only).
