Unauthorized | No sign-in, or an expired one | servo login; servo whoami says who you are |
PermissionDenied | You hold no role, or a lower one, on that robot; the message names the role | Ask a robot admin for servo access grant |
NotFound | A path, robot, deployment, or session does not exist | Check the name; for a private bucket, servo source verify |
ActionSpaceIncompatible, EmbodimentUnsupported | The checkpoint does not match the robot type or its camera and state layout | Read report.reasons from model.inspect |
ModelNotServable | Inspection found an unsupported model family or an incomplete export | Check the files; contact the Servo team with the path |
ObservationInvalid | A camera role or the state is missing, wrongly shaped, or wrongly typed | The message names the role; check that camera with servo robot show |
NotReady | The deployment is still loading | deployment.wait, or servo deployment wait |
ServingDeadlineExceeded | One prediction missed its deadline | Check servo deployment show; retry only if another isolated prediction is still useful |
ServingUnavailable, ServingCapacityExceeded | Capacity is gone or full | servo deployment list; wait, or stop what you no longer need |
StaleGeneration | The deployment changed under an open session | Start a new session when the change is intended |
PayloadTooLarge | An observation exceeded the request limit | Send frames as captured, with no extra channels; check the camera geometry with servo episode show |