Repository navigation
This release changes which model a config with no model uses, makes an action land on the element the model actually read, and bounds every model call. Defaults and execution change, which is why this is a minor.
Default models, chosen by measurement
With no llm.model set, openai now uses gpt-6-luna (it was gpt-4o-mini) and ollama uses gpt-oss:20b (it was qwen2.5). On the reliability benchmark, the old defaults failed almost every test on the correct demo app: 35 of 40 for gpt-4o-mini, 40 of 40 for qwen2.5. gpt-6-luna failed none and gpt-oss-20b failed 2. The table for nine models is in Choosing a model (#154).
Upgrade note: on Ollama, run ollama pull gpt-oss:20b (about 14 GB) before running a config with no model. To keep the old default, set model: qwen2.5.
An action lands on the element the model read
The runner used to search the page for the model's description of an element and take the first match. A target with a role and no name clicked the first button on the page (#132). Two controls sharing a name resolved to the first one (#60). When such a click succeeded, the log could not show it.
Every snapshot now gives each element a ref, and an action names that ref. A ref resolves to that element or to nothing. The role and name the model gives are checked against it, and the log names the element actually clicked. On the two reference models, 5 samples each, verdicts did not change and runs used about 10% more tokens.
Every model call is bounded
- Output: every call asks for at most 4096 output tokens. Without a limit, open-weight models ran whitespace up to 131k tokens, and an account with credit left was refused for the reservation (#126).
- Time: each call has a timeout,
llm.timeout_s(300 s, or 900 s for Ollama), and the run's deadline aborts a call in flight (#133). - Spend: the tokens of an unusable answer are counted (#136).
Also
llm.extra_bodysends a gateway its own options. The docs include the OpenRouter recipe for routing open-weight models around providers that ignore the JSON schema (#150).- New Action name. The Action is now named
blastproof e2e AI testing, so it can be listed on the GitHub Marketplace.uses: hamc/blastproof@v0.25.0and its inputs are unchanged. docs/ci.mdinstalls the right CLI. The example now installs the CLI it documents; since 0.12.0 it had installed 0.11.0.
Full entry in the CHANGELOG.