Hey Mark!
It’s indeed possible to get something like this working using the current tools.
I started writing it out, but it was getting complicated, so I made a template: https://shared.fibery.io/t/e2036173-f930-4cca-9c1e-0e82966720ce-document-approval-flows
It’s far from complete, but I think it should get you on the right track.
It’s mainly around the access control, and not around creating revisions after the fact. Note that right now, you need edit access in order to press buttons. So for something like “Create Revision” button, you might to use a workaround as Chris explains here: Read only means you can't trigger buttons?
Feature request to allow buttons to be pressed without edit access here: Separate permission for buttons and workflows
Hope it helps, and feel free to ask any questions.