Some models (Opus 4.6, GLM-5.1) send the edits parameter as a JSON string instead of a parsed array. This fails AJV validation with 'must be array' and models fall back to sed/python. Parse stringified edits in prepareEditArguments before validation.