The simplified Phacility architecture in T2772 suggests that having Hypershell will be useful sooner than it would have been under the Drydock architecture; I think this is arguably even a blocker. Writing push on anything shy of Hypershell ("ssh in a loop lololol") will hit a scalability wall very quickly.
Facebook made various motions around open sourcing Hypershell over the years, but I never saw any real followthrough. I think the web UI got highly specialized around when I left. It is probably far far less work to just rebuild it from scratch than open source it (I think I can write a simplified version in a day or two, and Phabricator has much better architecture now, modern ExecFuture/queryfx, etc), but maybe this is worth at least coordinating on -- @edward, any sense of what the state of the world is?
Hypershell has a few useful pieces that may be take a few iterations to replicate, notably around signal handling and the actual ssh command construction. I think I remember most of the stumbling blocks, but we'll see.
Hypershell relies on building itself into a single giant file and copying to agents. I think this feature is really good, but I'd like to come up with a smarter way to do this, although we can technically just do the same thing with libphutil if needbe. I have a couple of ideas.
Unless it's completely unreasonable, the CLI component of phage should depend only on libphutil, which may require moving a few more pieces out of Phabricator (like LiskDAO).