# Test Plan: Tab Completion and Prompt ## Behaviors to test ### Tab completion (repl_complete) - [ ] .role → role names (no hidden files) - [ ] .agent → agent names (no .shared) - [ ] .session → session names - [ ] .rag → RAG names - [ ] .macro → macro names - [ ] .model → model names with descriptions - [ ] .set → setting keys (sorted) - [ ] .set temperature → current value suggestions - [ ] .set enabled_tools → tool names (no internal tools) - [ ] .set enabled_mcp_servers → configured servers + aliases - [ ] .delete → type names - [ ] .vault → subcommands - [ ] .agent → session names for that agent - [ ] Fuzzy filtering applied to all completions ### Prompt rendering - [ ] Left prompt shows role/session/agent name - [ ] Right prompt shows model name - [ ] Prompt updates after scope transitions - [ ] Multi-line indicator shown during ::: input ## Status Most completion logic requires filesystem access for role/session/agent lists. The `split_line` function has existing tests. Prompt rendering methods are trivial wrappers around stored strings. Low additional unit-test yield. ## Old code reference - `src/config/request_context.rs` — repl_complete - `src/repl/completer.rs` — ReplCompleter (split_line already tested) - `src/repl/prompt.rs` — ReplPrompt