Why:
- Different Embedding Models must not share Qdrant collections; Admin needs persisted role defaults and Experiment provenance.
Changes:
- Scope collection names by model id; add app_settings, embedding provenance columns, and queries.expansion_tree.
Impact:
- Process/query write only Model Corpus collections; legacy unscoped names are read-only for Admin labeling.
Co-authored-by: Cursor <cursoragent@cursor.com>
Why:
- Dashboard needs system health, Qdrant management, chunk preview, questions, and cost estimation endpoints
Changes:
- Add admin router with 11 endpoints (health, Qdrant CRUD, chunk preview, questions management, cost estimation)
- Add delete_experiment to SQLite storage
- Mount admin router and dashboard static files at /app
Impact:
- New /admin/* API routes available
- Dashboard served at /app/ via StaticFiles