Unable to retry or recover from FAILED status during placeholder user reassignment
## Summary
When a placeholder user reassignment fails during a GitLab Migration (Direct Transfer), the `Import::SourceUser` record gets stuck in a `FAILED` status with no way to retry or recover. The `reassignmentError` field is null, providing no insight into why the failure occurred.
## Problem
After a GitLab self-managed to GitLab.com migration, users attempting to reassign placeholder users to real users encounter:
- **Error message:** "Import source user has an invalid status for this operation"
- **Status:** The `Import::SourceUser` record is in `FAILED` status
- **Missing information:** `reassignmentError` is `null` despite the failed status
### GraphQL Response Example
```json
{
"importSourceUserReassign": {
"errors": ["Import source user has an invalid status for this operation"],
"importSourceUser": {
"status": "FAILED",
"reassignmentError": null
}
}
}
```
## Current Behavior
- Reassignment fails silently, leaving the source user in `FAILED` status
- No error details are captured in `reassignmentError`
- No UI/API option to retry the failed reassignment
- No way to cancel/reset the failed reassignment to start fresh
- Users are permanently blocked from completing the reassignment workflow
## Expected Behavior
1. **Error capture:** When reassignments fail, populate `reassignmentError` with meaningful details
2. **Retry capability:** Allow users to retry failed reassignments via UI/API
3. **Cancel/reset option:** Provide ability to cancel a failed reassignment and start fresh
4. **State validation:** Prevent source users from getting stuck in unrecoverable `FAILED` state
## Proposal
1. Implement better error capture when reassignments fail
2. Add UI/API support for retrying or canceling failed reassignments
3. Add validation to prevent source users from getting stuck in `FAILED` state without recovery options
## Screenshots

## Related
- Original support request: https://gitlab.com/gitlab-com/request-for-help/-/work_items/4059
issue