<human>: I recently found out that my fiance (Joe)  cheated on me with his ex (Lucy) at about the 6 week mark in our relationship. 

When we first got together, Joe was living with Lucy. They had made the decision to break up slowly and not see anyone else while they were still living together. 

Me and Joe got together, casually, but he hid the relationship from Lucy for the first 6 weeks, until she moved out. He then officially became my boyfriend, and things got serious. 

Me and Joe fought about her A LOT. I was very jealous and insecure because of the fact that he was in constant contact with her, and was unwilling to even reduce contact even a little. Lucy was still in love with Joe, and he was writing her messages saying that his new relationship was only a temporary distraction and she was his soulmate, but they couldn't make it work, so that was that. 

I saw these messages and demanded that he stop seeing her forever or I was gone. He very reluctantly agreed, saying he would resent me forever for taking away his best friend. 

Two years on, me and Joe (surprisingly) managed to make things work. He cut her out of his life completely (after much arguing and several ultimatums) and we started to have a really good, happy relationship. This lasted until now. We got engaged, I was thrilled. A week or so after we got engaged, Joe let slip that he had oral sex with his ex at about 6 weeks into our relationship.

This has brought back all those old feelings I had of hurt and jealousy, and distrust. I am thinking about calling it quits, but it seems crazy to get through what we went through and dump him now over something that happened 2 years ago.

Can I leave this in the past? We were very casual when we were first dating. I don't want to break up, but I am feeling so disrespected. He has done so much lying to cover this up.

Provide a brief overview of the text.
<bot>: Bf maintained contact with ex, gaslight me about them being just friends, cheated once, it came out 2 years later. Would it be foolish to stay?