BullMQ's asJSON() stringifies data, failedReason, stacktrace and
returnvalue. The Queues page reads them as objects, so payload repo IDs
never showed, failure reasons kept their JSON quotes, and a stack trace
rendered one block per character.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>