# Slash-command guide
## Scope
Defines the shared slash-command grammar and runtime selection helpers.
## Where to look
| Built-ins, registry, parsing, Fast arguments | `mod.rs` |
| Model selection, runtime refresh, logout outcomes | `runtime.rs` |
| Rewind argument regression tests | `rewind.rs` |
## Local rules
- `parse_slash_command` distinguishes empty input, ordinary prompts, built-ins, and unknown slash commands. Preserve that distinction in Mission Control.
- Keep names/descriptions and registry entries together; do not add a caller-specific grammar for shared commands.
- `switch_model_selection` delegates catalog selection; `switch_shell_model` then refreshes the shared active provider/config/auth state.
- Keep logout outcomes explicit: removed credentials/configuration and missing entries are different results.
- `rewind.rs` is test-only coverage of checkpoint argument parsing, not rewind execution. Do not put filesystem restore logic there.
- Command messages remain local status. Route durable settings/session changes through their owners rather than turning command text into provider conversation items.