Skip to content

fix(reverse-sync): 리스트/테이블 블록 매핑 및 텍스트 전이 수정#653

Merged
jk-kim0 merged 1 commit intomainfrom
jk/fix-reverse-sync-list-patching
Feb 10, 2026
Merged

fix(reverse-sync): 리스트/테이블 블록 매핑 및 텍스트 전이 수정#653
jk-kim0 merged 1 commit intomainfrom
jk/fix-reverse-sync-list-patching

Conversation

@jk-kim0
Copy link
Copy Markdown
Contributor

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

Summary

  • prefix 매핑 개선: _find_mapping_by_text의 2차 prefix 매칭이 길이가 짧은 이미지 캡션(55자)을 리스트 요소(994자) 대신 반환하는 버그 수정 — 모든 후보를 수집하고 길이가 가장 유사한 후보를 선택
  • 공백 무시 3차 매칭 추가: 테이블/리스트 등 셀/항목 경계 공백 차이가 있는 블록도 매핑 가능하도록 spaceless 비교 추가
  • 텍스트 전이 재작성: _transfer_text_changes를 문자 정렬(alignment) 기반으로 완전 재작성하여 텍스트 손상("Action At : " → "ActionAt:") 및 insert opcode 미처리 문제 해결
  • verify 결과: 5/5 PASS (기존 2/5)

Test plan

  • python3 -m pytest tests/ -v — 189 passed (기존 e2e 격리 이슈 1건은 main에서도 동일)
  • python3 bin/reverse_sync_cli.py verify --branch jk/fix-typo-and-grammar --limit 5 — 5/5 PASS
  • 더 넓은 범위의 verify 실행 (--limit 20 이상)으로 regression 확인

🤖 Generated with Claude Code

문제 1: _find_mapping_by_text의 prefix 매칭이 이미지 캡션(55자)을
리스트(994자) 대신 반환 → 길이가 가장 유사한 후보를 선택하도록 수정.
문제 2: _transfer_text_changes의 str.replace가 잘못된 위치에서 매칭하여
텍스트 손상 발생 → 문자 정렬 기반으로 완전 재작성.

추가: 공백 무시 비교 3차 매칭, _align_chars, _find_insert_pos 헬퍼.
verify 결과: 5/5 PASS (기존 2/5).

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

vercel Bot commented Feb 10, 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 10, 2026 2:25pm

Request Review

@jk-kim0 jk-kim0 self-assigned this Feb 10, 2026
@jk-kim0 jk-kim0 merged commit 6b0d5bc into main Feb 10, 2026
7 checks passed
@jk-kim0 jk-kim0 deleted the jk/fix-reverse-sync-list-patching branch February 10, 2026 14:26
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