Skip to content

[epic] Build authorized document retrieval and member search #125

Open
6 of 11 issues completed
Open

Description

@qiuethan

Area

bot, service, docs-system

Outcome

The helper bot needs retrievable document content, but fetching text alone does not provide search. This epic connects content acquisition (#82) to the helper experience (#81) and delivers a usable /doc search command independently of conversational answers.

Definition of done

Ownership

services/llm owns embedding generation (#173). services/documentation-system owns chunking, vector storage, indexing lifecycle, retrieval, and model-change recovery. discord-bot owns member search (#210). #178 owns the evaluation harness; its repository location should be chosen with the existing tooling patterns. Source fetching (#82), conversational answers (#81), and durable meetings (#211) remain separate.

Parallel work

#175 joins the completed chunker (#218), embeddings (#173) and vector storage (#174). #176 can run alongside #175 using seeded chunks and the completed #174/#238 contracts; it no longer waits for indexing. Angela first publishes retrieval request/response examples and a shared fixture for William (#71) and Jessica (#210). #277 joins #175 and #176 for integrated lifecycle and authorization verification. #209 still follows #174/#175, while #178 and #210 retain #176 as their completion prerequisite. Native Relationships record hard blockers; #76 supplies source-permission reconciliation for end-to-end authorization.

Task breakdown

Task Area Effort
#208 — Decide the initial chunking and retrieval strategy service, docs-system S
#218 — Split document text into deterministic chunks with source offsets service, docs-system M
#173 — Add authenticated batch embeddings to the LLM service service M
#174 — Store document-chunk embeddings in pgvector service, docs-system S
#175 — Index document chunks and maintain their lifecycle service, docs-system L
#176 — Build the authorized retrieval engine service, docs-system M
#277 — Verify indexing to authorized retrieval integration service, docs-system, integration TBD
#209 — Re-embed indexed chunks after an embedding-model change service, docs-system L
#178 — Measure retrieval quality against a fixed question set tooling, docs-system S
#210 — Add member-facing document search to the bot bot, docs-system S

Earlier decisions and completed history

Closed children: #177. Their existing issue states and discussions retain the completion, cancellation, or supersession details.

Scope and implementation notes

Build order / children: #208 → #218; #173 → #174; #218 + #173 + #174 → #175; #174 + #238 → #176; #175 + #176 → #277; #174 + #175 → #209; #176 → #178 and #210. #277 is a release gate, with automated integration complete by October 21 and release acceptance before October 23. GitHub's native Relationships are authoritative for blockers.

Authorization decision: Filtering is part of retrieval, before ranking—not a later bot or LLM filter. Extend #74's doc_visible() / doc_grants rules for authenticated person and channel contexts. Direct document search remains person-scoped; channel answers use group entitlement without the asker's private grants. #177 was merged into #176 and closed as superseded; do not recreate a separate authorization task or unfiltered endpoint.

Indexing decision: Use the existing ingest/content-replacement path plus an authenticated admin re-index operation. No scheduler, queue, or job runner inside the catalog; see docs/ARCHITECTURE.md. Key indexing on catalog entities, not the URL-fetch path, so future meeting records (#211) are not excluded.

Available foundations: #83/#84 deliver stored Google text; #74 supplies grants; #42/#41 supply the LLM provider/auth patterns; catalog CI already exercises Postgres migrations. Google content is sufficient to start. #86 can widen the corpus later; #85 (Notion) is canceled.

Split recorded: #218 owns pure chunking; #175 consumes it and keeps its full indexing/lifecycle scope. #176 owns authorized query implementation against seeded chunks; #277 owns the indexing-to-retrieval acceptance formerly implied by their serial dependency. Authorization stays mandatory in #176. #208 records strategy in services/documentation-system/docs/ARCHITECTURE.md.

Open questions: Absolute versus relative relevance floor; whether search is deliberately narrower than listing while never exceeding the existing visibility rules. Embedding-model selection remains in #173.

Out of scope: Source fetching (#82), conversational answers (#81), tool use (#70/#71), persisting meeting records (#211), and a general scheduled-jobs system. A future scheduler can call the admin operation.

Working conventions

Filed tasks are direct sub-issues of this epic. GitHub Relationships record the existing hard prerequisites; the task table summarizes the work and existing project Size estimates. Keep each task independently reviewable and normally within one CODEOWNERS zone; explain deliberate cross-zone changes. Misty issues may carry several area labels; zones apply to PRs. Follow AGENTS.md and the affected service's CONTRIBUTING.md for implementation, tests, and documentation.

Activity

  1. moved this from Backlog to Ready in Mistyon Jul 26, 2026
  2. added
    type/featureNew capability or enhancement
    area/serviceBackend API services (generic/cross-cutting)
    and removed on Aug 7, 2026
  3. changed the title [-]RAG retrieval layer: /embed + pgvector store + actor-scoped similarity search[/-] [+]Epic: RAG retrieval layer — /embed + pgvector store + actor-scoped similarity search[/+] on Aug 7, 2026
  4. added
    epicContainer issue; progress tracked via sub-issues
    on Aug 7, 2026
  5. moved this from Ready to Backlog in Mistyon Aug 7, 2026
  6. 1 remaining item

  7. changed the title [-]Epic: RAG retrieval layer — /embed + pgvector store + actor-scoped similarity search[/-] [+]Build actor-scoped document retrieval and member search[/+] on Sep 8, 2026
  8. changed the title [-]Build actor-scoped document retrieval and member search[/-] [+][epic] Build actor-scoped document retrieval and member search[/+] on Sep 13, 2026
  9. changed the title [-][epic] Build actor-scoped document retrieval and member search[/-] [+][epic] Build authorized document retrieval and member search[/+] on Sep 26, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/botDiscord botarea/docs-systemdocumentation-system service & content pipelinearea/serviceBackend API services (generic/cross-cutting)epicContainer issue; progress tracked via sub-issuestype/featureNew capability or enhancement

    Type

    No type

    Projects

    • Status
      Backlog

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions