Just based on the facts from what information we have, I fully agree. The story would have to change significantly in order to show anything other than exemplary display of good self-defence principles:
You should not allow a verbally aggressive person to stay at a distance where they could land a punch or use a concealed knife at any time, especially after you backed off already. Try articulating near a cop’s face and see what (rightfully) happens.
I work a lot with the local history of the IDE, where I can also set labels to a current state. In addition, it creates its own labels like last time all tests were green etc.
Still, in one of my last project that really lived TDD, they made a good point that I should just push as often as I label, since that also triggers all sorts of other tests which I usually don’t run locally, or not as often.
I had “rearrange code” checked once for a commit, and fortunately, it had automatically saved the exact state before that.