fix: setup detection and rollback