feat(search): index document attachments with Mistral - #616
feat(search): index document attachments with Mistral#616salmonumbrella wants to merge 1 commit into
Conversation
roborev: Combined Review (
|
|
I definitely want to get this in Docbank also, I wonder if we could build this functionality there and then pull in Docbank as a dependency (or it can start here and then migrate to Docbank) |
|
We'd get SHA-256 ids and docbank's frontend ui for #622. What if a user has an existing docbank installation? We'd have to rig docbank <> msgvault together in an clean way like kata in forge. I'll leave the decision to you. |
|
Docbank is usable as an embedded library and does not have "one docbank to rule them all", so it's more a question of not having the implementation for this in multiple places. I'd like to pull docbank as a dependency into msgvault |
|
Sounds good. I'm don't know my way around docbank, could you please take over file embeddings? |
|
Sure, let me have a look at this and advise on the next steps |
What changed
Why
Msgvault stores attachment bytes, but evidence inside documents is not searchable. This adds a consent-gated lexical foundation that can find document content without silently uploading unsupported formats or returning stale results after attachment lifecycle changes.
The authenticated Mistral capability matrix covers all 26 non-visual document formats supported by this lane:
Each format still has to pass the authenticated private-fixture probe before Msgvault will send that format to Mistral or include it in the recorded consent profile.
Usage
Set
MISTRAL_API_KEY, enable[attachments.documents], and choose explicit retention and training postures. Then probe a private synthetic format matrix and record consent for that exact capability manifest:Document embeddings remain unavailable in this PR; search is lexical and filename-ranked. The semantic/vector phase is tracked in #617.
Refs #608 and #617