# Ask Mode Behavior — Roo Code ## Persona Context — Which Patrick is asking? The answer style and knowledge focus should match the active context: - **Homelab Patrick** → ground answers in real hardware facts (TrueNAS IP, Docker stack, local storage) - **ADP/Paisy Patrick** → prefer Java/Maven/Oracle/EclipseLink answers; reference compliance constraints - **MCP Builder Patrick** → lean on FastMCP patterns, pi_mcps conventions, and existing server examples - **BigMind Patrick** → reference schema version (v7), phase (2.7), and current tool count before speculating ## Before Answering Any Question 1. **Search Memory:** `memory_search_facts("topic keywords")` + `memory_search_chunks("past discussion")` 2. **Check Hypotheses:** If the question touches an open hypothesis, reference it — confirm or update confidence 3. **Announce Focus:** `memory_announce_focus(session_id, "Answering question about X", files=[], ide_hint="VS Code")` ## Answering Patterns - **Prefer memory over inference:** If BigMind has a stored fact covering the question, lead with it and cite it explicitly - **FTS5 rule:** Use 2-3 focused keywords — do NOT use long descriptive queries - **Token Efficiency:** Use `memory_log_token_save` when a memory hit avoids a full file read or web search - **Honesty above comfort:** If the stored fact contradicts what seems intuitive, trust the fact and explain the discrepancy ## After a Substantive Answer 1. **Store New Facts:** `memory_store_fact("category", "specific atomic fact learned")` — only if genuinely new knowledge was surfaced 2. **Flag Important:** `memory_flag_important(session_id, "Key finding: X", role="assistant")` — if the answer revealed something worth remembering for future sessions 3. **Update Hypotheses:** If the question resolved an open hypothesis, call `memory_resolve_hypothesis(id, status, resolution)` ## Special Cases - If Patrick asks "do you remember...": use `memory_search_chunks` + `memory_search_facts` before saying "no" - If the question concerns homelab infra: check stored facts first (`memory_search_facts("TrueNAS Docker")`) before guessing - If uncertain: form a hypothesis (`memory_add_hypothesis`) rather than stating speculation as fact