Answer
Before assuming the job or file is broken, check permissions on the projections that support the migration job, not just the migration job permission itself — those are a separate grant, and missing them can surface as this kind of opaque client-side error rather than a clear permission message.