Pluto was designed so all modules are replaceable; in other words, you can uncheck MythTV and check VDR and it uses VDR instead. Pluto provides a common UI that can work with any back-end. Adding a wrapper for Sage would be quite trivial *if* Sage provided an API. For example, if you create a device template for Sage that has the same options as the one for Myth, DCEGen will automatically create a Sage wrapper for you with stubs like:
void Sage::TuneToChannel(int Channel)
{
// TODO: Insert code here
}
So if sage had an API, then you would just add 1 line of code to pass that command into Sage. And then Sage would be controlled by the Orbiter.
However, I don't think the pre-compiled Sage provides such an API or any method for external control.
Since Pluto already has thousands of users and offers so much extra functionality (like i/r control, home automation, remote control via mobile phone/pda/etc.), and since the Pluto platform can be freely distributed, I would have thought that it would be interesting for the Sage team to distribute in the Pluto Platform; we already support a model for devices requiring paid licenses. It would give Sage a lot more functionality for free and with virtually no development efforts, and give Sage an existing base of users. But, I did email the Sage guys a while ago and they didn't really pick up on this idea. So, I think it's a great idea but it's probably not possible unless the Sage team provides an API for remote control of Sage, or access to the source code (under NDA, of course).
Maybe you, as an end-user, could suggest they consider this?