authorgravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-09-08 10:07:11-07:00
committergravatar for git@paperclover.netclover caruso <git@paperclover.net> 2026-09-08 10:07:11-07:00
logd05060b296f63103ff7e87e746ff0f535107ee52
tree70a71e4eb57ec28cc66a21efb3ed8eea376982c5
parent0fdda4e484c31a29b80ec9becba2d5730477032e
signature Signed by SSH key SHA256:52mNGHRsVFBDED9IAX5pe+LRWUefqTbxEReunq21QvU

test: verify native paragraph reconciliation and retained local branches

Exercise sixteen independently authored COM and keyboard controls against durable offline split/join queues. Verify automatic and reviewed reconciliation, dependent edits and receipts across reopen, preserved conflicts after native identity or hierarchy changes, and exact text/style/graph predictions after a cold OneNote save. Validation: 53 offline sync tests, 138 Python tests, focused native controls, workspace Clippy and formatting; all three owned clones removed. Assisted-by: gpt-6-astra

199 files changed, 2978 insertions(+), 0 deletions(-)

corpus/paragraph-edit/reconciliation/README.md created+37
...@@ -0,0 +1,37 @@
1# Native paragraph reconciliation controls
2
3`before` contains sixteen OneNote-authored pages and one unchanged source page.
4`tools/native/paragraph-reconciliation.ps1` creates these cases and applies the
5separate COM replacement controls retained in `remote`. Whole-page COM updates
6replace rich-text identities, including unchanged text. Every local split/join
7and dependent edit therefore remains a conflict without remote publication.
8
9`keyboard` begins from the same notebook and records actual native keystrokes,
10screenshots, XML, and saved bytes. Prefix/boundary edits, children, bullets, tags,
11formatting, sibling replacement, and empty-paragraph typing exercise independent
12changes. Bullets alter ancestry: the first paragraph gains an outline group,
13and a later bullet becomes a child of its preceding paragraph. Replacing a whole
14selected sibling creates a new paragraph; the split/join targets retain identity.
15
16`reconciled` retains Rust output and a fresh OneNote cold-open. Six cases publish
17automatically; eight publish after explicit review. Each includes a dependent
18text edit, with SQLite reopen between local acknowledgements and publications.
19The changed empty-left survivor and nonadjacent bulleted join retain conflicts.
20Public tests check all 28 receipts, exact active graph/child levels, native
21characters/styles, and the saved graph's identities. COM replacement controls
22also retain all sixteen local branches across reopen without publishing.
23
24Regenerate keyboard controls with `tools/native_runner.py` on `before/notebook`,
25using `--expected-pages 17 --inspect --collect-notebook`. Once inspection is
26ready, run `tools/native_paragraph_reconciliation.py OUTPUT`; it records actions
27and requests final capture. The runner removes its owned clone. The ignored
28Rust test `paragraph::export_native_reconciliation` generates reconciled output
29at a new absolute `ONESTORE_NATIVE_RECONCILIATION_OUTPUT` directory. Cold-open its
30`candidate` with the same runner, without inspection. Verification lives in
31`tools/test_paragraph_edit.py` and the offline crate's `tests/sync.rs`.
32
33The original COM pass stopped at its fifth case because its tag definition
34followed page settings. The recorded continuation fixes the schema order and
35applies only the remaining twelve cases. Scripts, commands, and both phase
36hashes retain this provenance; the before-image was preserved throughout.
37Identical captured files link to their canonical corpus copy.
corpus/paragraph-edit/reconciliation/before/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/before/notebook/Open Notebook.onetoc2 differ
corpus/paragraph-edit/reconciliation/before/notebook/synthetic.one created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/before/notebook/synthetic.one differ
corpus/paragraph-edit/reconciliation/before/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-9095E701",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/paragraph-edit/reconciliation/before/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="{A4BA5894-8D36-45A8-883A-1A52F83F9400}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-08T17:06:53.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{F5A0DC31-ED3D-0393-0CE3-7A56DD0E0F0D}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-08T17:06:53.000Z" color="#8AA8E4"><one:Page ID="{D9E92FB7-64F6-4082-8B84-D2C721361312}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:06:51.000Z" pageLevel="1"/><one:Page ID="{1BAE78F8-CD0E-4CB1-823D-15FDB9133BBE}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:06:51.000Z" pageLevel="1"/><one:Page ID="{711F575A-E08A-41DC-BBF9-BB4ED61143AF}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:51.000Z" pageLevel="1"/><one:Page ID="{95AB4BC9-8FCA-434B-ACC9-8006E9524214}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.000Z" pageLevel="1"/><one:Page ID="{C777540D-8BF5-472C-9F22-23685DAC1D73}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.000Z" pageLevel="1"/><one:Page ID="{1D7A694F-0E44-46A4-88DD-A10C87D30E83}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.000Z" pageLevel="1"/><one:Page ID="{68C87618-597D-489F-9EC7-1E84F5322BFE}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.000Z" pageLevel="1"/><one:Page ID="{9C6105C1-F5E9-4C02-91A9-119F7DF22300}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.000Z" pageLevel="1"/><one:Page ID="{E198CEED-2AFA-4D15-8722-34EA4BA6440B}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:52.000Z" pageLevel="1"/><one:Page ID="{F8F762B4-2037-4DA3-8B53-BCBE16F10306}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{5FA7699D-20FF-48D7-8FCF-939429F89CC7}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{9217F36E-BEF9-4AB9-AE92-D0F0429290B5}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{4F1A8011-17E3-46DB-BA7D-F7EB3577FEB8}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{765C2BF3-0288-4075-80CB-75056F002CDD}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{F0015FCF-70C5-4B3F-99DD-98100A960700}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{01577086-CDE2-4B52-868B-93CC84B03A45}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/><one:Page ID="{0CA31B34-2DA0-441D-B2BA-1F4D1E5AF96A}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/paragraph-edit/reconciliation/before/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="{01577086-CDE2-4B52-868B-93CC84B03A45}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{086F7B9C-1B42-404B-A885-ECFDEAFC2A6E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{086F7B9C-1B42-404B-A885-ECFDEAFC2A6E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{086F7B9C-1B42-404B-A885-ECFDEAFC2A6E}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{086F7B9C-1B42-404B-A885-ECFDEAFC2A6E}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{086F7B9C-1B42-404B-A885-ECFDEAFC2A6E}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-001.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{0CA31B34-2DA0-441D-B2BA-1F4D1E5AF96A}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{4A008B06-5353-43CC-8D8B-F818051017BF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join empty adoption]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{4A008B06-5353-43CC-8D8B-F818051017BF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{4A008B06-5353-43CC-8D8B-F818051017BF}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{4A008B06-5353-43CC-8D8B-F818051017BF}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{4A008B06-5353-43CC-8D8B-F818051017BF}{52}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-002.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1BAE78F8-CD0E-4CB1-823D-15FDB9133BBE}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:06:51.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{79348709-2A19-4AD9-AFF8-B5A5EF5C6130}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{79348709-2A19-4AD9-AFF8-B5A5EF5C6130}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{79348709-2A19-4AD9-AFF8-B5A5EF5C6130}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{79348709-2A19-4AD9-AFF8-B5A5EF5C6130}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-003.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1D7A694F-0E44-46A4-88DD-A10C87D30E83}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{C050E34F-16F1-4748-A6CA-0DACF750E183}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{C050E34F-16F1-4748-A6CA-0DACF750E183}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{C050E34F-16F1-4748-A6CA-0DACF750E183}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{C050E34F-16F1-4748-A6CA-0DACF750E183}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/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="{4F1A8011-17E3-46DB-BA7D-F7EB3577FEB8}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{1BF90AC1-5711-4BEA-BAB8-C22E6523395F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{1BF90AC1-5711-4BEA-BAB8-C22E6523395F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{1BF90AC1-5711-4BEA-BAB8-C22E6523395F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{1BF90AC1-5711-4BEA-BAB8-C22E6523395F}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{1BF90AC1-5711-4BEA-BAB8-C22E6523395F}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/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="{5FA7699D-20FF-48D7-8FCF-939429F89CC7}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3C6A4CC0-1258-466A-954E-4B3B5955891A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join right boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{3C6A4CC0-1258-466A-954E-4B3B5955891A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3C6A4CC0-1258-466A-954E-4B3B5955891A}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3C6A4CC0-1258-466A-954E-4B3B5955891A}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3C6A4CC0-1258-466A-954E-4B3B5955891A}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-006.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{68C87618-597D-489F-9EC7-1E84F5322BFE}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{2DDA1274-DA2A-4782-B227-D1EE348CDD65}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{2DDA1274-DA2A-4782-B227-D1EE348CDD65}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{2DDA1274-DA2A-4782-B227-D1EE348CDD65}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{2DDA1274-DA2A-4782-B227-D1EE348CDD65}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-007.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{711F575A-E08A-41DC-BBF9-BB4ED61143AF}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:51.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{0D1B6FE3-84CA-451D-A6D6-9182066D57AE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{0D1B6FE3-84CA-451D-A6D6-9182066D57AE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{0D1B6FE3-84CA-451D-A6D6-9182066D57AE}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{0D1B6FE3-84CA-451D-A6D6-9182066D57AE}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/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="{765C2BF3-0288-4075-80CB-75056F002CDD}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E75FB2DB-C33A-4052-9512-B0B58B156887}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{E75FB2DB-C33A-4052-9512-B0B58B156887}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E75FB2DB-C33A-4052-9512-B0B58B156887}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E75FB2DB-C33A-4052-9512-B0B58B156887}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E75FB2DB-C33A-4052-9512-B0B58B156887}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-009.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="{9217F36E-BEF9-4AB9-AE92-D0F0429290B5}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D64E472D-32E1-4045-BB39-C96788013CED}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{D64E472D-32E1-4045-BB39-C96788013CED}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D64E472D-32E1-4045-BB39-C96788013CED}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D64E472D-32E1-4045-BB39-C96788013CED}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D64E472D-32E1-4045-BB39-C96788013CED}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-010.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{95AB4BC9-8FCA-434B-ACC9-8006E9524214}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{ADBD3C14-140D-4297-861D-55FEFFC5F655}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{ADBD3C14-140D-4297-861D-55FEFFC5F655}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{ADBD3C14-140D-4297-861D-55FEFFC5F655}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{ADBD3C14-140D-4297-861D-55FEFFC5F655}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-011.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9C6105C1-F5E9-4C02-91A9-119F7DF22300}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{40CEB7CD-C77A-452B-9D84-0641DA08B500}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{40CEB7CD-C77A-452B-9D84-0641DA08B500}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{40CEB7CD-C77A-452B-9D84-0641DA08B500}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{40CEB7CD-C77A-452B-9D84-0641DA08B500}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-012.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C777540D-8BF5-472C-9F22-23685DAC1D73}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:06:52.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{4BB30E70-053A-4A5A-B680-DB032AB5A20F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{4BB30E70-053A-4A5A-B680-DB032AB5A20F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{4BB30E70-053A-4A5A-B680-DB032AB5A20F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{4BB30E70-053A-4A5A-B680-DB032AB5A20F}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-013.xml created+20
...@@ -0,0 +1,20 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D9E92FB7-64F6-4082-8B84-D2C721361312}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:06:51.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="Rich author" lastModifiedBy="Rich author" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{BE25870B-2F83-4334-8476-5E1CDEAAF673}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="42.90299224853515"/><one:OEChildren><one:OE creationTime="2026-09-08T04:47:24.000Z" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{B9402FFC-DCFE-083E-3422-9D1615C18485}{1}{B0}" alignment="left"><one:T><![CDATA[<span style='font-weight:bold;
3text-decoration:underline;font-family:Calibri;font-size:11.0pt'>Bold</span><span
4style='font-family:Calibri;font-size:11.0pt'> </span><span style='font-family:
5Arial;font-size:13.5pt'>&#129408;</span><span style='font-family:Calibri;
6font-size:11.0pt'> </span><span style='font-style:italic;text-decoration:line-through;
7font-family:Calibri;font-size:11.0pt'>italic</span><span style='font-family:
8Calibri;font-size:11.0pt'> </span><span style='vertical-align:super;font-family:
9Calibri;font-size:11.0pt'>é</span><span style='font-family:Calibri;font-size:
1011.0pt'> </span><span style='font-family:Calibri;font-size:11.0pt;color:#0C2238;
11background:yellow;mso-highlight:yellow'>color</span><span style='font-family:
12Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
13Calibri;font-size:11.0pt'>東京</span><span style='font-family:Calibri;font-size:
1411.0pt'><br>
15End</span>]]></one:T></one:OE><one:OE author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{BE25870B-2F83-4334-8476-5E1CDEAAF673}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
16style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
17style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
18style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
19style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
20lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-014.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="{E198CEED-2AFA-4D15-8722-34EA4BA6440B}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:52.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5D779F16-B1DB-451C-BAD7-1BE2C58F2371}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{5D779F16-B1DB-451C-BAD7-1BE2C58F2371}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5D779F16-B1DB-451C-BAD7-1BE2C58F2371}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5D779F16-B1DB-451C-BAD7-1BE2C58F2371}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5D779F16-B1DB-451C-BAD7-1BE2C58F2371}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-015.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="{F0015FCF-70C5-4B3F-99DD-98100A960700}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{F657BD0A-4744-455D-AF83-03A6A5E7BD8F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{F657BD0A-4744-455D-AF83-03A6A5E7BD8F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{F657BD0A-4744-455D-AF83-03A6A5E7BD8F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{F657BD0A-4744-455D-AF83-03A6A5E7BD8F}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{F657BD0A-4744-455D-AF83-03A6A5E7BD8F}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/page-016.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="{F8F762B4-2037-4DA3-8B53-BCBE16F10306}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:06:53.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{9AE97846-12AD-4FE2-B8C2-94470790E18A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join left boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{9AE97846-12AD-4FE2-B8C2-94470790E18A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{9AE97846-12AD-4FE2-B8C2-94470790E18A}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{9AE97846-12AD-4FE2-B8C2-94470790E18A}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{9AE97846-12AD-4FE2-B8C2-94470790E18A}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/before/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../before/read/payloads.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/cases.json created+82
...@@ -0,0 +1,82 @@
1[
2 {
3 "operation": "split",
4 "change": "prefix",
5 "name": "Split remote prefix"
6 },
7 {
8 "operation": "split",
9 "change": "boundary",
10 "name": "Split remote boundary"
11 },
12 {
13 "operation": "split",
14 "change": "child",
15 "name": "Split remote child"
16 },
17 {
18 "operation": "split",
19 "change": "list",
20 "name": "Split remote list"
21 },
22 {
23 "operation": "split",
24 "change": "tag",
25 "name": "Split remote tag"
26 },
27 {
28 "operation": "split",
29 "change": "format",
30 "name": "Split remote format"
31 },
32 {
33 "operation": "split",
34 "change": "sibling",
35 "name": "Split remote sibling"
36 },
37 {
38 "operation": "join",
39 "change": "prefix",
40 "name": "Join remote prefix"
41 },
42 {
43 "operation": "join",
44 "change": "boundary",
45 "name": "Join left boundary"
46 },
47 {
48 "operation": "join",
49 "change": "right-boundary",
50 "name": "Join right boundary"
51 },
52 {
53 "operation": "join",
54 "change": "child",
55 "name": "Join remote child"
56 },
57 {
58 "operation": "join",
59 "change": "list",
60 "name": "Join remote list"
61 },
62 {
63 "operation": "join",
64 "change": "tag",
65 "name": "Join remote tag"
66 },
67 {
68 "operation": "join",
69 "change": "format",
70 "name": "Join remote format"
71 },
72 {
73 "operation": "join",
74 "change": "sibling",
75 "name": "Join remote sibling"
76 },
77 {
78 "operation": "join",
79 "change": "adoption",
80 "name": "Join empty adoption"
81 }
82]
corpus/paragraph-edit/reconciliation/commands.jsonl created+9
...@@ -0,0 +1,9 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\author.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9095E701", "exit": 0, "stdout": "", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9095E701 -ExpectedPages 17 -UseCurrentCache -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 17 pages.\r\n", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
5{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\remote-paragraphs.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9095E701 -Remote", "exit": 1, "stdout": "", "stderr": "C:\\one-tests\\remote-paragraphs.ps1 : Exception calling \"UpdatePageContent\" \r\nwith \"4\" argument(s): \"Exception from HRESULT: 0x80042001\"\r\n + CategoryInfo : NotSpecified: (:) [remote-paragraphs.ps1], Metho \r\n dInvocationException\r\n + FullyQualifiedErrorId : COMException,remote-paragraphs.ps1\r\n \r\n", "error": null}
6{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\remote-remaining.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9095E701 -Remote", "exit": 0, "stdout": "Updating: Split remote tag\r\nApplied: Split remote tag\r\nUpdating: Split remote format\r\nApplied: Split remote format\r\nUpdating: Split remote sibling\r\nApplied: Split remote sibling\r\nUpdating: Join remote prefix\r\nApplied: Join remote prefix\r\nUpdating: Join left boundary\r\nApplied: Join left boundary\r\nUpdating: Join right boundary\r\nApplied: Join right boundary\r\nUpdating: Join remote child\r\nApplied: Join remote child\r\nUpdating: Join remote list\r\nApplied: Join remote list\r\nUpdating: Join remote tag\r\nApplied: Join remote tag\r\nUpdating: Join remote format\r\nApplied: Join remote format\r\nUpdating: Join remote sibling\r\nApplied: Join remote sibling\r\nUpdating: Join empty adoption\r\nApplied: Join empty adoption\r\n", "stderr": "", "error": null}
7{"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
8{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9095E701 -UseCurrentCache -ExpectedPages -1", "exit": 0, "stdout": "Read 1 sections and 17 pages.\r\n", "stderr": "", "error": null}
9{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/paragraph-edit/reconciliation/keyboard/before-read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-9E5BF58B",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/paragraph-edit/reconciliation/keyboard/before-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="{14F9F30D-7797-406F-B4C0-A156627BBBBF}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-08T17:23:46.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{CA9F7D11-9F94-09FA-268B-BFD907FB73BD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-08T17:23:46.000Z" color="#8AA8E4"><one:Page ID="{E6D68E97-165F-4AEB-A1EC-1748FBC36FA2}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{2491D9D8-BFA7-46D8-A855-D07263E6470E}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{4E20F67A-9223-4BB5-9191-7EC10CE43F1F}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{AA94EAE9-FD63-4922-86A1-458933A73EA4}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{F848F52D-F95C-4D45-B54A-E6E7875961C3}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{2245C86F-7CED-4CCD-A2B5-64835D267233}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{57F7D738-2BD4-42F6-B4AF-DB0B2FC7574E}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{A35EA4E1-8740-466B-BBC1-D410A7075FB0}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{DEA76FCD-5853-477C-AD4A-F165915338BB}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{C7C8C394-529E-47CA-A13B-7931CC047FB6}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{6098C8BD-5256-42BE-A5A7-561BF30DE077}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{AD28524E-CC50-40D0-84FA-157F9867EC05}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{70252131-654A-4CB2-9015-3264EF828208}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{49638AD3-7021-4A1C-AAA3-B08AB5F5506D}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{CF3EFEEF-026C-4156-B3B5-5D9FD0637BB0}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{3E68D1A6-BF4B-413B-ACE3-56435E4546F5}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{339CBA14-5F09-4E74-98D2-DAC2C4AF85DA}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-000.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2245C86F-7CED-4CCD-A2B5-64835D267233}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-001.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2491D9D8-BFA7-46D8-A855-D07263E6470E}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-002.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{339CBA14-5F09-4E74-98D2-DAC2C4AF85DA}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join empty adoption]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{52}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-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="{3E68D1A6-BF4B-413B-ACE3-56435E4546F5}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-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="{49638AD3-7021-4A1C-AAA3-B08AB5F5506D}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-005.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4E20F67A-9223-4BB5-9191-7EC10CE43F1F}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-006.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{57F7D738-2BD4-42F6-B4AF-DB0B2FC7574E}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-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="{6098C8BD-5256-42BE-A5A7-561BF30DE077}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join right boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-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="{70252131-654A-4CB2-9015-3264EF828208}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-009.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A35EA4E1-8740-466B-BBC1-D410A7075FB0}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-010.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AA94EAE9-FD63-4922-86A1-458933A73EA4}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-011.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="{AD28524E-CC50-40D0-84FA-157F9867EC05}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-012.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="{C7C8C394-529E-47CA-A13B-7931CC047FB6}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join left boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-013.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="{CF3EFEEF-026C-4156-B3B5-5D9FD0637BB0}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-014.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="{DEA76FCD-5853-477C-AD4A-F165915338BB}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-015.xml created+20
...@@ -0,0 +1,20 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E6D68E97-165F-4AEB-A1EC-1748FBC36FA2}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:23:46.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="Rich author" lastModifiedBy="Rich author" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{811A262B-5D2A-495D-AE1E-9B93045F8AC3}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="42.90299224853515"/><one:OEChildren><one:OE creationTime="2026-09-08T04:47:24.000Z" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{867F8EDC-AE57-0257-1E4A-5899CF34F835}{1}{B0}" alignment="left"><one:T><![CDATA[<span style='font-weight:bold;
3text-decoration:underline;font-family:Calibri;font-size:11.0pt'>Bold</span><span
4style='font-family:Calibri;font-size:11.0pt'> </span><span style='font-family:
5Arial;font-size:13.5pt'>&#129408;</span><span style='font-family:Calibri;
6font-size:11.0pt'> </span><span style='font-style:italic;text-decoration:line-through;
7font-family:Calibri;font-size:11.0pt'>italic</span><span style='font-family:
8Calibri;font-size:11.0pt'> </span><span style='vertical-align:super;font-family:
9Calibri;font-size:11.0pt'>é</span><span style='font-family:Calibri;font-size:
1011.0pt'> </span><span style='font-family:Calibri;font-size:11.0pt;color:#0C2238;
11background:yellow;mso-highlight:yellow'>color</span><span style='font-family:
12Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
13Calibri;font-size:11.0pt'>東京</span><span style='font-family:Calibri;font-size:
1411.0pt'><br>
15End</span>]]></one:T></one:OE><one:OE author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{811A262B-5D2A-495D-AE1E-9B93045F8AC3}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
16style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
17style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
18style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
19style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
20lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/page-016.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F848F52D-F95C-4D45-B54A-E6E7875961C3}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:23:46.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/before-read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../before/read/payloads.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/commands.jsonl created+6
...@@ -0,0 +1,6 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9E5BF58B -ExpectedPages 17 -KeepOpen", "exit": 0, "stdout": "Read 1 sections and 17 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
4{"command": "powershell -NoProfile -Command \"Rename-Item C:\\one-tests\\runs\\capture\\read before-read\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
5{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-9E5BF58B -UseCurrentCache -ExpectedPages -1", "exit": 0, "stdout": "Read 1 sections and 17 pages.\r\n", "stderr": "", "error": null}
6{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-empty-adoption.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{339CBA14-5F09-4E74-98D2-DAC2C4AF85DA}{1}{B0}", "{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}X"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-empty-adoption.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join empty adoption - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-empty-adoption.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-empty-adoption.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-left-boundary.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{C7C8C394-529E-47CA-A13B-7931CC047FB6}{1}{B0}", "{A5D6D966-6004-458B-92AA-51C8DD659D3A}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Right}X"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-left-boundary.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join left boundary - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-left-boundary.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-left-boundary.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-child.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{AD28524E-CC50-40D0-84FA-157F9867EC05}{1}{B0}", "{E971E60D-4048-4A2C-9151-0CE852F4405D}{46}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Right}{Enter}{Tab}Native child"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-child.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join remote child - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-child.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-child.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-format.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{CF3EFEEF-026C-4156-B3B5-5D9FD0637BB0}{1}{B0}", "{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{46}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "^i"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-format.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join remote format - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-format.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-format.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-list.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{70252131-654A-4CB2-9015-3264EF828208}{1}{B0}", "{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{46}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}^."
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-list.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join remote list - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-list.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-list.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-prefix.ahk created+25
...@@ -0,0 +1,25 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{DEA76FCD-5853-477C-AD4A-F165915338BB}{1}{B0}", "{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}X"
14Sleep 300
15app.NavigateTo("{DEA76FCD-5853-477C-AD4A-F165915338BB}{1}{B0}", "{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{46}{B0}", false)
16hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
17if !hwnd
18 throw Error("OneNote window did not appear")
19WinMaximize(hwnd)
20WinActivate(hwnd)
21if !WinWaitActive(hwnd,, 10)
22 throw Error("OneNote did not become active")
23Sleep 300
24Send "{Right}Y"
25Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-prefix.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join remote prefix - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-prefix.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-prefix.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-sibling.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{3E68D1A6-BF4B-413B-ACE3-56435E4546F5}{1}{B0}", "{3750DABC-69EB-4A22-82ED-2972300956DE}{51}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "Native sibling"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-sibling.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join remote sibling - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-sibling.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-sibling.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-tag.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{49638AD3-7021-4A1C-AAA3-B08AB5F5506D}{1}{B0}", "{D86013FB-B193-4A3B-BF7A-753A51E01437}{46}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}^1"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-tag.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join remote tag - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-tag.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-remote-tag.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-right-boundary.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{6098C8BD-5256-42BE-A5A7-561BF30DE077}{1}{B0}", "{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{46}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}X"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-right-boundary.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Join right boundary - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-right-boundary.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/join-right-boundary.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-boundary.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{4E20F67A-9223-4BB5-9191-7EC10CE43F1F}{1}{B0}", "{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}{Right 2}X"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-boundary.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote boundary - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-boundary.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-boundary.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-child.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{AA94EAE9-FD63-4922-86A1-458933A73EA4}{1}{B0}", "{92829D34-66A4-48FE-AC75-907125308AE5}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Right}{Enter}{Tab}Native child"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-child.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote child - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-child.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-child.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-format.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{57F7D738-2BD4-42F6-B4AF-DB0B2FC7574E}{1}{B0}", "{12E5B354-A883-4DEB-984F-1461EE79A1D5}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "^i"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-format.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote format - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-format.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-format.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-list.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{F848F52D-F95C-4D45-B54A-E6E7875961C3}{1}{B0}", "{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}^."
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-list.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote list - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-list.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-list.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-prefix.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{2491D9D8-BFA7-46D8-A855-D07263E6470E}{1}{B0}", "{460B2629-58B0-40B0-8590-702A35A91D80}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}X"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-prefix.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote prefix - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-prefix.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-prefix.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-sibling.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{A35EA4E1-8740-466B-BBC1-D410A7075FB0}{1}{B0}", "{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{46}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "Native sibling"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-sibling.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote sibling - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-sibling.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-sibling.png differ
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-tag.ahk created+14
...@@ -0,0 +1,14 @@
1#Requires AutoHotkey v2.0
2OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))
3app := ComObject("OneNote.Application")
4app.NavigateTo("{2245C86F-7CED-4CCD-A2B5-64835D267233}{1}{B0}", "{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{40}{B0}", false)
5hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)
6if !hwnd
7 throw Error("OneNote window did not appear")
8WinMaximize(hwnd)
9WinActivate(hwnd)
10if !WinWaitActive(hwnd,, 10)
11 throw Error("OneNote did not become active")
12Sleep 300
13Send "{Left}^1"
14Sleep 300
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-tag.json created+13
...@@ -0,0 +1,13 @@
1{
2 "exit": 0,
3 "stdout": "",
4 "stderr": "",
5 "w": 800,
6 "h": 600,
7 "error": null,
8 "win": {
9 "title": "Split remote tag - Microsoft OneNote",
10 "class": "Framework::CFrame",
11 "dialog": false
12 }
13}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-tag.png created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/keyboard/split-remote-tag.png differ
corpus/paragraph-edit/reconciliation/keyboard/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../before/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/notebook/synthetic.one created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/keyboard/notebook/synthetic.one differ
corpus/paragraph-edit/reconciliation/keyboard/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-9E5BF58B",
5 "cold": false,
6 "onenote": "14.0.4763.1000"
7}
corpus/paragraph-edit/reconciliation/keyboard/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="{14F9F30D-7797-406F-B4C0-A156627BBBBF}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-08T17:25:56.000Z" color="#B49EDE" isCurrentlyViewed="true"><one:Section name="synthetic" ID="{CA9F7D11-9F94-09FA-268B-BFD907FB73BD}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-08T17:25:56.000Z" color="#8AA8E4" isCurrentlyViewed="true"><one:Page ID="{E6D68E97-165F-4AEB-A1EC-1748FBC36FA2}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:23:46.000Z" pageLevel="1"/><one:Page ID="{2491D9D8-BFA7-46D8-A855-D07263E6470E}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:25:26.000Z" pageLevel="1"/><one:Page ID="{4E20F67A-9223-4BB5-9191-7EC10CE43F1F}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" pageLevel="1"/><one:Page ID="{AA94EAE9-FD63-4922-86A1-458933A73EA4}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.000Z" pageLevel="1"/><one:Page ID="{F848F52D-F95C-4D45-B54A-E6E7875961C3}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:32.000Z" pageLevel="1"/><one:Page ID="{2245C86F-7CED-4CCD-A2B5-64835D267233}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:34.000Z" pageLevel="1"/><one:Page ID="{57F7D738-2BD4-42F6-B4AF-DB0B2FC7574E}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:36.000Z" pageLevel="1"/><one:Page ID="{A35EA4E1-8740-466B-BBC1-D410A7075FB0}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:39.000Z" pageLevel="1"/><one:Page ID="{DEA76FCD-5853-477C-AD4A-F165915338BB}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" pageLevel="1"/><one:Page ID="{C7C8C394-529E-47CA-A13B-7931CC047FB6}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:43.000Z" pageLevel="1"/><one:Page ID="{6098C8BD-5256-42BE-A5A7-561BF30DE077}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" pageLevel="1"/><one:Page ID="{AD28524E-CC50-40D0-84FA-157F9867EC05}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" pageLevel="1"/><one:Page ID="{70252131-654A-4CB2-9015-3264EF828208}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:48.000Z" pageLevel="1"/><one:Page ID="{49638AD3-7021-4A1C-AAA3-B08AB5F5506D}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:50.000Z" pageLevel="1"/><one:Page ID="{CF3EFEEF-026C-4156-B3B5-5D9FD0637BB0}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:52.000Z" pageLevel="1"/><one:Page ID="{3E68D1A6-BF4B-413B-ACE3-56435E4546F5}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:54.000Z" pageLevel="1"/><one:Page ID="{339CBA14-5F09-4E74-98D2-DAC2C4AF85DA}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:56.000Z" pageLevel="1" isCurrentlyViewed="true"/></one:Section></one:Notebook>
corpus/paragraph-edit/reconciliation/keyboard/read/page-000.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2245C86F-7CED-4CCD-A2B5-64835D267233}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:34.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="To Do"/><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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:33.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:34.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704788208008" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:34.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:Tag index="0" completed="false" disabled="false" creationDate="2026-09-08T17:25:34.000Z"/><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:33.000Z" objectID="{FF6F426F-6458-4D21-8CA2-C8232DA59D33}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-001.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2491D9D8-BFA7-46D8-A855-D07263E6470E}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:25: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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:27.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:25:27.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Xab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{460B2629-58B0-40B0-8590-702A35A91D80}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-002.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{339CBA14-5F09-4E74-98D2-DAC2C4AF85DA}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:56.000Z" pageLevel="1" isCurrentlyViewed="true" 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-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join empty adoption]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:25:55.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[X]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{753F2A26-21FA-49A5-A7E3-3D97DFE56B0F}{52}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/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="{3E68D1A6-BF4B-413B-ACE3-56435E4546F5}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:54.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:53.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:54.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="99.86865997314453" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:53.000Z" objectID="{3750DABC-69EB-4A22-82ED-2972300956DE}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:25:54.000Z" lastModifiedTime="2026-09-08T17:25:54.000Z" objectID="{ECE8FBDC-BE99-4362-91D7-89667B1B1EDB}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/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="{49638AD3-7021-4A1C-AAA3-B08AB5F5506D}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:50.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="To Do"/><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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:49.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:50.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704788208008" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:50.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:Tag index="0" completed="false" disabled="false" creationDate="2026-09-08T17:25:50.000Z"/><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:49.000Z" objectID="{D86013FB-B193-4A3B-BF7A-753A51E01437}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-005.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{4E20F67A-9223-4BB5-9191-7EC10CE43F1F}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:29.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:28.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>abX&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" objectID="{3224CEC3-F663-4F74-8CBE-540DDC982B1E}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-006.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{57F7D738-2BD4-42F6-B4AF-DB0B2FC7574E}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:36.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:35.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:36.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:36.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold;font-style:italic'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:35.000Z" objectID="{12E5B354-A883-4DEB-984F-1461EE79A1D5}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/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="{6098C8BD-5256-42BE-A5A7-561BF30DE077}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:44.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join right boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:44.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:25:44.000Z" lastModifiedTime="2026-09-08T17:25:44.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>XRight</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:44.000Z" objectID="{0355EDE0-60F1-4C03-BF26-8EB483A0F5AA}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/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="{70252131-654A-4CB2-9015-3264EF828208}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:48.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:48.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="2" fontSize="11.0"/></one:List><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" objectID="{24C6ABE1-25B8-4183-90D0-07A1BFD645EF}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-009.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{A35EA4E1-8740-466B-BBC1-D410A7075FB0}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25: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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:37.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:38.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="99.86865997314453" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{7FF116ED-B5D3-4F42-B7EC-C3CE00FDC9B0}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:25:38.000Z" lastModifiedTime="2026-09-08T17:25:38.000Z" objectID="{B43C3137-73B5-41C0-AEEC-771D59200BA7}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-010.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="{AA94EAE9-FD63-4922-86A1-458933A73EA4}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:29.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:30.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="120.981803894043" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T><one:OEChildren><one:OE creationTime="2026-09-08T17:25:30.000Z" lastModifiedTime="2026-09-08T17:25:30.000Z" objectID="{061647F5-F478-4017-997E-BDEFA8EEA3DA}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Native child</span>]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:29.000Z" objectID="{92829D34-66A4-48FE-AC75-907125308AE5}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-011.xml created+5
...@@ -0,0 +1,5 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AD28524E-CC50-40D0-84FA-157F9867EC05}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25: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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:46.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="120.981803894043" height="53.71086883544922"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T><one:OEChildren><one:OE creationTime="2026-09-08T17:25:46.000Z" lastModifiedTime="2026-09-08T17:25:46.000Z" objectID="{734F84E6-1EB3-4B45-B323-6CD64E233D5D}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
5style='font-weight:bold'>Native child</span>]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" objectID="{E971E60D-4048-4A2C-9151-0CE852F4405D}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-012.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="{C7C8C394-529E-47CA-A13B-7931CC047FB6}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25: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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join left boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:43.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:43.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cdX</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" objectID="{A5D6D966-6004-458B-92AA-51C8DD659D3A}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-013.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="{CF3EFEEF-026C-4156-B3B5-5D9FD0637BB0}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:52.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:51.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:52.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:25:52.000Z" lastModifiedTime="2026-09-08T17:25:52.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold;font-style:italic'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:51.000Z" objectID="{C9681C2A-35ED-4F34-85EB-C6297F12C13F}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-014.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="{DEA76FCD-5853-477C-AD4A-F165915338BB}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:39.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:41.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:40.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Xab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:25:41.000Z" lastModifiedTime="2026-09-08T17:25:41.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>RightY</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:39.000Z" objectID="{62483E36-C372-4F75-90BF-DE6D1F7A5FC1}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-015.xml created+20
...@@ -0,0 +1,20 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E6D68E97-165F-4AEB-A1EC-1748FBC36FA2}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:25:25.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="Rich author" lastModifiedBy="Rich author" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{811A262B-5D2A-495D-AE1E-9B93045F8AC3}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="42.90299224853515"/><one:OEChildren><one:OE creationTime="2026-09-08T04:47:24.000Z" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{867F8EDC-AE57-0257-1E4A-5899CF34F835}{1}{B0}" alignment="left"><one:T><![CDATA[<span style='font-weight:bold;
3text-decoration:underline;font-family:Calibri;font-size:11.0pt'>Bold</span><span
4style='font-family:Calibri;font-size:11.0pt'> </span><span style='font-family:
5Arial;font-size:13.5pt'>&#129408;</span><span style='font-family:Calibri;
6font-size:11.0pt'> </span><span style='font-style:italic;text-decoration:line-through;
7font-family:Calibri;font-size:11.0pt'>italic</span><span style='font-family:
8Calibri;font-size:11.0pt'> </span><span style='vertical-align:super;font-family:
9Calibri;font-size:11.0pt'>é</span><span style='font-family:Calibri;font-size:
1011.0pt'> </span><span style='font-family:Calibri;font-size:11.0pt;color:#0C2238;
11background:yellow;mso-highlight:yellow'>color</span><span style='font-family:
12Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
13Calibri;font-size:11.0pt'>東京</span><span style='font-family:Calibri;font-size:
1411.0pt'><br>
15End</span>]]></one:T></one:OE><one:OE author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{811A262B-5D2A-495D-AE1E-9B93045F8AC3}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
16style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
17style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
18style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
19style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
20lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/page-016.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{F848F52D-F95C-4D45-B54A-E6E7875961C3}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:32.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:32.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren indent="2"><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="2" fontSize="11.0"/></one:List><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE></one:OEChildren><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.000Z" objectID="{748CAF50-7793-4033-9CE8-1E8CF040DEBF}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/keyboard/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../before/read/payloads.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/keyboard/run.json created+18
...@@ -0,0 +1,18 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/paragraph-edit/reconciliation/before/notebook",
3 "expected_pages": 17,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": true,
7 "collect_notebook": true,
8 "base": {
9 "file": "win7-office-base.qcow2",
10 "format": "qcow2",
11 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
12 "virtual_size": 68719476736
13 },
14 "scripts": {
15 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
16 "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
17 }
18}
corpus/paragraph-edit/reconciliation/keyboard/scripts/cold.ps1 created+27
...@@ -0,0 +1,27 @@
1param([Parameter(Mandatory=$true)][string]$Root, [string]$CloneHost = '')
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
5if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
6 throw 'Choose a run directly below C:\one-tests\runs.'
7}
8if (Get-Process ONENOTE -ErrorAction SilentlyContinue) { throw 'Close OneNote before resetting its test cache.' }
9$key = 'HKCU:\Software\Microsoft\Office\14.0\OneNote'
10if ($CloneHost) {
11 if ($CloneHost -notmatch '^ONE-[A-Z0-9-]+$' -or [Environment]::MachineName -ne $CloneHost) {
12 throw 'The disposable clone hostname does not match this machine.'
13 }
14 New-Item "$key\Options\Paths" -Force | Out-Null
15 New-ItemProperty "$key\Options\Paths" -Name UnfiledNotesSection -PropertyType ExpandString -Value 'C:\one-tests\Loose.one' -Force | Out-Null
16} elseif ((Get-ItemProperty "$key\Options\Paths").UnfiledNotesSection -ne 'C:\one-tests\Loose.one' -or
17 -not (Test-Path 'C:\one-tests\profile-original-cache')) {
18 throw 'Park the personal OneNote profile before resetting the test cache.'
19}
20$cache = Join-Path $env:LOCALAPPDATA 'Microsoft\OneNote\14.0'
21$parked = Join-Path 'C:\one-tests\caches' ([IO.Path]::GetFileName($root))
22if (Test-Path $parked) { throw 'Choose a new run; its parked cache already exists.' }
23New-Item -ItemType Directory -Path 'C:\one-tests\caches' -Force | Out-Null
24if (Test-Path $cache) { Move-Item -LiteralPath $cache -Destination $parked }
25if (Test-Path "$key\OpenNotebooks") { Remove-Item "$key\OpenNotebooks" -Recurse }
26New-Item "$key\OpenNotebooks" | Out-Null
27New-ItemProperty "$key\OpenNotebooks" -Name '1' -PropertyType String -Value "$root\notebook" | Out-Null
corpus/paragraph-edit/reconciliation/keyboard/scripts/read.ps1 created+142
...@@ -0,0 +1,142 @@
1param(
2 [Parameter(Mandatory=$true)][string]$Root,
3 [int]$ExpectedPages = -1,
4 [switch]$UseCurrentCache,
5 [switch]$Pdf,
6 [switch]$KeepOpen,
7 [string]$CloneHost = ''
8)
9Set-StrictMode -Version Latest
10$ErrorActionPreference = 'Stop'
11$root = [IO.Path]::GetFullPath($Root).TrimEnd('\')
12if ([IO.Path]::GetDirectoryName($root) -ne 'C:\one-tests\runs') {
13 throw 'Choose a run directly below C:\one-tests\runs.'
14}
15$notebook = Join-Path $root 'notebook'
16$output = Join-Path $root 'read'
17if (Test-Path $output) { throw 'Choose a new read destination.' }
18if ($UseCurrentCache) {
19 if ((Get-ItemProperty 'HKCU:\Software\Microsoft\Office\14.0\OneNote\Options\Paths').UnfiledNotesSection -ne 'C:\one-tests\Loose.one') {
20 throw 'Park the personal OneNote profile before reading test notebooks.'
21 }
22} else {
23 & "$PSScriptRoot\cold-current.ps1" -Root $root -CloneHost $CloneHost
24}
25New-Item -ItemType Directory -Path $output | Out-Null
26$app = New-Object -ComObject OneNote.Application
27$notebookId = ''
28$failure = $null
29try {
30 $app.OpenHierarchy($notebook, '', [ref]$notebookId, 0)
31 $process = Get-Process ONENOTE
32 @{ hostname = [Environment]::MachineName; onenote = $process.MainModule.FileVersionInfo.FileVersion;
33 powershell = $PSVersionTable.PSVersion.ToString(); schema = 'xs2010'; cold = (-not $UseCurrentCache.IsPresent) } |
34 ConvertTo-Json | Set-Content (Join-Path $output 'environment.json') -Encoding UTF8
35 $sections = @()
36 foreach ($file in @(Get-ChildItem $notebook -Recurse | Where-Object { $_.Extension -eq '.one' })) {
37 $id = ''
38 $app.OpenHierarchy($file.FullName, '', [ref]$id, 0)
39 $sections += $id
40 }
41 $deadline = [DateTime]::UtcNow.AddSeconds(300)
42 $previous = ''
43 $lastChange = ''
44 $stableSince = [DateTime]::UtcNow
45 $settled = $false
46 do {
47 $pages = @{}
48 foreach ($section in $sections) {
49 $hierarchy = ''
50 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
51 [xml]$xml = $hierarchy
52 foreach ($node in $xml.SelectNodes('//*[@path]')) {
53 if (-not $node.GetAttribute('path').StartsWith("$notebook\", [StringComparison]::OrdinalIgnoreCase)) {
54 throw 'OneNote opened a section outside the copied notebook.'
55 }
56 }
57 foreach ($node in $xml.SelectNodes('//*[local-name()="Page"]')) {
58 $id = $node.GetAttribute('ID')
59 $content = ''
60 $app.GetPageContent($id, [ref]$content, 1, 1)
61 $pages[$id] = $content
62 }
63 }
64 $signature = [String]::Join('|', @($pages.Keys | Sort-Object | ForEach-Object { $_ + $pages[$_] }))
65 if ($signature -ne $previous) {
66 $lastChange = $previous
67 $previous = $signature
68 $stableSince = [DateTime]::UtcNow
69 }
70 if ((($ExpectedPages -ge 0 -and $pages.Count -eq $ExpectedPages) -or
71 ($ExpectedPages -lt 0 -and $pages.Count -gt 0)) -and
72 ([DateTime]::UtcNow - $stableSince).TotalSeconds -ge 2) { $settled = $true; break }
73 Start-Sleep -Milliseconds 250
74 } while ([DateTime]::UtcNow -lt $deadline)
75 if (-not $settled -or ($ExpectedPages -ge 0 -and $pages.Count -ne $ExpectedPages) -or ($ExpectedPages -lt 0 -and $pages.Count -eq 0)) {
76 [IO.File]::WriteAllText((Join-Path $output 'previous-signature.txt'), $lastChange, [Text.Encoding]::UTF8)
77 $index = 0
78 foreach ($id in @($pages.Keys | Sort-Object)) {
79 [IO.File]::WriteAllText((Join-Path $output ('unsettled-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
80 $index++
81 }
82 $hierarchy = ''
83 $app.GetHierarchy($notebookId, 4, [ref]$hierarchy, 1)
84 [IO.File]::WriteAllText((Join-Path $output 'unsettled-hierarchy.xml'), $hierarchy, [Text.Encoding]::UTF8)
85 throw "Expected $ExpectedPages stable pages; OneNote returned $($pages.Count), settled=$settled."
86 }
87 $index = 0
88 $payloads = @()
89 foreach ($id in @($pages.Keys | Sort-Object)) {
90 [IO.File]::WriteAllText((Join-Path $output ('page-{0:d3}.xml' -f $index)), $pages[$id], [Text.Encoding]::UTF8)
91 if ($Pdf) {
92 $pdfPath = Join-Path $output ('page-{0:d3}.pdf' -f $index)
93 $app.NavigateTo($id, '', $false)
94 $app.Publish($id, $pdfPath, 3, '')
95 if (-not (Test-Path $pdfPath) -or (Get-Item $pdfPath).Length -eq 0) { throw 'OneNote did not publish the page PDF.' }
96 }
97 [xml]$page = $pages[$id]
98 foreach ($file in $page.SelectNodes('//*[local-name()="InsertedFile" or local-name()="MediaFile"]')) {
99 $bytes = [IO.File]::ReadAllBytes($file.GetAttribute('pathCache'))
100 $hash = [BitConverter]::ToString([Security.Cryptography.SHA256]::Create().ComputeHash($bytes)).Replace('-', '').ToLowerInvariant()
101 [IO.File]::WriteAllBytes((Join-Path $output ($hash + '.attachment')), $bytes)
102 $payloads += @{ page = $id; object = $file.ParentNode.GetAttribute('objectID');
103 kind = $file.LocalName; name = $file.GetAttribute('preferredName');
104 sha256 = $hash; bytes = $bytes.Length }
105 }
106 $index++
107 }
108 [IO.File]::WriteAllText((Join-Path $output 'payloads.json'), (ConvertTo-Json -InputObject $payloads -Depth 4), [Text.Encoding]::UTF8)
109 $all = ''
110 $app.GetHierarchy($notebookId, 4, [ref]$all, 1)
111 [xml]$finalTree = $all
112 $finalIds = @($finalTree.SelectNodes('//*[local-name()="Page"]') | ForEach-Object { $_.GetAttribute('ID') } | Sort-Object -Unique)
113 if ($finalIds.Count -ne $pages.Count -or @($finalIds | Where-Object { -not $pages.ContainsKey($_) }).Count -ne 0) {
114 throw 'The notebook hierarchy changed while collecting page evidence; repeat the cold read.'
115 }
116 [IO.File]::WriteAllText((Join-Path $output 'hierarchy.xml'), $all, [Text.Encoding]::UTF8)
117 Write-Output "Read $($sections.Count) sections and $($pages.Count) pages."
118} catch {
119 $failure = $_
120 [IO.File]::WriteAllText((Join-Path $output 'failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
121 throw
122} finally {
123 try {
124 try {
125 if ($notebookId -and $CloneHost) { $app.SyncHierarchy($notebookId) }
126 if ($notebookId -and -not $KeepOpen -and (-not $UseCurrentCache -or $CloneHost)) {
127 $app.CloseNotebook($notebookId, $false)
128 }
129 } catch {
130 if ($null -eq $failure) { throw }
131 [IO.File]::WriteAllText((Join-Path $output 'cleanup-failure.txt'), ($_ | Out-String), [Text.Encoding]::UTF8)
132 }
133 } finally {
134 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
135 }
136 $app = $null
137 [GC]::Collect()
138 [GC]::WaitForPendingFinalizers()
139 if (-not $UseCurrentCache -and -not $CloneHost) {
140 Get-Process ONENOTE -ErrorAction SilentlyContinue | Wait-Process -Timeout 10
141 }
142}
corpus/paragraph-edit/reconciliation/keyboard/source.json created+14
...@@ -0,0 +1,14 @@
1[
2 {
3 "path": "Open Notebook.onetoc2",
4 "bytes": 4800,
5 "sha256": "1122dbd6fe3ee18a8cdf6c1e65521faa69119bafb220828fc86e7c858d7e3e76",
6 "mtime_ns": 1788887226300088396
7 },
8 {
9 "path": "synthetic.one",
10 "bytes": 100944,
11 "sha256": "c40709e26e9e5f177956747cb4b862f8a9f2c1c0e155b77dd54abb148ae9bba5",
12 "mtime_ns": 1788887226300365479
13 }
14]
corpus/paragraph-edit/reconciliation/keyboard/teardown.json created+1
...@@ -0,0 +1 @@
1../../joined/teardown.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/reconciled/candidate/synthetic.one created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/reconciled/candidate/synthetic.one differ
corpus/paragraph-edit/reconciliation/reconciled/manifest.json created+323
...@@ -0,0 +1,323 @@
1[
2 {
3 "case": "Split remote prefix",
4 "dependent_receipt": "{CE7388B9-8702-4628-B5FD-1CB0A86C7579},1",
5 "intent": {
6 "author": "Offline author",
7 "created": 1473355695,
8 "guid": [
9 72,
10 3,
11 21,
12 225,
13 173,
14 175,
15 163,
16 66,
17 181,
18 182,
19 27,
20 215,
21 235,
22 175,
23 30,
24 101
25 ],
26 "offset": 2,
27 "text": "{C4C5964A-00F6-06E5-1947-EF9DD9BFF93E},44"
28 },
29 "outcome": "automatic",
30 "receipt": "{32C8046A-B530-44D9-932E-964D583CE2DC},1",
31 "space": "{A65F69BB-E7E1-008D-3482-4FC58FF0A3B0},1"
32 },
33 {
34 "case": "Split remote boundary",
35 "dependent_receipt": "{BA2BDF8F-DCC0-4065-90F1-6983A1F37E15},1",
36 "intent": {
37 "author": "Offline author",
38 "created": 1473355696,
39 "guid": [
40 121,
41 163,
42 49,
43 221,
44 144,
45 2,
46 69,
47 72,
48 145,
49 115,
50 17,
51 231,
52 77,
53 231,
54 13,
55 167
56 ],
57 "offset": 2,
58 "text": "{B0EA7EA0-AE25-0921-1069-CBBA308ECFA0},44"
59 },
60 "outcome": "reviewed",
61 "receipt": "{EE6FDF11-A1B9-402D-B1BE-F7EE9004909F},1",
62 "space": "{CCEE4619-CA65-0DE0-0D46-E176E0F2DBA1},1"
63 },
64 {
65 "case": "Split remote child",
66 "dependent_receipt": "{FFEEB215-51E2-44B6-8D3B-475400347A22},1",
67 "intent": {
68 "author": "Offline author",
69 "created": 1473355696,
70 "guid": [
71 229,
72 160,
73 224,
74 139,
75 80,
76 49,
77 248,
78 79,
79 147,
80 199,
81 22,
82 222,
83 227,
84 116,
85 32,
86 195
87 ],
88 "offset": 2,
89 "text": "{104C2D57-3EE2-0EAB-30A2-0FC6C9266E5B},44"
90 },
91 "outcome": "reviewed",
92 "receipt": "{B3E8433E-8363-4424-8B20-C0F3A9712D81},1",
93 "space": "{285A5A8A-A525-0F77-1A76-DA3EDFB1DA1A},1"
94 },
95 {
96 "case": "Split remote list",
97 "dependent_receipt": "{A50CB64F-C580-43E9-B1DF-522FB18B6B51},1",
98 "intent": {
99 "author": "Offline author",
100 "created": 1473355697,
101 "guid": [
102 6,
103 118,
104 122,
105 220,
106 71,
107 210,
108 164,
109 79,
110 154,
111 8,
112 22,
113 195,
114 142,
115 16,
116 93,
117 166
118 ],
119 "offset": 2,
120 "text": "{F6421F33-2FD5-0666-003F-813B1C563A01},44"
121 },
122 "outcome": "reviewed",
123 "receipt": "{967507AF-A4FC-4593-85DA-DB4BDB215CB8},1",
124 "space": "{7A86454E-A11A-0B10-299D-79506B4F857D},1"
125 },
126 {
127 "case": "Split remote tag",
128 "dependent_receipt": "{8C68C1BF-FA7C-414C-B4C8-6D6330816B67},1",
129 "intent": {
130 "author": "Offline author",
131 "created": 1473355698,
132 "guid": [
133 190,
134 238,
135 93,
136 84,
137 186,
138 28,
139 195,
140 65,
141 140,
142 108,
143 184,
144 101,
145 128,
146 188,
147 55,
148 19
149 ],
150 "offset": 2,
151 "text": "{7DA1F20C-3C1E-0B74-1075-5794C1B3798D},44"
152 },
153 "outcome": "reviewed",
154 "receipt": "{ABF29E0E-5267-416D-BCDC-C6A5E7378D30},1",
155 "space": "{A08B780C-24AB-0A98-3E62-FB34B130968D},1"
156 },
157 {
158 "case": "Split remote format",
159 "dependent_receipt": "{D9948EA1-D7AA-450F-949C-1489C5B37D92},1",
160 "intent": {
161 "author": "Offline author",
162 "created": 1473355698,
163 "guid": [
164 56,
165 178,
166 113,
167 83,
168 197,
169 69,
170 46,
171 64,
172 181,
173 97,
174 8,
175 109,
176 138,
177 17,
178 10,
179 110
180 ],
181 "offset": 2,
182 "text": "{902B0337-F0C5-0BBE-0498-8BD6026F456B},44"
183 },
184 "outcome": "automatic",
185 "receipt": "{C93BEE05-161E-45D1-90A7-9EBCB1889577},1",
186 "space": "{D539675B-7392-04A3-2878-44BCC3D1B3F0},1"
187 },
188 {
189 "case": "Split remote sibling",
190 "dependent_receipt": "{971EC3CC-2FD5-4A40-A9DF-A7E250057BF6},1",
191 "intent": {
192 "author": "Offline author",
193 "created": 1473355699,
194 "guid": [
195 29,
196 215,
197 155,
198 66,
199 220,
200 243,
201 26,
202 76,
203 178,
204 203,
205 57,
206 141,
207 56,
208 243,
209 174,
210 46
211 ],
212 "offset": 2,
213 "text": "{FD3FA68E-ED95-0917-2B3B-5C79ECEB2D0E},44"
214 },
215 "outcome": "automatic",
216 "receipt": "{CF2A16BE-1BC9-4A42-BA60-EA637480552C},1",
217 "space": "{21901482-DF06-003E-2716-4BA74B11BB0E},1"
218 },
219 {
220 "case": "Join remote prefix",
221 "dependent_receipt": "{2D17C528-B546-40FA-8485-16C9B0DABF6E},1",
222 "intent": {
223 "author": "Offline author",
224 "left": "{E0868E55-9B34-0920-0C68-41DAF36CBB7F},44",
225 "right": "{E0868E55-9B34-0920-0C68-41DAF36CBB7F},50"
226 },
227 "outcome": "automatic",
228 "receipt": "{F63692D3-3D09-43A6-890D-10C65A159B16},1",
229 "space": "{5C69DFAE-0015-0129-319D-6ED27D45DC05},1"
230 },
231 {
232 "case": "Join left boundary",
233 "dependent_receipt": "{0CA7FB85-F492-47BD-919C-6A919CFB409E},1",
234 "intent": {
235 "author": "Offline author",
236 "left": "{27186905-3842-03DE-0E7D-CE7F31737984},44",
237 "right": "{27186905-3842-03DE-0E7D-CE7F31737984},50"
238 },
239 "outcome": "reviewed",
240 "receipt": "{166E0BE9-230F-43E9-8555-C6776B5D6183},1",
241 "space": "{450673F7-0AD8-019F-3DEC-E68620129B08},1"
242 },
243 {
244 "case": "Join right boundary",
245 "dependent_receipt": "{F89D5093-F20C-4391-9F38-6C716922731D},1",
246 "intent": {
247 "author": "Offline author",
248 "left": "{819B5D83-38B7-0A56-23F1-11036FB61114},44",
249 "right": "{819B5D83-38B7-0A56-23F1-11036FB61114},50"
250 },
251 "outcome": "reviewed",
252 "receipt": "{084D104B-CB74-492A-8EAF-0D9E8E6F6099},1",
253 "space": "{E25678DE-0A10-04EB-3970-C9AC1F1B04C9},1"
254 },
255 {
256 "case": "Join remote child",
257 "dependent_receipt": "{2196E1EA-49A6-4A1C-B0FE-3CCBCD1EA993},1",
258 "intent": {
259 "author": "Offline author",
260 "left": "{6BBF566E-180E-0C79-0D86-935FBEE2A4E3},44",
261 "right": "{6BBF566E-180E-0C79-0D86-935FBEE2A4E3},50"
262 },
263 "outcome": "reviewed",
264 "receipt": "{69B85C08-6FD0-4756-B20A-39A342BA516C},1",
265 "space": "{2FE6E22D-9416-0685-182D-8AC8747108BB},1"
266 },
267 {
268 "case": "Join remote list",
269 "intent": {
270 "author": "Offline author",
271 "left": "{A6081B82-7DFE-07D6-0C07-981653C0A151},44",
272 "right": "{A6081B82-7DFE-07D6-0C07-981653C0A151},50"
273 },
274 "outcome": "retained_conflict",
275 "space": "{F2EB9152-3D0C-0AE7-0CC2-ADD3039466B6},1"
276 },
277 {
278 "case": "Join remote tag",
279 "dependent_receipt": "{F4EB3C75-AB8C-4E7C-9A64-69593946321E},1",
280 "intent": {
281 "author": "Offline author",
282 "left": "{5AAEA398-E9D5-0C6E-23AD-EA8DBDF6F089},44",
283 "right": "{5AAEA398-E9D5-0C6E-23AD-EA8DBDF6F089},50"
284 },
285 "outcome": "reviewed",
286 "receipt": "{5AC635E3-AC61-41EF-9424-737AD0EAAF32},1",
287 "space": "{CBAD3AB0-2867-0C49-3674-2F3D59E3B4D3},1"
288 },
289 {
290 "case": "Join remote format",
291 "dependent_receipt": "{649CC682-7CCB-4A9E-9C26-06DDF3A7F49E},1",
292 "intent": {
293 "author": "Offline author",
294 "left": "{4BA6AC49-6DAB-0961-193C-599E93042581},44",
295 "right": "{4BA6AC49-6DAB-0961-193C-599E93042581},50"
296 },
297 "outcome": "automatic",
298 "receipt": "{F63BD836-C10E-4928-890D-9BCB13C1C3F5},1",
299 "space": "{4DF04E8C-5A2A-0703-2F62-C2283C759F0E},1"
300 },
301 {
302 "case": "Join remote sibling",
303 "dependent_receipt": "{2A4C6024-4FF9-46A9-83A1-34F1A7EF62F2},1",
304 "intent": {
305 "author": "Offline author",
306 "left": "{B59E6ADF-31AD-0C77-1E3A-B6C5DC1FB260},44",
307 "right": "{B59E6ADF-31AD-0C77-1E3A-B6C5DC1FB260},50"
308 },
309 "outcome": "automatic",
310 "receipt": "{B29D40A5-BAE2-48BA-9028-25A1B14CF27F},1",
311 "space": "{BCA661C5-E70D-076E-3034-C9F4B253A24B},1"
312 },
313 {
314 "case": "Join empty adoption",
315 "intent": {
316 "author": "Offline author",
317 "left": "{F7F19A45-79BC-0FF0-3B34-A22033F38FB1},45",
318 "right": "{F7F19A45-79BC-0FF0-3B34-A22033F38FB1},50"
319 },
320 "outcome": "retained_conflict",
321 "space": "{B1520A77-074F-0821-0405-457528B96164},1"
322 }
323]
\ No newline at end of file
corpus/paragraph-edit/reconciliation/reconciled/native/commands.jsonl created+3
...@@ -0,0 +1,3 @@
1{"command": "powershell -NoProfile -Command \"Expand-Archive -LiteralPath C:\\one-tests\\transfer.zip -DestinationPath C:\\one-tests\\runs\\capture\\notebook\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
2{"command": "powershell -NoProfile -NonInteractive -ExecutionPolicy Bypass -File C:\\one-tests\\read-current.ps1 -Root C:\\one-tests\\runs\\capture -CloneHost ONE-M6-C4BC54FD -ExpectedPages 17", "exit": 0, "stdout": "Read 1 sections and 17 pages.\r\n", "stderr": "", "error": null}
3{"command": "powershell -NoProfile -Command \"Compress-Archive -Force -Path C:\\one-tests\\runs\\capture\\* -DestinationPath C:\\one-tests\\captured.zip\"", "exit": 0, "stdout": "", "stderr": "", "error": null}
corpus/paragraph-edit/reconciliation/reconciled/native/notebook/Open Notebook.onetoc2 created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/reconciled/native/notebook/Open Notebook.onetoc2 differ
corpus/paragraph-edit/reconciliation/reconciled/native/notebook/synthetic.one created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/reconciled/native/notebook/synthetic.one differ
corpus/paragraph-edit/reconciliation/reconciled/native/read/environment.json created+7
...@@ -0,0 +1,7 @@
1{
2 "powershell": "5.1.14409.1005",
3 "schema": "xs2010",
4 "hostname": "ONE-M6-C4BC54FD",
5 "cold": true,
6 "onenote": "14.0.4763.1000"
7}
corpus/paragraph-edit/reconciliation/reconciled/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="{C25A520E-0B46-4D94-9262-9C93369EA75B}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-08T17:30:21.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{EF39F1F6-0D42-013A-2F01-BD30F707B860}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-08T17:30:21.000Z" color="#8AA8E4"><one:Page ID="{C3700270-8489-422B-A866-15A10B3FA47F}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:30:21.000Z" pageLevel="1"/><one:Page ID="{0137553F-2D71-4E18-A1DF-D29B931A8CD3}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:25:26.000Z" pageLevel="1"/><one:Page ID="{6B867A9D-00F5-4375-981B-7C28FC18F4C2}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" pageLevel="1"/><one:Page ID="{8F32660E-6FB5-41E2-8F2B-4760C35BF579}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.000Z" pageLevel="1"/><one:Page ID="{DDEE79CA-6B8A-4585-BCC0-E40E77A5AA1E}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:32.000Z" pageLevel="1"/><one:Page ID="{07E34488-EE3B-440D-AB3F-666AADDAB9EE}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:34.000Z" pageLevel="1"/><one:Page ID="{72515BDF-B902-4A36-BD25-D9E2DF3B9C93}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:36.000Z" pageLevel="1"/><one:Page ID="{86F82806-1596-4EAB-B24B-D6F957FB946D}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:39.000Z" pageLevel="1"/><one:Page ID="{FB01E32A-CA85-4FBC-A4C0-F38C61AFF366}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" pageLevel="1"/><one:Page ID="{E26E4F73-C048-4F0A-A8B1-7BD83CF8B46B}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:43.000Z" pageLevel="1"/><one:Page ID="{453E445A-C080-4A7E-AC2D-54F203F12BAA}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" pageLevel="1"/><one:Page ID="{888EDEA9-5E86-4810-8D70-1796689B27D8}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" pageLevel="1"/><one:Page ID="{5583ADD6-F79C-4472-999F-308D1F7E49D5}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:48.000Z" pageLevel="1"/><one:Page ID="{6CC50634-E2F7-42DC-A329-B26345099BB0}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:50.000Z" pageLevel="1"/><one:Page ID="{EA987208-90BA-4996-BA3F-5F76209FB06D}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:52.000Z" pageLevel="1"/><one:Page ID="{1BCE5D41-2D9D-49FB-A569-54AAAEB98D28}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:54.000Z" pageLevel="1"/><one:Page ID="{163A36F3-CDDF-46B4-9158-D82B34534E07}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:56.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/paragraph-edit/reconciliation/reconciled/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="{0137553F-2D71-4E18-A1DF-D29B931A8CD3}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:25:26.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{63ADAACE-CA66-4870-8C1A-72C3C555D65D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:16.000Z" objectID="{63ADAACE-CA66-4870-8C1A-72C3C555D65D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:28:16.000Z" objectID="{63ADAACE-CA66-4870-8C1A-72C3C555D65D}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Xab</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:15.000Z" lastModifiedTime="2026-09-08T17:28:16.000Z" objectID="{467D3FCC-653D-0C36-20EB-8689F7453106}{1}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>&#129408;Cd</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{63ADAACE-CA66-4870-8C1A-72C3C555D65D}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/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="{07E34488-EE3B-440D-AB3F-666AADDAB9EE}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:34.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="To Do"/><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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:33.000Z" objectID="{DAC9CE88-F68E-45E1-8528-CACADD5956EE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:18.000Z" objectID="{DAC9CE88-F68E-45E1-8528-CACADD5956EE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704788208008" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:28:18.000Z" objectID="{DAC9CE88-F68E-45E1-8528-CACADD5956EE}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:Tag index="0" completed="false" disabled="false" creationDate="2026-09-08T17:25:34.000Z"/><one:T><![CDATA[<span
3style='font-weight:bold'>ab</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:18.000Z" lastModifiedTime="2026-09-08T17:28:18.000Z" objectID="{F335D23A-D62A-0F56-1931-253B9C561870}{1}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>&#129408;Cd</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:33.000Z" objectID="{DAC9CE88-F68E-45E1-8528-CACADD5956EE}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-002.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{163A36F3-CDDF-46B4-9158-D82B34534E07}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:56.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-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{5099A6C1-B32C-4165-AE69-3F7E2F19A0D2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join empty adoption]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{5099A6C1-B32C-4165-AE69-3F7E2F19A0D2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:25:55.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{5099A6C1-B32C-4165-AE69-3F7E2F19A0D2}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[X]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{5099A6C1-B32C-4165-AE69-3F7E2F19A0D2}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:25:55.000Z" objectID="{5099A6C1-B32C-4165-AE69-3F7E2F19A0D2}{52}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-003.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{1BCE5D41-2D9D-49FB-A569-54AAAEB98D28}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:54.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:53.000Z" objectID="{12F6565B-FB3D-42E2-8B67-2B9BC0F59D03}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:23.000Z" objectID="{12F6565B-FB3D-42E2-8B67-2B9BC0F59D03}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="99.86865997314453" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:23.000Z" objectID="{12F6565B-FB3D-42E2-8B67-2B9BC0F59D03}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;CdRight</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:25:54.000Z" lastModifiedTime="2026-09-08T17:25:54.000Z" objectID="{C94E773B-2C4F-4BA2-985D-8B8F8BE7D506}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-004.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{453E445A-C080-4A7E-AC2D-54F203F12BAA}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:44.000Z" objectID="{26F36107-F227-44C3-B6AC-8C5D735C3E77}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join right boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:21.000Z" objectID="{26F36107-F227-44C3-B6AC-8C5D735C3E77}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:21.000Z" objectID="{26F36107-F227-44C3-B6AC-8C5D735C3E77}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;CdXRight</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:44.000Z" objectID="{26F36107-F227-44C3-B6AC-8C5D735C3E77}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/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="{5583ADD6-F79C-4472-999F-308D1F7E49D5}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:48.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" objectID="{01602706-B76E-4943-995A-05484F2A8E32}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:25:48.000Z" objectID="{01602706-B76E-4943-995A-05484F2A8E32}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{01602706-B76E-4943-995A-05484F2A8E32}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" objectID="{01602706-B76E-4943-995A-05484F2A8E32}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="2" fontSize="11.0"/></one:List><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:47.000Z" objectID="{01602706-B76E-4943-995A-05484F2A8E32}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/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="{6B867A9D-00F5-4375-981B-7C28FC18F4C2}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" objectID="{17824224-64B5-47B4-8534-56E42C64E0C3}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:16.000Z" objectID="{17824224-64B5-47B4-8534-56E42C64E0C3}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:28:16.000Z" objectID="{17824224-64B5-47B4-8534-56E42C64E0C3}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>abX</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:16.000Z" lastModifiedTime="2026-09-08T17:28:16.000Z" objectID="{7A599FFD-C800-06D0-042E-8CB9510D22C4}{1}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>&#129408;Cd</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:28.000Z" objectID="{17824224-64B5-47B4-8534-56E42C64E0C3}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-007.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6CC50634-E2F7-42DC-A329-B26345099BB0}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17: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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:49.000Z" objectID="{FDC69F1C-2345-42FB-B6F0-77D3A11CDFEA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:22.000Z" objectID="{FDC69F1C-2345-42FB-B6F0-77D3A11CDFEA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:22.000Z" objectID="{FDC69F1C-2345-42FB-B6F0-77D3A11CDFEA}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;CdRight</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:49.000Z" objectID="{FDC69F1C-2345-42FB-B6F0-77D3A11CDFEA}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/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="{72515BDF-B902-4A36-BD25-D9E2DF3B9C93}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:36.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:35.000Z" objectID="{37433FB3-3A55-452B-91C5-16881E856A08}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{37433FB3-3A55-452B-91C5-16881E856A08}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:28:18.000Z" objectID="{37433FB3-3A55-452B-91C5-16881E856A08}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold;font-style:italic'>ab</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:18.000Z" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{F4198EBC-8F55-0EBB-203C-953396FB250D}{1}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold;font-style:italic'>&#129408;Cd</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:35.000Z" objectID="{37433FB3-3A55-452B-91C5-16881E856A08}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-009.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="{86F82806-1596-4EAB-B24B-D6F957FB946D}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25: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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:37.000Z" objectID="{5A579A0A-2705-4782-BE66-C127F001026D}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{5A579A0A-2705-4782-BE66-C127F001026D}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="99.86865997314453" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{5A579A0A-2705-4782-BE66-C127F001026D}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:19.000Z" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{E5F3EB99-394C-028F-2796-A4D32419814D}{1}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>&#129408;Cd</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:25:38.000Z" lastModifiedTime="2026-09-08T17:25:38.000Z" objectID="{919ABDD0-E163-4900-A766-75F4A9DCC07A}{11}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-010.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="{888EDEA9-5E86-4810-8D70-1796689B27D8}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25: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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" objectID="{CCD76AEA-D29E-42EC-98DB-0E01A2088B80}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:21.000Z" objectID="{CCD76AEA-D29E-42EC-98DB-0E01A2088B80}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="120.981803894043" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:21.000Z" objectID="{CCD76AEA-D29E-42EC-98DB-0E01A2088B80}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
3style='font-weight:bold'>ab&#129408;CdRight</span>]]></one:T><one:OEChildren><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:25:46.000Z" lastModifiedTime="2026-09-08T17:25:46.000Z" objectID="{56E90801-8C65-4385-BAA9-6E3FBEDFF680}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Native child</span>]]></one:T></one:OE></one:OEChildren></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:45.000Z" objectID="{CCD76AEA-D29E-42EC-98DB-0E01A2088B80}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-011.xml created+5
...@@ -0,0 +1,5 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{8F32660E-6FB5-41E2-8F2B-4760C35BF579}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:29.000Z" objectID="{B72411D3-F472-403E-A5FF-9298D5CC4138}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:17.000Z" objectID="{B72411D3-F472-403E-A5FF-9298D5CC4138}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="120.981803894043" height="53.71086883544922"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:28:17.000Z" objectID="{B72411D3-F472-403E-A5FF-9298D5CC4138}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:16.000Z" lastModifiedTime="2026-09-08T17:28:17.000Z" objectID="{2C889C61-FBC0-016D-069A-8B80FF9E0FA0}{1}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
4style='font-weight:bold'>&#129408;Cd</span>]]></one:T><one:OEChildren><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:25:30.000Z" lastModifiedTime="2026-09-08T17:25:30.000Z" objectID="{23B0CB12-66AE-48D7-90F4-BF0658126807}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
5style='font-weight:bold'>Native child</span>]]></one:T></one:OE></one:OEChildren></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:29.000Z" objectID="{B72411D3-F472-403E-A5FF-9298D5CC4138}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-012.xml created+20
...@@ -0,0 +1,20 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C3700270-8489-422B-A866-15A10B3FA47F}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:30: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="Rich author" lastModifiedBy="Rich author" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{A4BCAACC-CFFC-419D-A794-997AF4A3411E}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="42.90299224853515"/><one:OEChildren><one:OE creationTime="2026-09-08T04:47:24.000Z" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{A3D9023B-3C81-0A97-17C0-5A703FC833E8}{1}{B0}" alignment="left"><one:T><![CDATA[<span style='font-weight:bold;
3text-decoration:underline;font-family:Calibri;font-size:11.0pt'>Bold</span><span
4style='font-family:Calibri;font-size:11.0pt'> </span><span style='font-family:
5Arial;font-size:13.5pt'>&#129408;</span><span style='font-family:Calibri;
6font-size:11.0pt'> </span><span style='font-style:italic;text-decoration:line-through;
7font-family:Calibri;font-size:11.0pt'>italic</span><span style='font-family:
8Calibri;font-size:11.0pt'> </span><span style='vertical-align:super;font-family:
9Calibri;font-size:11.0pt'>é</span><span style='font-family:Calibri;font-size:
1011.0pt'> </span><span style='font-family:Calibri;font-size:11.0pt;color:#0C2238;
11background:yellow;mso-highlight:yellow'>color</span><span style='font-family:
12Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
13Calibri;font-size:11.0pt'>東京</span><span style='font-family:Calibri;font-size:
1411.0pt'><br>
15End</span>]]></one:T></one:OE><one:OE author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{A4BCAACC-CFFC-419D-A794-997AF4A3411E}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
16style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
17style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
18style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
19style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
20lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-013.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="{DDEE79CA-6B8A-4585-BCC0-E40E77A5AA1E}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:32.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-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.000Z" objectID="{512A23B7-E545-48F3-9562-1C6500BC1562}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:18.000Z" objectID="{512A23B7-E545-48F3-9562-1C6500BC1562}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren indent="2"><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:28:17.000Z" objectID="{512A23B7-E545-48F3-9562-1C6500BC1562}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="2" fontSize="11.0"/></one:List><one:T><![CDATA[<span
3style='font-weight:bold'>ab</span>]]></one:T></one:OE><one:OE author="Offline author" creationTime="2026-09-08T17:28:17.000Z" lastModifiedTime="2026-09-08T17:28:18.000Z" objectID="{7B124A82-18D7-0131-0F55-8B9D92FA72C5}{1}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="2" fontSize="11.0"/></one:List><one:T><![CDATA[<span
4style='font-weight:bold'>&#129408;Cd</span>]]></one:T></one:OE></one:OEChildren><one:OEChildren><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:25:31.000Z" objectID="{512A23B7-E545-48F3-9562-1C6500BC1562}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-014.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E26E4F73-C048-4F0A-A8B1-7BD83CF8B46B}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:43.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" objectID="{80705581-F2D2-4D4B-9B20-53212D9956E7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join left boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:20.000Z" objectID="{80705581-F2D2-4D4B-9B20-53212D9956E7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:20.000Z" objectID="{80705581-F2D2-4D4B-9B20-53212D9956E7}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;CdXRight</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.000Z" objectID="{80705581-F2D2-4D4B-9B20-53212D9956E7}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-015.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="{EA987208-90BA-4996-BA3F-5F76209FB06D}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:52.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:51.000Z" objectID="{ECCE90CD-A73B-47F4-8C61-C4C08FEE0AE2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:23.000Z" objectID="{ECCE90CD-A73B-47F4-8C61-C4C08FEE0AE2}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:23.000Z" objectID="{ECCE90CD-A73B-47F4-8C61-C4C08FEE0AE2}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;Cd</span><span style='font-weight:bold;
4font-style:italic'>Right</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:51.000Z" objectID="{ECCE90CD-A73B-47F4-8C61-C4C08FEE0AE2}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/page-016.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FB01E32A-CA85-4FBC-A4C0-F38C61AFF366}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:42.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-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:39.000Z" objectID="{47EEB2D1-51A4-47B5-9935-DC84EF86941C}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="Offline author" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{47EEB2D1-51A4-47B5-9935-DC84EF86941C}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:28:19.000Z" objectID="{47EEB2D1-51A4-47B5-9935-DC84EF86941C}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Xab&#129408;CdRightY</span>]]></one:T></one:OE><one:OE lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:25:39.000Z" objectID="{47EEB2D1-51A4-47B5-9935-DC84EF86941C}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/reconciled/native/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../../before/read/payloads.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/reconciled/native/run.json created+18
...@@ -0,0 +1,18 @@
1{
2 "notebook": "/Users/clo/dev/one/evidence/m10/paragraph-native-reconciled-01/candidate",
3 "expected_pages": 17,
4 "author": null,
5 "author_timeout_seconds": 600,
6 "inspect": false,
7 "collect_notebook": true,
8 "base": {
9 "file": "win7-office-base.qcow2",
10 "format": "qcow2",
11 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
12 "virtual_size": 68719476736
13 },
14 "scripts": {
15 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
16 "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
17 }
18}
corpus/paragraph-edit/reconciliation/reconciled/native/scripts/cold.ps1 created+1
...@@ -0,0 +1 @@
1../../../keyboard/scripts/cold.ps1
\ No newline at end of file
corpus/paragraph-edit/reconciliation/reconciled/native/scripts/read.ps1 created+1
...@@ -0,0 +1 @@
1../../../keyboard/scripts/read.ps1
\ No newline at end of file
corpus/paragraph-edit/reconciliation/reconciled/native/source.json created+8
...@@ -0,0 +1,8 @@
1[
2 {
3 "path": "synthetic.one",
4 "bytes": 171880,
5 "sha256": "1d35503a9b47fcd2f1e776e77f200a4d7390c6e1d3a63974f4e2b2cea7959692",
6 "mtime_ns": 1788888504006534380
7 }
8]
corpus/paragraph-edit/reconciliation/reconciled/native/teardown.json created+1
...@@ -0,0 +1 @@
1../../../joined/teardown.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-remaining-script.json created+5
...@@ -0,0 +1,5 @@
1{
2 "sha256": "a7e23f927eaa9b7205aca31a37ac3eea3f27766c3661ac631cd07eb2d65f4ef4",
3 "source": "tools/native/paragraph-reconciliation.ps1",
4 "change": "Resume only cases 4 through 15 after observed first four applied updates; TagDef moved before PageSettings per published XSD"
5}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-script.json created+5
...@@ -0,0 +1,5 @@
1{
2 "sha256": "c9da4ad1ca8af8203f1ceed49d34f6bd37cfb0b383082e4c808f22c34b5424b9",
3 "source": "tools/native/paragraph-reconciliation.ps1",
4 "switch": "Remote"
5}
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join empty adoption.xml created+31
...@@ -0,0 +1,31 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{BDAF1525-2FB9-4C74-9CF0-ED24DF6E39C6}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{FB0C8517-514A-4BA5-A3C1-0A71C424D713}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join empty adoption]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{FB0C8517-514A-4BA5-A3C1-0A71C424D713}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{FB0C8517-514A-4BA5-A3C1-0A71C424D713}{40}{B0}" alignment="left" quickStyleIndex="0">
20 <one:T>X</one:T>
21 </one:OE>
22 <one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{FB0C8517-514A-4BA5-A3C1-0A71C424D713}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
23 <one:T><![CDATA[<span
24style='font-weight:bold'>Right</span>]]></one:T>
25 </one:OE>
26 <one:OE creationTime="2026-09-08T17:05:13.000Z" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{FB0C8517-514A-4BA5-A3C1-0A71C424D713}{52}{B0}" alignment="left" quickStyleIndex="0">
27 <one:T><![CDATA[Preserved sibling]]></one:T>
28 </one:OE>
29 </one:OEChildren>
30 </one:Outline>
31</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join left boundary.xml created+32
...@@ -0,0 +1,32 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{49FB6CA5-222E-45CA-A519-4ED7D7C5C3AA}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{2BE57657-10B4-478B-9688-662EC6A42126}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join left boundary]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{2BE57657-10B4-478B-9688-662EC6A42126}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{2BE57657-10B4-478B-9688-662EC6A42126}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T>&lt;span
21style='font-weight:bold'&gt;ab&amp;#129408;cd&lt;/span&gt;X</one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{2BE57657-10B4-478B-9688-662EC6A42126}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:T><![CDATA[<span
25style='font-weight:bold'>Right</span>]]></one:T>
26 </one:OE>
27 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{2BE57657-10B4-478B-9688-662EC6A42126}{51}{B0}" alignment="left" quickStyleIndex="0">
28 <one:T><![CDATA[Preserved sibling]]></one:T>
29 </one:OE>
30 </one:OEChildren>
31 </one:Outline>
32</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join remote child.xml created+37
...@@ -0,0 +1,37 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{231BFD7F-BCE0-42D0-80D8-229983A65019}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{6742493C-30F8-482C-9573-3B0E4935FC41}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join remote child]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{6742493C-30F8-482C-9573-3B0E4935FC41}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{6742493C-30F8-482C-9573-3B0E4935FC41}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T><![CDATA[<span
21style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{6742493C-30F8-482C-9573-3B0E4935FC41}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:T><![CDATA[<span
25style='font-weight:bold'>Right</span>]]></one:T>
26 <one:OEChildren>
27 <one:OE>
28 <one:T>Native child</one:T>
29 </one:OE>
30 </one:OEChildren>
31 </one:OE>
32 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{6742493C-30F8-482C-9573-3B0E4935FC41}{51}{B0}" alignment="left" quickStyleIndex="0">
33 <one:T><![CDATA[Preserved sibling]]></one:T>
34 </one:OE>
35 </one:OEChildren>
36 </one:Outline>
37</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join remote format.xml created+31
...@@ -0,0 +1,31 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{410D51DE-72DC-4356-B797-6A79CBA2C7AC}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{475BB31B-455D-4D34-81C9-F1CF64D37D23}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join remote format]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{475BB31B-455D-4D34-81C9-F1CF64D37D23}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{475BB31B-455D-4D34-81C9-F1CF64D37D23}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T><![CDATA[<span
21style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{475BB31B-455D-4D34-81C9-F1CF64D37D23}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:T>&lt;i&gt;Right&lt;/i&gt;</one:T>
25 </one:OE>
26 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{475BB31B-455D-4D34-81C9-F1CF64D37D23}{51}{B0}" alignment="left" quickStyleIndex="0">
27 <one:T><![CDATA[Preserved sibling]]></one:T>
28 </one:OE>
29 </one:OEChildren>
30 </one:Outline>
31</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join remote list.xml created+35
...@@ -0,0 +1,35 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FE168E00-15FA-4EB2-9437-0582F4433E14}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{AAF504D0-5508-4383-94F2-3047A417F9F3}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join remote list]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{AAF504D0-5508-4383-94F2-3047A417F9F3}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{AAF504D0-5508-4383-94F2-3047A417F9F3}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T><![CDATA[<span
21style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{AAF504D0-5508-4383-94F2-3047A417F9F3}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:List>
25 <one:Bullet bullet="3" fontSize="11" />
26 </one:List>
27 <one:T><![CDATA[<span
28style='font-weight:bold'>Right</span>]]></one:T>
29 </one:OE>
30 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{AAF504D0-5508-4383-94F2-3047A417F9F3}{51}{B0}" alignment="left" quickStyleIndex="0">
31 <one:T><![CDATA[Preserved sibling]]></one:T>
32 </one:OE>
33 </one:OEChildren>
34 </one:Outline>
35</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join remote prefix.xml created+32
...@@ -0,0 +1,32 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{5094C0FC-28E3-457C-A968-C6838A9284A7}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{EC7B9107-B3C2-4D75-949D-E98B04BBE3DD}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join remote prefix]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{EC7B9107-B3C2-4D75-949D-E98B04BBE3DD}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{EC7B9107-B3C2-4D75-949D-E98B04BBE3DD}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T>X&lt;span
21style='font-weight:bold'&gt;ab&amp;#129408;cd&lt;/span&gt;</one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{EC7B9107-B3C2-4D75-949D-E98B04BBE3DD}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:T>&lt;span
25style='font-weight:bold'&gt;Right&lt;/span&gt;Y</one:T>
26 </one:OE>
27 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{EC7B9107-B3C2-4D75-949D-E98B04BBE3DD}{51}{B0}" alignment="left" quickStyleIndex="0">
28 <one:T><![CDATA[Preserved sibling]]></one:T>
29 </one:OE>
30 </one:OEChildren>
31 </one:Outline>
32</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join remote sibling.xml created+32
...@@ -0,0 +1,32 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{B05B7E97-CFFB-433B-A8C1-61A54584FAE9}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{B963758D-195B-4822-86CF-1E942BC8EAC2}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join remote sibling]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{B963758D-195B-4822-86CF-1E942BC8EAC2}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{B963758D-195B-4822-86CF-1E942BC8EAC2}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T><![CDATA[<span
21style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{B963758D-195B-4822-86CF-1E942BC8EAC2}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:T><![CDATA[<span
25style='font-weight:bold'>Right</span>]]></one:T>
26 </one:OE>
27 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{B963758D-195B-4822-86CF-1E942BC8EAC2}{51}{B0}" alignment="left" quickStyleIndex="0">
28 <one:T>Native sibling</one:T>
29 </one:OE>
30 </one:OEChildren>
31 </one:Outline>
32</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join remote tag.xml created+34
...@@ -0,0 +1,34 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{C75025E2-0091-481C-AE81-876CAE34EC71}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:TagDef xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task" />
4 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
5 <one:PageSettings RTL="false" color="automatic">
6 <one:PageSize>
7 <one:Automatic />
8 </one:PageSize>
9 <one:RuleLines visible="false" />
10 </one:PageSettings>
11 <one:Title lang="en-US">
12 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5653BCCA-C123-483B-BB58-42DC4A21A82B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
13 <one:T><![CDATA[Join remote tag]]></one:T>
14 </one:OE>
15 </one:Title>
16 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{5653BCCA-C123-483B-BB58-42DC4A21A82B}{39}{B0}">
17 <one:Position x="72.0" y="108.0" z="0" />
18 <one:Size width="115.6704635620117" height="40.28315734863281" />
19 <one:OEChildren>
20 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5653BCCA-C123-483B-BB58-42DC4A21A82B}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
21 <one:T><![CDATA[<span
22style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
23 </one:OE>
24 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5653BCCA-C123-483B-BB58-42DC4A21A82B}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
25 <one:Tag creationDate="2020-01-02T03:04:05.000Z" completed="false" disabled="false" index="0" />
26 <one:T><![CDATA[<span
27style='font-weight:bold'>Right</span>]]></one:T>
28 </one:OE>
29 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{5653BCCA-C123-483B-BB58-42DC4A21A82B}{51}{B0}" alignment="left" quickStyleIndex="0">
30 <one:T><![CDATA[Preserved sibling]]></one:T>
31 </one:OE>
32 </one:OEChildren>
33 </one:Outline>
34</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Join right boundary.xml created+32
...@@ -0,0 +1,32 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EEAB678C-22E6-40BE-A185-61FDE8CC5C6B}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:17.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{8D6642D1-1041-4E03-BB04-B952986149B6}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Join right boundary]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{8D6642D1-1041-4E03-BB04-B952986149B6}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="40.28315734863281" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{8D6642D1-1041-4E03-BB04-B952986149B6}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T><![CDATA[<span
21style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{8D6642D1-1041-4E03-BB04-B952986149B6}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
24 <one:T>X&lt;span
25style='font-weight:bold'&gt;Right&lt;/span&gt;</one:T>
26 </one:OE>
27 <one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:05:12.000Z" objectID="{8D6642D1-1041-4E03-BB04-B952986149B6}{51}{B0}" alignment="left" quickStyleIndex="0">
28 <one:T><![CDATA[Preserved sibling]]></one:T>
29 </one:OE>
30 </one:OEChildren>
31 </one:Outline>
32</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Split remote format.xml created+27
...@@ -0,0 +1,27 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{D9C47809-5B64-40F6-B08D-ECED3406EB52}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:16.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{9CD61C65-D833-4FEB-9C6D-2387F5B81DC9}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Split remote format]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{9CD61C65-D833-4FEB-9C6D-2387F5B81DC9}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="26.85543441772461" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{9CD61C65-D833-4FEB-9C6D-2387F5B81DC9}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T>&lt;i&gt;ab🦀cd&lt;/i&gt;</one:T>
21 </one:OE>
22 <one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{9CD61C65-D833-4FEB-9C6D-2387F5B81DC9}{46}{B0}" alignment="left" quickStyleIndex="0">
23 <one:T><![CDATA[Preserved sibling]]></one:T>
24 </one:OE>
25 </one:OEChildren>
26 </one:Outline>
27</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Split remote sibling.xml created+28
...@@ -0,0 +1,28 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2D6D0BD0-F7F0-446B-BFE3-E3F6BCC6E3AC}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:16.000Z" pageLevel="1" lang="en-US">
3 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
4 <one:PageSettings RTL="false" color="automatic">
5 <one:PageSize>
6 <one:Automatic />
7 </one:PageSize>
8 <one:RuleLines visible="false" />
9 </one:PageSettings>
10 <one:Title lang="en-US">
11 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{F1C2B9DC-C563-4D42-B3CE-F4281B3C75AC}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
12 <one:T><![CDATA[Split remote sibling]]></one:T>
13 </one:OE>
14 </one:Title>
15 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{F1C2B9DC-C563-4D42-B3CE-F4281B3C75AC}{39}{B0}">
16 <one:Position x="72.0" y="108.0" z="0" />
17 <one:Size width="115.6704635620117" height="26.85543441772461" />
18 <one:OEChildren>
19 <one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{F1C2B9DC-C563-4D42-B3CE-F4281B3C75AC}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
20 <one:T><![CDATA[<span
21style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
22 </one:OE>
23 <one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{F1C2B9DC-C563-4D42-B3CE-F4281B3C75AC}{46}{B0}" alignment="left" quickStyleIndex="0">
24 <one:T>Native sibling</one:T>
25 </one:OE>
26 </one:OEChildren>
27 </one:Outline>
28</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote-updates/Split remote tag.xml created+30
...@@ -0,0 +1,30 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{AC76675E-0C5D-4ECD-A697-536546E7CE2F}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:16.000Z" pageLevel="1" lang="en-US">
3 <one:TagDef xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task" />
4 <one:QuickStyleDef index="0" name="p" fontColor="automatic" highlightColor="automatic" font="Calibri" fontSize="11.0" spaceBefore="0.0" spaceAfter="0.0" />
5 <one:PageSettings RTL="false" color="automatic">
6 <one:PageSize>
7 <one:Automatic />
8 </one:PageSize>
9 <one:RuleLines visible="false" />
10 </one:PageSettings>
11 <one:Title lang="en-US">
12 <one:OE author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{715CED5E-14E8-4F21-8880-FFC53664212F}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt">
13 <one:T><![CDATA[Split remote tag]]></one:T>
14 </one:OE>
15 </one:Title>
16 <one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:05:13.000Z" objectID="{715CED5E-14E8-4F21-8880-FFC53664212F}{39}{B0}">
17 <one:Position x="72.0" y="108.0" z="0" />
18 <one:Size width="115.6704635620117" height="26.85543441772461" />
19 <one:OEChildren>
20 <one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{715CED5E-14E8-4F21-8880-FFC53664212F}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt">
21 <one:Tag creationDate="2020-01-02T03:04:05.000Z" completed="false" disabled="false" index="0" />
22 <one:T><![CDATA[<span
23style='font-weight:bold'>ab&#129408;cd</span>]]></one:T>
24 </one:OE>
25 <one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:05:11.000Z" objectID="{715CED5E-14E8-4F21-8880-FFC53664212F}{46}{B0}" alignment="left" quickStyleIndex="0">
26 <one:T><![CDATA[Preserved sibling]]></one:T>
27 </one:OE>
28 </one:OEChildren>
29 </one:Outline>
30</one:Page>
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote/notebook/Open Notebook.onetoc2 created+1
...@@ -0,0 +1 @@
1../../before/notebook/Open Notebook.onetoc2
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote/notebook/synthetic.one created
Binary files /dev/null and b/corpus/paragraph-edit/reconciliation/remote/notebook/synthetic.one differ
corpus/paragraph-edit/reconciliation/remote/read/environment.json created+1
...@@ -0,0 +1 @@
1../../before/read/environment.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/remote/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="{A9AA59BC-9E84-4C82-9658-A52D9021FF9A}{1}{B0}" path="C:\one-tests\runs\capture\notebook" lastModifiedTime="2026-09-08T17:18:28.000Z" color="#B49EDE"><one:Section name="synthetic" ID="{06AFBCB5-8B33-0450-1917-DB6BA6542069}{1}{B0}" path="C:\one-tests\runs\capture\notebook\synthetic.one" lastModifiedTime="2026-09-08T17:18:28.000Z" color="#8AA8E4"><one:Page ID="{2AE64F33-02F8-4741-9E70-73FA5A6C3C76}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{E8A1187C-AB00-4B72-97C9-B4C0C24914DA}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{821037DE-8684-461F-AE0D-1A73AD4B6CCB}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{66A42B4D-E9C4-4488-B93D-213B92086D70}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{34783489-EDFB-40EF-8AD6-825526F63217}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{EE7509CB-684A-4167-9D29-0031FC8921E7}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{9BC7169C-3F73-4F5C-8B33-BFB98E68049A}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{6F6E6545-93E7-4BC1-845D-B0A206A80C64}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{1297AE69-4CF4-4AD6-92D6-95D730FC6B6F}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{0BF80230-4639-4A60-9EA7-1D836DAB2C62}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{ACA80919-46F1-4F14-9A3B-32A952A2B3A3}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{611893EA-D8F7-4D7A-BB66-71CD39C8BFD1}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{BC15E095-71ED-4118-AF89-56D64E2DD1DC}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{85534B77-6486-47B6-953F-D438145A03B9}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{030E3F4B-16CB-4CFC-8C29-392D71CC2864}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{F2581002-ABEC-4C91-937F-32F1FFEA1521}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/><one:Page ID="{FFAC7BB0-4BAE-43DE-A74E-BE706500D60E}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1"/></one:Section></one:Notebook>
corpus/paragraph-edit/reconciliation/remote/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="{030E3F4B-16CB-4CFC-8C29-392D71CC2864}{1}{B0}" name="Join remote format" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{0558DD8E-214A-429E-BA77-A29BDEBD92EB}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{0558DD8E-214A-429E-BA77-A29BDEBD92EB}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{0558DD8E-214A-429E-BA77-A29BDEBD92EB}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{0558DD8E-214A-429E-BA77-A29BDEBD92EB}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-style:italic'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{0558DD8E-214A-429E-BA77-A29BDEBD92EB}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/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="{0BF80230-4639-4A60-9EA7-1D836DAB2C62}{1}{B0}" name="Join left boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{69E618C2-74A3-4821-AD36-357A7CCACEEE}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join left boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{69E618C2-74A3-4821-AD36-357A7CCACEEE}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{69E618C2-74A3-4821-AD36-357A7CCACEEE}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>X]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{69E618C2-74A3-4821-AD36-357A7CCACEEE}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{69E618C2-74A3-4821-AD36-357A7CCACEEE}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/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="{1297AE69-4CF4-4AD6-92D6-95D730FC6B6F}{1}{B0}" name="Join remote prefix" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{AE78FF92-D7D5-42DF-AF23-BADFBED50C15}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{AE78FF92-D7D5-42DF-AF23-BADFBED50C15}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{AE78FF92-D7D5-42DF-AF23-BADFBED50C15}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[X<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{AE78FF92-D7D5-42DF-AF23-BADFBED50C15}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>Y]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{AE78FF92-D7D5-42DF-AF23-BADFBED50C15}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-003.xml created+20
...@@ -0,0 +1,20 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{2AE64F33-02F8-4741-9E70-73FA5A6C3C76}{1}{B0}" name="Bold 🦀 italic é color 東京" dateTime="2026-09-05T05:06:54.000Z" lastModifiedTime="2026-09-08T17:18:28.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="Rich author" lastModifiedBy="Rich author" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{4D2AE78F-498D-44F7-9182-FF21A5F0D917}{10}{B0}"><one:Position x="36.0" y="14.40000057220459" z="0"/><one:Size width="127.5136947631836" height="42.90299224853515"/><one:OEChildren><one:OE creationTime="2026-09-08T04:47:24.000Z" lastModifiedTime="2026-09-08T04:47:24.000Z" objectID="{4A4F4F78-BAF0-0FFD-21D6-3C2B6E9BABE1}{1}{B0}" alignment="left"><one:T><![CDATA[<span style='font-weight:bold;
3text-decoration:underline;font-family:Calibri;font-size:11.0pt'>Bold</span><span
4style='font-family:Calibri;font-size:11.0pt'> </span><span style='font-family:
5Arial;font-size:13.5pt'>&#129408;</span><span style='font-family:Calibri;
6font-size:11.0pt'> </span><span style='font-style:italic;text-decoration:line-through;
7font-family:Calibri;font-size:11.0pt'>italic</span><span style='font-family:
8Calibri;font-size:11.0pt'> </span><span style='vertical-align:super;font-family:
9Calibri;font-size:11.0pt'>é</span><span style='font-family:Calibri;font-size:
1011.0pt'> </span><span style='font-family:Calibri;font-size:11.0pt;color:#0C2238;
11background:yellow;mso-highlight:yellow'>color</span><span style='font-family:
12Calibri;font-size:11.0pt'> </span><span style='vertical-align:sub;font-family:
13Calibri;font-size:11.0pt'>東京</span><span style='font-family:Calibri;font-size:
1411.0pt'><br>
15End</span>]]></one:T></one:OE><one:OE author="snow" authorInitials="S" lastModifiedBy="snow" lastModifiedByInitials="S" creationTime="2026-09-05T05:06:55.000Z" lastModifiedTime="2026-09-05T05:06:56.000Z" objectID="{4D2AE78F-498D-44F7-9182-FF21A5F0D917}{11}{B0}" alignment="left" quickStyleIndex="0" style="font-size:11.0pt;color:#1F4E79"><one:T><![CDATA[<span
16style='font-weight:bold;font-family:Calibri' lang=en-US>Fictitious: café, </span><span
17style='font-weight:bold;font-family:SimSun' lang=en-US>東京</span><span
18style='font-weight:bold;font-family:Calibri' lang=en-US>, </span><span
19style='font-weight:bold;font-family:Arial;direction:rtl;unicode-bidi:embed'
20lang=ar-SA>مرحبا</span>]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-004.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{34783489-EDFB-40EF-8AD6-825526F63217}{1}{B0}" name="Split remote list" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{B8BC6EF4-6334-4D99-A374-7A3E51EF8D6B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{B8BC6EF4-6334-4D99-A374-7A3E51EF8D6B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{B8BC6EF4-6334-4D99-A374-7A3E51EF8D6B}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="3" fontSize="11.0"/></one:List><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{B8BC6EF4-6334-4D99-A374-7A3E51EF8D6B}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/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="{611893EA-D8F7-4D7A-BB66-71CD39C8BFD1}{1}{B0}" name="Join remote child" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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:QuickStyleDef index="1" 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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{254127A9-54EF-4786-AECD-685AF35B1389}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{254127A9-54EF-4786-AECD-685AF35B1389}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="53.71086883544922"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{254127A9-54EF-4786-AECD-685AF35B1389}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{254127A9-54EF-4786-AECD-685AF35B1389}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T><one:OEChildren><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{BC6DD99F-909F-444B-9F2A-8CC8129AD660}{33}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Native child]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{254127A9-54EF-4786-AECD-685AF35B1389}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-006.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{66A42B4D-E9C4-4488-B93D-213B92086D70}{1}{B0}" name="Split remote child" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.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:QuickStyleDef index="1" 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-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{5EB25C90-7203-4554-93E9-F4C3849FD931}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote child]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{5EB25C90-7203-4554-93E9-F4C3849FD931}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{5EB25C90-7203-4554-93E9-F4C3849FD931}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T style="font-family:Calibri;font-size:11.0pt"><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T><one:OEChildren><one:OE creationTime="2026-09-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{22292A77-7C84-4D17-ACA7-0811E95DAF3C}{29}{B0}" alignment="left" quickStyleIndex="1"><one:T><![CDATA[Native child]]></one:T></one:OE></one:OEChildren></one:OE><one:OE creationTime="2026-09-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{5EB25C90-7203-4554-93E9-F4C3849FD931}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-007.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{6F6E6545-93E7-4BC1-845D-B0A206A80C64}{1}{B0}" name="Split remote sibling" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{B3C1D749-A174-42E8-8870-A77CA1529A64}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{B3C1D749-A174-42E8-8870-A77CA1529A64}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="99.86865997314453" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{B3C1D749-A174-42E8-8870-A77CA1529A64}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{B3C1D749-A174-42E8-8870-A77CA1529A64}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-008.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{821037DE-8684-461F-AE0D-1A73AD4B6CCB}{1}{B0}" name="Split remote boundary" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{FE140F67-E2C4-42DE-B322-30BF7D3778CA}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{FE140F67-E2C4-42DE-B322-30BF7D3778CA}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{FE140F67-E2C4-42DE-B322-30BF7D3778CA}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>abX&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:09:02.000Z" lastModifiedTime="2026-09-08T17:09:02.000Z" objectID="{FE140F67-E2C4-42DE-B322-30BF7D3778CA}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-009.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="{85534B77-6486-47B6-953F-D438145A03B9}{1}{B0}" name="Join remote tag" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task"/><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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{1450D25F-A534-4791-80E6-1188F04F47E3}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{1450D25F-A534-4791-80E6-1188F04F47E3}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704788208008" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{1450D25F-A534-4791-80E6-1188F04F47E3}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{1450D25F-A534-4791-80E6-1188F04F47E3}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{1450D25F-A534-4791-80E6-1188F04F47E3}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-010.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{9BC7169C-3F73-4F5C-8B33-BFB98E68049A}{1}{B0}" name="Split remote format" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{DED572F0-BC24-4041-A7D3-70D34FD6F201}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote format]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{DED572F0-BC24-4041-A7D3-70D34FD6F201}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{DED572F0-BC24-4041-A7D3-70D34FD6F201}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-style:italic'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{DED572F0-BC24-4041-A7D3-70D34FD6F201}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-011.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="{ACA80919-46F1-4F14-9A3B-32A952A2B3A3}{1}{B0}" name="Join right boundary" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{CF652C44-7456-41A9-80BA-EA06220FA67E}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join right boundary]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{CF652C44-7456-41A9-80BA-EA06220FA67E}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{CF652C44-7456-41A9-80BA-EA06220FA67E}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{CF652C44-7456-41A9-80BA-EA06220FA67E}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[X<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{CF652C44-7456-41A9-80BA-EA06220FA67E}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-012.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="{BC15E095-71ED-4118-AF89-56D64E2DD1DC}{1}{B0}" name="Join remote list" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{E8F66A45-311F-4C29-AF4C-63131E79163B}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote list]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{E8F66A45-311F-4C29-AF4C-63131E79163B}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{E8F66A45-311F-4C29-AF4C-63131E79163B}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{E8F66A45-311F-4C29-AF4C-63131E79163B}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:List><one:Bullet bullet="3" fontSize="11.0"/></one:List><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{E8F66A45-311F-4C29-AF4C-63131E79163B}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-013.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{E8A1187C-AB00-4B72-97C9-B4C0C24914DA}{1}{B0}" name="Split remote prefix" dateTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:09:01.000Z" lastModifiedTime="2026-09-08T17:09:01.000Z" objectID="{8A3BE78D-4C17-4D1A-BA0C-149894064E54}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote prefix]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:09:01.000Z" objectID="{8A3BE78D-4C17-4D1A-BA0C-149894064E54}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:09.000Z" lastModifiedTime="2026-09-08T17:09:01.000Z" objectID="{8A3BE78D-4C17-4D1A-BA0C-149894064E54}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[X<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:09:01.000Z" lastModifiedTime="2026-09-08T17:09:01.000Z" objectID="{8A3BE78D-4C17-4D1A-BA0C-149894064E54}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-014.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{EE7509CB-684A-4167-9D29-0031FC8921E7}{1}{B0}" name="Split remote tag" dateTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:28.000Z" pageLevel="1" lang="en-US"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task"/><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-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{335F83CB-70FF-408B-B33E-AC918C0ACEE7}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Split remote tag]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{335F83CB-70FF-408B-B33E-AC918C0ACEE7}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704788208008" height="26.85543441772461"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:11.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{335F83CB-70FF-408B-B33E-AC918C0ACEE7}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:Tag index="0" completed="false" disabled="false" creationDate="2020-01-02T03:04:05.000Z"/><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:19.000Z" lastModifiedTime="2026-09-08T17:18:19.000Z" objectID="{335F83CB-70FF-408B-B33E-AC918C0ACEE7}{46}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-015.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="{F2581002-ABEC-4C91-937F-32F1FFEA1521}{1}{B0}" name="Join remote sibling" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{FB601B18-7D4C-4788-BD71-4DC091A6050A}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join remote sibling]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{FB601B18-7D4C-4788-BD71-4DC091A6050A}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="99.86865997314453" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{FB601B18-7D4C-4788-BD71-4DC091A6050A}{40}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>ab&#129408;cd</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{FB601B18-7D4C-4788-BD71-4DC091A6050A}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
4style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:20.000Z" lastModifiedTime="2026-09-08T17:18:20.000Z" objectID="{FB601B18-7D4C-4788-BD71-4DC091A6050A}{51}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Native sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/page-016.xml created+3
...@@ -0,0 +1,3 @@
1<?xml version="1.0"?>
2<one:Page xmlns:one="http://schemas.microsoft.com/office/onenote/2010/onenote" ID="{FFAC7BB0-4BAE-43DE-A74E-BE706500D60E}{1}{B0}" name="Join empty adoption" dateTime="2026-09-08T17:05:12.000Z" lastModifiedTime="2026-09-08T17:18:28.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-08T17:18:21.000Z" lastModifiedTime="2026-09-08T17:18:21.000Z" objectID="{B90FEB82-355D-440F-987F-59257E4A38DB}{33}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:17.0pt"><one:T><![CDATA[Join empty adoption]]></one:T></one:OE></one:Title><one:Outline author="virtual" authorInitials="V" lastModifiedBy="virtual" lastModifiedByInitials="V" lastModifiedTime="2026-09-08T17:18:21.000Z" objectID="{B90FEB82-355D-440F-987F-59257E4A38DB}{39}{B0}"><one:Position x="72.0" y="108.0" z="0"/><one:Size width="115.6704635620117" height="40.28315734863281"/><one:OEChildren><one:OE creationTime="2026-09-08T17:18:21.000Z" lastModifiedTime="2026-09-08T17:18:21.000Z" objectID="{B90FEB82-355D-440F-987F-59257E4A38DB}{40}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[X]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:21.000Z" lastModifiedTime="2026-09-08T17:18:21.000Z" objectID="{B90FEB82-355D-440F-987F-59257E4A38DB}{46}{B0}" alignment="left" quickStyleIndex="0" style="font-family:Calibri;font-size:11.0pt"><one:T><![CDATA[<span
3style='font-weight:bold'>Right</span>]]></one:T></one:OE><one:OE creationTime="2026-09-08T17:18:21.000Z" lastModifiedTime="2026-09-08T17:18:21.000Z" objectID="{B90FEB82-355D-440F-987F-59257E4A38DB}{52}{B0}" alignment="left" quickStyleIndex="0"><one:T><![CDATA[Preserved sibling]]></one:T></one:OE></one:OEChildren></one:Outline></one:Page>
corpus/paragraph-edit/reconciliation/remote/read/payloads.json created+1
...@@ -0,0 +1 @@
1../../../before/read/payloads.json
\ No newline at end of file
corpus/paragraph-edit/reconciliation/run.json created+19
...@@ -0,0 +1,19 @@
1{
2 "notebook": "/Users/clo/dev/one/corpus/formatted-insertion/native-paragraph/candidate",
3 "expected_pages": 17,
4 "author": "tools/native/paragraph-reconciliation.ps1",
5 "author_timeout_seconds": 600,
6 "inspect": true,
7 "collect_notebook": true,
8 "base": {
9 "file": "win7-office-base.qcow2",
10 "format": "qcow2",
11 "sha256": "a1a4f8fab782ee14885ff801ca2f6347c208fdcfc3513637096f314315c89346",
12 "virtual_size": 68719476736
13 },
14 "scripts": {
15 "author.ps1": "72afcfc5d33a43a2c03744b3378be461e869ba4e81fad6af8e73de17d99c2b5e",
16 "cold.ps1": "c177fc72ae6c2634d186f5671a880de20b09f9716532c37c69cb13aa15c7e331",
17 "read.ps1": "04013bfcccee40a17e2a225f9b9e96f40a3a8daad9e350609654f8eda3ccbb41"
18 }
19}
corpus/paragraph-edit/reconciliation/scripts/author.ps1 created+122
...@@ -0,0 +1,122 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost, [switch]$Remote)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4if (-not $Remote) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost }
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7$ns = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
8try {
9 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
10 $section = ''
11 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
12 if (-not $Remote) {
13 $cases = @(
14 @{ name = 'Split remote prefix'; operation = 'split'; change = 'prefix' },
15 @{ name = 'Split remote boundary'; operation = 'split'; change = 'boundary' },
16 @{ name = 'Split remote child'; operation = 'split'; change = 'child' },
17 @{ name = 'Split remote list'; operation = 'split'; change = 'list' },
18 @{ name = 'Split remote tag'; operation = 'split'; change = 'tag' },
19 @{ name = 'Split remote format'; operation = 'split'; change = 'format' },
20 @{ name = 'Split remote sibling'; operation = 'split'; change = 'sibling' },
21 @{ name = 'Join remote prefix'; operation = 'join'; change = 'prefix' },
22 @{ name = 'Join left boundary'; operation = 'join'; change = 'boundary' },
23 @{ name = 'Join right boundary'; operation = 'join'; change = 'right-boundary' },
24 @{ name = 'Join remote child'; operation = 'join'; change = 'child' },
25 @{ name = 'Join remote list'; operation = 'join'; change = 'list' },
26 @{ name = 'Join remote tag'; operation = 'join'; change = 'tag' },
27 @{ name = 'Join remote format'; operation = 'join'; change = 'format' },
28 @{ name = 'Join remote sibling'; operation = 'join'; change = 'sibling' },
29 @{ name = 'Join empty adoption'; operation = 'join'; change = 'adoption' }
30 )
31 foreach ($case in $cases) {
32 $page = ''
33 $app.CreateNewPage($section, [ref]$page, 0)
34 $left = if ($case.change -eq 'adoption') { '' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
35 $body = '<one:OE><one:T><![CDATA[<b>' + $left + '</b>]]></one:T></one:OE>'
36 if ($case.operation -eq 'join') { $body += '<one:OE><one:T><![CDATA[<b>Right</b>]]></one:T></one:OE>' }
37 $body += '<one:OE><one:T>Preserved sibling</one:T></one:OE>'
38 $xml = '<one:Page xmlns:one="' + $ns + '" ID="' + $page + '"><one:TagDef index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task"/><one:Title><one:OE><one:T>' + $case.name + '</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:OEChildren>' + $body + '</one:OEChildren></one:Outline></one:Page>'
39 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
40 }
41 $cases | ConvertTo-Json -Depth 6 | Set-Content (Join-Path $Root 'cases.json') -Encoding UTF8
42 } else {
43 $cases = Get-Content (Join-Path $Root 'cases.json') -Raw | ConvertFrom-Json
44 $hierarchy = ''
45 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
46 [xml]$tree = $hierarchy
47 $manager = New-Object Xml.XmlNamespaceManager($tree.NameTable)
48 $manager.AddNamespace('one', $ns)
49 foreach ($case in $cases) {
50 $page = @($tree.SelectNodes('//one:Page', $manager) | Where-Object { $_.GetAttribute('name') -eq $case.name })
51 if ($page.Count -ne 1) { throw ('Expected one native control page: ' + $case.name) }
52 $content = ''
53 $app.GetPageContent($page[0].GetAttribute('ID'), [ref]$content, 0, 1)
54 [xml]$xml = $content
55 $manager = New-Object Xml.XmlNamespaceManager($xml.NameTable)
56 $manager.AddNamespace('one', $ns)
57 $outline = $xml.SelectSingleNode('/one:Page/one:Outline/one:OEChildren', $manager)
58 $paragraphs = @($outline.SelectNodes('one:OE', $manager))
59 $left = $paragraphs[0]
60 $target = if ($case.operation -eq 'join') { $paragraphs[1] } else { $left }
61 switch ($case.change) {
62 'prefix' {
63 $text = $left.SelectSingleNode('one:T', $manager)
64 $text.InnerText = 'X' + $text.InnerText
65 if ($case.operation -eq 'join') {
66 $text = $target.SelectSingleNode('one:T', $manager)
67 $text.InnerText += 'Y'
68 }
69 }
70 'boundary' {
71 $text = $left.SelectSingleNode('one:T', $manager)
72 if ($case.operation -eq 'split') {
73 if (-not $text.InnerText.Contains('ab')) { throw 'The split boundary control lost its text' }
74 $text.InnerText = $text.InnerText.Replace('ab', 'abX')
75 } else { $text.InnerText += 'X' }
76 }
77 'right-boundary' {
78 $text = $target.SelectSingleNode('one:T', $manager)
79 $text.InnerText = 'X' + $text.InnerText
80 }
81 'child' {
82 $children = $xml.CreateElement('one', 'OEChildren', $ns)
83 $child = $xml.CreateElement('one', 'OE', $ns)
84 $text = $xml.CreateElement('one', 'T', $ns)
85 $text.InnerText = 'Native child'
86 [void]$child.AppendChild($text)
87 [void]$children.AppendChild($child)
88 [void]$target.AppendChild($children)
89 }
90 'list' {
91 $list = $xml.CreateElement('one', 'List', $ns)
92 $bullet = $xml.CreateElement('one', 'Bullet', $ns)
93 $bullet.SetAttribute('bullet', '3')
94 $bullet.SetAttribute('fontSize', '11')
95 [void]$list.AppendChild($bullet)
96 [void]$target.PrependChild($list)
97 }
98 'tag' {
99 $tag = $xml.CreateElement('one', 'Tag', $ns)
100 foreach ($pair in @{ index='0'; completed='false'; disabled='false'; creationDate='2020-01-02T03:04:05.000Z' }.GetEnumerator()) { $tag.SetAttribute($pair.Key, $pair.Value) }
101 [void]$target.PrependChild($tag)
102 }
103 'format' {
104 $text = $target.SelectSingleNode('one:T', $manager)
105 $plain = if ($case.operation -eq 'join') { 'Right' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
106 $text.InnerText = '<i>' + $plain + '</i>'
107 }
108 'sibling' { $paragraphs[-1].SelectSingleNode('one:T', $manager).InnerText = 'Native sibling' }
109 'adoption' { $left.SelectSingleNode('one:T', $manager).InnerText = 'X' }
110 default { throw ('Unknown native control: ' + $case.change) }
111 }
112 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
113 }
114 }
115 $app.SyncHierarchy($notebook)
116} finally {
117 if ($notebook) { $app.CloseNotebook($notebook, $false) }
118 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
119 $app = $null
120 [GC]::Collect()
121 [GC]::WaitForPendingFinalizers()
122}
corpus/paragraph-edit/reconciliation/scripts/cold.ps1 created+1
...@@ -0,0 +1 @@
1../keyboard/scripts/cold.ps1
\ No newline at end of file
corpus/paragraph-edit/reconciliation/scripts/probe.ps1 created+24
...@@ -0,0 +1,24 @@
1$app = New-Object -ComObject OneNote.Application
2$notebook = ''
3$app.OpenHierarchy('C:\one-tests\runs\capture\notebook', '', [ref]$notebook, 0)
4$section = ''
5$app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
6$hierarchy = ''
7$deadline = [DateTime]::UtcNow.AddSeconds(30)
8do {
9 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
10 [xml]$tree = $hierarchy
11 $pages = @($tree.SelectNodes('//*[local-name()="Page"]'))
12 if ($pages.Count -eq 17) { break }
13 Start-Sleep -Milliseconds 200
14} while ([DateTime]::UtcNow -lt $deadline)
15Write-Output ('pages=' + $pages.Count)
16Write-Output $hierarchy
17foreach ($page in $tree.SelectNodes('//*[local-name()="Page"]')) {
18 $content = ''
19 $app.GetPageContent($page.GetAttribute('ID'), [ref]$content, 0, 1)
20 [xml]$xml = $content
21 $texts = @($xml.SelectNodes('//*[local-name()="Outline"]//*[local-name()="T"]') | ForEach-Object { $_.InnerText })
22 @{ name=$page.GetAttribute('name'); texts=$texts; tags=@($xml.SelectNodes('//*[local-name()="Tag"]')).Count; lists=@($xml.SelectNodes('//*[local-name()="List"]')).Count } | ConvertTo-Json -Compress
23}
24$app.CloseNotebook($notebook, $false)
corpus/paragraph-edit/reconciliation/scripts/read.ps1 created+1
...@@ -0,0 +1 @@
1../keyboard/scripts/read.ps1
\ No newline at end of file
corpus/paragraph-edit/reconciliation/scripts/remote-remaining.ps1 created+138
...@@ -0,0 +1,138 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost, [switch]$Remote)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4if (-not $Remote) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost }
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7$ns = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
8$tagDefinition = '<one:TagDef xmlns:one="' + $ns + '" index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task"/>'
9try {
10 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
11 $section = ''
12 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
13 if (-not $Remote) {
14 $cases = @(
15 @{ name = 'Split remote prefix'; operation = 'split'; change = 'prefix' },
16 @{ name = 'Split remote boundary'; operation = 'split'; change = 'boundary' },
17 @{ name = 'Split remote child'; operation = 'split'; change = 'child' },
18 @{ name = 'Split remote list'; operation = 'split'; change = 'list' },
19 @{ name = 'Split remote tag'; operation = 'split'; change = 'tag' },
20 @{ name = 'Split remote format'; operation = 'split'; change = 'format' },
21 @{ name = 'Split remote sibling'; operation = 'split'; change = 'sibling' },
22 @{ name = 'Join remote prefix'; operation = 'join'; change = 'prefix' },
23 @{ name = 'Join left boundary'; operation = 'join'; change = 'boundary' },
24 @{ name = 'Join right boundary'; operation = 'join'; change = 'right-boundary' },
25 @{ name = 'Join remote child'; operation = 'join'; change = 'child' },
26 @{ name = 'Join remote list'; operation = 'join'; change = 'list' },
27 @{ name = 'Join remote tag'; operation = 'join'; change = 'tag' },
28 @{ name = 'Join remote format'; operation = 'join'; change = 'format' },
29 @{ name = 'Join remote sibling'; operation = 'join'; change = 'sibling' },
30 @{ name = 'Join empty adoption'; operation = 'join'; change = 'adoption' }
31 )
32 foreach ($case in $cases) {
33 $page = ''
34 $app.CreateNewPage($section, [ref]$page, 0)
35 $left = if ($case.change -eq 'adoption') { '' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
36 $body = '<one:OE><one:T><![CDATA[<b>' + $left + '</b>]]></one:T></one:OE>'
37 if ($case.operation -eq 'join') { $body += '<one:OE><one:T><![CDATA[<b>Right</b>]]></one:T></one:OE>' }
38 $body += '<one:OE><one:T>Preserved sibling</one:T></one:OE>'
39 $xml = '<one:Page xmlns:one="' + $ns + '" ID="' + $page + '">' + $tagDefinition + '<one:Title><one:OE><one:T>' + $case.name + '</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:OEChildren>' + $body + '</one:OEChildren></one:Outline></one:Page>'
40 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
41 }
42 $cases | ConvertTo-Json -Depth 6 | Set-Content (Join-Path $Root 'cases.json') -Encoding UTF8
43 } else {
44 $cases = Get-Content (Join-Path $Root 'cases.json') -Raw | ConvertFrom-Json
45 $hierarchy = ''
46 $deadline = [DateTime]::UtcNow.AddSeconds(30)
47 do {
48 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
49 [xml]$tree = $hierarchy
50 $manager = New-Object Xml.XmlNamespaceManager($tree.NameTable)
51 $manager.AddNamespace('one', $ns)
52 if (@($tree.SelectNodes('//one:Page', $manager)).Count -eq $cases.Count + 1) { break }
53 Start-Sleep -Milliseconds 200
54 } while ([DateTime]::UtcNow -lt $deadline)
55 $updates = Join-Path $Root 'remote-updates'
56 [void](New-Item -ItemType Directory -Path $updates -Force)
57 foreach ($case in @($cases)[4..15]) {
58 $page = @($tree.SelectNodes('//one:Page', $manager) | Where-Object { $_.GetAttribute('name') -eq $case.name })
59 if ($page.Count -ne 1) { throw ('Expected one native control page: ' + $case.name) }
60 $content = ''
61 $app.GetPageContent($page[0].GetAttribute('ID'), [ref]$content, 0, 1)
62 [xml]$xml = $content
63 $manager = New-Object Xml.XmlNamespaceManager($xml.NameTable)
64 $manager.AddNamespace('one', $ns)
65 $outline = $xml.SelectSingleNode('/one:Page/one:Outline/one:OEChildren', $manager)
66 $paragraphs = @($outline.SelectNodes('one:OE', $manager))
67 $left = $paragraphs[0]
68 $target = if ($case.operation -eq 'join') { $paragraphs[1] } else { $left }
69 switch ($case.change) {
70 'prefix' {
71 $text = $left.SelectSingleNode('one:T', $manager)
72 $text.InnerText = 'X' + $text.InnerText
73 if ($case.operation -eq 'join') {
74 $text = $target.SelectSingleNode('one:T', $manager)
75 $text.InnerText += 'Y'
76 }
77 }
78 'boundary' {
79 $text = $left.SelectSingleNode('one:T', $manager)
80 if ($case.operation -eq 'split') {
81 if (-not $text.InnerText.Contains('ab')) { throw 'The split boundary control lost its text' }
82 $text.InnerText = $text.InnerText.Replace('ab', 'abX')
83 } else { $text.InnerText += 'X' }
84 }
85 'right-boundary' {
86 $text = $target.SelectSingleNode('one:T', $manager)
87 $text.InnerText = 'X' + $text.InnerText
88 }
89 'child' {
90 $children = $xml.CreateElement('one', 'OEChildren', $ns)
91 $child = $xml.CreateElement('one', 'OE', $ns)
92 $text = $xml.CreateElement('one', 'T', $ns)
93 $text.InnerText = 'Native child'
94 [void]$child.AppendChild($text)
95 [void]$children.AppendChild($child)
96 [void]$target.AppendChild($children)
97 }
98 'list' {
99 $list = $xml.CreateElement('one', 'List', $ns)
100 $bullet = $xml.CreateElement('one', 'Bullet', $ns)
101 $bullet.SetAttribute('bullet', '3')
102 $bullet.SetAttribute('fontSize', '11')
103 [void]$list.AppendChild($bullet)
104 [void]$target.PrependChild($list)
105 }
106 'tag' {
107 if (-not $xml.SelectSingleNode('/one:Page/one:TagDef[@index="0"]', $manager)) {
108 $definition = $xml.CreateDocumentFragment()
109 $definition.InnerXml = $tagDefinition
110 [void]$xml.DocumentElement.PrependChild($definition)
111 }
112 $tag = $xml.CreateElement('one', 'Tag', $ns)
113 foreach ($pair in @{ index='0'; completed='false'; disabled='false'; creationDate='2020-01-02T03:04:05.000Z' }.GetEnumerator()) { $tag.SetAttribute($pair.Key, $pair.Value) }
114 [void]$target.PrependChild($tag)
115 }
116 'format' {
117 $text = $target.SelectSingleNode('one:T', $manager)
118 $plain = if ($case.operation -eq 'join') { 'Right' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
119 $text.InnerText = '<i>' + $plain + '</i>'
120 }
121 'sibling' { $paragraphs[-1].SelectSingleNode('one:T', $manager).InnerText = 'Native sibling' }
122 'adoption' { $left.SelectSingleNode('one:T', $manager).InnerText = 'X' }
123 default { throw ('Unknown native control: ' + $case.change) }
124 }
125 $xml.Save((Join-Path $updates ($case.name + '.xml')))
126 Write-Output ('Updating: ' + $case.name)
127 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
128 Write-Output ('Applied: ' + $case.name)
129 }
130 }
131 $app.SyncHierarchy($notebook)
132} finally {
133 if ($notebook) { $app.CloseNotebook($notebook, $false) }
134 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
135 $app = $null
136 [GC]::Collect()
137 [GC]::WaitForPendingFinalizers()
138}
corpus/paragraph-edit/reconciliation/scripts/remote.ps1 created+128
...@@ -0,0 +1,128 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost, [switch]$Remote)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4if (-not $Remote) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost }
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7$ns = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
8$tagDefinition = '<one:TagDef xmlns:one="' + $ns + '" index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task"/>'
9try {
10 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
11 $section = ''
12 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
13 if (-not $Remote) {
14 $cases = @(
15 @{ name = 'Split remote prefix'; operation = 'split'; change = 'prefix' },
16 @{ name = 'Split remote boundary'; operation = 'split'; change = 'boundary' },
17 @{ name = 'Split remote child'; operation = 'split'; change = 'child' },
18 @{ name = 'Split remote list'; operation = 'split'; change = 'list' },
19 @{ name = 'Split remote tag'; operation = 'split'; change = 'tag' },
20 @{ name = 'Split remote format'; operation = 'split'; change = 'format' },
21 @{ name = 'Split remote sibling'; operation = 'split'; change = 'sibling' },
22 @{ name = 'Join remote prefix'; operation = 'join'; change = 'prefix' },
23 @{ name = 'Join left boundary'; operation = 'join'; change = 'boundary' },
24 @{ name = 'Join right boundary'; operation = 'join'; change = 'right-boundary' },
25 @{ name = 'Join remote child'; operation = 'join'; change = 'child' },
26 @{ name = 'Join remote list'; operation = 'join'; change = 'list' },
27 @{ name = 'Join remote tag'; operation = 'join'; change = 'tag' },
28 @{ name = 'Join remote format'; operation = 'join'; change = 'format' },
29 @{ name = 'Join remote sibling'; operation = 'join'; change = 'sibling' },
30 @{ name = 'Join empty adoption'; operation = 'join'; change = 'adoption' }
31 )
32 foreach ($case in $cases) {
33 $page = ''
34 $app.CreateNewPage($section, [ref]$page, 0)
35 $left = if ($case.change -eq 'adoption') { '' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
36 $body = '<one:OE><one:T><![CDATA[<b>' + $left + '</b>]]></one:T></one:OE>'
37 if ($case.operation -eq 'join') { $body += '<one:OE><one:T><![CDATA[<b>Right</b>]]></one:T></one:OE>' }
38 $body += '<one:OE><one:T>Preserved sibling</one:T></one:OE>'
39 $xml = '<one:Page xmlns:one="' + $ns + '" ID="' + $page + '">' + $tagDefinition + '<one:Title><one:OE><one:T>' + $case.name + '</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:OEChildren>' + $body + '</one:OEChildren></one:Outline></one:Page>'
40 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
41 }
42 $cases | ConvertTo-Json -Depth 6 | Set-Content (Join-Path $Root 'cases.json') -Encoding UTF8
43 } else {
44 $cases = Get-Content (Join-Path $Root 'cases.json') -Raw | ConvertFrom-Json
45 $hierarchy = ''
46 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
47 [xml]$tree = $hierarchy
48 $manager = New-Object Xml.XmlNamespaceManager($tree.NameTable)
49 $manager.AddNamespace('one', $ns)
50 foreach ($case in $cases) {
51 $page = @($tree.SelectNodes('//one:Page', $manager) | Where-Object { $_.GetAttribute('name') -eq $case.name })
52 if ($page.Count -ne 1) { throw ('Expected one native control page: ' + $case.name) }
53 $content = ''
54 $app.GetPageContent($page[0].GetAttribute('ID'), [ref]$content, 0, 1)
55 [xml]$xml = $content
56 $manager = New-Object Xml.XmlNamespaceManager($xml.NameTable)
57 $manager.AddNamespace('one', $ns)
58 $outline = $xml.SelectSingleNode('/one:Page/one:Outline/one:OEChildren', $manager)
59 $paragraphs = @($outline.SelectNodes('one:OE', $manager))
60 $left = $paragraphs[0]
61 $target = if ($case.operation -eq 'join') { $paragraphs[1] } else { $left }
62 switch ($case.change) {
63 'prefix' {
64 $text = $left.SelectSingleNode('one:T', $manager)
65 $text.InnerText = 'X' + $text.InnerText
66 if ($case.operation -eq 'join') {
67 $text = $target.SelectSingleNode('one:T', $manager)
68 $text.InnerText += 'Y'
69 }
70 }
71 'boundary' {
72 $text = $left.SelectSingleNode('one:T', $manager)
73 if ($case.operation -eq 'split') {
74 if (-not $text.InnerText.Contains('ab')) { throw 'The split boundary control lost its text' }
75 $text.InnerText = $text.InnerText.Replace('ab', 'abX')
76 } else { $text.InnerText += 'X' }
77 }
78 'right-boundary' {
79 $text = $target.SelectSingleNode('one:T', $manager)
80 $text.InnerText = 'X' + $text.InnerText
81 }
82 'child' {
83 $children = $xml.CreateElement('one', 'OEChildren', $ns)
84 $child = $xml.CreateElement('one', 'OE', $ns)
85 $text = $xml.CreateElement('one', 'T', $ns)
86 $text.InnerText = 'Native child'
87 [void]$child.AppendChild($text)
88 [void]$children.AppendChild($child)
89 [void]$target.AppendChild($children)
90 }
91 'list' {
92 $list = $xml.CreateElement('one', 'List', $ns)
93 $bullet = $xml.CreateElement('one', 'Bullet', $ns)
94 $bullet.SetAttribute('bullet', '3')
95 $bullet.SetAttribute('fontSize', '11')
96 [void]$list.AppendChild($bullet)
97 [void]$target.PrependChild($list)
98 }
99 'tag' {
100 if (-not $xml.SelectSingleNode('/one:Page/one:TagDef[@index="0"]', $manager)) {
101 $definition = $xml.CreateDocumentFragment()
102 $definition.InnerXml = $tagDefinition
103 [void]$xml.DocumentElement.InsertBefore($definition, $xml.SelectSingleNode('/one:Page/one:Title', $manager))
104 }
105 $tag = $xml.CreateElement('one', 'Tag', $ns)
106 foreach ($pair in @{ index='0'; completed='false'; disabled='false'; creationDate='2020-01-02T03:04:05.000Z' }.GetEnumerator()) { $tag.SetAttribute($pair.Key, $pair.Value) }
107 [void]$target.PrependChild($tag)
108 }
109 'format' {
110 $text = $target.SelectSingleNode('one:T', $manager)
111 $plain = if ($case.operation -eq 'join') { 'Right' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
112 $text.InnerText = '<i>' + $plain + '</i>'
113 }
114 'sibling' { $paragraphs[-1].SelectSingleNode('one:T', $manager).InnerText = 'Native sibling' }
115 'adoption' { $left.SelectSingleNode('one:T', $manager).InnerText = 'X' }
116 default { throw ('Unknown native control: ' + $case.change) }
117 }
118 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
119 }
120 }
121 $app.SyncHierarchy($notebook)
122} finally {
123 if ($notebook) { $app.CloseNotebook($notebook, $false) }
124 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
125 $app = $null
126 [GC]::Collect()
127 [GC]::WaitForPendingFinalizers()
128}
corpus/paragraph-edit/reconciliation/teardown.json created+1
...@@ -0,0 +1 @@
1../joined/teardown.json
\ No newline at end of file
crates/onestore-offline/tests/sync.rs+228
...@@ -26,6 +26,234 @@ mod paragraph {...@@ -26,6 +26,234 @@ mod paragraph {
26 (source, sid, left, parent)26 (source, sid, left, parent)
27 }27 }
2828
29 fn native_reconciliation(keyboard: bool) -> (Vec<u8>, Vec<serde_json::Value>) {
30 let source = include_bytes!(
31 "../../../corpus/paragraph-edit/reconciliation/before/notebook/synthetic.one"
32 );
33 let native: &[u8] = if keyboard {
34 include_bytes!(
35 "../../../corpus/paragraph-edit/reconciliation/keyboard/notebook/synthetic.one"
36 )
37 } else {
38 include_bytes!(
39 "../../../corpus/paragraph-edit/reconciliation/remote/notebook/synthetic.one"
40 )
41 };
42 let store = Store::parse(source).unwrap();
43 let index = RevisionIndex::parse(&store).unwrap();
44 let document = Document::parse(&index).unwrap();
45 let mut server = Server::new(native);
46 let mut recorded = Vec::new();
47 let mut counts = [0; 3];
48 for (sid, page) in document.pages().unwrap() {
49 let space = &document.spaces[&sid];
50 let view = &space.revisions[&space.contexts[&ExGuid::default()]];
51 let Kind::Metadata {
52 title: Some(name), ..
53 } = &view.nodes[&view.roots[&2]].kind
54 else {
55 continue;
56 };
57 if !name.starts_with("Split ") && !name.starts_with("Join ") {
58 continue;
59 }
60 let outline = view.nodes[&page]
61 .children
62 .iter()
63 .find(|id| matches!(view.nodes[id].kind, Kind::Outline { .. }))
64 .unwrap();
65 let children = &view.nodes[outline].children;
66 let left = view.nodes[&children[0]].content[0];
67 let split = name.starts_with("Split ");
68 let adoption = name == "Join empty adoption";
69 let directory = tempfile::tempdir().unwrap();
70 let path = directory.path().join("native-reconciliation.sqlite");
71 let mut cache = Replica::create(&path, source).unwrap();
72 let (id, target, intent) = if split {
73 let intent = ParagraphSplit::new(left, 2, "Offline author").unwrap();
74 (
75 cache.split(source, sid, &intent).unwrap().unwrap(),
76 intent.text_object(),
77 serde_json::to_value(intent).unwrap(),
78 )
79 } else {
80 let right = view.nodes[&children[1]].content[0];
81 let intent = ParagraphJoin::new(left, right, "Offline author").unwrap();
82 (
83 cache.join(source, sid, &intent).unwrap().unwrap(),
84 if adoption { right } else { left },
85 serde_json::to_value(intent).unwrap(),
86 )
87 };
88 drop(cache);
89 cache = Replica::open(&path).unwrap();
90 let at = if split {
91 2
92 } else if adoption {
93 1
94 } else {
95 4
96 };
97 let dependent = cache
98 .edit_text(
99 &cache.snapshot().unwrap(),
100 sid,
101 target,
102 at..at + 1,
103 if adoption { "I" } else { "C" },
104 )
105 .unwrap()
106 .unwrap();
107 let local = cache.snapshot().unwrap();
108 let pending = cache.pending().unwrap();
109 drop(cache);
110 cache = Replica::open(&path).unwrap();
111 assert_eq!(cache.snapshot().unwrap(), local);
112 assert_eq!(cache.pending().unwrap(), pending);
113 let previous = server.publications;
114 let remote = server.visible.clone();
115 let (actual, status) = cache.sync_once(&mut server).unwrap().unwrap();
116 assert_eq!(actual, id);
117 assert_eq!(cache.snapshot().unwrap(), local);
118 if !keyboard {
119 counts[2] += 1;
120 assert_eq!(
121 status,
122 EditStatus::Conflict(ConflictKind::TargetUnavailable),
123 "{name}"
124 );
125 assert_eq!(server.publications, previous);
126 assert_eq!(server.visible, remote);
127 drop(cache);
128 cache = Replica::open(&path).unwrap();
129 assert_eq!(cache.status(id).unwrap(), Some(status));
130 assert_eq!(cache.snapshot().unwrap(), local);
131 assert_eq!(cache.pending().unwrap(), pending);
132 continue;
133 }
134 let automatic = ["prefix", "format", "sibling"]
135 .iter()
136 .any(|suffix| name.ends_with(suffix));
137 if automatic {
138 counts[0] += 1;
139 assert!(
140 matches!(status, EditStatus::Published { .. }),
141 "{name}: {status:?}"
142 );
143 } else {
144 let expected = if name.ends_with("boundary") || adoption {
145 ConflictKind::TextChanged
146 } else {
147 ConflictKind::StructureChanged
148 };
149 assert_eq!(status, EditStatus::Conflict(expected), "{name}");
150 assert_eq!(server.publications, previous);
151 assert_eq!(server.visible, remote);
152 assert_eq!(cache.pending().unwrap(), pending);
153 drop(cache);
154 cache = Replica::open(&path).unwrap();
155 assert_eq!(cache.status(id).unwrap(), Some(status));
156 assert_eq!(cache.snapshot().unwrap(), local);
157 assert_eq!(cache.pending().unwrap(), pending);
158 if adoption || name == "Join remote list" {
159 counts[2] += 1;
160 assert!(cache.rebase_join_conflict(id, &local, &remote).is_err());
161 assert_eq!(cache.pending().unwrap(), pending);
162 assert_eq!(cache.snapshot().unwrap(), local);
163 assert_eq!(cache.status(id).unwrap(), Some(status));
164 recorded.push(serde_json::json!({"case": name, "space": sid, "intent": intent, "outcome": "retained_conflict"}));
165 continue;
166 }
167 counts[1] += 1;
168 if split {
169 let offset = if name.ends_with("boundary") { 3 } else { 2 };
170 cache
171 .rebase_conflict(id, &local, &remote, offset..offset)
172 .unwrap();
173 let onestore_offline::Operation::Split(edit) =
174 &cache.pending().unwrap()[0].operation
175 else {
176 panic!()
177 };
178 assert_eq!(
179 edit.intent,
180 serde_json::from_value::<ParagraphSplit>(intent.clone())
181 .unwrap()
182 .reposition(offset)
183 );
184 } else {
185 cache.rebase_join_conflict(id, &local, &remote).unwrap();
186 }
187 drop(cache);
188 cache = Replica::open(&path).unwrap();
189 let (actual, status) = cache.sync_once(&mut server).unwrap().unwrap();
190 assert_eq!(actual, id);
191 assert!(
192 matches!(status, EditStatus::Published { .. }),
193 "{name}: {status:?}"
194 );
195 }
196 drop(cache);
197 cache = Replica::open(&path).unwrap();
198 let first_receipt = cache.status(id).unwrap().unwrap();
199 let (actual, status) = cache.sync_once(&mut server).unwrap().unwrap();
200 assert_eq!(actual, dependent);
201 assert!(
202 matches!(status, EditStatus::Published { .. }),
203 "{name} dependent: {status:?}"
204 );
205 assert_eq!(server.publications, previous + 2);
206 drop(cache);
207 cache = Replica::open(&path).unwrap();
208 assert_eq!(cache.status(id).unwrap(), Some(first_receipt));
209 assert_eq!(cache.status(dependent).unwrap(), Some(status));
210 assert!(cache.pending().unwrap().is_empty());
211 assert_eq!(cache.snapshot().unwrap(), server.durable);
212 let EditStatus::Published { revision } = first_receipt else {
213 panic!()
214 };
215 let EditStatus::Published {
216 revision: dependent_revision,
217 } = status
218 else {
219 panic!()
220 };
221 recorded.push(serde_json::json!({"case": name, "space": sid, "intent": intent,
222 "outcome": if automatic { "automatic" } else { "reviewed" }, "receipt": revision, "dependent_receipt": dependent_revision}));
223 }
224 assert_eq!(counts, if keyboard { [6, 8, 2] } else { [0, 0, 16] });
225 assert_eq!(server.publications, if keyboard { 28 } else { 0 });
226 (server.durable, recorded)
227 }
228
229 #[test]
230 fn native_com_replacement_preserves_every_local_paragraph_branch() {
231 native_reconciliation(false);
232 }
233
234 #[test]
235 fn native_changes_commute_or_retain_reviewable_paragraph_dependencies() {
236 native_reconciliation(true);
237 }
238
239 #[test]
240 #[ignore = "exports native-controlled reconciliation for cold OneNote validation"]
241 fn export_native_reconciliation() {
242 let output = std::path::PathBuf::from(
243 std::env::var_os("ONESTORE_NATIVE_RECONCILIATION_OUTPUT").unwrap(),
244 );
245 assert!(output.is_absolute());
246 std::fs::create_dir(&output).unwrap();
247 let (bytes, cases) = native_reconciliation(true);
248 std::fs::create_dir(output.join("candidate")).unwrap();
249 std::fs::write(output.join("candidate/synthetic.one"), bytes).unwrap();
250 std::fs::write(
251 output.join("manifest.json"),
252 serde_json::to_vec_pretty(&cases).unwrap(),
253 )
254 .unwrap();
255 }
256
29 #[test]257 #[test]
30 fn native_splits_retain_independent_local_identities_and_changed_boundaries() {258 fn native_splits_retain_independent_local_identities_and_changed_boundaries() {
31 let source = include_bytes!("../../../corpus/paragraph-edit/before/notebook/synthetic.one");259 let source = include_bytes!("../../../corpus/paragraph-edit/before/notebook/synthetic.one");
tools/native/paragraph-reconciliation.ps1 created+137
...@@ -0,0 +1,137 @@
1param([Parameter(Mandatory=$true)][string]$Root, [Parameter(Mandatory=$true)][string]$CloneHost, [switch]$Remote)
2Set-StrictMode -Version Latest
3$ErrorActionPreference = 'Stop'
4if (-not $Remote) { & "$PSScriptRoot\cold-current.ps1" -Root $Root -CloneHost $CloneHost }
5$app = New-Object -ComObject OneNote.Application
6$notebook = ''
7$ns = 'http://schemas.microsoft.com/office/onenote/2010/onenote'
8try {
9 $app.OpenHierarchy((Join-Path $Root 'notebook'), '', [ref]$notebook, 0)
10 $section = ''
11 $app.OpenHierarchy('synthetic.one', $notebook, [ref]$section, 0)
12 if (-not $Remote) {
13 $cases = @(
14 @{ name = 'Split remote prefix'; operation = 'split'; change = 'prefix' },
15 @{ name = 'Split remote boundary'; operation = 'split'; change = 'boundary' },
16 @{ name = 'Split remote child'; operation = 'split'; change = 'child' },
17 @{ name = 'Split remote list'; operation = 'split'; change = 'list' },
18 @{ name = 'Split remote tag'; operation = 'split'; change = 'tag' },
19 @{ name = 'Split remote format'; operation = 'split'; change = 'format' },
20 @{ name = 'Split remote sibling'; operation = 'split'; change = 'sibling' },
21 @{ name = 'Join remote prefix'; operation = 'join'; change = 'prefix' },
22 @{ name = 'Join left boundary'; operation = 'join'; change = 'boundary' },
23 @{ name = 'Join right boundary'; operation = 'join'; change = 'right-boundary' },
24 @{ name = 'Join remote child'; operation = 'join'; change = 'child' },
25 @{ name = 'Join remote list'; operation = 'join'; change = 'list' },
26 @{ name = 'Join remote tag'; operation = 'join'; change = 'tag' },
27 @{ name = 'Join remote format'; operation = 'join'; change = 'format' },
28 @{ name = 'Join remote sibling'; operation = 'join'; change = 'sibling' },
29 @{ name = 'Join empty adoption'; operation = 'join'; change = 'adoption' }
30 )
31 foreach ($case in $cases) {
32 $page = ''
33 $app.CreateNewPage($section, [ref]$page, 0)
34 $left = if ($case.change -eq 'adoption') { '' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
35 $body = '<one:OE><one:T><![CDATA[<b>' + $left + '</b>]]></one:T></one:OE>'
36 if ($case.operation -eq 'join') { $body += '<one:OE><one:T><![CDATA[<b>Right</b>]]></one:T></one:OE>' }
37 $body += '<one:OE><one:T>Preserved sibling</one:T></one:OE>'
38 $xml = '<one:Page xmlns:one="' + $ns + '" ID="' + $page + '"><one:Title><one:OE><one:T>' + $case.name + '</one:T></one:OE></one:Title><one:Outline><one:Position x="72" y="108"/><one:OEChildren>' + $body + '</one:OEChildren></one:Outline></one:Page>'
39 $app.UpdatePageContent($xml, [DateTime]::MinValue, 1, $true)
40 }
41 $cases | ConvertTo-Json -Depth 6 | Set-Content (Join-Path $Root 'cases.json') -Encoding UTF8
42 } else {
43 $cases = Get-Content (Join-Path $Root 'cases.json') -Raw | ConvertFrom-Json
44 $hierarchy = ''
45 $deadline = [DateTime]::UtcNow.AddSeconds(30)
46 do {
47 $app.GetHierarchy($section, 4, [ref]$hierarchy, 1)
48 [xml]$tree = $hierarchy
49 $manager = New-Object Xml.XmlNamespaceManager($tree.NameTable)
50 $manager.AddNamespace('one', $ns)
51 if (@($tree.SelectNodes('//one:Page', $manager)).Count -eq $cases.Count + 1) { break }
52 Start-Sleep -Milliseconds 200
53 } while ([DateTime]::UtcNow -lt $deadline)
54 $updates = Join-Path $Root 'remote-updates'
55 [void](New-Item -ItemType Directory -Path $updates -Force)
56 foreach ($case in $cases) {
57 $page = @($tree.SelectNodes('//one:Page', $manager) | Where-Object { $_.GetAttribute('name') -eq $case.name })
58 if ($page.Count -ne 1) { throw ('Expected one native control page: ' + $case.name) }
59 $content = ''
60 $app.GetPageContent($page[0].GetAttribute('ID'), [ref]$content, 0, 1)
61 [xml]$xml = $content
62 $manager = New-Object Xml.XmlNamespaceManager($xml.NameTable)
63 $manager.AddNamespace('one', $ns)
64 $outline = $xml.SelectSingleNode('/one:Page/one:Outline/one:OEChildren', $manager)
65 $paragraphs = @($outline.SelectNodes('one:OE', $manager))
66 $left = $paragraphs[0]
67 $target = if ($case.operation -eq 'join') { $paragraphs[1] } else { $left }
68 switch ($case.change) {
69 'prefix' {
70 $text = $left.SelectSingleNode('one:T', $manager)
71 $text.InnerText = 'X' + $text.InnerText
72 if ($case.operation -eq 'join') {
73 $text = $target.SelectSingleNode('one:T', $manager)
74 $text.InnerText += 'Y'
75 }
76 }
77 'boundary' {
78 $text = $left.SelectSingleNode('one:T', $manager)
79 if ($case.operation -eq 'split') {
80 if (-not $text.InnerText.Contains('ab')) { throw 'The split boundary control lost its text' }
81 $text.InnerText = $text.InnerText.Replace('ab', 'abX')
82 } else { $text.InnerText += 'X' }
83 }
84 'right-boundary' {
85 $text = $target.SelectSingleNode('one:T', $manager)
86 $text.InnerText = 'X' + $text.InnerText
87 }
88 'child' {
89 $children = $xml.CreateElement('one', 'OEChildren', $ns)
90 $child = $xml.CreateElement('one', 'OE', $ns)
91 $text = $xml.CreateElement('one', 'T', $ns)
92 $text.InnerText = 'Native child'
93 [void]$child.AppendChild($text)
94 [void]$children.AppendChild($child)
95 [void]$target.AppendChild($children)
96 }
97 'list' {
98 $list = $xml.CreateElement('one', 'List', $ns)
99 $bullet = $xml.CreateElement('one', 'Bullet', $ns)
100 $bullet.SetAttribute('bullet', '3')
101 $bullet.SetAttribute('fontSize', '11')
102 [void]$list.AppendChild($bullet)
103 [void]$target.PrependChild($list)
104 }
105 'tag' {
106 if (-not $xml.SelectSingleNode('/one:Page/one:TagDef[@index="0"]', $manager)) {
107 $definition = $xml.CreateDocumentFragment()
108 $definition.InnerXml = '<one:TagDef xmlns:one="' + $ns + '" index="0" type="0" symbol="3" fontColor="automatic" highlightColor="none" name="Native task"/>'
109 [void]$xml.DocumentElement.PrependChild($definition)
110 }
111 $tag = $xml.CreateElement('one', 'Tag', $ns)
112 foreach ($pair in @{ index='0'; completed='false'; disabled='false'; creationDate='2020-01-02T03:04:05.000Z' }.GetEnumerator()) { $tag.SetAttribute($pair.Key, $pair.Value) }
113 [void]$target.PrependChild($tag)
114 }
115 'format' {
116 $text = $target.SelectSingleNode('one:T', $manager)
117 $plain = if ($case.operation -eq 'join') { 'Right' } else { 'ab' + [char]::ConvertFromUtf32(0x1F980) + 'cd' }
118 $text.InnerText = '<i>' + $plain + '</i>'
119 }
120 'sibling' { $paragraphs[-1].SelectSingleNode('one:T', $manager).InnerText = 'Native sibling' }
121 'adoption' { $left.SelectSingleNode('one:T', $manager).InnerText = 'X' }
122 default { throw ('Unknown native control: ' + $case.change) }
123 }
124 $xml.Save((Join-Path $updates ($case.name + '.xml')))
125 Write-Output ('Updating: ' + $case.name)
126 $app.UpdatePageContent($xml.OuterXml, [DateTime]::MinValue, 1, $true)
127 Write-Output ('Applied: ' + $case.name)
128 }
129 }
130 $app.SyncHierarchy($notebook)
131} finally {
132 if ($notebook) { $app.CloseNotebook($notebook, $false) }
133 [void][Runtime.InteropServices.Marshal]::FinalReleaseComObject($app)
134 $app = $null
135 [GC]::Collect()
136 [GC]::WaitForPendingFinalizers()
137}
tools/native_paragraph_reconciliation.py created+72
...@@ -0,0 +1,72 @@
1#!/usr/bin/env python3
2"""Apply keyboard controls during a native paragraph-fixture inspection."""
3import argparse
4import base64
5import json
6from pathlib import Path
7import re
8import xml.etree.ElementTree as ET
9
10from native_runner import windows
11from native_xml import ns
12
13
14def apply(output):
15 target = json.loads((output / 'machine.json').read_text())['name']
16 pages = {page.get('name'): page for path in (output / 'read').glob('page-*.xml')
17 for page in [ET.parse(path).getroot()]}
18 cases = json.loads((Path(__file__).resolve().parent.parent /
19 'corpus/paragraph-edit/reconciliation/cases.json').read_text(encoding='utf-8-sig'))
20 scripts = output / 'keyboard'
21 scripts.mkdir()
22 for case in cases:
23 page = pages[case['name']]
24 paragraphs = page.findall('one:Outline/one:OEChildren/one:OE', ns)
25 join = case['operation'] == 'join'
26 change = case['change']
27 at = 1 if join and change in ('child', 'list', 'tag', 'format', 'right-boundary') else 0
28 keys = {
29 'prefix': '{Left}X',
30 'boundary': '{Right}X' if join else '{Left}{Right 2}X',
31 'right-boundary': '{Left}X',
32 'child': '{Right}{Enter}{Tab}Native child',
33 'list': '{Left}^.',
34 'tag': '{Left}^1',
35 'format': '^i',
36 'sibling': 'Native sibling',
37 'adoption': '{Left}X',
38 }[change]
39 if change == 'sibling':
40 at = len(paragraphs) - 1
41 steps = [(paragraphs[at].get('objectID'), keys)]
42 if join and change == 'prefix':
43 steps.append((paragraphs[1].get('objectID'), '{Right}Y'))
44 script = ('#Requires AutoHotkey v2.0\n'
45 'OnError((exception, mode) => (FileAppend(exception.Message, "**"), ExitApp(1)))\n'
46 'app := ComObject("OneNote.Application")\n')
47 for oid, keys in steps:
48 for identifier in (page.get('ID'), oid):
49 if not re.fullmatch(r'\{[0-9A-Fa-f-]+\}\{[0-9]+\}\{[0-9A-Fa-f]+\}', identifier):
50 raise ValueError('Invalid native fixture identity')
51 script += (f'app.NavigateTo("{page.get("ID")}", "{oid}", false)\n'
52 'hwnd := WinWait("ahk_class Framework::CFrame ahk_exe ONENOTE.EXE",, 10)\n'
53 'if !hwnd\n throw Error("OneNote window did not appear")\n'
54 'WinMaximize(hwnd)\nWinActivate(hwnd)\n'
55 'if !WinWaitActive(hwnd,, 10)\n throw Error("OneNote did not become active")\n'
56 f'Sleep 300\nSend "{keys}"\nSleep 300\n')
57 stem = scripts / case['name'].lower().replace(' ', '-')
58 stem.with_suffix('.ahk').write_text(script)
59 result = windows.do_exec(script, target=target, shot_delay_ms=500)
60 stem.with_suffix('.json').write_text(json.dumps({k: v for k, v in result.items() if k != 'png_b64'}, indent=2))
61 if result.get('png_b64'):
62 stem.with_suffix('.png').write_bytes(base64.b64decode(result['png_b64']))
63 if result.get('error') or result.get('exit') != 0 or not result.get('png_b64'):
64 raise RuntimeError(windows.text_result(result))
65 print(case['name'], flush=True)
66 (output / 'finish').touch()
67
68
69if __name__ == '__main__':
70 parser = argparse.ArgumentParser(description=__doc__)
71 parser.add_argument('output', type=Path)
72 apply(parser.parse_args().output)
tools/test_paragraph_edit.py+151
...@@ -10,6 +10,7 @@ import xml.etree.ElementTree as ET...@@ -10,6 +10,7 @@ import xml.etree.ElementTree as ET
10from document_model import EXPORTER, ordered_pages, walk10from document_model import EXPORTER, ordered_pages, walk
11from native_format import compare_formats, native_characters11from native_format import compare_formats, native_characters
12from native_xml import ns12from native_xml import ns
13from offline_document_history import identity
1314
14ROOT = Path(__file__).resolve().parent.parent15ROOT = Path(__file__).resolve().parent.parent
15FIXTURE = ROOT / 'corpus/paragraph-edit'16FIXTURE = ROOT / 'corpus/paragraph-edit'
...@@ -17,6 +18,156 @@ compare = runpy.run_path(str(ROOT / 'tools/verify-document.py'))['compare']...@@ -17,6 +18,156 @@ compare = runpy.run_path(str(ROOT / 'tools/verify-document.py'))['compare']
1718
1819
19class ParagraphEditTest(unittest.TestCase):20class ParagraphEditTest(unittest.TestCase):
21 def test_reconciled_native_edits_keep_remote_content_and_exact_graphs(self):
22 fixture = FIXTURE / 'reconciliation'
23 result = fixture / 'reconciled'
24 self.assert_cold_graph(result)
25 manifest = json.loads((result / 'manifest.json').read_text())
26 self.assertEqual(len(manifest), 16)
27 self.assertEqual({case['case'] for case in manifest if case['outcome'] == 'retained_conflict'},
28 {'Join remote list', 'Join empty adoption'})
29 receipts = [case[key] for case in manifest for key in ('receipt', 'dependent_receipt') if key in case]
30 self.assertEqual(len(set(receipts)), 28)
31 models, captures = {}, {}
32 with TemporaryDirectory() as temporary:
33 for phase, notebook, read in [('remote', fixture / 'keyboard/notebook', fixture / 'keyboard/read'),
34 ('reconciled', result / 'candidate', result / 'native/read')]:
35 folder = Path(temporary) / phase
36 subprocess.run([EXPORTER, notebook / 'synthetic.one', folder], check=True)
37 model = json.loads((folder / 'document.json').read_text())
38 models[phase] = {r['nodes'][r['roots']['2']]['kind']['title']: (r, page)
39 for _, _, r, page in ordered_pages(model)}
40 captures[phase] = {page.get('name'): native_characters(page, page.findall('one:Outline', ns))
41 for path in read.glob('page-*.xml') for page in [ET.parse(path).getroot()]}
42 for case in manifest:
43 name, intent = case['case'], case['intent']
44 old, page = models['remote'][name]
45 new, new_page = models['reconciled'][name]
46 self.assertEqual(new_page, page)
47 outline, = [oid for oid in old['nodes'][page]['children'] if old['nodes'][oid]['kind']['type'] == 'Outline']
48 graph = {oid: [list(node['children']), list(node['content']), node['child_level']]
49 for oid, node in walk(old, outline)}
50 characters = [list(paragraph) for paragraph in captures['remote'][name]]
51 if case['outcome'] != 'retained_conflict':
52 if name.startswith('Split '):
53 text = intent['text']
54 paragraph, = [oid for oid, (_, content, _) in graph.items() if content == [text]]
55 parent, = [oid for oid, (children, _, _) in graph.items() if paragraph in children]
56 offset = 3 if name.endswith(('prefix', 'boundary')) else 2
57 characters[:1] = [characters[0][:offset], characters[0][offset:]]
58 characters[1] = [('C' if char == 'c' else char, style) for char, style in characters[1]]
59 right, right_text = identity(intent, 1), identity(intent, 2)
60 self.assertNotIn(right, graph)
61 self.assertNotIn(right_text, graph)
62 graph[parent][0].insert(graph[parent][0].index(paragraph) + 1, right)
63 graph[right] = [graph[paragraph][0], [right_text], graph[paragraph][2]]
64 graph[right_text] = [[], [], None]
65 graph[paragraph][0] = []
66 self.assertEqual(new['nodes'][right_text]['tags'], [])
67 else:
68 left, right = intent['left'], intent['right']
69 a, = [oid for oid, (_, content, _) in graph.items() if content == [left]]
70 b, = [oid for oid, (_, content, _) in graph.items() if content == [right]]
71 parent, = [oid for oid, (children, _, _) in graph.items() if a in children]
72 graph[parent][0].remove(b)
73 graph[a][0] += graph[b][0]
74 del graph[b], graph[right]
75 characters[:2] = [characters[0] + characters[1]]
76 characters[0] = [('C' if char == 'c' else char, style) for char, style in characters[0]]
77 self.assertEqual(new['nodes'][left]['tags'], old['nodes'][left]['tags'])
78 with self.subTest(case=name):
79 self.assertEqual({oid: [node['children'], node['content'], node['child_level']]
80 for oid, node in walk(new, outline)}, graph)
81 for expected, actual in zip(characters, captures['reconciled'][name], strict=True):
82 for (a, before), (b, after) in zip(expected, actual, strict=True):
83 self.assertEqual(a, b)
84 for key in before.keys() | after.keys():
85 default = 'automatic' if key in ('color', 'highlight') else False
86 self.assertEqual(before.get(key, default), after.get(key, default))
87
88 def test_native_reconciliation_controls_preserve_the_intended_edit_scope(self):
89 fixture = FIXTURE / 'reconciliation'
90 cases = json.loads((fixture / 'cases.json').read_text(encoding='utf-8-sig'))
91 self.assertEqual(len(cases), 16)
92 models, captures = {}, {}
93 with TemporaryDirectory() as temporary:
94 for phase in ('before', 'remote', 'keyboard'):
95 folder = Path(temporary) / phase
96 shutil.copytree(fixture / phase / 'read', folder / 'read')
97 compare(fixture / phase / 'notebook', folder / 'read')
98 subprocess.run([EXPORTER, fixture / phase / 'notebook/synthetic.one', folder / 'model'], check=True)
99 model = json.loads((folder / 'model/document.json').read_text())
100 models[phase] = {r['nodes'][r['roots']['2']]['kind']['title']: (r, page)
101 for _, _, r, page in ordered_pages(model)}
102 captures[phase] = {page.get('name'): native_characters(page, page.findall('one:Outline', ns))
103 for path in (folder / 'read').glob('page-*.xml') for page in [ET.parse(path).getroot()]}
104 self.assertEqual(len(models[phase]), 17)
105 for case in cases:
106 name, change = case['name'], case['change']
107 join = case['operation'] == 'join'
108 old, page = models['before'][name]
109 outline, = [oid for oid in old['nodes'][page]['children'] if old['nodes'][oid]['kind']['type'] == 'Outline']
110 paragraphs = old['nodes'][outline]['children']
111 target = paragraphs[1 if join and change in ('child', 'list', 'tag', 'format', 'right-boundary') else 0]
112 expected = ['' if change == 'adoption' else 'ab🦀cd'] + (['Right'] if join else []) + ['Preserved sibling']
113 self.assertEqual([old['nodes'][old['nodes'][oid]['content'][0]]['kind']['text'] for oid in paragraphs], expected)
114 if change == 'prefix':
115 expected[0] = 'X' + expected[0]
116 if join: expected[1] += 'Y'
117 elif change == 'boundary':
118 expected[0] = expected[0] + 'X' if join else 'abX🦀cd'
119 elif change == 'right-boundary': expected[1] = 'XRight'
120 elif change == 'sibling': expected[-1] = 'Native sibling'
121 elif change == 'adoption': expected[0] = 'X'
122 for phase in ('remote', 'keyboard'):
123 with self.subTest(case=name, phase=phase):
124 current, current_page = models[phase][name]
125 if change == 'format':
126 for char, style in captures['before'][name][int(join)]:
127 self.assertTrue(style['bold'])
128 self.assertFalse(style.get('italic', False))
129 for char, style in captures[phase][name][int(join)]:
130 self.assertTrue(style['italic'])
131 self.assertEqual(style.get('bold', False), phase == 'keyboard')
132 self.assertEqual(current_page, page)
133 active = [oid for oid, node in walk(current, outline) if node['kind']['type'] == 'Paragraph']
134 expected_ids = list(paragraphs)
135 if phase == 'keyboard' and change == 'sibling':
136 self.assertNotEqual(active[-1], paragraphs[-1])
137 expected_ids[-1] = active[-1]
138 if change == 'child':
139 child, = current['nodes'][target]['children']
140 expected_ids.insert(expected_ids.index(target) + 1, child)
141 self.assertEqual(active, expected_ids)
142 actual_texts = [current['nodes'][current['nodes'][oid]['content'][0]]['kind']['text'] for oid in active]
143 expected_texts = list(expected)
144 if change == 'child': expected_texts.insert(2 if join else 1, 'Native child')
145 self.assertEqual(actual_texts, expected_texts)
146 top = list(paragraphs)
147 if phase == 'keyboard' and change == 'sibling': top[-1] = active[-1]
148 if phase == 'keyboard' and change == 'list':
149 if join:
150 top.remove(target)
151 self.assertEqual(current['nodes'][paragraphs[0]]['children'], [target])
152 else:
153 group = current['nodes'][outline]['children'][0]
154 self.assertEqual(current['nodes'][group]['kind']['type'], 'OutlineGroup')
155 self.assertEqual(current['nodes'][group]['children'], [target])
156 self.assertEqual(current['nodes'][group]['content'], [])
157 top[0] = group
158 self.assertEqual(current['nodes'][outline]['children'], top)
159 for oid in active:
160 node = current['nodes'][oid]
161 text, = node['content']
162 if oid in paragraphs:
163 if phase == 'keyboard': self.assertEqual(node['content'], old['nodes'][oid]['content'])
164 else: self.assertNotEqual(node['content'], old['nodes'][oid]['content'])
165 child_count = int(oid == target and change == 'child')
166 if phase == 'keyboard' and join and change == 'list' and oid == paragraphs[0]: child_count = 1
167 self.assertEqual(len(node['children']), child_count)
168 self.assertEqual(len(node['kind']['lists']), int(oid == target and change == 'list'))
169 self.assertEqual(len(current['nodes'][text]['tags']), int(oid == target and change == 'tag'))
170
20 def assert_cold_graph(self, fixture):171 def assert_cold_graph(self, fixture):
21 with TemporaryDirectory() as temporary:172 with TemporaryDirectory() as temporary:
22 models = []173 models = []