mesh-sdk's compose-candidate answer is now the node-engine seat's generated type, whose input is a JSON object; the composer's request takes bytes, so the checker encodes it again, its numbers kept as written (json.Number). Claude-Session: https://claude.ai/code/session_01JG73KG7AfSdh6FP8VrBqCn