Transcript compaction now keeps host-injected messages next to the conversation turn they belong to
The internal message-log handling gained a way to mark certain rows as "host-injected" (appendHostRows/isHostRow), tracked with a WeakSet. A new reordering step now runs before a compaction boundary (the point where old conversation history gets summarized to save space) is applied, moving these host-injected rows so they sit next to the assistant or user turn they belong with.
This should prevent host-injected messages from ending up separated from their related conversation turn when the transcript is compacted, keeping the summarized history coherent.