corpus/paragraph-edit/README.md | 8 + corpus/paragraph-edit/offline/inheritance/candidate/synthetic.one | Bin 0 -> 59016 bytes corpus/paragraph-edit/offline/inheritance/manifest.json | 62 ++++ corpus/paragraph-edit/offline/inheritance/native/notebook/Open Notebook.onetoc2 | Bin 0 -> 4800 bytes corpus/paragraph-edit/offline/inheritance/native/notebook/synthetic.one | Bin 0 -> 61448 bytes corpus/paragraph-edit/offline/inheritance/native/read/environment.json | 7 + corpus/paragraph-edit/offline/inheritance/native/read/hierarchy.xml | 2 + corpus/paragraph-edit/offline/inheritance/native/read/page-000.xml | 5 + corpus/paragraph-edit/offline/inheritance/native/read/page-001.xml | 5 + corpus/paragraph-edit/offline/inheritance/native/read/page-002.xml | 20 ++ corpus/paragraph-edit/offline/inheritance/native/read/page-003.xml | 5 + corpus/paragraph-edit/offline/inheritance/native/read/page-004.xml | 5 + corpus/paragraph-edit/offline/inheritance/native/read/page-005.xml | 5 + corpus/paragraph-edit/offline/inheritance/native/read/payloads.json | 1 + corpus/paragraph-edit/offline/inheritance/native/run.json | 18 ++ corpus/paragraph-edit/offline/inheritance/native/source.json | 8 + corpus/paragraph-edit/offline/inheritance/native/teardown.json | 1 + corpus/paragraph-edit/offline/joins/candidate/synthetic.one | Bin 0 -> 150648 bytes corpus/paragraph-edit/offline/joins/manifest.json | 146 +++++++++ corpus/paragraph-edit/offline/joins/native/notebook/Open Notebook.onetoc2 | Bin 0 -> 4800 bytes corpus/paragraph-edit/offline/joins/native/notebook/synthetic.one | Bin 0 -> 150648 bytes corpus/paragraph-edit/offline/joins/native/read/environment.json | 7 + corpus/paragraph-edit/offline/joins/native/read/hierarchy.xml | 2 + corpus/paragraph-edit/offline/joins/native/read/page-000.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-001.xml | 3 + corpus/paragraph-edit/offline/joins/native/read/page-002.xml | 2 + corpus/paragraph-edit/offline/joins/native/read/page-003.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-004.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-005.xml | 6 + corpus/paragraph-edit/offline/joins/native/read/page-006.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-007.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-008.xml | 20 ++ corpus/paragraph-edit/offline/joins/native/read/page-009.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-010.xml | 3 + corpus/paragraph-edit/offline/joins/native/read/page-011.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-012.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/page-013.xml | 5 + corpus/paragraph-edit/offline/joins/native/read/payloads.json | 1 + corpus/paragraph-edit/offline/joins/native/run.json | 18 ++ corpus/paragraph-edit/offline/joins/native/source.json | 8 + corpus/paragraph-edit/offline/joins/native/teardown.json | 1 + corpus/paragraph-edit/offline/splits/candidate/synthetic.one | Bin 0 -> 119736 bytes corpus/paragraph-edit/offline/splits/manifest.json | 374 +++++++++++++++++++++++ corpus/paragraph-edit/offline/splits/native/notebook/Open Notebook.onetoc2 | Bin 0 -> 4800 bytes corpus/paragraph-edit/offline/splits/native/notebook/synthetic.one | Bin 0 -> 119736 bytes corpus/paragraph-edit/offline/splits/native/read/environment.json | 7 + corpus/paragraph-edit/offline/splits/native/read/hierarchy.xml | 2 + corpus/paragraph-edit/offline/splits/native/read/page-000.xml | 3 + corpus/paragraph-edit/offline/splits/native/read/page-001.xml | 5 + corpus/paragraph-edit/offline/splits/native/read/page-002.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/page-003.xml | 2 + corpus/paragraph-edit/offline/splits/native/read/page-004.xml | 5 + corpus/paragraph-edit/offline/splits/native/read/page-005.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/page-006.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/page-007.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/page-008.xml | 5 + corpus/paragraph-edit/offline/splits/native/read/page-009.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/page-010.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/page-011.xml | 3 + corpus/paragraph-edit/offline/splits/native/read/page-012.xml | 20 ++ corpus/paragraph-edit/offline/splits/native/read/page-013.xml | 6 + corpus/paragraph-edit/offline/splits/native/read/payloads.json | 1 + corpus/paragraph-edit/offline/splits/native/run.json | 18 ++ corpus/paragraph-edit/offline/splits/native/source.json | 8 + corpus/paragraph-edit/offline/splits/native/teardown.json | 1 + corpus/paragraph-edit/offline/tags/candidate/synthetic.one | Bin 0 -> 42688 bytes corpus/paragraph-edit/offline/tags/manifest.json | 38 +++ corpus/paragraph-edit/offline/tags/native/notebook/Open Notebook.onetoc2 | Bin 0 -> 4800 bytes corpus/paragraph-edit/offline/tags/native/notebook/synthetic.one | Bin 0 -> 44792 bytes corpus/paragraph-edit/offline/tags/native/read/environment.json | 7 + corpus/paragraph-edit/offline/tags/native/read/hierarchy.xml | 2 + corpus/paragraph-edit/offline/tags/native/read/page-000.xml | 20 ++ corpus/paragraph-edit/offline/tags/native/read/page-001.xml | 5 + corpus/paragraph-edit/offline/tags/native/read/page-002.xml | 5 + corpus/paragraph-edit/offline/tags/native/read/page-003.xml | 5 + corpus/paragraph-edit/offline/tags/native/read/payloads.json | 1 + corpus/paragraph-edit/offline/tags/native/run.json | 18 ++ corpus/paragraph-edit/offline/tags/native/source.json | 8 + corpus/paragraph-edit/offline/tags/native/teardown.json | 1 + crates/onestore-offline/README.md | 29 +- crates/onestore-offline/examples/cache_probe.rs | 3 + crates/onestore-offline/src/lib.rs | 6 +- crates/onestore-offline/src/paragraph.rs | 241 +++++++++++++++ crates/onestore-offline/src/schema.rs | 12 +- crates/onestore-offline/src/sync.rs | 45 ++- crates/onestore-offline/tests/cache.rs | 123 +++++++- crates/onestore-offline/tests/sync.rs | 524 +++++++++++++++++++++++++++++++- crates/onestore/README.md | 5 +- crates/onestore/src/paragraph.rs | 18 ++ fuzz/Cargo.lock | 303 ++++++++++++++++++ fuzz/Cargo.toml | 9 + fuzz/fuzz_targets/offline_paragraph.rs | 165 ++++++++++ tools/test_paragraph_edit.py | 71 +++-- 93 files changed, 2534 insertions(+), 40 deletions(-)