- thinking (off, low, medium, high, xhigh, max) is an enum: serde rejects
unknown levels in the config, and the schema of agent.chat lists them.
reasoning_effort, a second name for the same setting, is gone.
- agent.chat takes an optional thinking level for one turn.
- off really switches thinking off: OpenAI gets the effort none, and
Anthropic gets disabled thinking (newer Claude models think by
default). A model that cannot switch thinking off gets low.
- Unset means the model's default. Anthropic thinking blocks now return
unless thinking is off, because newer models think by default.
- The template sets thinking: medium and shows it in each example, with
current model names.
- Checked against the proxy with gpt-6-luna, glm-5.3-flash, and
claude-haiku-5-5.
- /config/agent.yaml and /config/boot.yaml replace the JSON files, read
with serde_yaml_ng (also in the agent, inside WASM).
- sausage init asks nothing and reads no SAUSAGE_* variables. It writes
commented templates with an example for each API, and prints the path
to edit. Until the agent is configured, agent.chat names the missing
field. allow_no_token: true permits a local model without a key.
- The agent speaks openai-chat-completions, the format of OpenRouter,
Ollama, and most providers. base_url follows each SDK: with /v1 for
the OpenAI shapes, without it for Anthropic.
- Checked against the proxy with glm-5.3-flash: the agent wrote, built,
and activated a counter plugin in 55 s.
The console reads a line, runs it to the end, and prints the result,
with and without a terminal. Notifications print while a command runs.
Ctrl-C during a command stops only the wait. 314 lines (was 480).
All host integration tests are modules of cli/tests/host/, so they run
in one parallel pool, and the probes build once. Warm, the 184 host
tests take 24 s (was about 45 s as seven binaries in sequence), and
cargo test --workspace takes 45 s.