Blacksite/docs/editor/evaluations/collaborative-file-safety/README.md

42 lines
2.3 KiB
Markdown

# Collaborative File Safety Evaluation
> **Evidence record — not current product guidance.** Use the [documentation index](../../../README.md) for current behavior and architecture.
Date: 2026-07-12
Branch: `codex/collaboration-live-acceptance`
Implementation commits: `5a82a9e`, `f2ad88f`
This record captures live acceptance for source-control status and guarded authored-file writes.
The permanent workflow and recovery contract live in the
[collaborative file-safety guide](../../collaborative-file-safety.md).
## Live Editor Evidence
The image below is a native Wayland capture from the debug editor. A disposable untracked scene
was loaded, changed locally, and then changed independently on disk before Save.
![External-change guard showing loaded and current revision metadata while the dirty untracked scene remains open](external-change-metadata.png)
The bottom status strip reports the active scene as `UNTRACKED`. The guarded save left the disk
revision unchanged and opened recovery choices with the exact loaded/current revision, byte count,
modified time, and permissions.
## Acceptance Results
| Area | Result | Evidence |
|------|--------|----------|
| Source-control status | Pass | Active disposable scene reported `UNTRACKED` without disrupting the editor workflow |
| External-change guard | Pass | Save detected the changed disk revision and did not overwrite it |
| Metadata comparison | Pass | Loaded/current revision, byte count, modified time, and permissions were displayed |
| Cancel invariants | Pass | Cancel preserved the dirty local scene and made no filesystem change |
| Invalid reload | Pass | Malformed external RON failed safely, kept the recovery dialog open, and reported the error |
| Valid reload | Pass | Reload replaced the local draft, removed its duplicate actor, cleared dirty/history state, and adopted the disk revision |
| Repository hygiene | Pass | Disposable scene and importer registry churn were removed after acceptance |
| Packaged acceptance | Deferred | Explicitly deferred by project-owner direction; no packaged result is claimed here |
## Automated Verification
The implementation commits were already covered on integrated `main` by the workspace formatting,
check, strict Clippy, test, level-validation, and navigation-artifact suites. This evidence-only
change was additionally checked with `git diff --check`.