Skip to content

Pagination: force the load-bearing verdict (axis: DOCX fidelity)Β #356

Description

@arthrod

@coderabbitai plan

πŸ₯• forced comparative β€” variant D (the "pick a side" carrot). Sibling forcing-issues: #355. Parent variants: #353 (A β€” render-overlay) and #354 (B β€” document-model sections). You already produced parallel plans on each; you did NOT produce the comparative load-bearing sentence. This issue exists to force it.

My goal

Identical to #353 and #354. Ship @platejs/pagination (headers, footers, footnotes) leveraging chenglou/pretext.

The forced-choice question (axis 2: DOCX section fidelity vs zero-schema-migration)

The two plans diverge most sharply on how the document tree changes shape:

These have opposite costs. Pick the side that wins for arthrod/plate.

What I want from you

Read your own coding plans on #353 and #354. Do not re-plan. Output only:

  1. A single sentence in the canonical form:

    "If <X> matters more than <Y>, variant <A|B> wins; otherwise the other."
    where <X> and <Y> are concrete properties drawn from the DOCX-fidelity / schema-migration axis (e.g. "byte-stable DOCX section round-trip" vs "zero-migration upgrade for existing documents").

  2. A two-line justification anchored in this codebase β€” cite file:line from packages/docx/ (or whichever package owns DOCX import/export here).
  3. A binary verdict: A or B, given how this repo's DOCX pipeline actually behaves today.

Do not restate implementation steps. Do not propose a variant E. Pick.

Because the code is

  • Variant A's plan on Plate pagination plugin (headers / footers / footnotes) with pretext (variant A)Β #353 β€” your "Coding Plan" from 2026-05-04T21:57:40Z (CR) β€” flat doc shape, top-level header/footer siblings.
  • Variant B's plan on Plate pagination plugin (headers / footers / footnotes) with pretext (variant B)Β #354 β€” your "Coding Plan" from 2026-05-04T22:02:49Z (CR) β€” Section[] invariant via overrideEditor + withNormalizeNode; configurePlugin for footnote section-scoping.
  • packages/docx/ (or wherever this fork's DOCX importer/exporter actually lives β€” find it and cite). Tell us how rich the existing w:sectPr handling is. If it's already lossy, B's "byte-stable" claim is fictional. If it's already faithful, A's translation layer adds risk.
  • packages/footnote/src/lib/BaseFootnoteDefinitionPlugin.ts β€” footnote node placement policy. Whether sections need to scope footnote definitions or whether document-tail placement is fine.

Validate this approach β€” especially but not limited to

  • Static analysis of the DOCX pipeline in this fork. Locate the existing section-property handling. Cite real file:line. If w:sectPr is currently dropped or partially mapped, say so β€” that fact alone may decide this axis.
  • Comparative analysis vs sibling Pagination: force the load-bearing verdict (axis: Yjs determinism)Β #355 which forces the Yjs / collaborative axis. Confirm whether your verdict on this issue is consistent with that one. If not, name which axis is itself load-bearing across both.

Acceptance

Your reply contains the canonical sentence + verdict. Anything else is noise.

A carrot is not a beetroot. Pick.

Metadata

Metadata

Assignees

No one assigned

    Labels

    crCodeRabbit reviewdesignenhancementNew feature or requestkilo-duplicateAuto-generated label by Kilokilo-triagedAuto-generated label by Kilo

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions