- Redefine keep_first to count only non-system messages, protecting
the first N user/assistant exchanges plus all interleaved system messages
- System messages in the compression gap are now extracted and preserved
as original messages instead of being summarized
- System messages dropped during forced trimming are re-inserted into
the final output
- Change keep_first default from 1 to 0
- Update docstring, README, README_CN, WORKFLOW_GUIDE_CN, and docs mirrors
Fixes#62