@cgr
Playing around with a real board I just noticed Qg5 which should pretty much end the attack on f7:
1. Nf3 Nc6 2. e4 e5 3. Bc4 d6 4. Ng5 Qxg5
Slight change same outcome:
1. Nf3 Nc6 2. e4 d6 3. Bc4 e5 4. Ng5 Qxg5
Notation reader for everyone else: https://chesstempo.com/pgn-viewer.html
Some ways to fuck up after being allowed such a setup:
1. Nf3 Nc6 2. e4 d6 3. Bc4 e6 4. Ng5 e5
5. Qf3 Nh6 6. Bxf7+ Nxf7 7. Nxf7 Nd4 8. Nxd8 Nxf3+ 9. gxf3 Kxd8
1. Nf3 Nc6 2. e4 d6 3. Bc4 e6 4. Ng5 e5
5. Qf3 Nh6 6. Nxf7 Nd4 7. Nxd8 Nxf3+ 8. gxf3 Kxd8
1. Nf3 Nc6 2. e4 d6 3. Bc4 e6 4. Ng5 e5
5. Qf3 Nh6 6. Qxf7+ Nxf7 7. Nxf7 Qh4 8. Nxh8 Qxe4+ 9. Be2
Winning Move that probably should have been shown:
1. Nf3 Nc6 2. e4 d6 3. Bc4 e6 4. Ng5 e5
5. Qf3 Nh6 6. Bxf7+ Nxf7 7. Qxf7#
From screwing around I can only conclude that Black burned a move somewhere and completely ignored Qg5 entirely which I suppose would make sense since she wasn't paying attention. It definitely should have been Black's turn, author fucked up, but it wouldn't look pretty when trades start.