Commit the working tree with a message derived from the actual diff, then push. Takes an optional branch name; defaults to the current branch. User-invoked only — never runs on its own.