Some checks failed
Contributor Attribution Check / check-attribution (pull_request) Successful in 42s
Docker Build and Publish / build-and-push (pull_request) Has been skipped
Nix / nix (ubuntu-latest) (pull_request) Failing after 4s
Supply Chain Audit / Scan PR for supply chain risks (pull_request) Successful in 36s
Tests / test (pull_request) Failing after 1h13m6s
Tests / e2e (pull_request) Successful in 1m32s
Nix / nix (macos-latest) (pull_request) Has been cancelled
Adds `repair_and_load_json()` to utils.py using the `json_repair` library as a fallback when `json.loads()` fails. Replaces 8 non-hot-path json.loads sites identified in issue #809: - L2250: trajectory/sanitization message content parsing - L2500: tool_call dict reconstruction in trajectory conversion - L2535: tool_content parsing (JSON-like strings in tool responses) - L2888: session log file loading (with warning on unrecoverable parse) - L3119: todo content parsing in message processing - L5963: vision result_json parsing - L6761: memory flush tool call argument parsing - L8300: cache serialization tool call args normalization Each site uses an appropriate default ({} for tool args, None/continue for content parsing) and a context label for debug tracing. Fixes #809
7.0 KiB
7.0 KiB