confluence-mdx: validated patcher 경계를 분리합니다#1044
Conversation
## Summary publish renderer와 offline diagnostic의 XHTML patch API를 분리합니다. - xhtml_patcher.py는 fail-closed apply_validated_patches만 노출합니다. - lenient raw patch 호환 API를 legacy_xhtml_patcher.py로 이동합니다. - 공통 DOM patch 알고리즘을 xhtml_patch_engine.py로 격리합니다. - publish preserving renderer와 diagnostic fixture caller를 각 경계로 전환합니다. - OpenSpec task와 전체 regression 결과를 갱신합니다. 🤖 Generated with Codex Co-Authored-By: Atlas <atlas@jk.agent>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f7356f4306
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| """strict XHTML renderer가 operation을 정확히 적용하지 못했습니다.""" | ||
| from reverse_sync.xhtml_patch_engine import ( | ||
| XhtmlPatchError, | ||
| patch_xhtml_engine, |
There was a problem hiding this comment.
Hide the boolean engine from the validated facade
Because patch_xhtml_engine is imported as a normal module attribute, callers can still do from reverse_sync.xhtml_patcher import patch_xhtml_engine or reverse_sync.xhtml_patcher.patch_xhtml_engine(..., strict=False). That leaves the validated facade exposing the same lenient boolean switch this split is meant to remove, so the boundary is not actually fail-closed for code that imports through xhtml_patcher; alias this import to a private name or import it inside apply_validated_patches().
Useful? React with 👍 / 👎.
Summary
publish candidate renderer와 offline diagnostic이 공유하던 boolean
strictAPI를 분리해 validated operation 적용 경계를 명시합니다.xhtml_patcher.py는 fail-closedapply_validated_patches()만 public API로 노출합니다.legacy_xhtml_patcher.py로 분리합니다.xhtml_patch_engine.py로 격리합니다.Impact
OpenSpec / stacked PR
openspec/changes/complete-reverse-syncxhtml_patcher.py를 validated operation 적용에 집중시키고 legacy raw caller를 분리합니다.Test plan
cd confluence-mdx && venv/bin/pytest -q tests/test_reverse_sync*.py— 792 passedcd confluence-mdx && venv/bin/pytest -q— 1145 passed, 2 skippedcd confluence-mdx/tests && make test-reverse-sync— golden 16 passed, regression 43 passedcd confluence-mdx/tests && make test-convert— 21 passedcd confluence-mdx/tests && make test-byte-verify— fast/splice 각각 21/21 passedopenspec validate complete-reverse-sync --strictgit diff --checkRelated tickets & links
🤖 Generated with Codex