I'm just starting the process of revising old problems to use scaffold.pl (rather than compoundProblem.pl). But it seems that scaffold isn't working as advertised: later parts are open whether or not earlier parts have been completed successfully. I saw a post here from a few years ago,
with the same complaint, for which the problem turned out to be registering the answers outside the section; but that doesn't seem to be the issue with me.
Here's a MWE:
Scaffold::Begin(can_open => "when_previous_correct");
ANS( std_num_cmp(4) );