once i have a doc that outlines current/expected scrollback behavior, i'll circle back on those topics
wrt CSI 3 J, it wasn't an intentional omission in the control sequence document. as you can imagine, putting that together from scratch years after the project started was non-trivial, so it's going to have bugs.
wrt bracketed paste documentation, xterm invented it, so it's not surprising that it's the only place currently to really explain what it means. there are a ton of things we don't define when we aren't the source and instead expect people to leverage the references linked earlier. that's why it starts off by explicitly stating:
> It's not meant to be a comprehensive guide to a terminal. For that, please see the References section.
xterm is one of those references. the extended portions of the doc are there when i find other sources to be underspecified, unclear, or hterm has its own extensions. like mouse reporting and color processing (e.g. the ISO 8613-6 craziness).
wrt terminal emulator differences, that's frankly just how this world works. while there are some core standards (like the ECMA specs) that one can arguably say "everyone should be following those baselines", there's a huge space left over. ECMA-48 defines CSI [012] J and that's it. xterm decided to extend things and recognize CSI 3 J to do <something>. but that doesn't mean xterm "owns" the CSI 3 J sequence and thus every other terminal out there now has to match.
as our docs say, hterm aims to be compliant with ECMA/ISO standards, although it's not a hard rule as you quickly run into conflicts: as a modern terminal, we only care about UTF-8, but those dusty standards still have NRCS (codesets) that we have no interest in supporting. we look at xterm/VTxxx for guidance, but they aren't "standards". actively deviating from any of these isn't a bug, it's a project choice. if you want xterm behavior, then run xterm ;).
-mike