feat(ui): failure-first step drawer and live spec validation (#2533)