Skip to content

confluence-mdx: strict renderer의 silent skip을 차단합니다#1040

Open
jk-kim0 wants to merge 1 commit into
jk/refactor-reverse-sync-visible-segmentsfrom
jk/fix-reverse-sync-strict-renderer
Open

confluence-mdx: strict renderer의 silent skip을 차단합니다#1040
jk-kim0 wants to merge 1 commit into
jk/refactor-reverse-sync-visible-segmentsfrom
jk/fix-reverse-sync-strict-renderer

Conversation

@jk-kim0

@jk-kim0 jk-kim0 commented Jul 24, 2026

Copy link
Copy Markdown
Contributor

Summary

  • patch_xhtml()에 strict application mode를 추가합니다.
  • strict mode에서 unresolved delete/insert/modify/replace target과 unknown action을 즉시 오류로 처리합니다.
  • target fragment의 source visible text가 operation의 old_plain_text와 다르면 조용히 건너뛰지 않습니다.
  • typed preserving renderer가 fragment patch를 항상 strict mode로 적용하고 실패를 PatchApplicationError로 승격합니다.
  • offline diagnostic의 기존 lenient renderer 동작은 유지합니다.

OpenSpec

  • target identity 검증 뒤 실제 DOM operation 적용도 fail-fast해야 한다는 renderer 경계를 design에 기록합니다.
  • xhtml_patcher.py 완전 축소 task는 offline raw caller 분리가 남아 있으므로 완료 처리하지 않았습니다.

Safety impact

  • publish candidate가 일부 operation을 누락한 채 후속 semantic proof로 넘어가는 경로를 제거합니다.
  • nested/rebased XPath와 source text precondition이 실제 base fragment에서 다시 확인됩니다.
  • Confluence remote PUT이나 canary 실행은 수행하지 않았습니다.

Test plan

  • ../venv/bin/python3 -m pytest -q test_reverse_sync*.py test_lost_info_patcher.py — 805 passed
  • ../venv/bin/python3 -m pytest -q — 1128 passed, 2 skipped
  • make test-convert — 21 passed
  • make test-reverse-sync — golden 16 passed, regression 43 passed
  • make test-byte-verify — fast/splice 각각 21/21 passed
  • openspec validate complete-reverse-sync --strict
  • git diff --check

Stack

🤖 Generated with Codex

Co-Authored-By: Atlas atlas@jk.agent

@vercel

vercel Bot commented Jul 24, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
querypie-docs Ready Ready Preview, Comment Jul 24, 2026 12:27pm

Request Review

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