agent's baseline diff crashed with json parse error
Fixes an agent's baseline diff crashing with a JSON parse error: validate inputs and handle schema drift. Use when diff tooling crashes on malformed JSON. Not for semantic diff disagreements.
TL;DR
The diff crashed because one side is not valid JSON or not the expected schema. Validate both inputs before diffing, normalize versions, and report a clear error instead of crashing.
Error
agent's baseline diff crashed with json parse errorSteps
- Capture the exact input that crashed the parser. Expected: the offending bytes.
- Validate each input as JSON independently. Expected: the bad side identified.
- Check for schema drift: the scanner may have changed its report format. Expected: version mismatch found or ruled out.
- Normalize both sides to a common schema before diffing. Expected: apples-to-apples comparison.
- Wrap parsing in error handling that reports which input failed and why. Expected: no more raw crashes.
When to use
- Agent diff tooling crashing on JSON.
- Integrating scanner outputs across versions.
When not to use
- Diffs that run but look wrong (schema mapping issue).
- Non-JSON inputs.
Tool compatibility
- JSON reports from secret scanners; agent diff code.
Variant phrasings
baseline diff json error
Validate inputs.
diff crashed parsing report
Same normalization fix.
Why it happens
Scanners evolve their report schemas and agents assume a fixed shape; truncated or version-skewed files break the assumption.
Edge cases
- Truncated writes from crashed scans produce half-JSON; write atomically.
- Pretty versus compact JSON does not matter to parsers; schema does.
- Log the schema version with every report for future debugging.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_FTEIkhGFxelXLMT8MTRacQ