Right now subtasks have no relation to whether or not the parent-task can actually be completed. So if a parent is dependent on a subtask, there is no real protection against premature completion of the parent task.
Here’s a use case:
The task is Quality Control for a feature release
We have a set of required QC measures and a set of optional things to keep an eye for, but aren’t musts prior to release
We want the QC task to have all the QC measures, with some of them being mandatory and others being optional.
The QC task should only be completable when all mandatory subtasks are completed.