I've found a way how to define levels very easy.
And there will be a simple algorithm possible also i'm shure.

I use a projection of the rooms to 2D and number them serially.
Then they get a connection for each exit. These exits have to be joined. The result is the hypercube system.

Each room is described unique recognizable and the "good" exit possibly marked (by a hint) or maybe the order of the rooms it self is a hint.
The traps are dead ends anyway.

here's a draft (without trap rooms):