So how do you handle continuously changing documents in RAG ?"
Here's the full answer. Get it wrong, and your bot quotes last week's policy.
The naive fix: reembed everything after every edit.
Say 500 docs, about 10,000 chunks --- all reembedded to fix one sentence. The answer they want has three layers.
Layer one: detect what changed. The app sends a webhook, an instant ping, when a file changes. Then compare each chunk's hash, a fingerprint of its text. Same hash, skip it; new hash that chunk changed.
Layer two: update only that chunk. Reembed it and absurd it under the same ID. Absurd means override if it exists, insert if not. Doc deleted, delete all its chunks by its doc ID. One chunk reembedded, not 10,000.
Layer three: safety nets. Tag every chunk with a version, search only the latest. Webhooks can be missed, so run a scheduled full resync. Now your bot says 14 days.
Don't rebuild everything, touch only what changed.
Detect update, verify.