요약
HWPX 직렬화기가 ClickHere(누름틀) 필드 타입을 type="CLICKHERE"(언더스코어 누락)로 방출한다.
올바른 HWPX 값은 type="CLICK_HERE" (파서·템플릿이 사용). 한글이 "CLICKHERE" 를 미인식해
ClickHere placeholder 높이를 다르게 렌더 → 페이지 붕괴(#1589 군집의 지배적 원인). 파서가
관대(둘 다 수용)라 IR diff=0 → 게이트 미검출(시각-only).
근본원인
- 직렬화:
serializer/hwpx/field.rs:180 ClickHere => "CLICKHERE" (틀림).
- 파서:
parser/hwpx/section.rs:4254 "CLICK_HERE" | "CLICKHERE" => ClickHere (관대 → IR diff=0).
- 정답: 동 파일 템플릿(
section.rs:2250, :6695)·실문서 orig 모두 "CLICK_HERE".
결정 증거
붕괴 파일 rt 의 CLICKHERE → CLICK_HERE 치환 → 한글 PageCount 붕괴 11/11(100%) 해소
(36391546 8쪽→1쪽→8쪽 등). 단락 이진탐색+leave-one-out 으로 단일 deciding 속성 확정.
군집 적용성
붕괴 파일의 96%(80/83) 가 ClickHere 필드 보유 → #1589 ~16% 붕괴 군집의 대다수를 단일
수정으로 해소 예상.
수정 방향
field.rs:180 ClickHere => "CLICK_HERE".
- "CLICKHERE" 기대 테스트 갱신(field.rs·section.rs).
- (검토)
diff_documents 가 field type 비교하는지 — IR diff=0 였으므로 게이트 강화 여지.
수용 기준
- ClickHere 필드 roundtrip 후
type="CLICK_HERE" 방출.
- 대표 붕괴 파일 한글 PageCount 보존(붕괴 해소), 통제 비교 악화 0.
- baseline + lib 회귀 0.
근거: mydocs/tech/hwpx_page_collapse_cluster.md, #1589.
요약
HWPX 직렬화기가 ClickHere(누름틀) 필드 타입을
type="CLICKHERE"(언더스코어 누락)로 방출한다.올바른 HWPX 값은
type="CLICK_HERE"(파서·템플릿이 사용). 한글이 "CLICKHERE" 를 미인식해ClickHere placeholder 높이를 다르게 렌더 → 페이지 붕괴(#1589 군집의 지배적 원인). 파서가
관대(둘 다 수용)라 IR diff=0 → 게이트 미검출(시각-only).
근본원인
serializer/hwpx/field.rs:180ClickHere => "CLICKHERE"(틀림).parser/hwpx/section.rs:4254"CLICK_HERE" | "CLICKHERE" => ClickHere(관대 → IR diff=0).section.rs:2250,:6695)·실문서 orig 모두"CLICK_HERE".결정 증거
붕괴 파일 rt 의
CLICKHERE → CLICK_HERE치환 → 한글 PageCount 붕괴 11/11(100%) 해소(36391546 8쪽→1쪽→8쪽 등). 단락 이진탐색+leave-one-out 으로 단일 deciding 속성 확정.
군집 적용성
붕괴 파일의 96%(80/83) 가 ClickHere 필드 보유 → #1589 ~16% 붕괴 군집의 대다수를 단일
수정으로 해소 예상.
수정 방향
field.rs:180ClickHere => "CLICK_HERE".diff_documents가 field type 비교하는지 — IR diff=0 였으므로 게이트 강화 여지.수용 기준
type="CLICK_HERE"방출.근거:
mydocs/tech/hwpx_page_collapse_cluster.md, #1589.