I think the point was, "*squeek, thonk*, I think I hear the bathroom door opening behind me." Bet if I keep looking at her phone she's going to catch me. You choose to keep looking and see how she responds to you looking at her phone, or you quickly put phone back to not get caught. A good game gives the player enough information to make the 'correct' choice the first time around. Maybe it's obscure and they'll completely miss it. (as you update the phone imagine, maybe the tiny top right of the screen in the background also shows the bathroom door. You see it open on the first picture as she goes in. It is closed on the middle pictures as she stays in. It opens back up on the last pic before you get caught.) But it should be knowable.
Very good point. Thanks redle (and kessie8yl, this is probably what you were alluding to.) There are two points so far in the next game that I will change to incorporate this. You have got me thinking.
I've noticed this loop type both with coffee shop and the exercise girl. Both seem to have nothing to do with caching. My take is that there are trigger points. Skipping a trigger means previous trigger remains unlocked. With the coffee it seemed to be first trigger equals fail or ask for coffee. Second trigger is fail or success at coffee. If you ask for coffee and then go to coffee, but neither fail nor succeed... ie you just walk out, she is back in the gym (rinse, repeat). Same with gym girl. Worked out, but didn't yet move on to next trigger point and I can redo that work out over and over.
The reason I say to empty cache is as I was writing the game, I had loops so that I could quickly test each section through all the variations. I was confident (less so now) that all the loops had been removed and if you started a storyline, success or fail, the storyline couldn't be restarted. A lot of the later problems I was finding was that the game was reloading earlier cached js files rather than downloading the updated files.