Skip to content

feat: v0.4.0 — IR view 렌더러 (Markdown / HTML)#15

Merged
DanMeon merged 5 commits intomainfrom
feature/v0.4.0
May 5, 2026
Merged

feat: v0.4.0 — IR view 렌더러 (Markdown / HTML)#15
DanMeon merged 5 commits intomainfrom
feature/v0.4.0

Conversation

@DanMeon
Copy link
Copy Markdown
Owner

@DanMeon DanMeon commented May 5, 2026

Summary

Document IR (HwpDocument) → Markdown / HTML view 변환 표면 추가.

  • HwpDocument.to_markdown() -> str — IR → GFM (표 / 각주 / 수식 / 이미지 placeholder)
  • HwpDocument.to_html(*, include_css: bool = False) -> str — IR → 완전 HTML5 문서 (<!DOCTYPE> + <html> + <head> + <body>, TableBlock.html 그대로 inline, <aside> 각주, opt-in 단일 <style>)
  • pure stdlib 구현 — 신규 의존성 0, schema ("1.1") / 파싱 경로 / Document wrapper / extras 모두 변경 없음 (additive only)
  • 회귀 가드: tests/test_view_baseline.pyaift.hwp / table-vpos-01.hwpxDocument.to_ir() 출력을 v0.3.2 GA baseline (4.3MB + 130KB) 과 byte-equal 검증 (AC-11)
  • 검증: 531 passed, 2 pre-existing skipped, 5 deselected (slow). 신규 view 테스트 53 모두 green

Commits (5)

  • 022da2f docs: v0.4.0 spec/ADR 추가
  • 9c25472 docs: v0.4.0 view-renderer spec/ADR 다듬기
  • ec5d731 feat: IR view 렌더러 (Markdown / HTML) 추가
  • a65afb4 docs: v0.4.0 GA — Frozen 전환 + 구현 로그 추가
  • e8fe6e9 chore: v0.4.0 release marker

Why

v0.7.0 MCP server (to_markdown / to_html 도구) + 후속 RAG 프레임워크 통합 (v0.5 LlamaIndex / v0.6 Haystack) 의 문자열 출력 1차 인터페이스. HtmlRAG (arXiv:2411.02959, WWW 2025) 등 최근 연구가 보고하는 구조 보존이 RAG 체감 성능과 직결 — IR ↔ string 변환을 한 SSOT 렌더러로 통합.

spec / ADR / 구현 로그:

Related Issues

🤖 Generated with Claude Code

DanMeon and others added 5 commits May 3, 2026 22:59
변경사항:
- view-renderer spec 본문 추가 (Draft) — `HwpDocument.to_markdown()` / `to_html()` 인스턴스 메서드, 9 결정사항 / 11 인수조건 / 7 영구 비목표
- 짝 페어 ADR 추가 — API placement / Markdown 방언 / 표 셀 병합 / 이미지 처리 범위 / furniture 처리 5 결정 근거
- 활성 spec 인덱스(`docs/roadmap/README.md`)에 v0.4.0 (view 렌더러) Draft 행 추가

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
변경사항:
- HwpDocument.to_markdown() / to_html(include_css=False) 인스턴스 메서드 추가
- python/rhwp/ir/_view.py 신설 — block-type 별 dispatch + footnote 인덱스
- tests/test_view_markdown.py / test_view_html.py / test_view_baseline.py 신설 (53건)
- tests/baselines/v0_3_2_*.json — to_ir() 회귀 baseline 캡처 (source 제외 byte-equal 가드)
- .github/workflows/ci.yml — pyright scope 에 신규 테스트 3건 추가
- docs/traces/coverage.md — auto-regen

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
변경사항:
- spec / ADR frontmatter status: Draft → Frozen, target → ga: v0.4.0 전환
- migration.md 신설 (작성 즉시 Frozen) — 산출물 / 결정 매핑 / AC ↔ 테스트 / 호환성 / 이월 사항
- roadmap/README.md — 활성 spec 인덱스 Status 컬럼 Frozen 갱신, 구현 로그 표 v0.4.0 row 추가, 현재 상태 섹션 갱신 (2026-05-05)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
변경사항:
- Cargo.toml version 0.3.2 → 0.4.0 (publish.yml verify-version 가드 통과 조건)
- CHANGELOG.md [0.4.0] — 2026-05-05 섹션 분리 — Added / Build / Notes
- external/rhwp submodule pin 0fb3e67 유지 (pure Python view layer, 상류 변경 0)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@DanMeon DanMeon merged commit 4df1fba into main May 5, 2026
17 checks passed
@DanMeon DanMeon deleted the feature/v0.4.0 branch May 5, 2026 05:56
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