Roofer tore up the wrong house

UPDATE: The seller, both real estate agents, and myself met up at the home this morning. The roofer sent a text earlier saying he wouldn’t make it but takes full responsibility for the whole thing and make it right. Everyone was on board with getting the roofer to pay for the entire roof to redone. The roofer has agreed and will start soon.

I am under contract to buy a house that is supposed to close in a few days.

After going under contract a month ago we had a roofer go look at the roof to get a quote on what it would cost to redo the roof. That was the last time I chatted with the guy and we never signed any contracts or anything... it isn't my house yet.

Today, the guy showed up with his team and ripped up half of the shingles on the roof before someone stopped him. Turns out he made a mistake and went to the wrong house!! He was supposed to be at a house on the other side of town but somehow made the mistake on coming to this one.

Simple solution: he replaces the torn out section with new "as close to original" matching shingles. How close to matching can you really get? The original shingles are 20 years old so they're a bit faded. So, a two toned roof is more than likely what we'll have. Big deal? Meh, kinda. I'm not really sure how I feel. It sucks but I do love the house. I don't know.

Another simple solution that is a little more unreasonable... I back out. It's not my problem and I don't pay for a house with a roof that isn't in the condition that I went under contract for. Again, a little unreasonable.

What other solutions am I not seeing?

What would y'all do?