The index.json was getting corrupted (ending with 'issues: }' instead of 'issues: {}').
Added validation that checks if the JSON is valid before moving the temp file.
If invalid, the write is aborted with an error message showing the problematic values.