It's like being given a potentially ancient, bit-rotten code base and asked to refactor the shit out of it for a fixed price. And you can't know that upfront.
It might take a day. It may take a decade. It may take you the customer to change your entire approach.
This is not feasible. You can not disregard hidden defects and the cost of fixing them unless you do not really want reliabilty. If you do not want it, then don't complain.
In IT this requested lack of reliability is accepted. In healthcare and auto repair it is barred by law.
EDIT: i hate autocorrection.