Skip to content

confluence-mdx: Phase 5 Axis 1 — transfer_text_changes 3개 호출 지점을 제거합니다#948

Open
jk-kim0 wants to merge 1 commit intomainfrom
jk/phase5-axis1-remove-transfer-text-changes
Open

confluence-mdx: Phase 5 Axis 1 — transfer_text_changes 3개 호출 지점을 제거합니다#948
jk-kim0 wants to merge 1 commit intomainfrom
jk/phase5-axis1-remove-transfer-text-changes

Conversation

@jk-kim0
Copy link
Copy Markdown
Contributor

@jk-kim0 jk-kim0 commented Mar 28, 2026

Summary

  • patch_builder.py에서 transfer_text_changes() 호출 3개 지점을 모두 제거합니다
  • _accumulate_text_change() 함수, _text_change_patches dict, text_transfer import를 삭제합니다
  • 각 지점을 sidecar 기반 재구성 또는 인라인 diff-apply(_apply_mdx_diff_to_xhtml)로 전환합니다

3개 지점 전환 전략

지점 기존 전환
1 paired delete+add fallback transfer_text_changes _build_replace_fragment_patch (sidecar 재구성)
2 preserved anchor list _accumulate_text_changetransfer_text_changes _apply_mdx_diff_to_xhtml (인라인 diff-apply, text-level 패치 유지)
3 containing strategy _accumulate_text_changetransfer_text_changes _build_replace_fragment_patch (sidecar 기반 통합)

알려진 regression (1건)

Test plan

  • python3 -m pytest tests/ --ignore=tests/test_unused_attachments.py — 879 passed
  • make test-reverse-sync — 42 passed, 0 failed
  • make test-reverse-sync-bugs — 30 passed, 12 failed (main 대비 1건 regression)
  • grep transfer_text_changes bin/reverse_sync/patch_builder.py — 호출 0건 (주석만)

🤖 Generated with Claude Code

patch_builder.py에서 transfer_text_changes() 호출을 모두 제거하고
각 지점을 sidecar 기반 재구성 또는 인라인 diff-apply로 전환합니다.

지점 1 (paired delete+add fallback):
- clean container / sidecar 없음 → _build_replace_fragment_patch로 전환
- reconstruct_container_fragment의 per-child 재구성이 inline styling 보존

지점 2 (preserved anchor list):
- _apply_mdx_diff_to_xhtml() 인라인 구현으로 전환
- transfer_text_changes의 align_chars 알고리즘을 patch_builder에 내장
- text-level 패치 형식 유지하여 ac:/ri: XHTML 구조 보존

지점 3 (containing strategy):
- 모든 containing 케이스를 sidecar 기반 _build_replace_fragment_patch로 통합
- full container + anchor → reconstruct_fragment_with_sidecar
- clean container → per-child 재구성으로 inline markup 보존

삭제 대상:
- _accumulate_text_change() 함수
- _text_change_patches dict
- from reverse_sync.text_transfer import transfer_text_changes

알려진 regression (1건):
- 544379393: containing 재구성 시 <br/> 앞 공백 차이 (expected_status: fail 전환)

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

vercel bot commented Mar 28, 2026

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

Project Deployment Actions Updated (UTC)
querypie-docs Ready Ready Preview, Comment Mar 28, 2026 10:34am

Request Review

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant