요약
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.
요약
36384160(신속동료구조팀 운영 개선 방안) HWPX 를 rhwp 로 parse→serialize→재저장한 산출물을한글 편집기로 열면 페이지가 29쪽 → 3쪽으로 붕괴한다. IR roundtrip 은 diff=0 (PASS) 이라
hwpx-roundtrip 게이트로는 검출 불가 — 한글 오라클(tools/verify_hangul_pages.py)에서만 드러남.
검출 경위
Task #1587(Ruby) Stage 4 통제 비교 중 한글 오라클로 발견. Ruby 수정과 무관:
수정 전(fidelity10 rt)·후(fidelity11 rt) 모두 동일하게 29→3 붕괴 — 선존 결함.
추정 방향 (미확정)
한글 재계산 시 29쪽 분량을 3쪽으로 흡수. 한글이 무시·재계산하는 필드의 직렬화 차이 의심.
다음 단계
근거:
output/poc/fidelity11/oracle_ruby3.tsv, 메모리hwp5_save_fidelity_gaps.