authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-09-08 23:31:28-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-09-08 23:31:28-07:00
log10057aa19f1de00ea9e0a324c4f86b83e9b3118c
treea906f579f3bec2ea054ac6888fc6ecae6cb5dd4c
parent8424675646b330e1631dc54917f1dad9bc466d10
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU

feat: move and nest pages atomically

Publish explicit page order, series membership and indentation in one transaction. Preserve page content, unknown properties and prior revisions. Restore optional historical metadata copies only with final graph reachability, and associate copies by their page identifiers independently of array order. Validate native selection controls and Rust/native round trips, revision checkpoints, interrupted publication, and stateful sanitizer schedules. Retain reproducible corpus captures and remove the disposable Windows clones. Assisted-by: gpt-6-astra

249 files changed, 2239 insertions(+), 45 deletions(-)

corpus/page-lifecycle/page-edits/01-demoted-parent/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/01-demoted-parent/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/01-demoted-parent/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/01-demoted-parent/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-CE1D1D57",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{56702292-D390-4741-AE4D-B401938AC06F}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:31:21.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{8B9DB408-EBC8-0139-024C-0556649DD05A}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:31:21.000Z" color="#91BAAE"><one:Page ID="{6BA7EDFD-A448-093E-1751-958EBDD7F2CA}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{21CA940E-34E3-00AC-0312-95AF504739E4}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{01C5553D-3D3B-078E-138F-535BABF51181}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{15091C44-3BFE-42D8-AE8C-1BE713A12E59}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="2"/><one:Page ID="{488537D7-BDB8-48DE-9061-2333578BBAA8}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="2"/><one:Page ID="{1559F514-2772-4681-8C47-FB9F7D39E67E}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="3"/><one:Page ID="{C69A0739-F4FE-458C-B0E0-57A5AA4E0B32}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{AD7FFD99-C202-4FBD-8F40-55FE3D779F28}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{D636997A-970B-48DF-A4FA-3DFF39BEB219}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{01C5553D-3D3B-078E-138F-535BABF51181}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{15091C44-3BFE-42D8-AE8C-1BE713A12E59}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{1712853E-6F58-484D-9CB3-D1E83D5A30E4}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{1712853E-6F58-484D-9CB3-D1E83D5A30E4}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{1712853E-6F58-484D-9CB3-D1E83D5A30E4}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1559F514-2772-4681-8C47-FB9F7D39E67E}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{858CDEA7-2648-452E-B042-4B1754B1853F}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{858CDEA7-2648-452E-B042-4B1754B1853F}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{858CDEA7-2648-452E-B042-4B1754B1853F}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{21CA940E-34E3-00AC-0312-95AF504739E4}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{0E2E51D5-9BB6-0CB5-2878-ED117C21E766}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{488537D7-BDB8-48DE-9061-2333578BBAA8}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{C2D142A4-5F95-4C76-B826-3C61EC30630C}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{C2D142A4-5F95-4C76-B826-3C61EC30630C}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{C2D142A4-5F95-4C76-B826-3C61EC30630C}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6BA7EDFD-A448-093E-1751-958EBDD7F2CA}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{A5D29CE6-98FD-0159-3CD6-CEBE27A47E35}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AD7FFD99-C202-4FBD-8F40-55FE3D779F28}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{E8F1EC14-CF4F-4A0F-9A91-E9FE716B8F98}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{3C4EDDE4-ED92-458D-BD15-371A1BF07564}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{3C4EDDE4-ED92-458D-BD15-371A1BF07564}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C69A0739-F4FE-458C-B0E0-57A5AA4E0B32}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{EB62E68D-1245-42FC-A69E-B7E77C188E4D}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A015CD27-7A78-4E66-A3DE-2887DF783F73}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A015CD27-7A78-4E66-A3DE-2887DF783F73}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D636997A-970B-48DF-A4FA-3DFF39BEB219}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6148E332-3FA1-473E-A638-E6C11AE0110A}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6148E332-3FA1-473E-A638-E6C11AE0110A}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/01-demoted-parent/cold/read/payloads.json created+3
...@@ -0,0 +1,3 @@
1[
2
3]
\ No newline at end of file
corpus/page-lifecycle/page-edits/02-promoted-parent/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/02-promoted-parent/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/02-promoted-parent/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/02-promoted-parent/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-C1201E9E",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6FEF18A4-AC81-4895-AC8A-4F87D58B6A8B}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:31:23.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{48F7369B-66ED-0C28-09B4-5FE7B8E840D3}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:31:23.000Z" color="#91BAAE"><one:Page ID="{A8CD6F6E-296D-042F-1CA9-CF3F61A26243}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/><one:Page ID="{E2A0169D-B9C6-0DBD-08EA-CF1E8C32A96D}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/><one:Page ID="{C2AFD7AE-B01E-0A9F-1877-09EA77808108}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/><one:Page ID="{D6639ED7-B6DB-4FC9-A574-4156CFD4BED0}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/><one:Page ID="{8BEFB544-309D-45CF-9B99-79828BFE2A21}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="2"/><one:Page ID="{D6337787-AA57-4B90-87BF-A12EA14C76F7}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="3"/><one:Page ID="{05F085AA-79DB-489D-BB18-0D14763B9BBB}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/><one:Page ID="{6E157F0A-4F27-42AC-84B8-0F4FE1020FA1}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/><one:Page ID="{155C1BE9-1A2E-45CE-AF02-674EE5CB2290}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{05F085AA-79DB-489D-BB18-0D14763B9BBB}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{2808641E-9F60-4FED-AD66-ED56A06D1EC4}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{637F4FB4-F75D-4377-A826-7236030DAFFA}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{637F4FB4-F75D-4377-A826-7236030DAFFA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{155C1BE9-1A2E-45CE-AF02-674EE5CB2290}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A22261A1-B284-4A2F-ADC0-BC70C6958183}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A22261A1-B284-4A2F-ADC0-BC70C6958183}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6E157F0A-4F27-42AC-84B8-0F4FE1020FA1}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{2B9B6E87-426A-471E-9169-B34FAD1E1F11}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{FF245F77-60B7-489C-B6ED-6DABC785E5ED}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{FF245F77-60B7-489C-B6ED-6DABC785E5ED}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-003.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8BEFB544-309D-45CF-9B99-79828BFE2A21}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{01BBC037-D2B0-4167-B3DE-66D03045F385}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{01BBC037-D2B0-4167-B3DE-66D03045F385}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{01BBC037-D2B0-4167-B3DE-66D03045F385}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A8CD6F6E-296D-042F-1CA9-CF3F61A26243}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{66B81E75-15D8-0C48-372E-940FFBD1EEBC}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C2AFD7AE-B01E-0A9F-1877-09EA77808108}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D6337787-AA57-4B90-87BF-A12EA14C76F7}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{46E65C34-AB6D-483F-BBBA-11A688C415B6}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{46E65C34-AB6D-483F-BBBA-11A688C415B6}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{46E65C34-AB6D-483F-BBBA-11A688C415B6}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D6639ED7-B6DB-4FC9-A574-4156CFD4BED0}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{D47807AD-E27D-455C-974B-8B59E12FA06D}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{D47807AD-E27D-455C-974B-8B59E12FA06D}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{D47807AD-E27D-455C-974B-8B59E12FA06D}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E2A0169D-B9C6-0DBD-08EA-CF1E8C32A96D}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:23.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{CD44D346-1693-01A4-2380-B7A0A05477EF}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/02-promoted-parent/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/03-selected-group-move/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/03-selected-group-move/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/03-selected-group-move/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/03-selected-group-move/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-20062E97",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F66326C9-AC56-4AB4-B680-B4D093EED56A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:31:21.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{D01BFA68-9145-0D08-2771-56789E2C94DE}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:31:21.000Z" color="#91BAAE"><one:Page ID="{3021A39D-DEC5-050F-326C-C6A04766B64E}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{7A4CDA6E-4E6E-0C9D-262F-C681AAF67D60}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{5A431B5D-47B6-0BBF-36B2-007551445505}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{9D1C4959-8E73-49BD-95DD-048B50FF4FB6}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{F6F9B3F9-B88F-438C-AA7D-06D0C7C6DBAC}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{8DB0D71A-ED86-44EE-81C7-6ED1C30FF69D}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{4E8F5224-4173-4EE9-8BB1-48C9E9106ADD}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"/><one:Page ID="{130379B7-C735-44EF-B55C-701DAD3AFE2C}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="2"/><one:Page ID="{4EDFBB74-5DFF-4AB0-A97A-A8B18788A2FA}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="3"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{130379B7-C735-44EF-B55C-701DAD3AFE2C}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{99570CC4-2518-4047-9D1B-6F4F16812788}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{99570CC4-2518-4047-9D1B-6F4F16812788}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{99570CC4-2518-4047-9D1B-6F4F16812788}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3021A39D-DEC5-050F-326C-C6A04766B64E}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{FE54D286-E270-0D68-19EB-9D90DD153AB1}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4E8F5224-4173-4EE9-8BB1-48C9E9106ADD}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{4C94CB5E-15D5-447C-B98E-82C6C7EB7460}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{4C94CB5E-15D5-447C-B98E-82C6C7EB7460}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{4C94CB5E-15D5-447C-B98E-82C6C7EB7460}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-003.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4EDFBB74-5DFF-4AB0-A97A-A8B18788A2FA}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{DE0A90C7-5CC5-491F-957F-1839AE00C1BB}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{DE0A90C7-5CC5-491F-957F-1839AE00C1BB}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{DE0A90C7-5CC5-491F-957F-1839AE00C1BB}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5A431B5D-47B6-0BBF-36B2-007551445505}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7A4CDA6E-4E6E-0C9D-262F-C681AAF67D60}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{55A81FB5-E13B-0084-0D45-BE3F8690A3E2}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8DB0D71A-ED86-44EE-81C7-6ED1C30FF69D}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{3ACEAD52-452C-4B0F-8305-B5EFE051558E}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{3ACEAD52-452C-4B0F-8305-B5EFE051558E}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9D1C4959-8E73-49BD-95DD-048B50FF4FB6}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{B0E4A8ED-68C8-4ECD-83A3-E4C986A9CAC9}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{FB938347-00F5-4257-86E3-7BA925C97BF7}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{FB938347-00F5-4257-86E3-7BA925C97BF7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F6F9B3F9-B88F-438C-AA7D-06D0C7C6DBAC}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:21.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{B377A274-B5C2-463E-BFAC-BAD08BDACB1C}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{67C89384-971F-49BC-9828-6434E14131E0}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{67C89384-971F-49BC-9828-6434E14131E0}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/03-selected-group-move/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/04-subpage-move/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/04-subpage-move/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/04-subpage-move/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/04-subpage-move/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/04-subpage-move/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/04-subpage-move/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-6019E29D",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{526E7CD9-B1F1-4C90-831E-2C3AFE9829B6}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:31:20.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{426A17D5-5E1F-0FBF-01C6-D5FED8DB0B62}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:31:20.000Z" color="#91BAAE"><one:Page ID="{A2504E20-119F-07B8-14DB-4526019129F2}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{E83D37D3-8134-0E2A-0098-4507EC01E2DC}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{C832F6E0-88EC-0908-1005-83F317B3CAB9}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{8172940A-086F-4658-93EB-F39BEBCD6190}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{0F6DA4E4-4129-4B0A-B36A-870D1608D00A}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{64885E44-77D5-413B-8CCA-855681314410}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{1FC13AA7-22DC-4659-A770-ED5785F86921}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{DCFEBF99-8E29-4C5E-AD06-CB4FAFE7F561}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"/><one:Page ID="{DCAE56C9-92A5-4807-8FCD-2B37C17F3D46}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="3"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0F6DA4E4-4129-4B0A-B36A-870D1608D00A}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{22954550-A792-4C7A-A514-674FC05E5575}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{69E26EFA-CFAF-40E0-A054-F82F633EE44B}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{69E26EFA-CFAF-40E0-A054-F82F633EE44B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1FC13AA7-22DC-4659-A770-ED5785F86921}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A8BF40EF-8A76-49B8-A5B2-3669A6A6CA32}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A8BF40EF-8A76-49B8-A5B2-3669A6A6CA32}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{64885E44-77D5-413B-8CCA-855681314410}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{21064FC9-7A98-4489-991B-3956CD2D54A0}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{F5B97E39-5845-4B0B-BE9F-E7B2A7B6AE5C}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{F5B97E39-5845-4B0B-BE9F-E7B2A7B6AE5C}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-003.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8172940A-086F-4658-93EB-F39BEBCD6190}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{0B26E179-EA42-42F0-BBAC-ECC95076B834}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{0B26E179-EA42-42F0-BBAC-ECC95076B834}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{0B26E179-EA42-42F0-BBAC-ECC95076B834}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A2504E20-119F-07B8-14DB-4526019129F2}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{6C253F3B-2D2A-0FDF-3F5C-1E169BE2A50D}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C832F6E0-88EC-0908-1005-83F317B3CAB9}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DCAE56C9-92A5-4807-8FCD-2B37C17F3D46}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{4C7B7D7A-939F-4BA8-B3C8-9BBFE8F75E07}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{4C7B7D7A-939F-4BA8-B3C8-9BBFE8F75E07}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{4C7B7D7A-939F-4BA8-B3C8-9BBFE8F75E07}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DCFEBF99-8E29-4C5E-AD06-CB4FAFE7F561}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{DEE526E3-DA8F-46CB-9F39-0140811CEBDC}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{DEE526E3-DA8F-46CB-9F39-0140811CEBDC}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{DEE526E3-DA8F-46CB-9F39-0140811CEBDC}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E83D37D3-8134-0E2A-0098-4507EC01E2DC}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:31:20.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{C7D9F208-2E61-0233-2BF2-3DB9C0673C5E}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/04-subpage-move/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/05-insert-before-subpage/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/05-insert-before-subpage/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-53AE91C1",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{833561C4-CEDB-4DA4-A203-D8C517F78A4E}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:34:40.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{A281298D-78BC-0F66-19D3-9CFFB2857980}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:34:40.000Z" color="#91BAAE"><one:Page ID="{42BB7078-373C-0761-0CCE-0C276BCF5B10}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{08D6098B-A797-0EF3-188D-0C06865F903E}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{28D9C8B8-AE4F-09D1-0810-CAF27DEDB85B}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{EF869ABC-678A-4BD3-AB7F-CE0C7C56A2E8}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{8463601C-5176-41E2-94DF-CC57EB6F36F2}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{FF2A04FF-047F-4680-BF65-A456EFA61BC3}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{3C1581C1-A88A-4C87-B513-824EC5B98783}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"/><one:Page ID="{6199AA52-2ECC-4681-8BFE-BA9A81931372}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="3"/><one:Page ID="{3C456891-B406-48DE-97D8-6236AB214FA4}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="3"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{08D6098B-A797-0EF3-188D-0C06865F903E}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{2732CC50-08C2-02EA-33E7-74B8AA394EBC}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{28D9C8B8-AE4F-09D1-0810-CAF27DEDB85B}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3C1581C1-A88A-4C87-B513-824EC5B98783}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{3E0E18BB-FC2C-4612-872C-4841EB42993E}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{3E0E18BB-FC2C-4612-872C-4841EB42993E}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{3E0E18BB-FC2C-4612-872C-4841EB42993E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-003.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3C456891-B406-48DE-97D8-6236AB214FA4}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{AC904322-B53C-4B71-ABDD-D2BE82A92CE5}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{AC904322-B53C-4B71-ABDD-D2BE82A92CE5}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{AC904322-B53C-4B71-ABDD-D2BE82A92CE5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{42BB7078-373C-0761-0CCE-0C276BCF5B10}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{8CCE0163-0B89-0F06-2749-5717F1BCD7EF}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-005.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6199AA52-2ECC-4681-8BFE-BA9A81931372}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{EBCDDF21-CCE1-4229-A3B9-A5C83A28CAD6}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{EBCDDF21-CCE1-4229-A3B9-A5C83A28CAD6}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{EBCDDF21-CCE1-4229-A3B9-A5C83A28CAD6}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8463601C-5176-41E2-94DF-CC57EB6F36F2}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{C1ED7191-5C3B-4450-810E-7057A7732642}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{15524061-7EE6-4BD2-A68A-AEB3CDE8DCBE}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{15524061-7EE6-4BD2-A68A-AEB3CDE8DCBE}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EF869ABC-678A-4BD3-AB7F-CE0C7C56A2E8}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{C27E7B08-8131-4CA3-BD01-2E4EAA002797}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{890950A2-E90C-4039-B841-B12E096096A9}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{890950A2-E90C-4039-B841-B12E096096A9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FF2A04FF-047F-4680-BF65-A456EFA61BC3}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:40.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{48547EB7-ACD5-4961-BDA7-7F68CCF8B8D0}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{48547EB7-ACD5-4961-BDA7-7F68CCF8B8D0}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/05-insert-before-subpage/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/06-promoted-level-two/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/06-promoted-level-two/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-ECBADDC7",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{6B18689D-7100-4575-B75C-DEA3030F5E42}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:34:47.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{EB9C67DF-7846-00B6-2BAE-4678A4402133}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:34:47.000Z" color="#91BAAE"><one:Page ID="{0BA63E2A-37C6-08B1-3EB3-D6A07D0A03A3}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:46.000Z" pageLevel="1"/><one:Page ID="{41CB47D9-A76D-0123-2AF0-D681909AC88D}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{61C486EA-AEB5-0601-3A6D-10756B28E0E8}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{A69BD4EE-6770-4403-9902-148B6A93FA5B}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{CD7E2E4E-518C-4E32-A6A2-16D0FDAA6E41}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{B6374AAD-0485-4950-8D18-7ED1F9634370}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{7508CF93-A870-4357-876E-58C9D37CDF30}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{2884E400-2E36-4951-B983-601D97564BC1}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="2"/><one:Page ID="{755826C3-B4FC-470E-A5A5-B8B1BDE41717}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="3"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0BA63E2A-37C6-08B1-3EB3-D6A07D0A03A3}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:46.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{C5D34F31-0B73-00D6-1534-8D90E7798F5C}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2884E400-2E36-4951-B983-601D97564BC1}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{A2D09173-CC1B-4DF9-91C4-7F4F2CED9265}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A2D09173-CC1B-4DF9-91C4-7F4F2CED9265}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{A2D09173-CC1B-4DF9-91C4-7F4F2CED9265}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{41CB47D9-A76D-0123-2AF0-D681909AC88D}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{6E2F8202-0838-0D3A-019A-AE3FBCFC160F}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{61C486EA-AEB5-0601-3A6D-10756B28E0E8}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7508CF93-A870-4357-876E-58C9D37CDF30}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{771356E9-FCD6-49C2-B551-92C6FD87C18D}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{771356E9-FCD6-49C2-B551-92C6FD87C18D}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{771356E9-FCD6-49C2-B551-92C6FD87C18D}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-005.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{755826C3-B4FC-470E-A5A5-B8B1BDE41717}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{E58D0D70-B5C6-44A1-99A0-0839946C7456}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{E58D0D70-B5C6-44A1-99A0-0839946C7456}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{E58D0D70-B5C6-44A1-99A0-0839946C7456}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A69BD4EE-6770-4403-9902-148B6A93FA5B}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{8B63355A-81CB-4373-8F7C-F4C9BCC57F24}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{C0141EF0-E9F6-4FE9-8A3C-6BA91FA5CE1A}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{C0141EF0-E9F6-4FE9-8A3C-6BA91FA5CE1A}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B6374AAD-0485-4950-8D18-7ED1F9634370}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{014930E5-AC2F-46B1-8FDA-A5EFDA3DE063}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{014930E5-AC2F-46B1-8FDA-A5EFDA3DE063}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CD7E2E4E-518C-4E32-A6A2-16D0FDAA6E41}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{88F03FC3-5CC1-4B80-B373-AAD0B1B67EF1}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{5C4F0E33-7E1C-4402-94F7-7434DB2D840D}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{5C4F0E33-7E1C-4402-94F7-7434DB2D840D}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/06-promoted-level-two/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/07-promoted-root/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/07-promoted-root/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/07-promoted-root/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/07-promoted-root/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/07-promoted-root/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/07-promoted-root/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-C8A7A5FF",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{23B5828E-FB0D-4D67-BA76-F31E28C953AC}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:34:47.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{941D5FD5-2C94-0663-2E69-81155F53F647}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:34:47.000Z" color="#91BAAE"><one:Page ID="{74270620-6314-0E64-3B74-11CD8619D4D7}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{3E4A7FD3-F3BF-07F6-2F37-11EC6B891FF9}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{1E45BEE0-FA67-00D4-3FAA-D718903B379C}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{D91AECE4-33A2-42D6-9CC5-D3E691802D2F}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{B2FF1644-055E-48E7-A365-D1BD06B9B935}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{C9B672A7-5057-4F85-88DF-B9BC02709404}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{0A89F799-FCA2-4582-82A9-9FA4286F0844}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{5705DC0A-7AE4-4F84-BC44-A7706C459CB5}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"/><one:Page ID="{0AD91EC9-E02E-41DB-A062-7FDC46F7C063}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="3"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0A89F799-FCA2-4582-82A9-9FA4286F0844}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{08926EE3-A804-4F17-B096-55AB069416F9}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{08926EE3-A804-4F17-B096-55AB069416F9}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{08926EE3-A804-4F17-B096-55AB069416F9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0AD91EC9-E02E-41DB-A062-7FDC46F7C063}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{9A0C357A-E114-4274-9C67-CF546F7FA322}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{9A0C357A-E114-4274-9C67-CF546F7FA322}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{9A0C357A-E114-4274-9C67-CF546F7FA322}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1E45BEE0-FA67-00D4-3FAA-D718903B379C}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3E4A7FD3-F3BF-07F6-2F37-11EC6B891FF9}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{11AEBA08-5CEA-0BEF-045D-695247EFC17B}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5705DC0A-7AE4-4F84-BC44-A7706C459CB5}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{DD51A979-98C9-4B2C-9403-B822D7FE4511}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{DD51A979-98C9-4B2C-9403-B822D7FE4511}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{DD51A979-98C9-4B2C-9403-B822D7FE4511}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{74270620-6314-0E64-3B74-11CD8619D4D7}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{BA52773B-5FA1-0603-10F3-4AFD1C6A5828}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B2FF1644-055E-48E7-A365-D1BD06B9B935}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{F77107C9-0813-4D55-B6B4-6DBD4AA5A985}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{23CE3639-2ACE-42D7-9130-B359203E5379}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{23CE3639-2ACE-42D7-9130-B359203E5379}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C9B672A7-5057-4F85-88DF-B9BC02709404}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{7EC808EF-F8FD-4064-8A1D-6282212E3717}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{7EC808EF-F8FD-4064-8A1D-6282212E3717}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D91AECE4-33A2-42D6-9CC5-D3E691802D2F}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:47.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{F4E20D50-D519-45A6-8ABB-33A447D6A850}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{BF9526FA-BD24-493C-8FFB-ACC4E4B6196E}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{BF9526FA-BD24-493C-8FFB-ACC4E4B6196E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/07-promoted-root/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/08-collapsed-group-move/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/08-collapsed-group-move/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-2C91BDCA",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{C8B6D3D7-9C6C-45B4-9726-1EF68B65045A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:34:50.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{E1C0E7B1-425E-0E71-1A38-3C39D0F67A3B}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:34:50.000Z" color="#91BAAE"><one:Page ID="{22D8646E-142E-4796-8815-1A5CE3E010C9}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{7F04A6AD-8EE4-49C9-9433-C2F0C9524C1F}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="3"/><one:Page ID="{01FABE44-0DDE-0676-0F25-ACE109BC58AB}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{4B97C7B7-9D75-0FE4-1B66-ACC0E42C9385}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{6B980684-94AD-08C6-0BFB-6A341F9EBBE0}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{ACC75480-5D68-4AC4-A894-6ECA1E25A153}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{C722AE20-6B94-40F5-9734-6C91891C3549}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{BC6BCAC3-3E9D-4797-BC8E-04908DD51878}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/><one:Page ID="{7F544FFD-9268-4D90-B6F8-2288A7CA8438}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{01FABE44-0DDE-0676-0F25-ACE109BC58AB}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{CF8FCF5F-316B-0E11-24A2-F7D193CFD454}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{22D8646E-142E-4796-8815-1A5CE3E010C9}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{A88C111D-F603-433E-A052-050E585BC96D}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A88C111D-F603-433E-A052-050E585BC96D}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{A88C111D-F603-433E-A052-050E585BC96D}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-002.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4B97C7B7-9D75-0FE4-1B66-ACC0E42C9385}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{6473026C-3220-03FD-300C-D47EC84A4D07}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6B980684-94AD-08C6-0BFB-6A341F9EBBE0}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7F04A6AD-8EE4-49C9-9433-C2F0C9524C1F}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{EFD18D1E-8FDE-4A66-A836-7278E0DA2F5E}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{EFD18D1E-8FDE-4A66-A836-7278E0DA2F5E}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{EFD18D1E-8FDE-4A66-A836-7278E0DA2F5E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-005.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7F544FFD-9268-4D90-B6F8-2288A7CA8438}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{7D4FD687-C6CE-4705-84C7-E88789319A85}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{7D4FD687-C6CE-4705-84C7-E88789319A85}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{7D4FD687-C6CE-4705-84C7-E88789319A85}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{ACC75480-5D68-4AC4-A894-6ECA1E25A153}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{813FB534-BBD3-4DB4-BEEA-8E88C873242C}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{CA489E9E-D3EE-412E-BBAA-11E86B139512}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{CA489E9E-D3EE-412E-BBAA-11E86B139512}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BC6BCAC3-3E9D-4797-BC8E-04908DD51878}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{0B15B08B-9637-4876-BE4C-DFAEAE8BBB6B}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{0B15B08B-9637-4876-BE4C-DFAEAE8BBB6B}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C722AE20-6B94-40F5-9734-6C91891C3549}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:34:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{82ACBFAD-66D9-4547-82E5-D091C50025F9}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{56138E5D-4404-4AC5-A561-0E75AF9BDF05}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{56138E5D-4404-4AC5-A561-0E75AF9BDF05}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/08-collapsed-group-move/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/README.md created+31
...@@ -0,0 +1,31 @@
1# Atomic Rust page edits
2
3Nine Rust-generated outcomes corresponding to the [native movement controls](../movement/README.md).
4Each candidate was independently opened in a fresh OneNote 2010 clone. Cold output
5preserves every byte beyond the file header and every active object graph without
6metadata repair. `provenance.json` records the generator, inputs and removed clones.
7
8Run `cargo test -p onestore --all-features --test page_movement` for native semantic
9comparisons, exact page-content/history preservation, invalid intents, and interrupted
10publication. Set `ONESTORE_PAGE_MOVEMENT_OUTPUT` to an absolute output directory to
11export the nine candidate states. Then use `tools/native_runner.py INPUT OUTPUT
12--expected-pages 9 --collect-notebook` for fresh independent captures.
13
14`PYTHONPATH=tools python3 -m unittest tools.test_page_movement -v` compares these
15committed fixtures with native XML and the complete cold-reopened graphs.
16
17`stress` retains 520 alternating nest/promote actions across counter carries and
18revision checkpoints. Its final two-page file also reopened without changes beyond
19the header. Set `ONESTORE_PAGE_MOVEMENT_STRESS_OUTPUT` to an absolute directory when
20running the Rust checkpoint test to export another stress file.
21
22`native` records OneNote renaming a moved page with a Unicode title and adding a
23body outline, followed by a cold reopen. `rust-followup` nests that page and edits
24the new native paragraph, then reopens it in OneNote again. Every original page
25identity and existing text remains accounted for across both writers.
26
27`optional-cache` removes an optional series metadata reference while retaining
28the old objects in history. Native OneNote restores those references in a different
29order from the pages. Rust preserves metadata identity through restoration and
30movement; the regression matches copies by their page identifiers. The unit test
31also retains an unknown property and rejects detached edits without reattachment.
corpus/page-lifecycle/page-edits/native/cold/notebook/Lifecycle.one created+1
...@@ -0,0 +1 @@
1../../notebook/Lifecycle.one
\ No newline at end of file
corpus/page-lifecycle/page-edits/native/cold/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/page-lifecycle/page-edits/native/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-3E851B73",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/native/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{F2DE6DAD-AB89-43E9-AEBA-F568C78C1CD4}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:54:44.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{0E7E9AF4-3A29-062E-28C3-1DB84B65F33B}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:54:44.000Z" color="#91BAAE"><one:Page ID="{CD66192B-6C59-4FC9-BAEE-3BDD787399C9}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{90BADBE8-F693-4196-A6C8-E37152C1C51F}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="3"/><one:Page ID="{EE44C301-75A9-0E29-3DDE-8D60922FD1AB}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{A429BAF2-E502-07BB-299D-8D417FBF1A85}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{84267BC1-ECDA-0099-3900-4BB5840D32E0}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{437929C5-251F-429B-9A6F-4F4B85B62853}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{289CD365-13E3-48AA-A5CF-4D10128FBC49}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{53D5B786-46EA-4FC8-8E75-251116469178}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/><one:Page ID="{90EA32B8-EA1F-45CF-8403-03093C590D38}{1}{B0}" name="Native moved 🦋 é" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/native/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{289CD365-13E3-48AA-A5CF-4D10128FBC49}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{6D12C2E8-1EAE-4D18-B01E-F1105E93ACF9}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{B9ADF318-3C73-429A-979A-2FF434085605}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{B9ADF318-3C73-429A-979A-2FF434085605}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{437929C5-251F-429B-9A6F-4F4B85B62853}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{6E81C871-C3A4-45EB-8C11-AF0953E0AD2C}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{25F6E3DB-AB99-4971-8951-3069F0801C12}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{25F6E3DB-AB99-4971-8951-3069F0801C12}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{53D5B786-46EA-4FC8-8E75-251116469178}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{E4ABCDCE-EE40-4029-8CB7-FE2F3518326B}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{E4ABCDCE-EE40-4029-8CB7-FE2F3518326B}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{84267BC1-ECDA-0099-3900-4BB5840D32E0}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{90BADBE8-F693-4196-A6C8-E37152C1C51F}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{006FF05B-F7A9-4239-9ACD-53F97B49A65E}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{006FF05B-F7A9-4239-9ACD-53F97B49A65E}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{006FF05B-F7A9-4239-9ACD-53F97B49A65E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-005.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{90EA32B8-EA1F-45CF-8403-03093C590D38}{1}{B0}" name="Native moved 🦋 é" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T06:49:31.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{63B18198-C44A-49C8-847F-86993C07D04E}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native moved &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{92F1ABC2-BEB9-4F5A-B63C-C90612A21385}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{92F1ABC2-BEB9-4F5A-B63C-C90612A21385}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{63B18198-C44A-49C8-847F-86993C07D04E}{21}{B0}"><one:Position x="72.0" y="144.0" z="1"/><one:Size width="202.1613311767578" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T06:49:35.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{63B18198-C44A-49C8-847F-86993C07D04E}{22}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native body after a Rust page move.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-006.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A429BAF2-E502-07BB-299D-8D417FBF1A85}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{8BCD7F29-4A57-0BA2-02F7-F5FF53D9C407}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CD66192B-6C59-4FC9-BAEE-3BDD787399C9}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{47326C58-8E74-4B61-92A9-248FC3C8406D}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{47326C58-8E74-4B61-92A9-248FC3C8406D}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{47326C58-8E74-4B61-92A9-248FC3C8406D}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE44C301-75A9-0E29-3DDE-8D60922FD1AB}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:54:44.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{2031B21A-491C-064E-1659-D650085C5D54}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/native/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/native/native-edit.xml created+1
...@@ -0,0 +1 @@
1<one:Page xmlns:one='http://schemas.microsoft.com/office/onenote/2010/onenote' ID='{445B0685-8658-43A9-ABA5-2F67A9CDF374}{1}{B0}'><one:Title><one:OE><one:T>Native moved 🦋 é</one:T></one:OE></one:Title><one:Outline><one:Position x='72' y='144'/><one:OEChildren><one:OE><one:T>Native body after a Rust page move.</one:T></one:OE></one:OEChildren></one:Outline></one:Page>
\ No newline at end of file
corpus/page-lifecycle/page-edits/native/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/native/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/native/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/native/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/native/provenance.json created+59
...@@ -0,0 +1,59 @@
1{
2 "author": {
3 "capture": "evidence/m10/page-edit-native-followup-01",
4 "machine": {
5 "name": "m6-80c251fb",
6 "hostname": "ONE-M6-80C251FB"
7 },
8 "teardown": {
9 "absent": true
10 },
11 "run": {
12 "notebook": "/Users/clo/dev/one/evidence/m10/page-edit-candidate-02/08-collapsed-group-move",
13 "expected_pages": 9,
14 "author": "tools/native/moved-pages.ps1",
15 "author_timeout_seconds": 600,
16 "inspect": false,
17 "collect_notebook": true,
18 "base": {
19 "file": "win7-office-base.qcow2",
20 "format": "qcow2",
21 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
22 "virtual_size": 68719476736
23 },
24 "scripts": {
25 "author.ps1": "42c5e9aaf9bf9bb830a28e53d715bdaa3b8fb5a3ad688e5fa552079e0632d36f",
26 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
27 "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
28 }
29 }
30 },
31 "cold": {
32 "capture": "evidence/m10/page-edit-native-followup-cold-01",
33 "machine": {
34 "name": "m6-3e851b73",
35 "hostname": "ONE-M6-3E851B73"
36 },
37 "teardown": {
38 "absent": true
39 },
40 "run": {
41 "notebook": "/Users/clo/dev/one/evidence/m10/page-edit-native-followup-01/notebook",
42 "expected_pages": 9,
43 "author": null,
44 "author_timeout_seconds": 600,
45 "inspect": false,
46 "collect_notebook": true,
47 "base": {
48 "file": "win7-office-base.qcow2",
49 "format": "qcow2",
50 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
51 "virtual_size": 68719476736
52 },
53 "scripts": {
54 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
55 "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
56 }
57 }
58 }
59}
corpus/page-lifecycle/page-edits/native/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-80C251FB",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/native/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{159DAA26-8577-436B-B35B-A1B2D53D8D62}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:50:52.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{DACFAEC9-566E-0048-0765-31D6DEF10D77}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:50:52.000Z" color="#91BAAE"><one:Page ID="{19D72D16-001E-49AF-9548-17B3EDE76785}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{440BEFD5-9AD4-47F0-896E-CF1FC7553B53}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="3"/><one:Page ID="{3AF5F73C-19EE-084F-1278-A10E07BB2FE7}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{70988ECF-8945-01DD-063B-A12FEA2BE4C9}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{50974FFC-809D-06FF-16A6-67DB1199CCAC}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{97C81DF8-4958-44FD-B5C9-63251022D61F}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{FC2DE758-7FA4-4ECC-8A69-617E871B4205}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{876483BB-2AAD-49AE-A1D3-097F83D26F34}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"/><one:Page ID="{445B0685-8658-43A9-ABA5-2F67A9CDF374}{1}{B0}" name="Native moved 🦋 é" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/native/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{19D72D16-001E-49AF-9548-17B3EDE76785}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{93835865-E233-4D07-BD0F-08E1565CBE21}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{93835865-E233-4D07-BD0F-08E1565CBE21}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{93835865-E233-4D07-BD0F-08E1565CBE21}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{3AF5F73C-19EE-084F-1278-A10E07BB2FE7}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{F4808627-255B-0028-39FF-FA3E9DC8A318}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{440BEFD5-9AD4-47F0-896E-CF1FC7553B53}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{D4DEC466-9BEE-445F-B56B-7F97EEDD5812}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{D4DEC466-9BEE-445F-B56B-7F97EEDD5812}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{D4DEC466-9BEE-445F-B56B-7F97EEDD5812}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-003.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{445B0685-8658-43A9-ABA5-2F67A9CDF374}{1}{B0}" name="Native moved 🦋 é" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T06:49:31.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{B700B5A5-A80D-4FAE-ABD9-AAF7A9932E02}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native moved &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{46409FFF-D2FE-493C-999A-E5688736EDC9}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{46409FFF-D2FE-493C-999A-E5688736EDC9}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{B700B5A5-A80D-4FAE-ABD9-AAF7A9932E02}{21}{B0}"><one:Position x="72.0" y="144.0" z="1"/><one:Size width="202.1613311767578" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T06:49:35.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{B700B5A5-A80D-4FAE-ABD9-AAF7A9932E02}{22}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native body after a Rust page move.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{50974FFC-809D-06FF-16A6-67DB1199CCAC}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{70988ECF-8945-01DD-063B-A12FEA2BE4C9}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{5F7C4B14-2610-0DC4-2D51-D991C64D3A4B}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{876483BB-2AAD-49AE-A1D3-097F83D26F34}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{301AF9F3-8207-464F-A311-D241A08CCC27}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{301AF9F3-8207-464F-A311-D241A08CCC27}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{97C81DF8-4958-44FD-B5C9-63251022D61F}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{BA30FC4C-AFE3-438D-A3B7-8367C6745360}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{F147D7E6-C7DE-4F17-A6F7-1C076514E25E}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{F147D7E6-C7DE-4F17-A6F7-1C076514E25E}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FC2DE758-7FA4-4ECC-8A69-617E871B4205}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:49:27.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{B9A3F6D5-72E9-4B7E-9FB8-DD7ECB0752B5}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6D1CC725-5034-44FC-B83C-039AA19CA849}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6D1CC725-5034-44FC-B83C-039AA19CA849}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/native/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/optional-cache/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/optional-cache/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/optional-cache/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/optional-cache/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-96DF7BE7",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/optional-cache/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D268C454-18A5-4BD4-9BDB-5F0A72B808CD}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T07:25:50.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{6D421CCB-CF81-0D4B-3EE7-0BC24E802E82}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T07:25:50.000Z" color="#91BAAE"><one:Page ID="{8D78453E-8001-054C-2BFA-9B1A97CA0C12}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"/><one:Page ID="{C7153CCD-10AA-0CDE-3FB9-9B3B7A5AC73C}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"/><one:Page ID="{E71AFDFE-1972-0BFC-2F24-5DCF81E8EF59}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"/><one:Page ID="{F3D6B487-1FB7-4EAA-9227-157339BCD081}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="2"/><one:Page ID="{AE5A9F14-99F1-44AC-ACCA-2DA77D964470}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="2"/><one:Page ID="{F3865DD7-033B-4AF3-B0EC-F50B572418A6}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="3"/><one:Page ID="{2045AFFA-D0B7-49FE-8C4B-59318053F5EA}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"/><one:Page ID="{4BA0555A-E64B-43CF-B3EB-5B6A176A61F0}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"/><one:Page ID="{30E931B9-B342-44AD-9851-336B13A34CC1}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2045AFFA-D0B7-49FE-8C4B-59318053F5EA}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{0DBD4E4E-360C-4E8E-9A35-B97356057095}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{46CA65E4-5E31-4214-9F75-2613F565C1AB}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{46CA65E4-5E31-4214-9F75-2613F565C1AB}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{30E931B9-B342-44AD-9851-336B13A34CC1}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{87974BF1-1BE8-4B4C-9A93-E85530FDEFD2}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{87974BF1-1BE8-4B4C-9A93-E85530FDEFD2}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4BA0555A-E64B-43CF-B3EB-5B6A176A61F0}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{0E2E44D7-EB06-467D-A63A-E76A5B767140}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{DA917527-C9DB-49FF-81BE-398E31ED8BBC}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{DA917527-C9DB-49FF-81BE-398E31ED8BBC}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8D78453E-8001-054C-2BFA-9B1A97CA0C12}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{430D3425-BCB4-0D2B-007D-C02A0DB980ED}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AE5A9F14-99F1-44AC-ACCA-2DA77D964470}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{240EEA67-7BDC-4004-848D-32F5C62D9DD4}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{240EEA67-7BDC-4004-848D-32F5C62D9DD4}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{240EEA67-7BDC-4004-848D-32F5C62D9DD4}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C7153CCD-10AA-0CDE-3FB9-9B3B7A5AC73C}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{E8F1F916-BFFF-00C7-14D3-E385563C19BE}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-006.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E71AFDFE-1972-0BFC-2F24-5DCF81E8EF59}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3865DD7-033B-4AF3-B0EC-F50B572418A6}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{63537664-0201-495C-8CE9-45837EAC7BE7}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{63537664-0201-495C-8CE9-45837EAC7BE7}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{63537664-0201-495C-8CE9-45837EAC7BE7}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F3D6B487-1FB7-4EAA-9227-157339BCD081}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:25:50.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{F1CD2DFD-4B11-443F-A018-DF7C1747CE3C}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{F1CD2DFD-4B11-443F-A018-DF7C1747CE3C}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{F1CD2DFD-4B11-443F-A018-DF7C1747CE3C}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/optional-cache/followup/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/followup/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/followup/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/followup/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-76A08F71",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{8F659927-03B1-49D0-A44E-7A2F6CDF107D}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T07:33:39.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{7C88CF25-D33F-0AB6-1438-23180BEC02AE}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T07:33:39.000Z" color="#91BAAE"><one:Page ID="{9CB296D0-9CBF-02B1-0125-B3C0D2A6203E}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"/><one:Page ID="{D6DFEF23-0C14-0B23-1566-B3E13F36EB10}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"/><one:Page ID="{F6D02E10-05CC-0C01-05FB-7515C484C375}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"/><one:Page ID="{E21C6769-0309-4957-B8F8-3DA97CD0FCAD}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="2"/><one:Page ID="{BF904CFA-854F-4351-8615-057D38FA685C}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="2"/><one:Page ID="{E24C8E39-1F85-4D0E-9A33-DDD11248348A}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="3"/><one:Page ID="{318F7C14-CC09-4E03-A694-71EBC53FD9C6}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"/><one:Page ID="{5A6A86B4-FAF5-4432-9934-73B052064DDC}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"/><one:Page ID="{2123E257-AFFC-4350-B28E-1BB156CF60ED}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2123E257-AFFC-4350-B28E-1BB156CF60ED}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{965D981F-0756-4CB1-B04C-C08F7591C3FE}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{965D981F-0756-4CB1-B04C-C08F7591C3FE}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{318F7C14-CC09-4E03-A694-71EBC53FD9C6}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{1C779DA0-2AB2-4973-B0EA-91A913695CB9}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{5700B60A-428F-45E9-B5AA-0EC9B009ED87}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{5700B60A-428F-45E9-B5AA-0EC9B009ED87}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5A6A86B4-FAF5-4432-9934-73B052064DDC}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{1FE49739-F7B8-4180-8CE5-CFB01E1A5D6C}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{CB5BA6C9-D565-4E02-AB61-11547481A790}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{CB5BA6C9-D565-4E02-AB61-11547481A790}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9CB296D0-9CBF-02B1-0125-B3C0D2A6203E}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{52C7E7CB-A00A-0AD6-2AA2-E8F048D5ACC1}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BF904CFA-854F-4351-8615-057D38FA685C}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{35C43989-6762-47F9-AE52-1A2F8341B1F8}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{35C43989-6762-47F9-AE52-1A2F8341B1F8}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{35C43989-6762-47F9-AE52-1A2F8341B1F8}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D6DFEF23-0C14-0B23-1566-B3E13F36EB10}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{F93B2AF8-A341-073A-3E0C-CB5F13503592}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E21C6769-0309-4957-B8F8-3DA97CD0FCAD}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{E007FE13-57AF-43C2-8AC7-F7A6522BE210}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{E007FE13-57AF-43C2-8AC7-F7A6522BE210}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{E007FE13-57AF-43C2-8AC7-F7A6522BE210}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E24C8E39-1F85-4D0E-9A33-DDD11248348A}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{7299A58A-1EBF-4EA1-A636-6D593BC057CB}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{7299A58A-1EBF-4EA1-A636-6D593BC057CB}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{7299A58A-1EBF-4EA1-A636-6D593BC057CB}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F6D02E10-05CC-0C01-05FB-7515C484C375}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:33:39.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/followup/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/optional-cache/followup/provenance.json created+19
...@@ -0,0 +1,19 @@
1{
2 "generator": "crates/onestore/tests/page_movement.rs::metadata_copy_order_does_not_change_page_identity",
3 "capture": "evidence/m10/page-edit-metadata-order-cold-01",
4 "machine": {
5 "name": "m6-76a08f71",
6 "hostname": "ONE-M6-76A08F71"
7 },
8 "teardown": {
9 "absent": true
10 },
11 "source": [
12 {
13 "path": "Lifecycle.one",
14 "bytes": 59848,
15 "sha256": "c44936c8f45de1b5f136050a1c41a51a237634e154d39bafb5abbda5773b3caf",
16 "mtime_ns": 1788939065374445295
17 }
18 ]
19}
corpus/page-lifecycle/page-edits/optional-cache/provenance.json created+41
...@@ -0,0 +1,41 @@
1{
2 "generator": "crates/onestore/src/page.rs::tests::page_movement_restores_an_optional_metadata_cache_from_history",
3 "captures": {
4 "source": {
5 "capture": "evidence/m10/page-edit-optional-source-cold-02",
6 "machine": {
7 "name": "m6-41fb00f9",
8 "hostname": "ONE-M6-41FB00F9"
9 },
10 "teardown": {
11 "absent": true
12 },
13 "source": [
14 {
15 "path": "Lifecycle.one",
16 "bytes": 54872,
17 "sha256": "d4d0955b95844a3bf578c39b68c9039334f730876617f36b655b96c5b59289cd",
18 "mtime_ns": 1788938613040603712
19 }
20 ]
21 },
22 "restored": {
23 "capture": "evidence/m10/page-edit-optional-cold-02",
24 "machine": {
25 "name": "m6-96df7be7",
26 "hostname": "ONE-M6-96DF7BE7"
27 },
28 "teardown": {
29 "absent": true
30 },
31 "source": [
32 {
33 "path": "Lifecycle.one",
34 "bytes": 57624,
35 "sha256": "c7b59e53945bd28c9ac2542890f43c7098568b50a1d14301c6ded79e9c7b5cf8",
36 "mtime_ns": 1788938613040899005
37 }
38 ]
39 }
40 }
41}
corpus/page-lifecycle/page-edits/optional-cache/source-cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/source-cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/optional-cache/source-cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/source-cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-41FB00F9",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FADEA99D-2EF8-495E-9A0A-C38DFFE0AA50}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T07:25:59.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{818F8488-2B84-059E-2E60-9D8809895DCD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T07:25:59.000Z" color="#91BAAE"><one:Page ID="{61B5DD7D-6404-0D99-3B7D-0D50D0C37F5D}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/><one:Page ID="{2BD8A48E-F4AF-040B-2F3E-0D713D53B473}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/><one:Page ID="{0BD765BD-FD77-0329-3FA3-CB85C6E19C16}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/><one:Page ID="{1F1B2CC4-FBB2-467F-82A0-83397EB5A3CE}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/><one:Page ID="{42970757-7DF4-4C79-BC4D-BBED3A9F373F}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="2"/><one:Page ID="{1F4BC594-E73E-4226-A06B-6341102D6BE9}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="3"/><one:Page ID="{CC8837B9-34B2-412B-9CCC-CF7BC75A86A5}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/><one:Page ID="{A76DCD19-024E-4B1A-A36C-CD20506312BF}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/><one:Page ID="{DC24A9FA-5747-4C78-88D6-A52154AA3F8E}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0BD765BD-FD77-0329-3FA3-CB85C6E19C16}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1F1B2CC4-FBB2-467F-82A0-83397EB5A3CE}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{1D00B5BE-AF14-4CEA-B09F-4936504EBD73}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{1D00B5BE-AF14-4CEA-B09F-4936504EBD73}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{1D00B5BE-AF14-4CEA-B09F-4936504EBD73}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1F4BC594-E73E-4226-A06B-6341102D6BE9}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{8F9EEE27-E604-4189-9C6E-D3C939A508A8}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{8F9EEE27-E604-4189-9C6E-D3C939A508A8}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{8F9EEE27-E604-4189-9C6E-D3C939A508A8}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2BD8A48E-F4AF-040B-2F3E-0D713D53B473}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{043C6155-5BFA-0812-0454-75CF11356AF1}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{42970757-7DF4-4C79-BC4D-BBED3A9F373F}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{C8C37224-9FD9-48D1-940A-A4BF8124EE9B}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{C8C37224-9FD9-48D1-940A-A4BF8124EE9B}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{C8C37224-9FD9-48D1-940A-A4BF8124EE9B}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{61B5DD7D-6404-0D99-3B7D-0D50D0C37F5D}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{AFC0AC66-58B1-05FE-10FA-56604AB0F3A2}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A76DCD19-024E-4B1A-A36C-CD20506312BF}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{E2E3DC94-0F03-4EA8-B6BD-71201C7F020F}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{365CED64-2DDE-412A-9139-AFC476E4F8F3}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{365CED64-2DDE-412A-9139-AFC476E4F8F3}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{CC8837B9-34B2-412B-9CCC-CF7BC75A86A5}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{E170D60D-D209-465B-8AB2-2F39110C03DA}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{AA07FDA7-BA34-4AC1-8FF2-B059B26CB2E4}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{AA07FDA7-BA34-4AC1-8FF2-B059B26CB2E4}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{DC24A9FA-5747-4C78-88D6-A52154AA3F8E}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:25:49.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6B5AD3B2-FFED-4399-8A14-7E1F77F49C9D}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6B5AD3B2-FFED-4399-8A14-7E1F77F49C9D}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/optional-cache/source-cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/optional-cache/source/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/optional-cache/source/Lifecycle.one differ
corpus/page-lifecycle/page-edits/provenance.json created+169
...@@ -0,0 +1,169 @@
1{
2 "generator": "crates/onestore/tests/page_movement.rs::explicit_page_edits_match_native_selection_and_indentation",
3 "source": "corpus/page-lifecycle/04-nested/notebook/Lifecycle.one",
4 "candidate": "evidence/m10/page-edit-candidate-02",
5 "cold": {
6 "01-demoted-parent": {
7 "capture": "evidence/m10/page-edit-cold-01-demoted-parent",
8 "machine": {
9 "name": "m6-ce1d1d57",
10 "hostname": "ONE-M6-CE1D1D57"
11 },
12 "teardown": {
13 "absent": true
14 },
15 "source": [
16 {
17 "path": "Lifecycle.one",
18 "bytes": 56056,
19 "sha256": "2629b43d4b6c2630522862e3a854ec58279b7fe803f30242c0d834ea34b664da",
20 "mtime_ns": 1788935349739312911
21 }
22 ]
23 },
24 "02-promoted-parent": {
25 "capture": "evidence/m10/page-edit-cold-02-promoted-parent",
26 "machine": {
27 "name": "m6-c1201e9e",
28 "hostname": "ONE-M6-C1201E9E"
29 },
30 "teardown": {
31 "absent": true
32 },
33 "source": [
34 {
35 "path": "Lifecycle.one",
36 "bytes": 58960,
37 "sha256": "eb8e60206218524e11c126d40ad87531691ad74118566d24057aa98be3d494d8",
38 "mtime_ns": 1788935349797487705
39 }
40 ]
41 },
42 "03-selected-group-move": {
43 "capture": "evidence/m10/page-edit-cold-03-selected-group-move",
44 "machine": {
45 "name": "m6-20062e97",
46 "hostname": "ONE-M6-20062E97"
47 },
48 "teardown": {
49 "absent": true
50 },
51 "source": [
52 {
53 "path": "Lifecycle.one",
54 "bytes": 59688,
55 "sha256": "6048ce8cc2ca5b24da2c594c079e4c98aee8b8ee742f667e2e6beedd0917c12a",
56 "mtime_ns": 1788935349855149794
57 }
58 ]
59 },
60 "04-subpage-move": {
61 "capture": "evidence/m10/page-edit-cold-04-subpage-move",
62 "machine": {
63 "name": "m6-6019e29d",
64 "hostname": "ONE-M6-6019E29D"
65 },
66 "teardown": {
67 "absent": true
68 },
69 "source": [
70 {
71 "path": "Lifecycle.one",
72 "bytes": 62168,
73 "sha256": "e902c74b456d177fd4effbcecd73550f5abaaf1dd51d6f844db03c591a8a7707",
74 "mtime_ns": 1788935349914573000
75 }
76 ]
77 },
78 "05-insert-before-subpage": {
79 "capture": "evidence/m10/page-edit-cold-05-insert-before-subpage",
80 "machine": {
81 "name": "m6-53ae91c1",
82 "hostname": "ONE-M6-53AE91C1"
83 },
84 "teardown": {
85 "absent": true
86 },
87 "source": [
88 {
89 "path": "Lifecycle.one",
90 "bytes": 64576,
91 "sha256": "8ad33d7aef415d0c2a1f8755a43ad62a5a803c2b1b4655c9d1d1aa615f7f353e",
92 "mtime_ns": 1788935349976521109
93 }
94 ]
95 },
96 "06-promoted-level-two": {
97 "capture": "evidence/m10/page-edit-cold-06-promoted-level-two",
98 "machine": {
99 "name": "m6-ecbaddc7",
100 "hostname": "ONE-M6-ECBADDC7"
101 },
102 "teardown": {
103 "absent": true
104 },
105 "source": [
106 {
107 "path": "Lifecycle.one",
108 "bytes": 65664,
109 "sha256": "5c23f179e53441d81e2d6d84badaa3a19121276f341eb32dc214c8148107bab3",
110 "mtime_ns": 1788935350039848211
111 }
112 ]
113 },
114 "07-promoted-root": {
115 "capture": "evidence/m10/page-edit-cold-07-promoted-root",
116 "machine": {
117 "name": "m6-c8a7a5ff",
118 "hostname": "ONE-M6-C8A7A5FF"
119 },
120 "teardown": {
121 "absent": true
122 },
123 "source": [
124 {
125 "path": "Lifecycle.one",
126 "bytes": 68216,
127 "sha256": "375d815d58a5775261f54c4c23134c863b6dbe69ed48ba7636d3218008544ef8",
128 "mtime_ns": 1788935350105745801
129 }
130 ]
131 },
132 "08-collapsed-group-move": {
133 "capture": "evidence/m10/page-edit-cold-08-collapsed-group-move",
134 "machine": {
135 "name": "m6-2c91bdca",
136 "hostname": "ONE-M6-2C91BDCA"
137 },
138 "teardown": {
139 "absent": true
140 },
141 "source": [
142 {
143 "path": "Lifecycle.one",
144 "bytes": 69000,
145 "sha256": "fb2b01ee423c89cdeff62b32e1ff7edd225a0d90da27ec8d749dd3870105449c",
146 "mtime_ns": 1788935350173118884
147 }
148 ]
149 },
150 "single-page": {
151 "capture": "evidence/m10/page-edit-cold-single-page",
152 "machine": {
153 "name": "m6-8a614337",
154 "hostname": "ONE-M6-8A614337"
155 },
156 "teardown": {
157 "absent": true
158 },
159 "source": [
160 {
161 "path": "Lifecycle.one",
162 "bytes": 55040,
163 "sha256": "1a1a4adb6e5032fd7b966bce629d454e38682eb3290c16ee9c23a8eda043f8cd",
164 "mtime_ns": 1788935350218567200
165 }
166 ]
167 }
168 }
169}
corpus/page-lifecycle/page-edits/rust-followup/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/rust-followup/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/rust-followup/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/rust-followup/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/rust-followup/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/rust-followup/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/rust-followup/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-7EAA4E8F",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/rust-followup/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{5C074590-8F11-4A11-9A8C-D5FFB4F80FB5}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T07:01:15.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{11ACC51F-0AAE-07AF-2008-B425479C442E}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T07:01:15.000Z" color="#91BAAE"><one:Page ID="{D2B446C0-5CDE-4E48-B225-9240748A2EDC}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{8F688403-C614-4017-AE03-4AEC5E38720A}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="3"/><one:Page ID="{F1969CEA-452E-0FA8-3515-24FD9ED666BE}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{BBFBE519-D585-063A-2156-24DC7346AD90}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{9BF4242A-DC5D-0118-31CB-E22888F485F5}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{5CAB762E-1598-431A-92A4-E6D6894F9F46}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{374E8C8E-2364-492B-AD04-E48D1E760B5C}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{4C07E86D-766D-4E49-86BE-8C8C1ABF266D}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"/><one:Page ID="{8F386D53-DA98-444E-8CC8-AA9430A0BA2D}{1}{B0}" name="Native moved 🦋 é" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="2"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{374E8C8E-2364-492B-AD04-E48D1E760B5C}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{72C09D03-2E29-4C99-B8D5-588D526A1BEC}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A67FACF3-0CF4-431B-9F51-866938F1E110}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{A67FACF3-0CF4-431B-9F51-866938F1E110}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4C07E86D-766D-4E49-86BE-8C8C1ABF266D}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{FB799225-DEC7-41A8-847C-57B239E1857E}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{FB799225-DEC7-41A8-847C-57B239E1857E}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5CAB762E-1598-431A-92A4-E6D6894F9F46}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{7153979A-F323-446A-84DA-06945F191A39}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{3A24BC30-9B1E-48F0-819A-99F4FC79AB07}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{3A24BC30-9B1E-48F0-819A-99F4FC79AB07}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-003.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8F386D53-DA98-444E-8CC8-AA9430A0BA2D}{1}{B0}" name="Native moved 🦋 é" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T06:49:31.000Z" lastModifiedTime="2026-09-09T06:49:35.000Z" objectID="{7C63DE73-F4CD-4849-8CB4-2F0430FE675B}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Native moved &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{8D23F429-8E3E-4EDB-BEF7-609B1E5BA490}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{8D23F429-8E3E-4EDB-BEF7-609B1E5BA490}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T06:59:18.000Z" objectID="{7C63DE73-F4CD-4849-8CB4-2F0430FE675B}{21}{B0}"><one:Position x="72.0" y="144.0" z="1"/><one:Size width="232.3523559570312" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T06:49:35.000Z" lastModifiedTime="2026-09-09T06:59:18.000Z" objectID="{7C63DE73-F4CD-4849-8CB4-2F0430FE675B}{22}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Rust + Native body after a Rust page move.]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-004.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8F688403-C614-4017-AE03-4AEC5E38720A}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{1FBDAFB0-C72E-43B8-9206-FA6477B0114B}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{1FBDAFB0-C72E-43B8-9206-FA6477B0114B}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{1FBDAFB0-C72E-43B8-9206-FA6477B0114B}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-005.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9BF4242A-DC5D-0118-31CB-E22888F485F5}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-006.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BBFBE519-D585-063A-2156-24DC7346AD90}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{941F20C2-7AD0-0A23-0A3C-5C625F207312}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-007.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D2B446C0-5CDE-4E48-B225-9240748A2EDC}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{58E033B3-BEF3-4AE0-9A62-8D12CF31F778}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{58E033B3-BEF3-4AE0-9A62-8D12CF31F778}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{58E033B3-BEF3-4AE0-9A62-8D12CF31F778}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/page-008.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F1969CEA-452E-0FA8-3515-24FD9ED666BE}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T07:01:15.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{3FE3EDF1-799B-07CF-1E92-7FCD04A5EA41}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/rust-followup/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/rust-followup/provenance.json created+19
...@@ -0,0 +1,19 @@
1{
2 "generator": "crates/onestore/tests/page_movement.rs::native_edits_on_moved_pages_support_more_rust_changes",
3 "capture": "evidence/m10/page-edit-rust-followup-cold-01",
4 "machine": {
5 "name": "m6-7eaa4e8f",
6 "hostname": "ONE-M6-7EAA4E8F"
7 },
8 "teardown": {
9 "absent": true
10 },
11 "source": [
12 {
13 "path": "Lifecycle.one",
14 "bytes": 76784,
15 "sha256": "d777045965f44952fc7aab6e020645d79d959b0a002c0e684f38381106713eb8",
16 "mtime_ns": 1788937158196655008
17 }
18 ]
19}
corpus/page-lifecycle/page-edits/single-page/candidate/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/single-page/candidate/Lifecycle.one differ
corpus/page-lifecycle/page-edits/single-page/cold/notebook/Lifecycle.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/single-page/cold/notebook/Lifecycle.one differ
corpus/page-lifecycle/page-edits/single-page/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/single-page/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/single-page/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-8A614337",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/single-page/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{FA176C52-ADC5-4D69-BBE3-EE535C569163}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:38:05.000Z" color="#B49EDE"><one:Section name="Lifecycle" ID="{25AAF747-70E0-0CD3-0807-44720BFE2F94}{1}{B0}" path="C:\one-tests\runs\capture\notebook\Lifecycle.one" lastModifiedTime="2026-09-09T06:38:05.000Z" color="#91BAAE"><one:Page ID="{C590AEB2-3F60-04D4-1D1A-D4AAD2B40D04}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/><one:Page ID="{8FFDD741-AFCB-0D46-0959-D48B3F24C62A}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/><one:Page ID="{AFF21672-A613-0A64-19C4-127FC496EE4F}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/><one:Page ID="{E6B27498-2690-4534-9A2A-621738E84566}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="2"/><one:Page ID="{BB6EB65B-BC5A-4B6B-860C-BABB125A19B0}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="3"/><one:Page ID="{68AD4476-6FD6-4866-BAAB-1681C52DF4FC}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/><one:Page ID="{0348BED6-592A-4257-850B-14DA521460E6}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/><one:Page ID="{7801DA35-0C23-4535-AEB1-7CDB56DD4DD7}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/><one:Page ID="{BB3E5F0B-A0D6-4F32-A4C7-5AC37CC2D197}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-000.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0348BED6-592A-4257-850B-14DA521460E6}{1}{B0}" name="Body trailing 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{46C6AF5B-5467-47E5-90DA-A8DA1E087056}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{92799EAB-76BA-4867-B75E-763E74938AAA}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="160.1752014160156" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{92799EAB-76BA-4867-B75E-763E74938AAA}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body trailing &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-001.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{68AD4476-6FD6-4866-BAAB-1681C52DF4FC}{1}{B0}" name="Renamed 🦋 é" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:34.000Z" lastModifiedTime="2026-09-09T03:09:34.000Z" objectID="{4555A5C2-896D-4F16-ACD5-F6C3137B7183}{16}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Renamed &#129419; é]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{0E228E68-E150-438C-A995-69A3B01BC0BD}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="170.2942504882812" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{0E228E68-E150-438C-A995-69A3B01BC0BD}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body duplicate &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-002.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{7801DA35-0C23-4535-AEB1-7CDB56DD4DD7}{1}{B0}" name="Body automatic 🦀 é preserved" dateTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{CF7FA07D-A489-4AD4-AC73-A7E57583EEC4}{14}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="174.3547973632812" height="13.42771625518799"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{CF7FA07D-A489-4AD4-AC73-A7E57583EEC4}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body automatic &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-003.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8FFDD741-AFCB-0D46-0959-D48B3F24C62A}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{A019129A-009E-015F-2233-AC35134218A8}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-004.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AFF21672-A613-0A64-19C4-127FC496EE4F}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-005.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BB3E5F0B-A0D6-4F32-A4C7-5AC37CC2D197}{1}{B0}" name="Same title" dateTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:27.000Z" objectID="{B925C671-F470-45A7-96F8-90CC5239CF2A}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Same title]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{B925C671-F470-45A7-96F8-90CC5239CF2A}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="158.2952728271484" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:27.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{B925C671-F470-45A7-96F8-90CC5239CF2A}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body parent &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-006.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BB6EB65B-BC5A-4B6B-860C-BABB125A19B0}{1}{B0}" name="grandchild" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="3" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{2BBB9DE8-BD60-48C4-BA09-0A333BD27AF1}{32}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[grandchild]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{2BBB9DE8-BD60-48C4-BA09-0A333BD27AF1}{39}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="175.9715728759766" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:30.000Z" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{2BBB9DE8-BD60-48C4-BA09-0A333BD27AF1}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body grandchild &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-007.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C590AEB2-3F60-04D4-1D1A-D4AAD2B40D04}{1}{B0}" name="Untitled page" dateTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="17.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:19.000Z" lastModifiedTime="2026-09-09T03:09:19.000Z" objectID="{0BE5DFA9-03D5-0CB3-369D-8F9A48C781FB}{15}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/page-008.xml created+4
...@@ -0,0 +1,4 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E6B27498-2690-4534-9A2A-621738E84566}{1}{B0}" name="child" dateTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T06:38:05.000Z" pageLevel="2" lang="en-US"><one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title lang="en-US"><one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{6CE601EB-C4BD-419C-B26D-7D4583539CC2}{28}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-09T03:09:30.000Z" objectID="{6CE601EB-C4BD-419C-B26D-7D4583539CC2}{35}{B0}"><one:Position x="36.0" y="86.4000015258789" z="0"/><one:Size width="149.6102294921875" height="13.42771339416504"/><one:OEChildren><one:OE creationTime="2026-09-09T03:09:29.000Z" lastModifiedTime="2026-09-09T03:09:29.000Z" objectID="{6CE601EB-C4BD-419C-B26D-7D4583539CC2}{36}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold' lang=en-US>Body child &#129408; é</span><span
4lang=en-US> </span><span style='font-style:italic' lang=x-none>preserved</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/single-page/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/stress/candidate/movement.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/stress/candidate/movement.one differ
corpus/page-lifecycle/page-edits/stress/cold/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/stress/cold/notebook/Open Notebook.onetoc2 differ
corpus/page-lifecycle/page-edits/stress/cold/notebook/movement.one created
Binary files /dev/null and b/corpus/page-lifecycle/page-edits/stress/cold/notebook/movement.one differ
corpus/page-lifecycle/page-edits/stress/cold/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-40A088EC",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/page-lifecycle/page-edits/stress/cold/read/hierarchy.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Notebook xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" name="notebook" nickname="notebook" ID="{D322FB5E-1D61-4189-93EE-7E0AB4F8002F}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-09T06:44:35.000Z" color="#B49EDE"><one:Section name="movement" ID="{E9C7E704-C66E-0144-364E-95B272D68AF3}{1}{B0}" path="C:\one-tests\runs\capture\notebook\movement.one" lastModifiedTime="2026-09-09T06:44:35.000Z" color="#8AA8E4"><one:Page ID="{651B4683-48D9-0D97-27C7-D2F85B4E8F63}{1}{B0}" name="Original" dateTime="2026-09-09T06:39:25.000Z" lastModifiedTime="2026-09-09T06:44:35.000Z" pageLevel="1"/><one:Page ID="{83F7E375-3B9D-01C7-16E7-885AC0D5F9C5}{1}{B0}" name="Child" dateTime="2026-09-09T06:39:25.000Z" lastModifiedTime="2026-09-09T06:44:35.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/page-lifecycle/page-edits/stress/cold/read/page-000.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{651B4683-48D9-0D97-27C7-D2F85B4E8F63}{1}{B0}" name="Original" dateTime="2026-09-09T06:39:25.000Z" lastModifiedTime="2026-09-09T06:44:35.000Z" pageLevel="1" style="font-family:Calibri;font-size:11.0pt" lang="en-US"><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Outline author="Author" lastModifiedBy="Author" lastModifiedTime="2026-09-09T06:39:25.000Z" objectID="{E9C7E704-C66E-0144-364E-95B272D68AF3}{23}{B0}"><one:Position x="36.0" y="36.0" z="0"/><one:Size width="101.66748046875" height="13.4277172088623"/><one:Indents><one:Indent level="0" indent="0.0"/></one:Indents><one:OEChildren><one:OE creationTime="2026-09-09T06:39:25.000Z" lastModifiedTime="2026-09-09T06:39:25.000Z" objectID="{E9C7E704-C66E-0144-364E-95B272D68AF3}{24}{B0}" alignment="left"><one:T><![CDATA[Original]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/page-lifecycle/page-edits/stress/cold/read/page-001.xml created+2
...@@ -0,0 +1,2 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{83F7E375-3B9D-01C7-16E7-885AC0D5F9C5}{1}{B0}" name="Child" dateTime="2026-09-09T06:39:25.000Z" lastModifiedTime="2026-09-09T06:44:35.000Z" pageLevel="1"><one:QuickStyleDef index="0" name="PageTitle" font="Calibri" fontSize="17.0"/><one:PageSettings RTL="false" color="automatic"><one:PageSize><one:Automatic/></one:PageSize><one:RuleLines visible="false"/></one:PageSettings><one:Title showDate="false" showTime="false" lang="en-US"><one:OE author="Author" lastModifiedBy="Author" creationTime="2026-09-09T06:39:25.000Z" lastModifiedTime="2026-09-09T06:39:25.000Z" objectID="{83F7E375-3B9D-01C7-16E7-885AC0D5F9C5}{15}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Child]]></one:T></one:OE></one:Title></one:Page>
corpus/page-lifecycle/page-edits/stress/cold/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../01-demoted-parent/cold/read/payloads.json
\ No newline at end of file
corpus/page-lifecycle/page-edits/stress/provenance.json created+20
...@@ -0,0 +1,20 @@
1{
2 "generator": "crates/onestore/tests/page_movement.rs::repeated_nesting_retains_series_history_across_revision_checkpoints",
3 "edits": 520,
4 "capture": "evidence/m10/page-edit-stress-cold-01",
5 "machine": {
6 "name": "m6-40a088ec",
7 "hostname": "ONE-M6-40A088EC"
8 },
9 "teardown": {
10 "absent": true
11 },
12 "source": [
13 {
14 "path": "movement.one",
15 "bytes": 2635536,
16 "sha256": "77dbec39ca25558b596b477d57117416f23ee133519f5179d7ebf1a33b38c248",
17 "mtime_ns": 1788936082839470214
18 }
19 ]
20}
crates/onestore/README.md+10
...@@ -46,6 +46,7 @@ harness also accepts `--client-profile release`....@@ -46,6 +46,7 @@ harness also accepts `--client-profile release`.
46| `protected::UnlockedSection` (optional feature) | Own decoded buffers for explicit known-password inspection; clear those buffers on drop; derived document strings/exports remain caller-owned |46| `protected::UnlockedSection` (optional feature) | Own decoded buffers for explicit known-password inspection; clear those buffers on drop; derived document strings/exports remain caller-owned |
47| `create_section` | Create one page containing one plain-text paragraph and an author, including Unicode |47| `create_section` | Create one page containing one plain-text paragraph and an author, including Unicode |
48| `PageCreation`, `PreparedEdit::create_page` | Add an empty top-level page and its section entry atomically, retaining page identities across retries |48| `PageCreation`, `PreparedEdit::create_page` | Add an empty top-level page and its section entry atomically, retaining page identities across retries |
49| `PageEdit`, `PreparedEdit::pages` | Publish explicitly selected page moves and indentation changes together, preserving page content and historical revisions |
49| `create_table_of_contents` | Create ordered section entries from filenames and file identities |50| `create_table_of_contents` | Create ordered section entries from filenames and file identities |
50| `replace_property_bytes` | Append one scalar-property revision; preserve prior revisions and unrelated property values and references |51| `replace_property_bytes` | Append one scalar-property revision; preserve prior revisions and unrelated property values and references |
51| `replace_text`, `commit_text`, `commit_file_text` | Replace a UTF-16 range across ordinary text runs; publish text, run boundaries and modification time together |52| `replace_text`, `commit_text`, `commit_file_text` | Replace a UTF-16 range across ordinary text runs; publish text, run boundaries and modification time together |
...@@ -81,6 +82,15 @@ Retain the intent to preserve its page, title and space identities; existing...@@ -81,6 +82,15 @@ Retain the intent to preserve its page, title and space identities; existing
81identities require reconciliation before retry. Body insertion and title edits82identities require reconciliation before retry. Body insertion and title edits
82use those identities through the existing APIs. [Native page-creation fixtures](../../corpus/page-lifecycle/creation/README.md)83use those identities through the existing APIs. [Native page-creation fixtures](../../corpus/page-lifecycle/creation/README.md)
83cover duplicate Unicode titles, native edits and Rust follow-up edits.84cover duplicate Unicode titles, native edits and Rust follow-up edits.
85`PageEdit::set_level` changes one page's indentation in place. `PageEdit::move_to`
86moves before an existing page space, or appends for `None`, and sets its level.
87`PreparedEdit::pages` applies moves in slice order and publishes the final order,
88series membership and metadata levels in one transaction. Each page occurs once;
89levels are 1–3 and the final first page must have level 1. A following deeper-level
90page remains in place unless explicitly selected. To move a group, supply all its
91pages in order. Retain the intents across retries so newly formed series keep
92their identities. [Native page-edit fixtures](../../corpus/page-lifecycle/page-edits/README.md)
93cover individual tabs, selected and collapsed groups, nesting and promotion.
84Insertions update child references, reference counts, modification times and automatic94Insertions update child references, reference counts, modification times and automatic
85titles atomically. Paragraphs can be nested or inserted into table cells; outline95titles atomically. Paragraphs can be nested or inserted into table cells; outline
86coordinates use points. `Insertion::with_formatting` includes nonoverlapping UTF-1696coordinates use points. `Insertion::with_formatting` includes nonoverlapping UTF-16
crates/onestore/src/commit.rs+9
...@@ -183,6 +183,15 @@ pub struct PreparedEdit<'a> {...@@ -183,6 +183,15 @@ pub struct PreparedEdit<'a> {
183}183}
184184
185impl<'a> PreparedEdit<'a> {185impl<'a> PreparedEdit<'a> {
186 /// Applies page moves in slice order and publishes final order and indentation atomically.
187 /// Each page occurs once; all pages to move must be explicit, including selected subpages.
188 pub fn pages(source: &'a [u8], edits: &[crate::PageEdit]) -> Result<Self, crate::Error> {
189 Ok(Self {
190 source,
191 written: crate::PageEdit::apply(source, edits)?,
192 })
193 }
194
186 /// Creates a page and its section entry in one transaction, retaining the intent's identities.195 /// Creates a page and its section entry in one transaction, retaining the intent's identities.
187 pub fn create_page(source: &'a [u8], page: &crate::PageCreation) -> Result<Self, crate::Error> {196 pub fn create_page(source: &'a [u8], page: &crate::PageCreation) -> Result<Self, crate::Error> {
188 Ok(Self {197 Ok(Self {
crates/onestore/src/lib.rs+1-1
...@@ -36,7 +36,7 @@ pub use formatting::TextAttribute;...@@ -36,7 +36,7 @@ pub use formatting::TextAttribute;
36pub use insertion::Insertion;36pub use insertion::Insertion;
37pub use objects::{Object, ObjectData, ObjectReferences, ResolvedRevision};37pub use objects::{Object, ObjectData, ObjectReferences, ResolvedRevision};
38pub use outline::OutlineEdit;38pub use outline::OutlineEdit;
39pub use page::PageCreation;39pub use page::{PageCreation, PageEdit};
40pub use paragraph::{ParagraphJoin, ParagraphSplit};40pub use paragraph::{ParagraphJoin, ParagraphSplit};
41pub use properties::{IdStream, Property, PropertySets, Value};41pub use properties::{IdStream, Property, PropertySets, Value};
42pub use revisions::{ExGuid, ObjectSpace, Revision, RevisionIndex};42pub use revisions::{ExGuid, ObjectSpace, Revision, RevisionIndex};
crates/onestore/src/page.rs+548-9
...@@ -1,16 +1,336 @@...@@ -1,16 +1,336 @@
1use crate::{1use crate::{
2 Error, ExGuid,2 Error, ExGuid,
3 create::{current_timestamps, properties, string},3 create::{current_timestamps, properties, string},
4 document::{Document, Kind},4 document::{Document, FieldValue, Kind},
5 write::{PropertyObject, RevisionEdit, fresh_guid, write_revisions},5 write::{PropertyObject, RevisionEdit, fresh_guid, write_revisions},
6};6};
7use serde::{Deserialize, Serialize};7use serde::{Deserialize, Serialize};
8use std::{collections::BTreeMap, sync::Arc};8use std::{
9 collections::{BTreeMap, BTreeSet},
10 sync::Arc,
11};
912
10fn invalid(message: &'static str) -> Error {13fn invalid(message: &'static str) -> Error {
11 Error { offset: 0, message }14 Error { offset: 0, message }
12}15}
1316
17fn metadata_id(space: ExGuid) -> ExGuid {
18 let mut id = ExGuid {
19 guid: space.guid,
20 n: 1,
21 };
22 for (byte, salt) in id.guid.iter_mut().zip([
23 0x31, 0xc0, 0xa8, 0x22, 0, 0x36, 0xee, 0x42, 0xb7, 0x14, 0xd7, 0xac, 0xda, 0x24, 0x35, 0xe8,
24 ]) {
25 *byte ^= salt;
26 }
27 id
28}
29
30fn metadata_guid(metadata: &crate::document::Element<'_>) -> Result<[u8; 16], Error> {
31 metadata.extra[0]
32 .iter()
33 .find_map(|field| match field.value {
34 FieldValue::Bytes(bytes) if field.id == 0x1c001c30 => bytes.try_into().ok(),
35 _ => None,
36 })
37 .ok_or_else(|| invalid("Page metadata needs its page identifier"))
38}
39
40fn set_references(object: &mut PropertyObject, property: u32, ids: &[ExGuid]) -> Result<(), Error> {
41 let mut references = Vec::new();
42 for id in ids {
43 references.extend_from_slice(&object.reference(*id)?);
44 }
45 let source = PropertyObject {
46 jcid: object.jcid,
47 bytes: properties(&[(property, references)])?,
48 global_ids: Arc::clone(&object.global_ids),
49 };
50 object.copy_property(&source, property)
51}
52
53#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
54#[serde(deny_unknown_fields)]
55enum Position {
56 Keep,
57 Before(Option<ExGuid>),
58}
59
60/// A page's explicit position and indentation, with a stable identity for a new series.
61/// Moving a page does not implicitly select its following subpages.
62#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
63#[serde(deny_unknown_fields)]
64pub struct PageEdit {
65 guid: [u8; 16],
66 space: ExGuid,
67 level: u32,
68 position: Position,
69}
70
71impl PageEdit {
72 /// Changes one page's indentation without changing its position.
73 pub fn set_level(space: ExGuid, level: u32) -> Result<Self, Error> {
74 Self::new(space, level, Position::Keep)
75 }
76
77 /// Moves before an existing page space, or appends when `before` is None.
78 pub fn move_to(space: ExGuid, before: Option<ExGuid>, level: u32) -> Result<Self, Error> {
79 Self::new(space, level, Position::Before(before))
80 }
81
82 pub fn space(&self) -> ExGuid {
83 self.space
84 }
85
86 fn new(space: ExGuid, level: u32, position: Position) -> Result<Self, Error> {
87 let edit = Self {
88 guid: fresh_guid()?,
89 space,
90 level,
91 position,
92 };
93 edit.validate()?;
94 Ok(edit)
95 }
96
97 fn validate(&self) -> Result<(), Error> {
98 if self.guid == [0; 16] || self.space.guid == [0; 16] || !(1..=3).contains(&self.level) {
99 return Err(invalid(
100 "Choose an existing page space and indentation level 1 through 3",
101 ));
102 }
103 if let Position::Before(Some(before)) = self.position
104 && (before.guid == [0; 16] || before == self.space)
105 {
106 return Err(invalid("Choose a different page as the movement anchor"));
107 }
108 Ok(())
109 }
110
111 pub(crate) fn apply(source: &[u8], edits: &[Self]) -> Result<Vec<u8>, Error> {
112 let mut selected = BTreeMap::new();
113 let mut guids = BTreeSet::new();
114 for edit in edits {
115 edit.validate()?;
116 if selected.insert(edit.space, edit).is_some() || !guids.insert(edit.guid) {
117 return Err(invalid(
118 "Use distinct page and edit identities within a batch",
119 ));
120 }
121 }
122 write_revisions(source, |index| {
123 let document = Document::parse(index)?;
124 let pages = document.pages()?;
125 let section = &document.spaces[&document.root];
126 let view = &section.revisions[&section.contexts[&ExGuid::default()]];
127 let section_id = view.roots[&1];
128 let section_node = &view.nodes[&section_id];
129 if !matches!(section_node.kind, Kind::Section { .. })
130 || section_node.extra[0]
131 .iter()
132 .any(|field| field.id == 0x88001cde)
133 {
134 return Err(invalid("Choose an editable section for page movement"));
135 }
136 let mut order = Vec::new();
137 let mut levels = BTreeMap::new();
138 let mut page_guids = BTreeMap::new();
139 for (sid, _) in &pages {
140 let page = &document.spaces[sid];
141 let page = &page.revisions[&page.contexts[&ExGuid::default()]];
142 let Some(metadata) = page.roots.get(&2).and_then(|id| page.nodes.get(id)) else {
143 return Err(invalid("Page metadata is unavailable"));
144 };
145 let Kind::Metadata { level, .. } = metadata.kind else {
146 return Err(invalid("Choose ordinary pages with page metadata"));
147 };
148 let level = level.unwrap_or(1);
149 if !(1..=3).contains(&level) || levels.insert(*sid, level).is_some() {
150 return Err(invalid(
151 "Each page space must contain one page with a valid level",
152 ));
153 }
154 if page_guids.insert(metadata_guid(metadata)?, *sid).is_some() {
155 return Err(invalid("Pages must have distinct metadata identifiers"));
156 }
157 order.push(*sid);
158 }
159 let original_order = order.clone();
160 let original_levels = levels.clone();
161 let mut series_by_head = BTreeMap::new();
162 let mut copies = BTreeMap::new();
163 let mut copy_ids = BTreeSet::new();
164 for oid in &section_node.children {
165 let series = &view.nodes[oid];
166 let Some(head) = series.spaces.first() else {
167 return Err(invalid("A page series must contain at least one page"));
168 };
169 if levels.get(head) != Some(&1)
170 || series.spaces[1..]
171 .iter()
172 .any(|sid| levels.get(sid).is_none_or(|level| *level == 1))
173 {
174 return Err(invalid(
175 "A page series must start with its only top-level page",
176 ));
177 }
178 series_by_head.insert(*head, *oid);
179 if let Some(field) = series.extra[0].iter().find(|field| field.id == 0x24003442) {
180 let FieldValue::Objects(ids) = &field.value else {
181 return Err(invalid("Page metadata copies must be object references"));
182 };
183 if ids.len() != series.spaces.len() {
184 return Err(invalid("Page metadata copies must match their series"));
185 }
186 for id in ids {
187 if !copy_ids.insert(*id)
188 || !matches!(
189 view.nodes.get(id).map(|n| &n.kind),
190 Some(Kind::Metadata { .. })
191 )
192 {
193 return Err(invalid("Each page needs its own ordinary metadata copy"));
194 }
195 let sid = page_guids
196 .get(&metadata_guid(&view.nodes[id])?)
197 .filter(|sid| series.spaces.contains(sid))
198 .ok_or_else(|| {
199 invalid("Metadata copy must identify a page in its series")
200 })?;
201 if copies.insert(*sid, *id).is_some() {
202 return Err(invalid("Each page needs its own ordinary metadata copy"));
203 }
204 }
205 }
206 }
207 for edit in edits {
208 let Some(at) = order.iter().position(|sid| *sid == edit.space) else {
209 return Err(invalid("The selected page is no longer in the section"));
210 };
211 levels.insert(edit.space, edit.level);
212 if let Position::Before(before) = edit.position {
213 order.remove(at);
214 let position = match before {
215 None => order.len(),
216 Some(before) => {
217 order.iter().position(|sid| *sid == before).ok_or_else(|| {
218 invalid("The movement anchor is no longer in the section")
219 })?
220 }
221 };
222 order.insert(position, edit.space);
223 }
224 }
225 if order.first().is_some_and(|sid| levels[sid] != 1) {
226 return Err(invalid(
227 "The section's first page must have indentation level 1",
228 ));
229 }
230 if order == original_order && levels == original_levels {
231 return Ok(BTreeMap::new());
232 }
233 let raw = index.resolve(document.root, section.contexts[&ExGuid::default()])?;
234 let mut groups: Vec<Vec<ExGuid>> = Vec::new();
235 for sid in order {
236 if levels[&sid] == 1 {
237 groups.push(Vec::new());
238 }
239 groups.last_mut().unwrap().push(sid);
240 }
241 let mut changes = BTreeMap::new();
242 let mut replacements = BTreeMap::new();
243 let mut children = Vec::new();
244 for spaces in groups {
245 let head = spaces[0];
246 let old_id = series_by_head.get(&head).copied();
247 let (id, mut series) = if let Some(id) = old_id {
248 (id, PropertyObject::from_object(&raw.objects[&id])?)
249 } else {
250 let edit = selected
251 .get(&head)
252 .ok_or_else(|| invalid("A new series must start at an edited page"))?;
253 let id = ExGuid {
254 guid: edit.guid,
255 n: 1,
256 };
257 if raw.objects.contains_key(&id) {
258 return Err(invalid("The new page-series identity already exists"));
259 }
260 (
261 id,
262 PropertyObject {
263 jcid: 0x60008,
264 bytes: properties(&[(0x1c001c30, edit.guid.to_vec())])?,
265 global_ids: Arc::new(BTreeMap::from([(0, edit.guid)])),
266 },
267 )
268 };
269 children.push(id);
270 let membership_changed = old_id.is_none_or(|old| view.nodes[&old].spaces != spaces);
271 if !membership_changed
272 && !spaces.iter().any(|sid| levels[sid] != original_levels[sid])
273 {
274 continue;
275 }
276 let mut metadata_ids = Vec::new();
277 for sid in &spaces {
278 let page =
279 index.resolve(*sid, index.spaces[sid].labels[&(ExGuid::default(), 1)])?;
280 let page_id = page.roots[&2];
281 let original = PropertyObject::from_object(&page.objects[&page_id])?;
282 if old_id.is_none() && *sid == head {
283 series.copy_property(&original, 0x18001c65)?;
284 }
285 if levels[sid] != original_levels[sid] {
286 let mut metadata = PropertyObject::from_object(&page.objects[&page_id])?;
287 metadata.set(&[(0x14001dff, &levels[sid].to_le_bytes())])?;
288 changes.insert(
289 *sid,
290 RevisionEdit::Update(BTreeMap::from([(page_id, metadata)])),
291 );
292 }
293 let copy_id = copies
294 .get(sid)
295 .copied()
296 .unwrap_or_else(|| metadata_id(*sid));
297 let mut copy = match raw.objects.get(&copy_id) {
298 Some(object) => {
299 if object.jcid != 0x20030
300 || (!copies.contains_key(sid) && copy_ids.contains(&copy_id))
301 {
302 return Err(invalid("Page metadata identities overlap"));
303 }
304 PropertyObject::from_object(object)?
305 }
306 None => original,
307 };
308 copy.set(&[(0x14001dff, &levels[sid].to_le_bytes())])?;
309 copy.reference(copy_id)?;
310 if replacements.insert(copy_id, copy).is_some() {
311 return Err(invalid("Page metadata identities overlap"));
312 }
313 metadata_ids.push(copy_id);
314 }
315 if membership_changed || spaces.iter().any(|sid| !copies.contains_key(sid)) {
316 set_references(&mut series, 0x2c001d63, &spaces)?;
317 set_references(&mut series, 0x24003442, &metadata_ids)?;
318 if replacements.insert(id, series).is_some() {
319 return Err(invalid("Page-series and metadata identities overlap"));
320 }
321 }
322 }
323 if children != section_node.children {
324 let mut parent = PropertyObject::from_object(&raw.objects[&section_id])?;
325 set_references(&mut parent, 0x24001c20, &children)?;
326 replacements.insert(section_id, parent);
327 }
328 changes.insert(document.root, RevisionEdit::Update(replacements));
329 Ok(changes)
330 })
331 }
332}
333
14/// An empty top-level page with stable identities and creation time.334/// An empty top-level page with stable identities and creation time.
15/// Retain the intent across retries; an existing page identity rejects duplicate creation.335/// Retain the intent across retries; an existing page identity rejects duplicate creation.
16#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]336#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
...@@ -127,13 +447,7 @@ impl PageCreation {...@@ -127,13 +447,7 @@ impl PageCreation {
127 .to_vec();447 .to_vec();
128 let modified = || (0x14001d7a, self.created.to_le_bytes().to_vec());448 let modified = || (0x14001d7a, self.created.to_le_bytes().to_vec());
129 let mut table = BTreeMap::from([(0, self.guid)]);449 let mut table = BTreeMap::from([(0, self.guid)]);
130 let mut metadata_id = id(1);450 let metadata_id = metadata_id(self.space());
131 for (byte, salt) in metadata_id.guid.iter_mut().zip([
132 0x31, 0xc0, 0xa8, 0x22, 0, 0x36, 0xee, 0x42, 0xb7, 0x14, 0xd7, 0xac, 0xda, 0x24,
133 0x35, 0xe8,
134 ]) {
135 *byte ^= salt;
136 }
137 table.insert(1, metadata_id.guid);451 table.insert(1, metadata_id.guid);
138 let table = Arc::new(table);452 let table = Arc::new(table);
139 let object = |jcid, values: Vec<_>| -> Result<_, Error> {453 let object = |jcid, values: Vec<_>| -> Result<_, Error> {
...@@ -266,3 +580,228 @@ impl PageCreation {...@@ -266,3 +580,228 @@ impl PageCreation {
266 })580 })
267 }581 }
268}582}
583
584#[cfg(test)]
585mod tests {
586 use super::*;
587 use crate::{RevisionIndex, Store};
588
589 #[test]
590 fn page_movement_restores_an_optional_metadata_cache_from_history() {
591 let source =
592 include_bytes!("../../../corpus/page-lifecycle/04-nested/notebook/Lifecycle.one");
593 let store = Store::parse(source).unwrap();
594 let index = RevisionIndex::parse(&store).unwrap();
595 let document = Document::parse(&index).unwrap();
596 let sid = document.pages().unwrap()[3].0;
597 let section = &document.spaces[&document.root];
598 let view = &section.revisions[&section.contexts[&ExGuid::default()]];
599 let series_id = view.nodes[&view.roots[&1]].children[3];
600 let copy_id = metadata_id(sid);
601 for unknown in [false, true] {
602 let source = if unknown {
603 write_revisions(source, |index| {
604 let raw = index.resolve(
605 index.root,
606 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
607 )?;
608 let mut copy = PropertyObject::from_object(&raw.objects[&copy_id])?;
609 copy.set(&[(0x1400abcd, &77_u32.to_le_bytes())])?;
610 Ok(BTreeMap::from([(
611 index.root,
612 RevisionEdit::Update(BTreeMap::from([(copy_id, copy)])),
613 )]))
614 })
615 .unwrap()
616 } else {
617 source.to_vec()
618 };
619 let source = write_revisions(&source, |index| {
620 let raw = index.resolve(
621 index.root,
622 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
623 )?;
624 let mut series = PropertyObject::from_object(&raw.objects[&series_id])?;
625 series.remove(&[0x24003442])?;
626 Ok(BTreeMap::from([(
627 index.root,
628 RevisionEdit::Update(BTreeMap::from([(series_id, series)])),
629 )]))
630 })
631 .unwrap();
632 for changed in [false, true] {
633 for unrelated_edit in [false, true] {
634 let result = write_revisions(&source, |index| {
635 let raw = index.resolve(
636 index.root,
637 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
638 )?;
639 assert!(!raw.reachable()?.contains(&copy_id));
640 let mut copy = PropertyObject::from_object(&raw.objects[&copy_id])?;
641 if changed {
642 copy.set(&[(0x14001dff, &2_u32.to_le_bytes())])?;
643 }
644 let mut objects = BTreeMap::from([(copy_id, copy)]);
645 if unrelated_edit {
646 let mut series = PropertyObject::from_object(&raw.objects[&series_id])?;
647 series.set(&[(0x1400abcd, &88_u32.to_le_bytes())])?;
648 objects.insert(series_id, series);
649 }
650 Ok(BTreeMap::from([(
651 index.root,
652 RevisionEdit::Update(objects),
653 )]))
654 });
655 assert_eq!(
656 result.unwrap_err().message,
657 "Edited object is not reachable in the resulting revision"
658 );
659 }
660 }
661 let written =
662 PageEdit::apply(&source, &[PageEdit::set_level(sid, 2).unwrap()]).unwrap();
663 let store = Store::parse(&written).unwrap();
664 let index = RevisionIndex::parse(&store).unwrap();
665 index.validate_current().unwrap();
666 assert_eq!(Document::parse(&index).unwrap().pages().unwrap().len(), 9);
667 let current = index
668 .resolve(
669 index.root,
670 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
671 )
672 .unwrap();
673 assert!(current.reachable().unwrap().contains(&copy_id));
674 let copy = PropertyObject::from_object(&current.objects[&copy_id]).unwrap();
675 let properties = crate::PropertySets::parse(&copy.bytes).unwrap();
676 assert_eq!(unknown, properties.sets[0].iter().any(|field| field.id == 0x1400abcd
677 && matches!(field.value, crate::Value::Bytes(bytes) if bytes == 77_u32.to_le_bytes())));
678 let old_store = Store::parse(&source).unwrap();
679 let old_index = RevisionIndex::parse(&old_store).unwrap();
680 for (space, revisions) in &old_index.spaces {
681 for revision in revisions.revisions.keys() {
682 assert_eq!(
683 format!("{:?}", old_index.resolve(*space, *revision).unwrap()),
684 format!("{:?}", index.resolve(*space, *revision).unwrap())
685 );
686 }
687 }
688 if !unknown && let Some(output) = std::env::var_os("ONESTORE_PAGE_MOVEMENT_OUTPUT") {
689 let output = std::path::Path::new(&output);
690 assert!(output.is_absolute());
691 for (name, bytes) in [
692 ("optional-cache-source", source),
693 ("optional-cache", written),
694 ] {
695 let path = output.join(name);
696 std::fs::create_dir_all(&path).unwrap();
697 std::fs::write(path.join("Lifecycle.one"), bytes).unwrap();
698 }
699 }
700 }
701 }
702
703 #[test]
704 fn page_movement_rejects_empty_manifests_and_series() {
705 let source =
706 include_bytes!("../../../corpus/page-lifecycle/04-nested/notebook/Lifecycle.one");
707 let store = Store::parse(source).unwrap();
708 let index = RevisionIndex::parse(&store).unwrap();
709 let document = Document::parse(&index).unwrap();
710 let sid = document.pages().unwrap()[3].0;
711 for empty_series in [false, true] {
712 let invalid_source = write_revisions(source, |index| {
713 let target = if empty_series { index.root } else { sid };
714 let raw = index.resolve(
715 target,
716 index.spaces[&target].labels[&(ExGuid::default(), 1)],
717 )?;
718 let id = if empty_series {
719 let space = &document.spaces[&document.root];
720 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
721 view.nodes[&view.roots[&1]].children[3]
722 } else {
723 raw.roots[&1]
724 };
725 let mut object = PropertyObject::from_object(&raw.objects[&id])?;
726 set_references(
727 &mut object,
728 if empty_series { 0x2c001d63 } else { 0x24001c1f },
729 &[],
730 )?;
731 Ok(BTreeMap::from([(
732 target,
733 RevisionEdit::Update(BTreeMap::from([(id, object)])),
734 )]))
735 })
736 .unwrap();
737 assert!(
738 PageEdit::apply(&invalid_source, &[PageEdit::set_level(sid, 2).unwrap()]).is_err()
739 );
740 }
741 }
742
743 #[test]
744 fn page_moves_retain_unknown_series_and_metadata_properties() {
745 let source =
746 include_bytes!("../../../corpus/page-lifecycle/04-nested/notebook/Lifecycle.one");
747 let store = Store::parse(source).unwrap();
748 let index = RevisionIndex::parse(&store).unwrap();
749 let document = Document::parse(&index).unwrap();
750 let pages = document.pages().unwrap();
751 let section = &document.spaces[&document.root];
752 let view = &section.revisions[&section.contexts[&ExGuid::default()]];
753 let series_id = view.nodes[&view.roots[&1]].children[3];
754 let field = view.nodes[&series_id].extra[0]
755 .iter()
756 .find(|f| f.id == 0x24003442)
757 .unwrap();
758 let FieldValue::Objects(copies) = &field.value else {
759 panic!()
760 };
761 let copy_id = copies[0];
762 let source = write_revisions(source, |index| {
763 let raw = index.resolve(
764 index.root,
765 index.spaces[&index.root].labels[&(ExGuid::default(), 1)],
766 )?;
767 let mut objects = BTreeMap::new();
768 for id in [series_id, copy_id] {
769 let mut object = PropertyObject::from_object(&raw.objects[&id])?;
770 object.set(&[(0x1400abcd, &77_u32.to_le_bytes())])?;
771 objects.insert(id, object);
772 }
773 Ok(BTreeMap::from([(
774 index.root,
775 RevisionEdit::Update(objects),
776 )]))
777 })
778 .unwrap();
779 for edits in [
780 vec![PageEdit::set_level(pages[3].0, 2).unwrap()],
781 pages[3..6]
782 .iter()
783 .enumerate()
784 .map(|(i, (sid, _))| PageEdit::move_to(*sid, None, i as u32 + 1).unwrap())
785 .collect(),
786 ] {
787 let written = PageEdit::apply(&source, &edits).unwrap();
788 let old_store = Store::parse(&source).unwrap();
789 let new_store = Store::parse(&written).unwrap();
790 let old = RevisionIndex::parse(&old_store).unwrap();
791 let new = RevisionIndex::parse(&new_store).unwrap();
792 let old_id = old.spaces[&old.root].labels[&(ExGuid::default(), 1)];
793 let new_id = new.spaces[&new.root].labels[&(ExGuid::default(), 1)];
794 assert_eq!(
795 format!("{:?}", old.resolve(old.root, old_id).unwrap()),
796 format!("{:?}", new.resolve(new.root, old_id).unwrap())
797 );
798 let current = new.resolve(new.root, new_id).unwrap();
799 for id in [series_id, copy_id] {
800 let object = PropertyObject::from_object(&current.objects[&id]).unwrap();
801 let properties = crate::PropertySets::parse(&object.bytes).unwrap();
802 assert!(properties.sets[0].iter().any(|field| field.id == 0x1400abcd
803 && matches!(field.value, crate::Value::Bytes(bytes) if bytes == 77_u32.to_le_bytes())));
804 }
805 }
806 }
807}
crates/onestore/src/write.rs+6-10
...@@ -720,12 +720,6 @@ pub(crate) fn write_revisions(...@@ -720,12 +720,6 @@ pub(crate) fn write_revisions(
720 };720 };
721 for (id, replacement) in &replacements {721 for (id, replacement) in &replacements {
722 if let Some(object) = revision.objects.get(id) {722 if let Some(object) = revision.objects.get(id) {
723 if !reachable.contains(id) {
724 return Err(Error {
725 offset: 0,
726 message: "Object is not reachable in the active revision",
727 });
728 }
729 if object.jcid & 0x100000 != 0 {723 if object.jcid & 0x100000 != 0 {
730 return Err(Error {724 return Err(Error {
731 offset: 0,725 offset: 0,
...@@ -813,10 +807,12 @@ pub(crate) fn write_revisions(...@@ -813,10 +807,12 @@ pub(crate) fn write_revisions(
813 }807 }
814 }808 }
815 replacements.retain(|id, replacement| {809 replacements.retain(|id, replacement| {
816 !revision.objects.get(id).is_some_and(|object| {810 // Detached objects must pass the final reachability check even when unchanged.
817 object.data == ObjectData::Properties(&replacement.bytes)811 !reachable.contains(id)
818 && object.global_ids == replacement.global_ids812 || !revision.objects.get(id).is_some_and(|object| {
819 })813 object.data == ObjectData::Properties(&replacement.bytes)
814 && object.global_ids == replacement.global_ids
815 })
820 });816 });
821 if replacements.is_empty() {817 if replacements.is_empty() {
822 continue;818 continue;
crates/onestore/tests/page_movement.rs created+476
...@@ -0,0 +1,476 @@
1use onestore::{
2 ExGuid, PageEdit, PreparedEdit, RevisionIndex, Store,
3 document::{Document, Kind},
4};
5
6#[path = "support/current.rs"]
7mod current;
8#[path = "support/disk.rs"]
9mod disk;
10
11const SOURCE: &[u8] =
12 include_bytes!("../../../corpus/page-lifecycle/04-nested/notebook/Lifecycle.one");
13
14fn pages(source: &[u8]) -> Vec<ExGuid> {
15 let store = Store::parse(source).unwrap();
16 let index = RevisionIndex::parse(&store).unwrap();
17 Document::parse(&index)
18 .unwrap()
19 .pages()
20 .unwrap()
21 .into_iter()
22 .map(|(sid, _)| sid)
23 .collect()
24}
25
26fn export(name: &str, bytes: &[u8]) {
27 if let Some(output) = std::env::var_os("ONESTORE_PAGE_MOVEMENT_OUTPUT") {
28 assert!(
29 std::path::Path::new(&output).is_absolute(),
30 "Use an absolute fixture output directory"
31 );
32 let path = std::path::Path::new(&output).join(name);
33 std::fs::create_dir_all(&path).unwrap();
34 std::fs::write(path.join("Lifecycle.one"), bytes).unwrap();
35 }
36}
37
38fn verify(before: &[u8], after: &[u8], native: &[u8]) {
39 let stores = [before, after, native].map(|bytes| Store::parse(bytes).unwrap());
40 let indexes = stores
41 .each_ref()
42 .map(|store| RevisionIndex::parse(store).unwrap());
43 indexes[1].validate_current().unwrap();
44 let documents = indexes
45 .each_ref()
46 .map(|index| Document::parse(index).unwrap());
47 let expected = documents[2].pages().unwrap();
48 assert_eq!(documents[1].pages().unwrap(), expected);
49 for (sid, _) in &expected {
50 let levels = [&documents[1], &documents[2]].map(|document| {
51 let space = &document.spaces[sid];
52 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
53 let Kind::Metadata { level, .. } = view.nodes[&view.roots[&2]].kind else {
54 panic!()
55 };
56 level
57 });
58 assert_eq!(levels[0], levels[1]);
59 }
60 let groups = [&documents[1], &documents[2]].map(|document| {
61 let space = &document.spaces[&document.root];
62 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
63 view.nodes[&view.roots[&1]]
64 .children
65 .iter()
66 .map(|id| view.nodes[id].spaces.clone())
67 .collect::<Vec<_>>()
68 });
69 assert_eq!(groups[0], groups[1]);
70 assert_eq!(
71 stores[1].header.transaction_count,
72 stores[0].header.transaction_count + 1
73 );
74 for (sid, space) in &indexes[0].spaces {
75 for rid in space.revisions.keys() {
76 assert_eq!(
77 format!("{:?}", indexes[0].resolve(*sid, *rid).unwrap()),
78 format!("{:?}", indexes[1].resolve(*sid, *rid).unwrap())
79 );
80 }
81 if *sid != indexes[0].root {
82 let old = indexes[0]
83 .resolve(*sid, space.labels[&(ExGuid::default(), 1)])
84 .unwrap();
85 let new = indexes[1]
86 .resolve(*sid, indexes[1].spaces[sid].labels[&(ExGuid::default(), 1)])
87 .unwrap();
88 assert_eq!(old.roots, new.roots);
89 assert_eq!(
90 old.objects.keys().collect::<Vec<_>>(),
91 new.objects.keys().collect::<Vec<_>>()
92 );
93 for (id, object) in &old.objects {
94 if *id != old.roots[&2] {
95 assert_eq!(format!("{object:?}"), format!("{:?}", new.objects[id]));
96 }
97 }
98 }
99 }
100 let mut previous = after.to_vec();
101 previous[96..100].copy_from_slice(&before[96..100]);
102 assert_eq!(current::current(&previous), current::current(before));
103}
104
105#[test]
106fn explicit_page_edits_match_native_selection_and_indentation() {
107 let ids = pages(SOURCE);
108 let level = |i, n| PageEdit::set_level(ids[i], n).unwrap();
109 let move_to =
110 |i, before: Option<usize>, n| PageEdit::move_to(ids[i], before.map(|i| ids[i]), n).unwrap();
111 let cases: [(&str, Vec<PageEdit>, &[u8]); 8] = [
112 (
113 "01-demoted-parent",
114 vec![level(3, 2)],
115 include_bytes!(
116 "../../../corpus/page-lifecycle/movement/01-demoted-parent/notebook/Lifecycle.one"
117 ),
118 ),
119 (
120 "02-promoted-parent",
121 vec![level(3, 1)],
122 include_bytes!(
123 "../../../corpus/page-lifecycle/movement/02-promoted-parent/notebook/Lifecycle.one"
124 ),
125 ),
126 (
127 "03-selected-group-move",
128 vec![
129 move_to(3, None, 1),
130 move_to(4, None, 2),
131 move_to(5, None, 3),
132 ],
133 include_bytes!(
134 "../../../corpus/page-lifecycle/movement/03-selected-group-move/notebook/Lifecycle.one"
135 ),
136 ),
137 (
138 "04-subpage-move",
139 vec![move_to(4, Some(6), 1)],
140 include_bytes!(
141 "../../../corpus/page-lifecycle/movement/04-subpage-move/notebook/Lifecycle.one"
142 ),
143 ),
144 (
145 "05-insert-before-subpage",
146 vec![move_to(4, Some(5), 3)],
147 include_bytes!(
148 "../../../corpus/page-lifecycle/movement/05-insert-before-subpage/notebook/Lifecycle.one"
149 ),
150 ),
151 (
152 "06-promoted-level-two",
153 vec![level(4, 2)],
154 include_bytes!(
155 "../../../corpus/page-lifecycle/movement/06-promoted-level-two/notebook/Lifecycle.one"
156 ),
157 ),
158 (
159 "07-promoted-root",
160 vec![level(4, 1)],
161 include_bytes!(
162 "../../../corpus/page-lifecycle/movement/07-promoted-root/notebook/Lifecycle.one"
163 ),
164 ),
165 (
166 "08-collapsed-group-move",
167 vec![move_to(4, Some(0), 1), move_to(5, Some(0), 3)],
168 include_bytes!(
169 "../../../corpus/page-lifecycle/movement/08-collapsed-group-move/notebook/Lifecycle.one"
170 ),
171 ),
172 ];
173 let mut source = SOURCE.to_vec();
174 for (name, edits, native) in cases {
175 let serialized = serde_json::to_vec(&edits).unwrap();
176 let retained: Vec<PageEdit> = serde_json::from_slice(&serialized).unwrap();
177 assert_eq!(edits, retained);
178 let prepared = PreparedEdit::pages(&source, &retained).unwrap();
179 verify(&source, prepared.as_bytes(), native);
180 assert_eq!(
181 PreparedEdit::pages(prepared.as_bytes(), &retained)
182 .unwrap()
183 .as_bytes(),
184 prepared.as_bytes()
185 );
186 export(name, prepared.as_bytes());
187 source = prepared.as_bytes().to_vec();
188 }
189 let edit = PageEdit::move_to(ids[3], None, 1).unwrap();
190 let single = PreparedEdit::pages(SOURCE, &[edit]).unwrap();
191 verify(
192 SOURCE,
193 single.as_bytes(),
194 include_bytes!(
195 "../../../corpus/page-lifecycle/movement/single-page/notebook/Lifecycle.one"
196 ),
197 );
198 export("single-page", single.as_bytes());
199}
200
201#[test]
202fn invalid_and_empty_page_edits_do_not_publish() {
203 let ids = pages(SOURCE);
204 for level in [0, 4, u32::MAX] {
205 assert!(PageEdit::set_level(ids[0], level).is_err());
206 }
207 assert!(PageEdit::move_to(ids[0], Some(ids[0]), 1).is_err());
208 assert!(PageEdit::set_level(ExGuid::default(), 1).is_err());
209 assert_eq!(PreparedEdit::pages(SOURCE, &[]).unwrap().as_bytes(), SOURCE);
210 assert_eq!(
211 PreparedEdit::pages(SOURCE, &[PageEdit::set_level(ids[0], 1).unwrap()])
212 .unwrap()
213 .as_bytes(),
214 SOURCE
215 );
216 assert!(PreparedEdit::pages(SOURCE, &[PageEdit::set_level(ids[0], 2).unwrap()]).is_err());
217 let duplicate = PageEdit::set_level(ids[3], 2).unwrap();
218 assert!(PreparedEdit::pages(SOURCE, &[duplicate.clone(), duplicate]).is_err());
219 let missing = ExGuid {
220 guid: [0x77; 16],
221 n: 1,
222 };
223 assert!(PreparedEdit::pages(SOURCE, &[PageEdit::set_level(missing, 1).unwrap()]).is_err());
224 assert!(
225 PreparedEdit::pages(
226 SOURCE,
227 &[PageEdit::move_to(ids[3], Some(missing), 1).unwrap()]
228 )
229 .is_err()
230 );
231 let mut value = serde_json::to_value(PageEdit::set_level(ids[3], 2).unwrap()).unwrap();
232 value["level"] = 4.into();
233 let invalid: PageEdit = serde_json::from_value(value.clone()).unwrap();
234 assert!(PreparedEdit::pages(SOURCE, &[invalid]).is_err());
235 value["unknown"] = true.into();
236 assert!(serde_json::from_value::<PageEdit>(value).is_err());
237}
238
239#[test]
240fn moving_pages_preserves_ink_file_data_and_native_feature_objects() {
241 for source in [
242 include_bytes!("../../../corpus/native-ink/20260905-ui/notebook/synthetic.one").as_slice(),
243 include_bytes!("../../../corpus/native-external-assets/notebook/synthetic.one").as_slice(),
244 include_bytes!("../../../corpus/m6/native-features-01/notebook/Features.one").as_slice(),
245 ] {
246 let first = pages(source)[0];
247 let created =
248 onestore::PageCreation::new(Some(first), Some("Movement anchor"), "Author").unwrap();
249 let source = PreparedEdit::create_page(source, &created)
250 .unwrap()
251 .as_bytes()
252 .to_vec();
253 let moved =
254 PreparedEdit::pages(&source, &[PageEdit::move_to(first, None, 1).unwrap()]).unwrap();
255 assert_eq!(pages(moved.as_bytes()).last(), Some(&first));
256 let stores = [&source, moved.as_bytes()].map(|bytes| Store::parse(bytes).unwrap());
257 let indexes = stores
258 .each_ref()
259 .map(|store| RevisionIndex::parse(store).unwrap());
260 for (sid, space) in &indexes[0].spaces {
261 for rid in space.revisions.keys() {
262 assert_eq!(
263 format!("{:?}", indexes[0].resolve(*sid, *rid).unwrap()),
264 format!("{:?}", indexes[1].resolve(*sid, *rid).unwrap())
265 );
266 }
267 if *sid != indexes[0].root {
268 assert_eq!(space.labels, indexes[1].spaces[sid].labels);
269 let revision = indexes[0]
270 .resolve(*sid, space.labels[&(ExGuid::default(), 1)])
271 .unwrap();
272 for object in revision.objects.values() {
273 if let Some(onestore::FileDataReference::Internal(guid)) =
274 object.file_reference().unwrap()
275 {
276 assert_eq!(
277 stores[0].file_data(guid).unwrap(),
278 stores[1].file_data(guid).unwrap()
279 );
280 }
281 }
282 }
283 }
284 }
285}
286
287#[test]
288fn metadata_copy_order_does_not_change_page_identity() {
289 let source = include_bytes!(
290 "../../../corpus/page-lifecycle/page-edits/optional-cache/source-cold/notebook/Lifecycle.one"
291 );
292 let sid = pages(source)[3];
293 let edited = PreparedEdit::pages(source, &[PageEdit::set_level(sid, 2).unwrap()]).unwrap();
294 let expected = include_bytes!(
295 "../../../corpus/page-lifecycle/page-edits/optional-cache/candidate/Lifecycle.one"
296 );
297 export("reordered-metadata", edited.as_bytes());
298 verify(source, edited.as_bytes(), expected);
299 let stores = [edited.as_bytes(), expected.as_slice()].map(|b| Store::parse(b).unwrap());
300 let indexes = stores.each_ref().map(|s| RevisionIndex::parse(s).unwrap());
301 let documents = indexes.each_ref().map(|i| Document::parse(i).unwrap());
302 for sid in documents[0].spaces.keys() {
303 let nodes = documents.each_ref().map(|d| {
304 let space = &d.spaces[sid];
305 serde_json::to_value(&space.revisions[&space.contexts[&ExGuid::default()]].nodes)
306 .unwrap()
307 });
308 assert_eq!(nodes[0], nodes[1], "{sid}");
309 }
310}
311
312#[test]
313fn native_edits_on_moved_pages_support_more_rust_changes() {
314 let source = include_bytes!(
315 "../../../corpus/page-lifecycle/page-edits/native/cold/notebook/Lifecycle.one"
316 );
317 let store = Store::parse(source).unwrap();
318 let index = RevisionIndex::parse(&store).unwrap();
319 let document = Document::parse(&index).unwrap();
320 let (sid, _) = *document.pages().unwrap().last().unwrap();
321 let space = &document.spaces[&sid];
322 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
323 assert!(
324 matches!(&view.nodes[&view.roots[&2]].kind, Kind::Metadata { title: Some(title), level: Some(1) } if title == "Native moved 🦋 é")
325 );
326 let bodies: Vec<_> = view.nodes.iter().filter_map(|(id, node)|
327 matches!(&node.kind, Kind::RichText { text, .. } if text == "Native body after a Rust page move.").then_some(*id)).collect();
328 let [body] = bodies.as_slice() else { panic!() };
329 let moved = PreparedEdit::pages(source, &[PageEdit::set_level(sid, 2).unwrap()]).unwrap();
330 let edited = PreparedEdit::text(moved.as_bytes(), sid, *body, 0..0, "Rust + ").unwrap();
331 let after_store = Store::parse(edited.as_bytes()).unwrap();
332 let after_index = RevisionIndex::parse(&after_store).unwrap();
333 let after = Document::parse(&after_index).unwrap();
334 assert_eq!(after.pages().unwrap(), document.pages().unwrap());
335 let space = &after.spaces[&sid];
336 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
337 assert!(
338 matches!(&view.nodes[&view.roots[&2]].kind, Kind::Metadata { title: Some(title), level: Some(2) } if title == "Native moved 🦋 é")
339 );
340 assert!(
341 matches!(&view.nodes[body].kind, Kind::RichText { text, .. } if text == "Rust + Native body after a Rust page move.")
342 );
343 for (sid, space) in &index.spaces {
344 for rid in space.revisions.keys() {
345 assert_eq!(
346 format!("{:?}", index.resolve(*sid, *rid).unwrap()),
347 format!("{:?}", after_index.resolve(*sid, *rid).unwrap())
348 );
349 }
350 }
351 export("rust-followup", edited.as_bytes());
352}
353
354#[test]
355fn grouped_page_levels_and_membership_survive_each_storage_interruption() {
356 let mut source = onestore::create_section("movement.one", "Original", "Author").unwrap();
357 for _ in 0..2 {
358 let page = onestore::PageCreation::new(None, Some("Same title"), "Author").unwrap();
359 source = PreparedEdit::create_page(&source, &page)
360 .unwrap()
361 .as_bytes()
362 .to_vec();
363 }
364 for (source, first) in [
365 (source.as_slice(), 1),
366 (
367 include_bytes!(
368 "../../../corpus/page-lifecycle/page-edits/optional-cache/source/Lifecycle.one"
369 )
370 .as_slice(),
371 3,
372 ),
373 ] {
374 let ids = pages(source);
375 let edits = [
376 PageEdit::set_level(ids[first], 2).unwrap(),
377 PageEdit::set_level(ids[first + 1], 3).unwrap(),
378 ];
379 let prepared = PreparedEdit::pages(source, &edits).unwrap();
380 let old = current::current(source);
381 let new = current::current(prepared.as_bytes());
382 assert_eq!(new.len(), old.len());
383 for write_limit in [1, 17, 4096] {
384 let mut complete = disk::Disk {
385 visible: source.to_vec(),
386 durable: source.to_vec(),
387 operation: 0,
388 fail_at: None,
389 write_limit,
390 random: 1957,
391 };
392 prepared.commit(&mut complete).unwrap();
393 assert_eq!(complete.durable, prepared.as_bytes());
394 for fail_at in 1..=complete.operation {
395 let mut interrupted = disk::Disk {
396 visible: source.to_vec(),
397 durable: source.to_vec(),
398 operation: 0,
399 fail_at: Some(fail_at),
400 write_limit,
401 random: 1957 + fail_at as u64,
402 };
403 prepared.commit(&mut interrupted).unwrap_err();
404 let observed = current::current(&interrupted.durable);
405 assert!(
406 observed == old || observed == new,
407 "{write_limit}:{fail_at}"
408 );
409 }
410 }
411 }
412}
413
414#[test]
415fn repeated_nesting_retains_series_history_across_revision_checkpoints() {
416 let mut source = onestore::create_section("movement.one", "Original", "Author").unwrap();
417 let page = onestore::PageCreation::new(None, Some("Child"), "Author").unwrap();
418 source = PreparedEdit::create_page(&source, &page)
419 .unwrap()
420 .as_bytes()
421 .to_vec();
422 let initial = source.clone();
423 for step in 0..520 {
424 let level = if step % 2 == 0 { 2 } else { 1 };
425 let edit = PageEdit::set_level(page.space(), level).unwrap();
426 let written = PreparedEdit::pages(&source, &[edit])
427 .unwrap()
428 .as_bytes()
429 .to_vec();
430 let store = Store::parse(&written).unwrap();
431 let index = RevisionIndex::parse(&store).unwrap();
432 index.validate_current().unwrap();
433 let document = Document::parse(&index).unwrap();
434 assert_eq!(document.pages().unwrap().len(), 2);
435 let space = &document.spaces[&page.space()];
436 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
437 assert!(
438 matches!(view.nodes[&view.roots[&2]].kind, Kind::Metadata { level: Some(n), .. } if n == level)
439 );
440 if step % 64 == 0 || matches!(step, 255 | 511 | 519) {
441 let mut old = written.clone();
442 old[96..100].copy_from_slice(&source[96..100]);
443 assert_eq!(current::current(&old), current::current(&source));
444 }
445 source = written;
446 }
447 let stores = [&initial, &source].map(|bytes| Store::parse(bytes).unwrap());
448 let indexes = stores
449 .each_ref()
450 .map(|store| RevisionIndex::parse(store).unwrap());
451 assert_eq!(
452 stores[1].header.transaction_count,
453 stores[0].header.transaction_count + 520
454 );
455 for (sid, space) in &indexes[0].spaces {
456 for rid in space.revisions.keys() {
457 assert_eq!(
458 format!("{:?}", indexes[0].resolve(*sid, *rid).unwrap()),
459 format!("{:?}", indexes[1].resolve(*sid, *rid).unwrap())
460 );
461 }
462 let current = &indexes[1].spaces[sid];
463 let rid = current.labels[&(ExGuid::default(), 1)];
464 assert!(
465 std::iter::successors(Some(rid), |rid| current.revisions[rid].dependency).count() < 20
466 );
467 }
468 if let Some(output) = std::env::var_os("ONESTORE_PAGE_MOVEMENT_STRESS_OUTPUT") {
469 assert!(
470 std::path::Path::new(&output).is_absolute(),
471 "Use an absolute fixture output directory"
472 );
473 std::fs::create_dir(&output).unwrap();
474 std::fs::write(std::path::Path::new(&output).join("movement.one"), &source).unwrap();
475 }
476}
fuzz/fuzz_targets/page.rs+109-8
...@@ -1,10 +1,10 @@...@@ -1,10 +1,10 @@
1#![no_main]1#![no_main]
2use libfuzzer_sys::fuzz_target;2use libfuzzer_sys::fuzz_target;
3use onestore::{3use onestore::{
4 CommitState, ExGuid, Insertion, PageCreation, PreparedEdit, RevisionIndex, Store,4 CommitState, ExGuid, Insertion, PageCreation, PageEdit, PreparedEdit, RevisionIndex, Store,
5 document::{Document, Kind},5 document::{Document, FieldValue, Kind},
6};6};
7use std::sync::LazyLock;7use std::{collections::BTreeMap, sync::LazyLock};
88
9#[path = "../../crates/onestore/tests/support/current.rs"]9#[path = "../../crates/onestore/tests/support/current.rs"]
10mod current;10mod current;
...@@ -16,13 +16,25 @@ static SOURCE: LazyLock<Vec<u8>> = LazyLock::new(|| {...@@ -16,13 +16,25 @@ static SOURCE: LazyLock<Vec<u8>> = LazyLock::new(|| {
16});16});
1717
18fuzz_target!(|input: &[u8]| {18fuzz_target!(|input: &[u8]| {
19 let source = match input.first().copied().unwrap_or(0) % 3 {
20 1 => include_bytes!("../../corpus/page-lifecycle/page-edits/optional-cache/source/Lifecycle.one")
21 .as_slice(),
22 2 => include_bytes!("../../corpus/page-lifecycle/page-edits/optional-cache/source-cold/notebook/Lifecycle.one")
23 .as_slice(),
24 _ => SOURCE.as_slice(),
25 };
19 if let Ok(intent) = serde_json::from_slice::<PageCreation>(input)26 if let Ok(intent) = serde_json::from_slice::<PageCreation>(input)
20 && let Ok(prepared) = PreparedEdit::create_page(&SOURCE, &intent)27 && let Ok(prepared) = PreparedEdit::create_page(source, &intent)
21 {28 {
22 current::current(prepared.as_bytes());29 current::current(prepared.as_bytes());
23 }30 }
24 let mut persisted = SOURCE.clone();31 if let Ok(edits) = serde_json::from_slice::<Vec<PageEdit>>(input)
25 let mut caches = std::array::from_fn::<_, 12, _>(|_| SOURCE.clone());32 && let Ok(prepared) = PreparedEdit::pages(source, &edits)
33 {
34 current::current(prepared.as_bytes());
35 }
36 let mut persisted = source.to_vec();
37 let mut caches = std::array::from_fn::<_, 12, _>(|_| source.to_vec());
26 for step in input.chunks_exact(8).take(24) {38 for step in input.chunks_exact(8).take(24) {
27 let actor = usize::from(step[0]) % caches.len();39 let actor = usize::from(step[0]) % caches.len();
28 if step[1] % 3 == 0 {40 if step[1] % 3 == 0 {
...@@ -33,6 +45,17 @@ fuzz_target!(|input: &[u8]| {...@@ -33,6 +45,17 @@ fuzz_target!(|input: &[u8]| {
33 let index = RevisionIndex::parse(&store).unwrap();45 let index = RevisionIndex::parse(&store).unwrap();
34 let document = Document::parse(&index).unwrap();46 let document = Document::parse(&index).unwrap();
35 let mut pages = document.pages().unwrap();47 let mut pages = document.pages().unwrap();
48 let mut levels: BTreeMap<_, _> = pages
49 .iter()
50 .map(|(sid, _)| {
51 let space = &document.spaces[sid];
52 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
53 let Kind::Metadata { level, .. } = view.nodes[&view.roots[&2]].kind else {
54 panic!()
55 };
56 (*sid, level.unwrap_or(1))
57 })
58 .collect();
36 let (sid, page) = pages[usize::from(step[2]) % pages.len()];59 let (sid, page) = pages[usize::from(step[2]) % pages.len()];
37 let space = &document.spaces[&sid];60 let space = &document.spaces[&sid];
38 let view = &space.revisions[&space.contexts[&ExGuid::default()]];61 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
...@@ -52,7 +75,41 @@ fuzz_target!(|input: &[u8]| {...@@ -52,7 +75,41 @@ fuzz_target!(|input: &[u8]| {
52 .then_some(*id)75 .then_some(*id)
53 })76 })
54 .collect();77 .collect();
55 let (edit, title_update) = if step[1] & 8 != 0 && !titles.is_empty() {78 let (edit, title_update) = if step[1] & 32 != 0 {
79 let count = 1 + usize::from(step[3] & 128 != 0 && pages.len() > 1);
80 let selected: Vec<_> = (0..count)
81 .map(|i| pages[(usize::from(step[2]) + i) % pages.len()].0)
82 .collect();
83 let before = (step[3] & 4 != 0)
84 .then_some(pages[usize::from(step[7]) % pages.len()].0)
85 .filter(|id| !selected.contains(id));
86 let mut edits = Vec::new();
87 for (ordinal, sid) in selected.iter().enumerate() {
88 let level = u32::from(if ordinal == 0 { step[3] } else { step[6] }) % 3 + 1;
89 levels.insert(*sid, level);
90 let edit = if step[3] & 8 == 0 {
91 PageEdit::set_level(*sid, level).unwrap()
92 } else {
93 let at = pages.iter().position(|p| p.0 == *sid).unwrap();
94 let page = pages.remove(at);
95 let at = before.map_or(pages.len(), |id| {
96 pages.iter().position(|p| p.0 == id).unwrap()
97 });
98 pages.insert(at, page);
99 PageEdit::move_to(*sid, before, level).unwrap()
100 };
101 edits.push(edit);
102 }
103 let restored: Vec<PageEdit> =
104 serde_json::from_value(serde_json::to_value(&edits).unwrap()).unwrap();
105 assert_eq!(edits, restored);
106 let prepared = PreparedEdit::pages(source, &restored);
107 if levels[&pages[0].0] != 1 {
108 assert!(prepared.is_err());
109 continue;
110 }
111 (prepared.unwrap(), None)
112 } else if step[1] & 8 != 0 && !titles.is_empty() {
56 let object = titles[0];113 let object = titles[0];
57 let Kind::RichText { text: original, .. } = &view.nodes[&object].kind else {114 let Kind::RichText { text: original, .. } = &view.nodes[&object].kind else {
58 unreachable!()115 unreachable!()
...@@ -75,7 +132,16 @@ fuzz_target!(|input: &[u8]| {...@@ -75,7 +132,16 @@ fuzz_target!(|input: &[u8]| {
75 Some((sid, intent.text_object(), text)),132 Some((sid, intent.text_object(), text)),
76 )133 )
77 } else {134 } else {
78 let before = (step[2] & 1 != 0).then_some(sid);135 let section = &document.spaces[&document.root];
136 let section = &section.revisions[&section.contexts[&ExGuid::default()]];
137 let head = section.nodes[&section.roots[&1]]
138 .children
139 .iter()
140 .map(|id| &section.nodes[id])
141 .find(|series| series.spaces.contains(&sid))
142 .unwrap()
143 .spaces[0];
144 let before = (step[2] & 1 != 0).then_some(head);
79 let title = (step[3] & 4 == 0).then_some(text);145 let title = (step[3] & 4 == 0).then_some(text);
80 let intent = PageCreation::new(before, title, "Page fuzz").unwrap();146 let intent = PageCreation::new(before, title, "Page fuzz").unwrap();
81 let restored = serde_json::from_value(serde_json::to_value(&intent).unwrap()).unwrap();147 let restored = serde_json::from_value(serde_json::to_value(&intent).unwrap()).unwrap();
...@@ -85,6 +151,7 @@ fuzz_target!(|input: &[u8]| {...@@ -85,6 +151,7 @@ fuzz_target!(|input: &[u8]| {
85 pages.iter().position(|p| p.0 == sid).unwrap()151 pages.iter().position(|p| p.0 == sid).unwrap()
86 });152 });
87 pages.insert(position, (intent.space(), intent.object()));153 pages.insert(position, (intent.space(), intent.object()));
154 levels.insert(intent.space(), 1);
88 (155 (
89 edit,156 edit,
90 intent157 intent
...@@ -96,6 +163,40 @@ fuzz_target!(|input: &[u8]| {...@@ -96,6 +163,40 @@ fuzz_target!(|input: &[u8]| {
96 let after_index = RevisionIndex::parse(&after_store).unwrap();163 let after_index = RevisionIndex::parse(&after_store).unwrap();
97 let after_document = Document::parse(&after_index).unwrap();164 let after_document = Document::parse(&after_index).unwrap();
98 assert_eq!(after_document.pages().unwrap(), pages);165 assert_eq!(after_document.pages().unwrap(), pages);
166 let mut metadata_levels = BTreeMap::new();
167 for (sid, _) in &pages {
168 let space = &after_document.spaces[sid];
169 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
170 let Kind::Metadata { level, .. } = view.nodes[&view.roots[&2]].kind else {
171 panic!()
172 };
173 assert_eq!(level.unwrap_or(1), levels[sid]);
174 let metadata = &view.nodes[&view.roots[&2]];
175 let FieldValue::Bytes(guid) = metadata.extra[0]
176 .iter()
177 .find(|field| field.id == 0x1c001c30)
178 .unwrap()
179 .value
180 else {
181 panic!()
182 };
183 assert!(metadata_levels.insert(guid, levels[sid]).is_none());
184 }
185 let section = &after_document.spaces[&after_document.root];
186 let view = &section.revisions[&section.contexts[&ExGuid::default()]];
187 for metadata in view.nodes.values() {
188 if let Kind::Metadata { level, .. } = metadata.kind {
189 let FieldValue::Bytes(guid) = metadata.extra[0]
190 .iter()
191 .find(|field| field.id == 0x1c001c30)
192 .unwrap()
193 .value
194 else {
195 panic!()
196 };
197 assert_eq!(metadata_levels.get(guid), Some(&level.unwrap_or(1)));
198 }
199 }
99 if let Some((sid, object, text)) = title_update {200 if let Some((sid, object, text)) = title_update {
100 let space = &after_document.spaces[&sid];201 let space = &after_document.spaces[&sid];
101 let view = &space.revisions[&space.contexts[&ExGuid::default()]];202 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
tools/native/moved-pages.ps1 created+33
...@@ -0,0 +1,33 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4& "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7try {
8 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
9 $section = ''
10 $app.OpenHierarchy('Lifecycle.one', $notebook, [ref]$section, 0)
11 $deadline = [DateTime]::UtcNow.AddSeconds(30)
12 do {
13 $hierarchy = ''
14 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
15 [xml]$tree = $hierarchy
16 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
17 if ($pages.Count -eq 9) { break }
18 Start-Sleep -Milliseconds 200
19 } while ([DateTime]::UtcNow -lt $deadline)
20 $targets = @($pages | Where-Object { $_.GetAttribute('name') -eq 'Same title' })
21 if ($pages.Count -ne 9 -or $targets.Count -ne 1) { throw 'Expected nine pages and one moved parent.' }
22 $pageId = [Security.SecurityElement]::Escape($targets[0].GetAttribute('ID'))
23 $title = 'Native moved ' + [char]::ConvertFromUtf32(0x1F98B) + ' e' + [char]0x301
24 $title = [Security.SecurityElement]::Escape($title)
25 $xml = "<one:Page xmlns:one='http://schemas.microsoft.com/office/onenote/2010/onenote' ID='$pageId'><one:Title><one:OE><one:T>$title</one:T></one:OE></one:Title><one:Outline><one:Position x='72' y='144'/><one:OEChildren><one:OE><one:T>Native body after a Rust page move.</one:T></one:OE></one:OEChildren></one:Outline></one:Page>"
26 [IO.File]::WriteAllText((Join-Path $Root 'native-edit.xml'), $xml, [Text.Encoding]::UTF8)
27 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $false)
28 $app.SyncHierarchy($notebook)
29} finally {
30 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
31 [GC]::Collect()
32 [GC]::WaitForPendingFinalizers()
33}
tools/test_page_movement.py+48
...@@ -12,6 +12,54 @@ FIXTURE = Path(__file__).resolve().parent.parent / 'corpus/page-lifecycle'...@@ -12,6 +12,54 @@ FIXTURE = Path(__file__).resolve().parent.parent / 'corpus/page-lifecycle'
1212
1313
14class PageMovementTest(unittest.TestCase):14class PageMovementTest(unittest.TestCase):
15 def test_optional_metadata_restoration_matches_native(self):
16 fixture = FIXTURE / 'page-edits/optional-cache'
17 for source, cold in [('source', 'source-cold'), ('candidate', 'cold'),
18 ('followup/candidate', 'followup/cold')]:
19 with self.subTest(source=source):
20 self.assertEqual(compare(fixture / source, fixture / cold), 0)
21 if source != 'source':
22 self.assertEqual((fixture / source / 'Lifecycle.one').read_bytes()[1024:],
23 (fixture / cold / 'notebook/Lifecycle.one').read_bytes()[1024:])
24
25 def test_native_and_rust_edits_preserve_moved_pages(self):
26 fixture = FIXTURE / 'page-edits'
27 with TemporaryDirectory() as temporary:
28 temporary = Path(temporary)
29 subprocess.run([EXPORTER, fixture / '08-collapsed-group-move/candidate/Lifecycle.one', temporary / 'original'], check=True)
30 original = list(ordered_pages(json.loads((temporary / 'original/document.json').read_text())))
31 for ordinal, (source, cold) in enumerate([
32 ('native/notebook', 'native/cold'), ('rust-followup/candidate', 'rust-followup/cold'),
33 ]):
34 self.assertEqual(compare(fixture / source, fixture / cold), 0)
35 output = temporary / str(ordinal)
36 subprocess.run([EXPORTER, fixture / cold / 'notebook/Lifecycle.one', output], check=True)
37 pages = list(ordered_pages(json.loads((output / 'document.json').read_text())))
38 self.assertEqual([(sid, page) for sid, _, _, page in pages],
39 [(sid, page) for sid, _, _, page in original])
40 for i, ((_, _, revision, page), (_, _, old, old_page)) in enumerate(zip(pages, original, strict=True)):
41 expected = [node['kind']['text'] for _, node in walk(old, old_page) if node['kind']['type'] == 'RichText']
42 if i == 8:
43 expected[0] = 'Native moved 🦋 é'
44 expected.append(('Rust + ' if ordinal else '') + 'Native body after a Rust page move.')
45 self.assertEqual(revision['nodes'][revision['roots']['2']]['kind'],
46 {'type': 'Metadata', 'title': expected[0], 'level': ordinal + 1})
47 self.assertEqual([node['kind']['text'] for _, node in walk(revision, page) if node['kind']['type'] == 'RichText'], expected)
48
49 def test_rust_page_edits_survive_native_reopen_without_repairs(self):
50 for phase in [phase for phase, *_ in PHASES] + ['single-page']:
51 with self.subTest(phase=phase):
52 fixture = FIXTURE / 'page-edits' / phase
53 self.assertEqual((fixture / 'candidate/Lifecycle.one').read_bytes()[1024:],
54 (fixture / 'cold/notebook/Lifecycle.one').read_bytes()[1024:])
55 self.assertEqual(compare(fixture / 'candidate', fixture / 'cold'), 0)
56
57 def test_repeated_page_nesting_survives_native_reopen_after_checkpoints(self):
58 fixture = FIXTURE / 'page-edits/stress'
59 self.assertEqual((fixture / 'candidate/movement.one').read_bytes()[1024:],
60 (fixture / 'cold/notebook/movement.one').read_bytes()[1024:])
61 self.assertEqual(compare(fixture / 'candidate', fixture / 'cold'), 0)
62
15 def test_native_selection_indentation_and_order_survive_cold_reopen(self):63 def test_native_selection_indentation_and_order_survive_cold_reopen(self):
16 with TemporaryDirectory() as temporary:64 with TemporaryDirectory() as temporary:
17 temporary = Path(temporary)65 temporary = Path(temporary)
tools/verify_page_creation.py+22-17
...@@ -32,6 +32,13 @@ def compare(source, capture, *, refresh_metadata_levels=False):...@@ -32,6 +32,13 @@ def compare(source, capture, *, refresh_metadata_levels=False):
32 models.append(json.loads((output / 'document.json').read_text()))32 models.append(json.loads((output / 'document.json').read_text()))
33 before, after = models33 before, after = models
34 pages = list(ordered_pages(before))34 pages = list(ordered_pages(before))
35 metadata = {}
36 for page_sid, _, page_view, _ in pages:
37 # Native uses the space GUID when it differs from the page-node GUID.
38 guid = UUID(page_sid.split('}')[0].strip('{')).bytes_le
39 salt = UUID('22a8c031-3600-42ee-b714-d7acda2435e8').bytes_le
40 oid = '{' + str(UUID(bytes_le=bytes(a ^ b for a, b in zip(guid, salt, strict=True)))).upper() + '},1'
41 metadata[oid] = (page_sid, page_view['nodes'][page_view['roots']['2']])
35 assert [(sid, page) for sid, _, _, page in pages] == [42 assert [(sid, page) for sid, _, _, page in pages] == [
36 (sid, page) for sid, _, _, page in ordered_pages(after)]43 (sid, page) for sid, _, _, page in ordered_pages(after)]
37 assert before['root'] == after['root']44 assert before['root'] == after['root']
...@@ -47,27 +54,25 @@ def compare(source, capture, *, refresh_metadata_levels=False):...@@ -47,27 +54,25 @@ def compare(source, capture, *, refresh_metadata_levels=False):
47 existing = [p for p in series['extra'][0] if p['id'] == 0x24003442]54 existing = [p for p in series['extra'][0] if p['id'] == 0x24003442]
48 added = [p for p in observed['nodes'][series_id]['extra'][0] if p['id'] == 0x24003442]55 added = [p for p in observed['nodes'][series_id]['extra'][0] if p['id'] == 0x24003442]
49 if existing and refresh_metadata_levels:56 if existing and refresh_metadata_levels:
50 for copy, page_sid in zip(existing[0]['value']['Objects'], series['spaces'], strict=True):57 for copy in existing[0]['value']['Objects']:
51 (_, _, page_view, _), = [p for p in pages if p[0] == page_sid]58 cached = expected[copy]['kind']
52 metadata = expected[copy]['kind']59 assert cached['type'] == 'Metadata'
53 assert metadata['type'] == 'Metadata'60 level = metadata[copy][1]['kind']['level']
54 level = page_view['nodes'][page_view['roots']['2']]['kind']['level']61 refreshed += cached['level'] != level
55 refreshed += metadata['level'] != level62 cached['level'] = level
56 metadata['level'] = level
57 if existing or not added:63 if existing or not added:
58 continue64 continue
59 copies = []65 copies = []
60 for page_sid in series['spaces']:66 for oid, (page_sid, node) in metadata.items():
61 (_, _, page_view, _), = [p for p in pages if p[0] == page_sid]67 if page_sid not in series['spaces']:
62 # Native uses the space GUID when it differs from the page-node GUID.68 continue
63 guid = UUID(page_sid.split('}')[0].strip('{')).bytes_le69 assert oid not in expected
64 salt = UUID('22a8c031-3600-42ee-b714-d7acda2435e8').bytes_le70 expected[oid] = node
65 metadata = '{' + str(UUID(bytes_le=bytes(a ^ b for a, b in zip(guid, salt, strict=True)))).upper() + '},1'71 copies.append(oid)
66 assert metadata not in expected
67 expected[metadata] = page_view['nodes'][page_view['roots']['2']]
68 copies.append(metadata)
69 filled += 172 filled += 1
70 series['extra'][0].append({'id': 0x24003442, 'value': {'Objects': copies}})73 assert len(added) == 1
74 assert sorted(copies) == sorted(added[0]['value']['Objects'])
75 series['extra'][0].append(added[0])
71 assert original['roots'] == observed['roots']76 assert original['roots'] == observed['roots']
72 assert expected == observed['nodes'], sid77 assert expected == observed['nodes'], sid
73 print(f'Passed: {len(pages)} ordered pages and preserved active graphs; {filled} missing section metadata copies filled natively; {refreshed} section metadata levels refreshed')78 print(f'Passed: {len(pages)} ordered pages and preserved active graphs; {filled} missing section metadata copies filled natively; {refreshed} section metadata levels refreshed')