Skip to content

confluence-mdx: 중첩 리스트 텍스트 붕괴 버그 수정 (autojunk=False)#806

Merged
jk-kim0 merged 1 commit intomainfrom
fix/nested-list-collapse
Feb 18, 2026
Merged

confluence-mdx: 중첩 리스트 텍스트 붕괴 버그 수정 (autojunk=False)#806
jk-kim0 merged 1 commit intomainfrom
fix/nested-list-collapse

Conversation

@jk-kim0
Copy link
Copy Markdown
Contributor

@jk-kim0 jk-kim0 commented Feb 18, 2026

Summary

  • SequenceMatcher의 autojunk=True(기본값)가 한국어 텍스트에서 반복 패턴이 있을 때 로컬 매칭을 건너뛰어 대규모 insert/delete를 생성하여 중첩 리스트 텍스트가 붕괴되는 버그를 수정합니다
  • text_transfer.pyxhtml_patcher.py 두 곳의 SequenceMatcher에 autojunk=False를 적용합니다
  • 반복 패턴 긴 텍스트 유닛 테스트를 추가하고, 테스트 케이스 544383693의 expected_status를 pass로 변경합니다

Root Cause

Python difflib.SequenceMatcherautojunk 기능은 200자 이상의 시퀀스에서 등장 빈도 1% 이상인 문자를 "junk"으로 처리합니다. 한국어 텍스트에서 반복 패턴(예: "700MB를 초과"가 2회 등장)이 있으면, 흔한 한글 자모가 junk으로 분류되어 정확한 로컬 매칭이 불가능해지고, 대규모 insert(327자)+delete(326자) 쌍을 생성하여 텍스트가 붕괴됩니다.

Test plan

  • 685 unit tests 전체 통과
  • 5 E2E tests 통과
  • 4 structural tests 통과
  • 테스트 케이스 544383693 (중첩 리스트 내용 소실) 통과
  • 반복 패턴 긴 텍스트 유닛 테스트 추가 및 통과

🤖 Generated with Claude Code

SequenceMatcher의 autojunk=True(기본값)가 한국어 텍스트에서 반복 패턴
(예: "700MB를 초과")이 있을 때 로컬 매칭을 건너뛰어 대규모 insert/delete를
생성하여 텍스트가 붕괴되는 현상을 수정합니다.

- text_transfer.py: transfer_text_changes()의 SequenceMatcher에 autojunk=False 적용
- xhtml_patcher.py: _apply_text_changes()의 SequenceMatcher에 autojunk=False 적용
- 반복 패턴 긴 텍스트 유닛 테스트 추가
- 테스트 케이스 544383693 expected_status를 pass로 변경

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 18, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
querypie-docs Ready Ready Preview, Comment Feb 18, 2026 7:58am

Request Review

@jk-kim0 jk-kim0 merged commit acf4e3c into main Feb 18, 2026
7 checks passed
@jk-kim0 jk-kim0 deleted the fix/nested-list-collapse branch February 18, 2026 08:16
@jk-kim0 jk-kim0 self-assigned this Feb 18, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant