1# Live collaboration and interruption matrix
2
3`tools/native_collaboration.py` ran two fresh Windows 7 / OneNote
414.0.4763.1000 clients against the disposable Linux Samba server. `linux.json`,
5`server.jsonl`, `run.json`, each client's native captures, and checkpoint notebooks
6record the environment and operations. `result.json` contains seven passing cases:
7
8- A Rust scalar edit and a native edit to another outline converged.
9- Concurrent edits to the same text retained both versions as a native conflict.
10- Samba restart preserved the converged state.
11- Disconnecting one client's lab NIC allowed independent offline/online edits;
12 both converged after reconnection.
13- An exclusive macOS file lock prevented native changes to the shared bytes;
14 the queued native edit synchronized after release.
15- Terminating and restarting OneNote preserved already synchronized edits.
16- Abruptly terminating QEMU and reopening the same overlay preserved those edits.
17
18`retention.json` validates the current page's explicit conflict-space reference,
19not merely the presence of old text in historical revisions. The final notebook
20was reopened from a separate fresh cache in `../live-collaboration-cold-15`.
21Its native comparison passed, and `conflict.png` shows the competing edit in
22OneNote's read-only conflict view. Both Windows clients, the verifier, and the
23Linux VM were deleted; teardown records accompany each run.
24
25Process/VM termination covers already server-persisted data. It does not claim
26unsynchronized cache durability or physical host power-loss safety. The separate
27stage-5 corpus covers lost successful SMB FLUSH responses.
28
29The controller submits only the edited top-level content container. Submitting
30all cached page containers in an offline update replayed stale content over an
31unrelated online edit; failure evidence is `evidence/m6/live-collaboration-13`.
32Mac SMB mounts were explicitly reconnected after Samba restarts because the OS
33revoked the original mount. Failed setup runs remain separate from acceptance.