# 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
