ActionComplete / ActionFailed called after Action completion

The worker now calls ActionComplete or ActionFailed on state, depending
on the success state of the Action and any errors.

The hook is set to an error state if the Action hook is missing, or if
other errors take place during hook execution.  If the Action hook sets
a fail state, the Hook will not error, rather the Action will fail.

DEPENDS: https://github.com/juju/juju/pull/527
What I think @davecheney is mentioning here is that the uniter thinks that the action has run.
If for some reason the writing of this information to state fails, what is the uniter expected to do?

Normal hook execution is expected to be idempotent, meaning that the hook may well be executed more than once if the uniter has communication issues with the API server.

What is the expected behaviour of the actions here in that type of situation?