Skip to course content
Free RAG fundamentals course

Introduction to RAG and Knowledge Assistants

Unit 09.02: Updating, superseding, and deleting a document

Three operations that sound similar and are not. Confusing them either breaks your audit trail or leaves deleted content retrievable.

Active, superseded, deleted

Updating creates a new active version and keeps the old one for audit. Superseding marks a version inactive while leaving it resolvable by citation. Deleting removes content from the index *and* from any cached embedding store.

The example below shows an index holding both versions of one chunk, with retrieval restricted to active ones.

THE INDEX HOLDS
  c1 version 1   "Refunds within 30 days."     superseded
  c1 version 2   "Refunds within 7 days."      active

retrieval returns:        c1 version 2
still stored and citable: c1 version 1

THREE DIFFERENT OPERATIONS
  update      the new version becomes active; the old one is kept for audit
  supersede   the old version is marked inactive but still resolves by citation
  delete      removed from the document store AND the chunk index AND the
              stored vectors

A citation issued last month must still resolve, or the audit trail breaks. A
deletion that leaves the vectors behind has not deleted anything.

Retrieval returns only c1@v2. c1@v1 is still stored and still resolvable, which is what lets a citation issued last month continue to work.

That property is easy to lose. Rebuild the index from scratch, drop the superseded versions to save space, and every citation in every archived answer now points at nothing. The audit trail from the next unit depends entirely on old versions remaining resolvable.

The mistake this prevents

The mistake is treating deletion as an index operation. A vector derived from deleted text is still derived from it, and vector stores frequently hold their own copies. A deletion that clears the document store and leaves the embeddings has not deleted anything a determined query cannot reach.

Takeaway

Distinguish update, supersede and delete explicitly, keep superseded versions resolvable for citations, and make deletion cover the document store, the chunk index and the vector store together.