corpus/tag-edit/README.md | 19 ++ corpus/tag-edit/candidate/Open Notebook.onetoc2 | Bin 0 -> 1596 bytes corpus/tag-edit/candidate/tags.one | Bin 0 -> 8352 bytes corpus/tag-edit/cold/commands.jsonl | 3 + corpus/tag-edit/cold/machine.json | 1 + corpus/tag-edit/cold/notebook/Open Notebook.onetoc2 | Bin 0 -> 3748 bytes corpus/tag-edit/cold/notebook/tags.one | Bin 0 -> 8352 bytes corpus/tag-edit/cold/read/environment.json | 7 + corpus/tag-edit/cold/read/hierarchy.xml | 2 + corpus/tag-edit/cold/read/page-000.xml | 2 + corpus/tag-edit/cold/read/payloads.json | 3 + corpus/tag-edit/cold/run.json | 18 ++ corpus/tag-edit/cold/scripts/cold.ps1 | 27 +++ corpus/tag-edit/cold/scripts/read.ps1 | 142 +++++++++++++++ corpus/tag-edit/cold/source.json | 14 ++ corpus/tag-edit/cold/teardown.json | 1 + crates/notebook/README.md | 4 +- crates/onestore/README.md | 2 +- crates/onestore/src/page/write.rs | 213 ++++++++++++++++++++-- crates/onestore/src/write.rs | 62 ++++++- crates/onestore/src/write/tests.rs | 20 ++- crates/onestore/tests/page_tags.rs | 305 ++++++++++++++++++++++++++++++++ crates/onestore/tests/support/page_edits.rs | 58 +++++- tools/test_tag_edit.py | 37 ++++ 24 files changed, 911 insertions(+), 29 deletions(-)