Repository navigation
[task]: Add member-facing document search to the bot #210
Description
Blocked by
Area
bot, docs-system
What needs to happen
Members need to find relevant documents without remembering their titles or waiting for conversational Q&A. This is the independently usable search surface for the RAG epic (#125).
Definition of done
-
/doc search <query>returns ranked matching documents with titles and links from the retrieval endpoint. - The command forwards the asking member's authenticated context and returns only results [task] Build the authorized retrieval engine #176 authorizes; no authorized matches produces a normal empty response.
- A query below the retrieval relevance floor displays a clear no-match message.
- An unavailable retrieval service produces a clear user-facing message using the bot's existing dependency-error pattern.
- The command is covered by offline tests following existing
/docsubcommands and works in the web playground.
Scope and implementation notes
Epic / prerequisite: #125; native blocker #176. Conversational answers remain in #81.
Implementation: Extend the existing /doc group, neutral command shape, and doc client. Follow the established DocUnavailable / DirectoryUnavailable degrade-with-a-message approach. Reuse server-side visibility rather than filtering a broader result set in the bot.
Contract coordination: Angela's first #176 deliverable is retrieval request/response examples and a shared fixture. Jessica (@swannercjj) can build the command/client against that same interface with contract-faithful mocks while the engine is implemented; coordinate with William (#71) rather than inventing a separate response shape. #176 remains this issue's prerequisite for completing real search integration.
Cost boundary: The bot does not call a generative LLM to compose answers; it renders retrieval results directly. This does not rule out query embedding inside the retrieval service.
Out of scope: LLM-generated answers, a new visibility rule, and search outside the document catalog.
Working convention
Part of #125. GitHub Relationships record existing prerequisites. Keep this task independently reviewable and follow AGENTS.md and the affected service's CONTRIBUTING.md for implementation, meaningful offline tests, and matching documentation. Misty issues may carry several area labels; zones apply to PRs.
Metadata
Metadata
Assignees
Labels
Type
Projects
- StatusShow more project fieldsBacklog
Activity
[-]RAG: /doc search — member-facing search over retrieval[/-][+]Add member-facing document search to the bot[/+][-]Add member-facing document search to the bot[/-][+][task]: Add member-facing document search to the bot[/+]