Nice one! I think I tried something similar but couldn't think it through to success. Thing is, you're also allowed to read from the output committer temporaries - we'd need a filesystem just for that.
And to (job) commit - we'd need a filesystem just to be able to list the files. These can be written by other shards, so local knowledge is not enough. There are also retries and cleanups to take into account.
I reckon you could have done it, but not with Hadoop OutputCommitter semantics.
And you'd still need to go through a separate branch to get atomicity.