Defensive JSON decoder that tries JsonRemedy.repair/1 first for
malformed LLM output, falling back to Jason.decode/2.
This decouples the pipeline from the json_remedy dependency. If
json_remedy is unavailable (e.g. not compiled), we silently fall
back to standard JSON decoding.