I have partly rewritten The Art of Fugue. In the previous version, the game remembered each action, and simply changed the actor part of the action and tried doing it again. But what I really wanted was to remember each command, and parse that command anew for each actor. (This is very different. In the first case, "x me" would lead to each of the actors looking at Een; in the second case, it leads to each of the actors looking at themselves. The latter is what I wanted.) This significantly cleared up the code for puzzle three, since I had to do a lot of dirty hacking with the apples in the previous system.
I have also added a host of rules that should stop (most) multiple actions, like "take all" or "sing and jump".
I have added a fourth puzzle, which is almost perfect in its simplicity. There is a room with a lamp (currently off) and a single button. Pressing the button will turn the lamp on or off, depending on its current state. Challenge: get the lamp to burn for three consecutive turns.
And I have put the source code online! Consider it released under the GPL 3 or any later version. (But of course I'd appreciate you not forking it at this point in its development. Let's make a working full version of the game first!)