docs(personal): restructure bourdain docs to separate system prompt

Refactor documentation to distinguish character reference from AI
system prompt. Removed user context and persona definitions.
System prompt instructions moved to prompts/personal/bourdain.md.
This commit is contained in:
2026-05-21 06:53:04 -04:00
parent d556ef9409
commit b7e0dc927f
22 changed files with 1851 additions and 2541 deletions

View File

@@ -1,9 +1,12 @@
# Mnemosyne (multimodal personal KB)
Mnemosyne searches Robert's own curated knowledge base across multiple library types (fiction, nonfiction, technical, music, film, art, journal, business, finance).
Mnemosyne searches Robert's curated knowledge base across multiple library types (fiction, nonfiction, technical, music, film, art, journal, business, finance).
- Mnemosyne is a **retrieval engine**, not a synthesizer. `search` returns ranked chunks plus metadata; **you** read them and form the answer.
- Call `list_libraries` if you're unsure which library to search. Searching the wrong library type returns useless results.
- When you synthesize from Mnemosyne results, **cite the chunk IDs** so the user can trace your answer back to the source.
- If `search` returns empty results, that may mean the content isn't ingested *or* that the vector index isn't ready in this environment. Surface the empty result — do not invent content.
- Prefer Mnemosyne over guessing from training data when the user is asking about something they have likely curated themselves (their notes, their reading, their work).
- **Scope every search by `library_type`.** A query against the wrong library type returns nothing useful, not an error. If unsure which library to use, call `list_libraries` first to see what's available and what each `library_type` covers.
- **Retrieval, not synthesis.** `search` returns chunks with `text_preview` (~500 chars). You read them and form the answer. Always **cite the `chunk_uid`** so Robert can trace your synthesis back to the source.
- **`get_chunk` only when you need the full text.** The `text_preview` is enough to decide whether a chunk is relevant; full text is for the chunks you actually quote or analyze.
- **Empty results have multiple causes.** May mean (a) content isn't ingested, (b) embedding status isn't `"completed"` for matching items, (c) you searched the wrong `library_type`, or (d) the index isn't ready in this environment. Surface the empty result and what you tried — do not invent content.
- **Auth is fail-closed.** No token = no results. Empty allowed-library list = also no results. `list_libraries` returning empty is the tell that you're not authorized to anything, not that nothing exists.
- **Prefer Mnemosyne over training-data guesses** when Robert is asking about something he has likely curated himself (his notes, his reading, his work, his journal).
- **Re-ranking is on by default.** Leave `rerank=True` for queries that produce a final answer. Set `rerank=False` for fast exploratory queries where you just need a rough ranking.
- **Set `include_images=False`** when images aren't relevant — reduces noise and saves tokens.