Skip to content

confluence-mdx: Phase L3 lost_info 수집 및 mapping.yaml v2 구현#801

Merged
jk-kim0 merged 7 commits intomainfrom
confluence-mdx/phase-l3-lost-info
Feb 17, 2026
Merged

confluence-mdx: Phase L3 lost_info 수집 및 mapping.yaml v2 구현#801
jk-kim0 merged 7 commits intomainfrom
confluence-mdx/phase-l3-lost-info

Conversation

@jk-kim0
Copy link
Copy Markdown
Contributor

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

Summary

  • 정순변환에서 손실되는 4가지 비가역 정보(emoticon, link, filename, adf_extension)를 mapping.yamllost_info로 기록합니다
  • LostInfoCollector 클래스를 도입하여 변환 중 손실 정보를 수집합니다
  • mapping.yaml 스키마를 version 1 → 2로 업그레이드합니다

변경 내역

신규 파일

  • bin/converter/lost_info.pyLostInfoCollector 클래스 (emoticon, link, filename, adf_extension 4개 카테고리 수집)
  • tests/test_lost_info_collector.py — 14개 유닛 테스트

수정 파일

  • bin/converter/core.py — 모든 파서 클래스(SingleLineParser, MultiLineParser, TableToNativeMarkdown, TableToHtmlTable, StructuredMacroToCallout, AdfExtensionToCallout, Attachment, ConfluenceToMarkdown)에 collector 파라미터 추가 및 전파
  • bin/reverse_sync/sidecar.pygenerate_sidecar_mapping()lost_infos 파라미터 추가, version 2 출력
  • bin/converter/cli.pyconverter.lost_infosgenerate_sidecar_mapping()에 전달

수집 지점

카테고리 수집 위치 트리거
emoticon SingleLineParser.convert_recursively ac:emoticon 노드 변환 시 항상
link SingleLineParser.convert_ac_link href == '#link-error'
filename Attachment.__init__ original != normalized
adf_extension AdfExtensionToCallout.convert_recursively ac:adf-node type="panel"

설계 대비 차이점

  • LostInfoCollector를 별도 converter/lost_info.py 모듈로 분리
  • 블록별이 아닌 페이지 전체에 하나의 collector를 사용 (entry별 분배는 L4에서 필요 시 구현)
  • lost_info를 mapping entry별이 아닌 mapping.yaml 최상위 필드로 기록

Test plan

  • LostInfoCollector 유닛 테스트 14개 통과
  • 기존 테스트 646개 전체 통과 (회귀 없음)
  • 실제 testcase에서 수집 확인: 544381877 (emoticon 3건), panels (adf_extension 1건)

🤖 Generated with Claude Code

정순변환 시 손실되는 4가지 비가역 정보(emoticon, link, filename,
adf_extension)를 mapping.yaml에 기록하는 설계를 수립합니다.
LostInfoCollector 수집 메커니즘과 mapping.yaml 스키마 v2를 정의합니다.

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

vercel Bot commented Feb 17, 2026

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

Project Deployment Actions Updated (UTC)
querypie-docs Canceled Canceled Comment Feb 17, 2026 3:28pm

Request Review

jk-kim0 and others added 6 commits February 17, 2026 23:48
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Attachment, SingleLineParser, MultiLineParser, AdfExtensionToCallout,
ConfluenceToMarkdown 클래스에 collector 파라미터를 추가하고,
emoticon/link/filename/adf_extension 정보를 수집합니다.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
…veMarkdown에 collector 전파합니다

세 파서 클래스의 __init__에 collector 파라미터를 추가하고,
내부에서 생성하는 SingleLineParser/MultiLineParser 인스턴스에
collector를 전달합니다. MultiLineParser.convert_recursively에서
이 클래스들을 생성할 때도 self.collector를 전파합니다.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@jk-kim0 jk-kim0 changed the title confluence-mdx: Phase L3 lost_info 설계 문서 confluence-mdx: Phase L3 lost_info 수집 및 mapping.yaml v2 구현 Feb 17, 2026
@jk-kim0 jk-kim0 self-assigned this Feb 17, 2026
@jk-kim0 jk-kim0 merged commit 7d1cace into main Feb 17, 2026
5 of 8 checks passed
@jk-kim0 jk-kim0 deleted the confluence-mdx/phase-l3-lost-info branch February 17, 2026 15:27
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