How would you build a resilient pipeline that can recover from partial failures without corrupting downstream data?