목적
#946에서 설계한 HWPX→HWP contract 추출 도구 체계 중 P0 도구를 실제 구현한다.
이번 구현은 저장기 본 로직을 수정하지 않는다. 먼저 한컴 HWP oracle과 rhwp generated HWP를 같은 HWP5 record/control 언어로 읽고 비교할 수 있게 만든다.
범위
-
rhwp hwp5-inventory <file.hwp> 구현
- HWP5 CFB / DocInfo / BodyText record stream inventory 생성
- record index, level, tag, size, owner, parent_scope, key_payload, payload hash 출력
jsonl, csv, md 중 최소 jsonl + md 지원
-
rhwp hwp5-inventory-diff --oracle <hancom.hwp> --generated <rhwp.hwp> --out <dir> 구현
- oracle/generated inventory 생성
- 누락/추가/값 다름/순서 다름/level 차이/size 차이 분류
- failure_class A-F 힌트 생성
inventory_diff.md, contract_violation_hints.md 생성
-
output/poc/hwpx2hwp/... 표준 산출물 경로 사용
비범위
- HWPX→HWP 저장기 production 로직 수정
- HWPX control inventory 구현
- synthetic/probe 생성기 구현
- contract corpus / dashboard 구현
검증 기준
cargo run --bin rhwp -- hwp5-inventory samples/hwpx/hancom-hwp/hwpx-h-01.hwp \
--format jsonl \
--out output/poc/hwpx2hwp/taskXXXX/stage1/hwpx-h-01/oracle.inventory.jsonl
cargo run --bin rhwp -- hwp5-inventory-diff \
--oracle samples/hwpx/hancom-hwp/hwpx-h-01.hwp \
--generated output/poc/hwpx2hwp/task903/web_save_repro/hwpx-h-01-web-save.hwp \
--hwpx-source samples/hwpx/hwpx-h-01.hwpx \
--out output/poc/hwpx2hwp/taskXXXX/stage1/hwpx-h-01
생성되어야 하는 산출물:
oracle.inventory.jsonl
oracle.inventory.md
generated.inventory.jsonl
generated.inventory.md
inventory_diff.jsonl
inventory_diff.md
contract_violation_hints.md
참고 문서
mydocs/plans/task_m100_946_stage1_tooling.md
mydocs/troubleshootings/hwpx2hwp-rule.md
mydocs/feedback/hwpx2hwp_tooling_technical_review.md
진행 원칙
P0 도구가 한컴 oracle/generated HWP의 record/control 차이를 설명하기 전까지 HWPX→HWP 저장기 구현으로 넘어가지 않는다.
목적
#946에서 설계한 HWPX→HWP contract 추출 도구 체계 중 P0 도구를 실제 구현한다.
이번 구현은 저장기 본 로직을 수정하지 않는다. 먼저 한컴 HWP oracle과 rhwp generated HWP를 같은 HWP5 record/control 언어로 읽고 비교할 수 있게 만든다.
범위
rhwp hwp5-inventory <file.hwp>구현jsonl,csv,md중 최소jsonl+md지원rhwp hwp5-inventory-diff --oracle <hancom.hwp> --generated <rhwp.hwp> --out <dir>구현inventory_diff.md,contract_violation_hints.md생성output/poc/hwpx2hwp/...표준 산출물 경로 사용비범위
검증 기준
생성되어야 하는 산출물:
참고 문서
mydocs/plans/task_m100_946_stage1_tooling.mdmydocs/troubleshootings/hwpx2hwp-rule.mdmydocs/feedback/hwpx2hwp_tooling_technical_review.md진행 원칙
P0 도구가 한컴 oracle/generated HWP의 record/control 차이를 설명하기 전까지 HWPX→HWP 저장기 구현으로 넘어가지 않는다.