Tool requests carrying an explicit `timeout` kwarg (terminal_execute,
python_action, etc.) were capped at the sandbox hard timeout (default
120s) regardless of the tool-level value, producing a "Tool timed out
after 120s" error on legitimate long-running scans.
- Resolve the wait_for envelope per-request: if the tool kwarg sets a
timeout larger than the default cap, grow the envelope to
`tool_timeout + 30s` so the tool's own timer runs to completion
plus a small buffer for sandbox overhead. Otherwise keep the
sandbox default as the hard cap.
- Make the timeout error actionable — mention
STRIX_SANDBOX_EXECUTION_TIMEOUT and the per-call timeout kwarg so
users can self-discover the knob.
Closes#436
* fix: --config flag now fully overrides ~/.strix/cli-config.json (fixes#377)
Previously, env vars applied from the default config at module import time
were not cleared when --config was later processed, causing settings from
~/.strix/cli-config.json to leak into runs that specified a custom config.
Track which vars were applied by the initial default-config load in
Config._applied_from_default. In apply_config_override, clear those vars
before applying the custom config so only the custom file's settings take effect.
* Add config override regression test
* Make config override test setup explicit
---------
Co-authored-by: octo-patch <octo-patch@github.com>
Co-authored-by: bearsyankees <bearsyankees@gmail.com>
- Change default model from gpt-5 to gpt-5.4 across docs, tests, and examples
- Remove Strix Router references from docs, quickstart, overview, and README
- Delete models.mdx (Strix Router page) and its nav entry
- Simplify install script to suggest openai/ prefix directly
- Keep strix/ model routing support intact in code
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add comprehensive test suite for the argument_parser module including:
- Tests for _convert_to_bool with truthy/falsy values
- Tests for _convert_to_list with JSON and comma-separated inputs
- Tests for _convert_to_dict with valid/invalid JSON
- Tests for convert_string_to_type with various type annotations
- Tests for convert_arguments with typed functions
- Tests for ArgumentConversionError exception class
This establishes the foundation for the project's test infrastructure
with pytest configuration already in place.