This is really great, and a lot more than I hoped for (I was expecting a couple of doxygen comments). I have just two remarks:
- the "Inline Replay" section is written in past tense, while the rest of the document uses present statement-of-fact tense. It would be good to rephrase that to keep the style consistent.
- there's some confusion about the terminology, this patch uses the term "inline" replay, whereas the SB function name is "APIReplay". Part of reason for my confusion was that we also have "inline" tests, and so I thought the other patch refers to some special logic needed to replay inline tests (I guess that would have been obvious if I actually opened the patch, but I was busy so I figured I'd just start with the first patch in the series so we make some progress). "API" replay also doesn't really make it clear who is it that is replaying the API calls. I actually very much liked the terms "active" and "passive", which capture that disctinction very well and also don't conflict with anything else in lldb. Here they are mentioned as a sort of an after thought, but maybe we could make it so that these are the official names for the two modes ?