Parent Epic
#44
Bug
The reconciler does not diff or lower named_ranges at all. Changes to the named_ranges dict between base and desired documents are silently ignored — no createNamedRange or deleteNamedRange requests are generated.
Root Cause
The diff layer (diff.py) does not inspect the named_ranges field on DocumentTab. There are no corresponding op types (CreateNamedRangeOp, DeleteNamedRangeOp) in model.py.
Impact
- Named ranges cannot be created or deleted via reconcile
- This affects the markdown serde format which uses named ranges for semantic annotations (codeblock, callout, blockquote)
- Named range changes are silently dropped with no error or warning
Suggested Fix
Add CreateNamedRangeOp and DeleteNamedRangeOp to the diff model, diff named ranges by ID, and lower to createNamedRange/deleteNamedRange API requests.
xfail Tests (1)
TestNamedRanges::test_named_range_not_silently_dropped
Parent Epic
#44
Bug
The reconciler does not diff or lower
named_rangesat all. Changes to thenamed_rangesdict between base and desired documents are silently ignored — nocreateNamedRangeordeleteNamedRangerequests are generated.Root Cause
The diff layer (
diff.py) does not inspect thenamed_rangesfield onDocumentTab. There are no corresponding op types (CreateNamedRangeOp,DeleteNamedRangeOp) inmodel.py.Impact
Suggested Fix
Add
CreateNamedRangeOpandDeleteNamedRangeOpto the diff model, diff named ranges by ID, and lower tocreateNamedRange/deleteNamedRangeAPI requests.xfail Tests (1)
TestNamedRanges::test_named_range_not_silently_dropped