# Fleet internal reasoning format Arriella fleet models support **Ollama native thinking** like enterprise models (Qwen3, DeepSeek-R1): clients toggle reasoning with API `think:true` / `think:false` or CLI `--think` / `--think=false`. ## Ollama native flow (preferred) When `think:true`: 1. The Ollama template **opens** `/think` at generation time (the model must not repeat it). 2. The model writes a **scratchpad** inside the thinking channel — multi-step `[Step N] Input:/ Op:/ Output:/ Check:` chains for hard questions. 3. The model emits `/thinking end` on its own line. 4. The model writes the **plain user-facing answer** in `message.content`. When `think:false`: - Reply directly in `message.content` with no `/think`, `/thinking end`, `/answer`, or XML markers. ## Ascension (DeepSeek-R1 native) Fourth core tier `arriella-ascension` uses DeepSeek-R1 distill markers: ``` scratchpad … plain answer ``` Ollama template (`deepseek_native`) matches official `deepseek-r1`: - `think:false` → injects empty `` so the model skips CoT - `think:true` → model opens `` itself, then closes and answers Bootstrap / catch-up: `scripts/fleet_ascension_catchup.py` ## Training targets | Mode | Assistant `output` target | |------|---------------------------| | Think on (Ollama) | `{scratchpad}\n/thinking end\n{plain answer}` — **no leading `/think`** | | Think on (HF legacy) | `/think\n…\n/thinking end\n/answer\n…\n/answer end` | | Think off | Plain answer only (`chat_direct_anchor`) | ## Also accepted in eval Older paths may emit `` and ``. Capability scoring grades the **answer** block only. ## Required behavior 1. Scratchpad lives **inside** the thinking channel when think is on — not in a separate broken channel. 2. Always emit `/thinking end` before the user-visible answer when think is on. 3. Use math only when numerical computation helps — not for open-ended writing. 4. Never leave refusal/think tags in the final answer body. ## Related tools - Enable native templates: `scripts/enable_native_thinking_ollama.py` - Prove think on/off: `scripts/prove_deep_think_ollama.py` - Atlas proxy that strips think leakage: `scripts/atlas_ollama_proxy.py` - Chat with think/vision: `scripts/fleet_chat.py`