Ask a question. Get an answer with its sources.
On any document, the Ask button opens an assistant that answers from the whole library you can see, not only the page in front of you. Every answer cites the passages it came from.

Grounded, cited, and streamed.
The open document is a hint for the search, never a limit. The assistant retrieves passages from across the library, shows its sources above the answer while the answer is still being written, and marks each claim with a numbered citation.
It is told never to invent a document, section, decision, or number, and to say plainly when the library does not contain the answer. Answers render the formats the library is written in: Markdown, highlighted code, tables, Mermaid diagrams, and math.
Your access decides what it can say.
- It sees only what you can open
- Retrieval uses the same visibility rule as the catalog, search, and content fetches, applied inside the database query. An answer can never draw on a document you cannot open, because the passage is never retrieved.
- Your conversations are yours
- You can list, reopen, rename, and delete your own threads. A thread is invisible to every other reader, and there is no admin override. Your question is saved before generation starts, so a failed answer never loses your words.
- Built from the Markdown
- The index reads each document's Markdown rendition and nothing else, so it indexes the words and not the markup around them. Publishing refreshes the index for just the documents it touched.
- It says what it can do
- Search and generation are independent. If a deployment has one without the other, the panel says which, and with no model configured, asking still returns the relevant passages.
Two kinds of search, fused.
Retrieval combines Postgres full-text search with embedding similarity and fuses the two rankings by reciprocal rank. Building the index is an admin action, not a reader write: it rebuilds the passages for the whole library, so it sits behind the admin key.

