project-nomad/admin/start
John Cortright 5571e9cd1e feat(rag): add explicit opt-in for ZIM files in the knowledge base
ZIM/Kiwix files were previously auto-discovered and embedded into the AI
knowledge base as soon as they existed on disk, with no way to exclude one
without deleting it entirely. This made browsing content in Kiwix and
including it in AI search the same decision, which isn't what users expect
or consented to.

- Stop auto-discovering ZIM_STORAGE_PATH during KB sync; ZIM files must be
  explicitly added via the Content Manager's new 'Add to Knowledge Base'
  action (embedSingleFile validates directly against disk instead).
- Add a per-file active/inactive toggle (kb_ingest_state.active) so a file
  already indexed can be excluded from/re-included in search instantly,
  without re-embedding.
- searchSimilarDocuments excludes inactive sources via a Qdrant filter.
- Hard-deleting an indexed ZIM now also cleans up its kb_ingest_state row
  and Qdrant points, instead of leaving an orphaned KB entry behind.
- Batch the kb_ingest_state lookup in ZimService.list() into a single
  query instead of one per file.
2026-07-18 15:18:39 -07:00
..
env.ts feat(config): respect REDIS_DB env var for queue and transmit 2026-06-23 04:46:51 +00:00
kernel.ts feat: gzip compression by default for all registered routes 2026-04-03 14:26:50 -07:00
routes.ts feat(rag): add explicit opt-in for ZIM files in the knowledge base 2026-07-18 15:18:39 -07:00