At first I thought I was going to have to play the tutorial every time I died, but I was pleasantly surprised that I just had to get good and beat one real opponent to get out of that cycle.
I got to 900pts before I called it quits, perhaps a weak score. I only played it as a reflex kind of game. I did not even notice, let alone consider, anything in the environment as cues for what stance my opponent would end up choosing.
After reading your dev log on the Punch Out inspiration I absolutely love that concept, in theory. It is certainly a neat way to create random background variation AND opponent variation. The fact that you can generate these cues and then kind of just iterate through them at varied rates to have the opponent change their stance before finalizing it, is a cool way to make them feel more alive. (Although your implementation could just have them changing stance randomly, wiggling their katana until at some point they get to their calculated final stance, accounting for any modifiers rolled.) But I feel like I would have to do a lot of studying and data collection through trial & error just to discover the modifiers. Then I have to be able to do this calculation in my head before each new opponent strikes. Seems very difficult to do from the player's perspective. Perhaps it is actually simple and I am just blind.
After writing all that above, I have spent enough time thinking while typing, and I can now see some kind of play behavior where I am saying to myself "red guy, deer, cloud, bird... last time that was middle *smashes up key*" If there are a lot of possible combinations that might be easier said than done though. Anyways...
Overall an awesome game. I had good fun playing it and analyzing it. Keep up the good work!