feat(office): add bounded DOCX page layout contract - #141
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Plus Run ID: 📒 Files selected for processing (18)
📝 WalkthroughWalkthrough선택적 ChangesDOCX 페이지 레이아웃
Estimated code review effort: 4 (Complex) | ~45 minutes Possibly related issues
Possibly related PRs
🚥 Pre-merge checks | ✅ 4 | ❌ 1❌ Failed checks (1 warning)
✅ Passed checks (4 passed)
✨ Finishing Touches 💡 1📝 Generate docstrings 💡
🧪 Generate unit tests (beta)
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 |
|
@coderabbitai review Please review the exact current head |
|
🧠 Learnings used✅ Action performedReview finished.
|
There was a problem hiding this comment.
Review
This is the earliest open ADR 0027 claimant (0027-bounded-docx-page-layout, 2026-08-10). Later lanes #248/#249/#285, #320, and #360 reused 0027 for unrelated decisions.
Keep 0027 here. Do not renumber this record to make room for later collisions. Keep Draft while #118 owns v0.6.0. This comment is not a qualifying independent approval of the page-layout product slice.
Sent by Cursor Automation: Fix Issues


Purpose
Implement the bounded DOCX page-layout slice as next-release Inkspan work while protected
mainremains the release authority tracked by #118.Current source identity
main@3b38ead2d00f44eb578d0689087b9293b3dabe1e.ad497ed4150d4648206afd65487bf0a8b3d14a40onfeat/docx-page-layout.dd73df7...,d715efb...,d1148b4..., and earlier basee8109ec...are historical only. Their checks/reviews do not pass the current head.Test-first lineage
634d1ed1a7f7a29cd6681872a42ac49d330717d6reached the Office product boundary and failed because the renderer rejectedpage_layout.ce809c3485e92729a9115c5d685fe187b313f7d3/ CI31567029574proved invalid layout was rejected only after content rendering; the repair validates layout first.05475267ee3eb0d535af07ac828998611c8b89bb/ CI31587583073proved caller-controlled unknown member names leaked into ordinary errors; the repair retains only structural path/category diagnostics.4bd144047b9e573859097e29c17ae569b34a1817bounded unknown-key scanning;d1148b4980c689e1a1a0fb6e7dc092f17ac60225added the repeated-iterator-key regression so exotic mappings cannot evade progress indefinitely.ad497ed4150d4648206afd65487bf0a8b3d14a40additionally contains the payload-redaction repair for hostile page-layout mapping failures: unknown mapping/access failures are normalized to stableOfficeDocumentError('page_layout is invalid')instead of leaking caller-controlled exception material.Implemented boundary
The branch provides a bounded machine-readable DOCX page-layout contract: A4/Letter, portrait/landscape, integer 0–100 mm margins, fail-fast validation, bounded hostile-mapping handling, deterministic single-section OOXML application/canonicalization, payload-redacted diagnostics, no partial publication on failure, real round-trip matrix coverage, structural-fidelity regressions, and explicit DOCX-only format enforcement. It does not add arbitrary page dimensions, multiple-section authority, headers/footers, durable print/PDF authority, network, persistence, credentials, tenancy, model, transport, authorization, or durable-audit authority.
Exact-current-head evidence
For unchanged exact head
ad497ed4150d4648206afd65487bf0a8b3d14a40against live basemain@3b38ead2d00f44eb578d0689087b9293b3dabe1e:32004457407: completed / success;32004457376: completed / success;32004457423: completed / success;95311092050: completed / success;95311092059, 3.1295311091957, 3.1395311092032, and 3.1495311091966: completed / success;95311092125: completed / success;95311094275, Strix95311088624, Noema95311026363, close-empty95311026207, required-workflow bootstrap95311026423, and scheduler queue scan95311026138: completed / success;95311045810and coverage-evidence95311069576: completed / success;95311034907, Trivy95311034895, dependency review95311035064, and Scorecard95311034787: completed / success;COMMENTEDreview, explicitly non-approving;Skipped auxiliary cancellation/manual-evidence jobs are not treated as required passing evidence. Any head/base movement invalidates this exact generation.
Governance and integration boundary
Live organization ruleset
18156473currently requires one qualifying approving review, dismisses stale approvals after a push, requires approval of the latest push by someone other than the pusher, requires review-thread resolution, requires the central workflows, allows merge/squash only, forbids deletion/non-fast-forward updates, exposes no bypass actor, and the current user cannot bypass.The product/source lane is exact-head green, but this is not merge-ready: the independent approval is absent and #118 still freezes protected
v0.6.0publication identity. Keep this PR Draft and unmerged. Refetch live rules, head/base, review/thread state, and exact checks before any future lifecycle transition; never transfer predecessor evidence or synthesize tag/release identity from a branch ref.