dataValidation and conditionalFormatting rules now ride the residue channel verbatim on each rule's anchor cell (landed with the #724 rows): carried, restorable by a same-format writer, never interpreted. That is the conservative landing the construct inventory's own corpus gate forces -- it defers freezing a semantic shape for these two families until a real producer file is verified against one, and the fixtures today are synthesized per ECMA-376.
The promotion this tracks: obtain real producer files carrying both rule families (an Excel/LibreOffice-authored workbook with list validations and cfRules), verify the actual markup against ECMA-376's shape, then design the harmonised vocabulary (an ODS content-validation analogue exists, so the cross-format bar is plausibly met) and replace the residue landing. Until then the residue is lossless for the XML and the sqref join, so nothing is lost waiting.
Also worth deciding at the same time: whether the one-residue-slot-per-cell rule (a second rule anchoring at the same cell is skipped) still bites on real files, where same-anchor collisions may be more common than the synthesized fixtures suggest.
Discovered while implementing lane C3 of #724.
dataValidation and conditionalFormatting rules now ride the residue channel verbatim on each rule's anchor cell (landed with the #724 rows): carried, restorable by a same-format writer, never interpreted. That is the conservative landing the construct inventory's own corpus gate forces -- it defers freezing a semantic shape for these two families until a real producer file is verified against one, and the fixtures today are synthesized per ECMA-376.
The promotion this tracks: obtain real producer files carrying both rule families (an Excel/LibreOffice-authored workbook with list validations and cfRules), verify the actual markup against ECMA-376's shape, then design the harmonised vocabulary (an ODS content-validation analogue exists, so the cross-format bar is plausibly met) and replace the residue landing. Until then the residue is lossless for the XML and the sqref join, so nothing is lost waiting.
Also worth deciding at the same time: whether the one-residue-slot-per-cell rule (a second rule anchoring at the same cell is skipped) still bites on real files, where same-anchor collisions may be more common than the synthesized fixtures suggest.
Discovered while implementing lane C3 of #724.