You talked about moving in together. About the trip. About meeting her family. Each time it felt like a plan. Each time it didn't happen, there was an explanation, and then another promise to replace it.
You stayed. You made decisions around those promises: turned things down, told people this was serious, stopped looking at other options. The future kept getting pushed back, but it never felt like it wasn't coming.
By the time you understood the pattern, you'd already reorganized around something that was never going to arrive.
The game
Each promise she makes gets her something real right now: your certainty, your patience, your continued investment. You stop hedging. You stop looking. You're in.
The cost of the promise is deferred. Something comes up. The timing isn't right. Soon. Deferred costs don't feel real when you're making them, and they don't feel real when you're breaking them either.
What makes it run is the replacement. Each broken promise comes with a new one. She never has to face a moment where the future is simply gone. Just postponed. The new promise resets your clock before you've finished processing what happened to the last one.
Dominated strategies
Treating the next promise as different from the last one. The content changes (a broken trip becomes talk of moving in, a missed milestone becomes talk of marriage). The pattern doesn't. If the timing is always wrong, the timing isn't the variable.
Staying because the promises felt genuine. They might have been. Genuine promises arrive.
The tell is the replacement. When a promise falls through, watch what comes next. A genuine failure comes with acknowledgment. A future fake comes with a bigger promise, because the bigger promise is what resets your clock before you've processed the last one. The scale keeps increasing. The arrival date keeps moving.
She was making promises about a future she hadn't decided on. You were making decisions based on a future you thought was already decided. Until she does something concrete (books the flight, sets the date, follows through), nothing on your end changes.