Safe DOCX posture
w:hyperlink container preservation under tracked changes
w:hyperlink (CT_Hyperlink) is a run container inside <w:p> whose
r:id attribute carries the relationship reference to the link target.
Its content model (EG_PContent) admits run-level revision wrappers, so
tracked edits to link text nest as <w:hyperlink><w:ins>… /
<w:hyperlink><w:del>…; the reverse nesting is invalid because
CT_RunTrackChange (the w:ins / w:del content model) does not admit
w:hyperlink. safe-docx's comparison engine preserves the wrapper and
its attributes when reconstructing paragraphs that contain hyperlinks,
and never merges text atoms across a hyperlink boundary. The enforcement
lives in packages/docx-core/src/atomizer.ts
(nearestHyperlinkAncestor) and
packages/docx-core/src/baselines/atomizer/documentReconstructor.ts
(hyperlink wrapper re-emission).
Schema declarations
Bounded evidence
No bounded source, test, or formal-evidence path is attached to this section entry. That absence is preserved rather than inferred away.