strix/tests
Sean Kim 946ae52411 fix(todo): stop json.loads corrupting bare numeric-looking todo ids
`_normalize_todo_ids` runs a bare id string through `json.loads` and, when
the result isn't a list, returns `str(parsed)`. Todo ids are
`str(uuid.uuid4())[:6]` hex slugs, and ones like "1e5230" or "2363e0" are
valid JSON numbers — so json.loads turns them into `inf` / `2363.0`.
`mark_todo_done`, `mark_todo_pending`, and `delete_todo` then operate on a
non-existent id and report "Todo with ID 'inf' not found", silently
failing whenever such an id is passed as a bare string — a form the
comma-split fallback explicitly supports.

Use json only to detect the JSON *array* form; treat any non-array input
as a literal id (optionally comma-separated). Adds tests/test_todo.py
covering the normalization paths plus an end-to-end `_mark` resolution.
2026-07-03 15:28:21 -07:00
..
__init__.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_config_loader.py test: add unit tests for config loader (strix/config/loader.py) (#596) 2026-06-30 04:31:29 -07:00
test_cost_tracking.py fix: report cost for streamed OpenRouter calls (#634) 2026-07-03 00:10:28 -04:00
test_execution.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_hooks.py Add configurable token / cost usage limits (#576) 2026-06-22 11:17:08 -04:00
test_inputs.py fix(core): collapse child agent initial input into a single user message (#589) 2026-06-29 06:51:47 -07:00
test_local_sources.py Support large target repos with with bind-mount option. (#577) 2026-06-22 12:41:42 -04:00
test_notes.py fix: avoid note ID collisions (#630) 2026-07-02 22:54:44 -04:00
test_runner_rate_limit.py fix: stop gracefully with resume hint on persistent RateLimitError (#261) (#593) 2026-06-29 07:31:54 -07:00
test_sarif.py feat(report): SARIF 2.1.0 emitter for CI / code-scanning integration (#626) 2026-07-03 10:43:31 -04:00
test_session_entries.py Support large target repos with with bind-mount option. (#577) 2026-06-22 12:41:42 -04:00
test_state_repo_context.py feat(report): SARIF 2.1.0 emitter for CI / code-scanning integration (#626) 2026-07-03 10:43:31 -04:00
test_todo.py fix(todo): stop json.loads corrupting bare numeric-looking todo ids 2026-07-03 15:28:21 -07:00