Description
Create handlers_knowledge.go with:
GET /api/knowledge/status — Qdrant status, doc counts, embedding model
GET /api/knowledge/documents — List org documents
POST /api/knowledge/documents — Upload (multipart, max 50MB)
GET /api/knowledge/documents/:id — Get document
DELETE /api/knowledge/documents/:id — Delete doc + Qdrant chunks
Upload flow: validate → save to disk → create DB record → return 201 → async process (ensure Qdrant + Ollama + pull nomic-embed-text → parse → chunk → embed → upsert)
Acceptance Criteria
Description
Create
handlers_knowledge.gowith:GET /api/knowledge/status— Qdrant status, doc counts, embedding modelGET /api/knowledge/documents— List org documentsPOST /api/knowledge/documents— Upload (multipart, max 50MB)GET /api/knowledge/documents/:id— Get documentDELETE /api/knowledge/documents/:id— Delete doc + Qdrant chunksUpload flow: validate → save to disk → create DB record → return 201 → async process (ensure Qdrant + Ollama + pull nomic-embed-text → parse → chunk → embed → upsert)
Acceptance Criteria