The other consideration is for the runtime. One of the reasons for adding all this done stuff is to eventually allow for controlled shutdown fo flows - so they can stop accepting new work but continue to process existing pipeline until they are all finished / done. So another way to think about it is has the node done what it was asked to do and is now waiting for the next task. So in your case I would argue yes - once it has started to record it has finished that request.
If on the other hand your node had a mode that one command recorded for say 10 seconds, then output that chunk... then done would be after it has finished recording and passed the message on... as the task is different,
So yes it is fairly simple for many nodes - but needs thinking about for quite a few also... like split / join etc... aka any node that goes 1 -> n or n -> 1. And no we haven't worked them all out - so any help appreciated.