I have exactly the same question. Can we unlock a node that requires a hidden node ? If yes, maybe finding a way to programmatically change the requirements of node that require hidden node ? I mean, if A require B and B require C and B is hidden, now A require C. If this is not possible, I think (3) is the best solution, avoiding all confusion.