A robot losing camera confidence, reporting actuator drift, or seeing contradictory sensor values should expose more than “fault.” The operator needs a machine-readable statement of the impaired capability, the evidence behind it, the fallback being used, and the next permitted action: reduce speed, switch sensors, request help, or stop.
That is not automatically safer in every deployment. If every uncertain reading freezes a warehouse fleet, people will bypass the system or abandon automation. But silent compensation is worse when the robot’s behavior changes without warning. ROS 2 lifecycle and diagnostics give us useful building blocks, but they do not define what operational behavior must follow a particular fault. I’m not aware of one cross-vendor contract that does.
Should teams design degraded-mode contracts into robot APIs and safety testing from the beginning? I’d like examples from deployments, or arguments for keeping this looser.