A multi-tenant policy assistant sometimes answers one customer with another customer's policy, and questions about last year's plan get this year's wording. Retrieval runs top-10 similarity over a global index, then drops chunks whose tenant does not match. What is wrong with this design?
Show the answer and explanation
The answer is B.
Embeddings encode meaning, not reliable structure. Tenant and effective date must be metadata predicates applied before semantic ranking, or enforced by per-tenant partitions, so every candidate already satisfies the hard constraint. Say it: The similarity search runs over everyone first, so tenant and date are late suggestions. I would pre-filter on tenant and effective date, or partition per tenant, and test tenant isolation as a security boundary.
Why the others are tempting
- A — A larger top-k reduces misses but still searches across tenants first.
- C — Text labels are not a dependable security or date filter.
- D — Fine-tuning does not turn vector distance into authorization.