The only thing like that I am aware of is the OU Workflow Plugin but am not sure that enforces rules and it quite a complicated animal:
https://moodle.org/plugins/block_workflow
Our approach is to create all courses as hidden and use this block to make it clear what needs to be published:
https://moodle.org/plugins/block_course_status
That only appears to editors not to students, you could use something like that and just try to educate staff as to the process you want them to use.
https://moodle.org/plugins/block_workflow
Our approach is to create all courses as hidden and use this block to make it clear what needs to be published:
https://moodle.org/plugins/block_course_status
That only appears to editors not to students, you could use something like that and just try to educate staff as to the process you want them to use.