Wow, thank you for detailed feedback.
The game works as follows: there are a lot of "regular" rooms with art objects, and there are a few of "special" rooms with key characters that give you quests. Each time you go through an exit from a room, a random room is selected from a pool of "regular" rooms. But each third room is selected from a pool of "special" rooms, which changes based on what quests have you taken and what stage is currently active.
So, for example, you can stumble upon a room with a critic in search of a statue, or you can stumble upon a statue itself. Once you've led the critic to the statue and taken both his and the statue's quests, their room is taken from the pool of "special" rooms until you finish any of their quests (find four critics or find four materials respectively). Then, you have the choice to complete either the critic's or the statue's quest (you can't complete both, since they contradict each other). After that, the pool of "special" rooms will only contain a room that corresponds to the ending you've chosen.
Overall there are 2 storylines, each with two possible endings: the statue's story (either help the statue escape, or help critics completely immobilize her), and the refugee's story (either get the key and let refugees into the vault, or notify guards and get refugees expelled from the museum). To find the guards you have to "follow the images of war", i.e. looking for art pieces that have war-related images in them.
Hopefully, that makes sense to you ) The main problem, as you have rightly pointed out, is randomness and the fact that player has no agency over where and when they will go. This was kinda the main initial idea behind the game (to make an impossible, confusing space that player can wander through indefinitely), but also, as you've made me realize, ended up being its main foil (taking away player's agency over a story flow).
Thanks again for paying so much attention to my game! It's a dream of every creator to have such a devoted and honest critic as you :)
P.S.: thanks for noticing another bug. I'll look into it when I have time to do another patch.