GET /roster/status/{jobId} to keep users
informed from the moment a job starts until all processing is complete.
The response includes fields such as status, hasResult, and isActive for
controlling your application. It also provides two complementary ways to show
users what is happening:
Metrics
Show hard numbers that describe the current roster, such as unfilled demand or rule violations.
Messages
Share detailed, plain-language updates about the stage and progress of the roster job.
statusOptions when starting the roster job, then retrieve them while polling
the status endpoint.