mirror of
https://github.com/usestrix/strix.git
synced 2026-10-29 06:32:26 +00:00
`_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. |
||
|---|---|---|
| .. | ||
| __init__.py | ||
| test_config_loader.py | ||
| test_cost_tracking.py | ||
| test_execution.py | ||
| test_hooks.py | ||
| test_inputs.py | ||
| test_local_sources.py | ||
| test_notes.py | ||
| test_runner_rate_limit.py | ||
| test_sarif.py | ||
| test_session_entries.py | ||
| test_state_repo_context.py | ||
| test_todo.py | ||