Safe DOCX posture
w:footnoteReference identifier vs display number
w:id on w:footnoteReference is a *reference identifier*, not the
displayed footnote number. For the supported Word-conventional package
surface, display numbers are derived sequentially by document order. The
runtime ordering logic (findReferencesInOrder in
packages/docx-core/src/footnotes.ts) implements that distinction.
The current isReservedId helper skips numeric IDs 0 and 1, following a
convention seen in Word-produced packages. That is a conformance gap, not a
rule of §17.11.14: the standard identifies separator and continuation-
separator notes through note type and does not normatively reserve those
numeric identifiers. Arbitrary packages that use 0 or 1 for user notes,
full w:type interpretation, and complete w:customMarkFollows display-mark
semantics are outside the present numbering claim.
The compiled Lean checker selects the Transitional footnotes relationship from
the fixed Main Document Part relationship set, scans namespace-resolved
w:footnoteReference events, classifies definitions by w:type, and requires
each canonical user reference ID to have exactly one package-local user
definition. Unique unreferenced definitions remain valid. This claim is
inplace-only and does not cover display numbering or custom marks.