Hi Conner
Apologies for being late to respond. You're doing some interesting stuff.
The current approach for communicating between the browser and the server is to layer things on top of the existing tiddler synchronisation mechanism. This reflects a principle in TiddlyWiki's design: to strive for the minimum number of mechanisms, and to reuse them as much as possible.
In this case, you could use a single system tiddler to coordinate things. To trigger the command, the browser UI might set the text of the tiddler $:/commands/gitlog to the name of a tiddler that should contain the results of the gitlog command. The server has a wiki store change event handler that looks for modifications to that tiddler, and fires off the gitlog command when it sees the tiddler text changing. On completion, the server process would place the results of the command in the specified tiddler. The tiddler value would eventually propagate to the browser where a simple transclusion will cause it to be displayed where required.
There are some issues: currently there's a 60 second lag for changes to propagate from the server to the browser. That's partly because the polling mechanism is not very sophisticated. That all needs improving, but it's probably easier than introducing a wholly new transport system.
Best wishes
Jeremy