Skip to content

HWPX 재저장 시 한글에서 페이지 붕괴(29→3, IR diff=0) — 시각 무손실 갭 #1589

Description

@planet6897

요약

36384160(신속동료구조팀 운영 개선 방안) HWPX 를 rhwp 로 parse→serialize→재저장한 산출물을
한글 편집기로 열면 페이지가 29쪽 → 3쪽으로 붕괴한다. IR roundtrip 은 diff=0 (PASS) 이라
hwpx-roundtrip 게이트로는 검출 불가 — 한글 오라클(tools/verify_hangul_pages.py)에서만 드러남.

IR 무손실 ≠ 시각 무손실. HWP5 의 hwp5_save_fidelity_gaps 와 동류의 HWPX 판본 갭.

검출 경위

Task #1587(Ruby) Stage 4 통제 비교 중 한글 오라클로 발견. Ruby 수정과 무관:
수정 전(fidelity10 rt)·후(fidelity11 rt) 모두 동일하게 29→3 붕괴 — 선존 결함.

36389301 (ruby) pg 2->2  OK
36399208 (ruby) pg 9->9  OK
36384160        pg 29->3 COLLAPSE   ← 별개 선존 버그

추정 방향 (미확정)

  • IR 은 동일하나 직렬화 HWPX 의 레이아웃 관련 속성(쪽 경계/표·개체 배치/단/lineseg 등)이
    한글 재계산 시 29쪽 분량을 3쪽으로 흡수. 한글이 무시·재계산하는 필드의 직렬화 차이 의심.
  • 같은 붕괴를 보이는 다른 파일 군집 여부 전수 조사 필요(오라클 --batch).

다음 단계

  • 한글 오라클 전수(--batch)로 동일 COLLAPSE 군집 규모 파악.
  • 붕괴 파일 IR=0 + XML 차이 정밀 비교(원본 vs rt section/header) → 한글 레이아웃 트리거 식별.

근거: output/poc/fidelity11/oracle_ruby3.tsv, 메모리 hwp5_save_fidelity_gaps.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions