Sorry, I was out this week so just getting to this.
I agree I'm not a huge fan of the frame and time scale strings since each file may implement those differently. Do we maybe want to convert that to be an internal Orekit type for both of those and then the respective parser/writers need to write a converter to their internal implementation?
On the on-the-fly ephemeris generation idea I'm not sure how to proceed on that. I used to do a lot of logging in the step handlers but there were artifacts of that process that I didn't completely like so have generally gone to doing the propagation and then doing other things with a post-analysis. I understand that for very large ephemeris generations the memory problem could be an issue but I'm not sure how I would want to handle the streaming. It's a totally different workflow than the current design. With modern systems it takes some very very large propagations to blow the physical memory or memory stack too so it's more of a theoretical problem than the first one. I definitely would be interested in discussing a way to do that though.
Hank