feat(office): add bounded DOCX page layout contract - #141
Draft
seonghobae wants to merge 23 commits into
Draft
Conversation
|
Important Review skippedDraft detected. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Purpose
Implement issue #140 as the next-release DOCX page-layout slice while keeping the current 0.6.0 protected release candidate unchanged until issue #118 reaches registry operational acceptance.
Test-first lineage
Exact protected base at branch creation:
02251db320b2b5ed7c284635c4f3103ec2f67eb6.Exact RED head:
634d1ed1a7f7a29cd6681872a42ac49d330717d6.The RED commit changed only
office/tests/test_page_layout.py. CI checked out that exact head and reached the intended production boundary after normal setup: the Office matrix failed because the publicrender_office_document()path rejectedpage_layoutas an unexpected DOCX field. Setup/import/infrastructure failure was not used as RED evidence.Implemented boundary
Current exact head:
c90a7b43c9214cba22be2980e0e0e5d2405c4c51.The branch adds a bounded machine-readable DOCX page-layout contract:
a4orletter;portraitorlandscape;python-docx;page_layoutremains DOCX-only and fails closed for XLSX/PPTX; andThe implementation preserves the existing internal renderer contract by keeping layout adaptation in the public safety facade; the underlying deterministic DOCX content renderer receives the same prior payload shape. It does not add multiple sections, arbitrary page dimensions, headers/footers, print/PDF service authority, network access, persistence, credentials, tenancy, or host authorization authority.
Exact-head evidence
For exact head
c90a7b43c9214cba22be2980e0e0e5d2405c4c51:31410737442completed successfully;31410737474completed successfully;31410737473completed successfully;Live base and dependency boundary
Protected
mainremains50ac98cfa0ad9e8dd75f93ca437a5679fed4d804. This Draft has not reacquired live-main ancestry and must remain unmerged while issue #118 owns 0.6.0 registry operational acceptance. Moving protectedmainbefore that release boundary resolves would invalidate the exact stable-candidate identity required by the protected release workflow.Remaining integration work
docs/docx-page-layout.md, ADR 0027, and the page-layout doctoring record are explicitlyimplemented_on_active_pr/ Proposed authority until protected integration. Canonicaldocs/TRACEABILITY.mdand next-release CHANGELOG/version reconciliation remain required before this feature can be promoted as protected behavior.After #118 closes, refetch the then-current protected main, non-destructively reacquire live-main ancestry if safe, reconcile canonical traceability and next-release release metadata, reacquire exact-head checks and any qualifying live-policy review evidence, and only then evaluate Ready/merge status.