# Backend Design: ECR-023 KnowledgeSource | ID | BD-2026-023 | | Status | Approved | | Coding | Loop authorized | | Level | L2 | | Migration | YES 000024 | ## Backend Change Boundary ```text Domain: KnowledgeSource (read catalog only) App: AdminHandler → admin.Service → AdminRepo API: GET /admin/ai/knowledge-sources[+/:id] Permission: admin.ai_config.read (reuse; no new perm) Migration: 000024 knowledge_sources + seed ask_grounding UI: admin-h5 /ai KnowledgeSource panel ``` ## Out of boundary KnowledgeChunk · Embedding · upload/publish · ToolDefinition · UGC · Payment · runtime RAG wiring Rollback: down migration + remove routes/UI panel