Sub-issue of the RAG retrieval epic (#125). **Stage 2 of 3: index.** ## Scope - Chunk extracted document text (the full-text storage landed in #83) with a configurable size/overlap strategy. - Embed each chunk via `/embed` and upsert into the vector store. - Re-index on document change; remove chunks when a document is deleted or its source disappears. - Idempotent: re-running over an unchanged document must not duplicate chunks. ## Acceptance - A document with real extracted text (e.g. from the Google Workspace connector, #84) is chunked, embedded, and persisted end to end. - Editing the source and re-indexing replaces chunks rather than accumulating them. - Deleting a document removes its chunks. ## Open question Chunk size / overlap for the doc shapes we actually have — Google Docs, Notion pages, GitHub READMEs. See the epic.
Sub-issue of the RAG retrieval epic (#125). Stage 2 of 3: index.
Scope
/embedand upsert into the vector store.Acceptance
Open question
Chunk size / overlap for the doc shapes we actually have — Google Docs, Notion pages, GitHub READMEs. See the epic.