Files
ARCADIA-Studio/harness/experiments/save-as-diagnostics-20261001/native/review.md
T

37 lines
6.4 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Native #46 diagnostic verification
Predeclared intent, before native edits: independently exercise the desktop build from source `0e83157e09d52e6152df91208e41693b62da2d46`, executable SHA-256 `E9CCE9355525ECDC59BFAE12608B1E0272167ACEF5A86B25368EF547E08886FF`, runtime SHA-256 `F45604A12E8BCD839FD86F667C1BE1CC7C4F9DA2B3C69FF381AC708F0E1AE7D4`. Parent launched PID 10012 and retains watcher/log/oracle ownership. Reviewer `/root/ux_critique` uses only Computer Use `@oai/sky` for native interaction and has exclusive GUI ownership for this trial.
All trial paths are under `C:/ar-save-01a0d717/.local/native46/`:
- A: `collision-a/project.arcadia`. Exactly one allowed authored graphical change: Activity `61f7bbfb-74a4-5540-9182-2583dfb27a49`, name `Assess pressure alarm` to **`Assess pressure alarm QA46`**. No other authored edits.
- Rejected Save As target: `collision-a/collision-copy.arcadia`, initially absent. Existing included files must remain protected.
- Successful fresh Save As target: `fresh-c/project.arcadia`, with seven companion files prepared by parent and zero source files initially.
- B: `external-b/project.arcadia`, pristine separate complete copy. After it is loaded, parent alone injects a valid comment into the observed dependency `oa/activities/activity_oa_restore_work.arcadia`, records the byte oracle, then restores exact bytes after the actual external-conflict trial.
Reviewer pauses after collision refusal, existing Save All success, fresh Save As success, B load and genuine external-change refusal for parent checkpoints. No source/model JSON inspection, fixture mutation outside the app, build, Gitea or unrelated GUI operation is part of this trial. Native status/name/count observations are not whole-model or disk-equality proofs. Parent supplies those independent results. Normal closure occurs only after final parent confirmation.
Plan: `.local/native46-plan.md`. Native observations and screenshots will be recorded below without erasing rejected operations or recovery steps.
## A: protected destination and recovery
Opened A by native Open chooser, typed full path and clicked Open. At 1442×932, selected Assess pressure alarm (UUID verified in inspector), replaced Name with exactly Assess pressure alarm QA46 and clicked Apply changes. Only this semantic edit was made. Save As to the predeclared absent collision-copy.arcadia entry was refused. Unsaved changes and the applied name remained visible. Footer now says Source destination files already exist, identifies oa/activities/activity_oa_restore_work.arcadia, and says existing files are protected. Pointer tooltip gives both recovery choices: fresh directory for Save As, or Save All to update the current entry. Full tooltip fits both 1442×932 and minimum 1102×732 outer windows (1100×700 client target); persistent footer truncates with ellipsis. No keyboard-only tooltip claim. Parent reported collision byte oracle PASS: all 37 A files exactly baseline, no reserved new entry.
Clicked Save All at minimum size after parent clearance. Observed Working then All changes saved / All source files saved, exact QA46 Name retained and title star cleared. Paused for saved-a byte oracle. Screenshots 00–07 document opening, the edit, destination chooser, refusal at both sizes, full tooltips, and recovery.
## C: fresh destination
Parent reported saved-a oracle PASS: all 37 files match baseline plus only the declared OA Activity name literal; original project.arcadia otherwise unchanged and refused new entry absent. Save As using typed full C path and pointer Save then showed Working followed by All source files saved / All changes saved. QA46 Name retained. Screenshots 08–09. Paused for saved-c oracle.
Parent reported saved-c oracle PASS: all 37 filenames and bytes exactly baseline plus only QA46 name; seven companion files were parent copies and 30 sources app writes. Opened B through typed exact native chooser path, then observed baseline Assess name, All changes saved, 94 objects / 62 links / 1 model check. No B model edits. Screenshots 10–11. Paused before Save All for parent external comment injection.
## B: genuine external edit
Parent reported baseline equality and injection of only a valid comment in oa/activities/activity_oa_restore_work.arcadia, with other bytes unchanged. Clicked Save All on the clean loaded B. Working resolved to Source files changed outside Arcadia Studio: ["oa/activities/activity_oa_restore_work.arcadia"]. Full message fits minimum footer and pointer tooltip, with no destination or fresh-directory wording. Header still says All changes saved because there are no local edits; this status is not proof of disk equality or successful attempted save. Screenshots 12–13. Paused for parent external-refused oracle/restoration.
## Recovery, outcome and limits
Parent reported external-refused oracle PASS: injected comment preserved, all other 36 files untouched. Parent restored exact baseline bytes and reported all 37 matching. Parent also reported complete parsed C model equals baseline plus only the predeclared Activity name. After clearance, clicked Save All on B: Working resolved to All source files saved, with All changes saved. Inspected Assess activity by pointer: exact baseline Name Assess pressure alarm, stable alias oa_assess, performer Control room; 94 objects / 62 links / 1 model check. No B model edits. Screenshots 14–15. Closed normally via Alt+F4; fresh native window enumeration no longer listed Arcadia. Parent owns post-close oracle, process exit/logs and executable/runtime checks.
Native result: no new defect found in the bounded #46 workflows. The collision now explains protected destination files and both supported recovery routes; actual external modification keeps the separate external-change wording. Save All recovery and fresh-folder Save As both completed through normal UI. The existing persistent footer is truncated for the longer collision message; full details are reachable and readable by pointer tooltip at normal and minimum size. Keyboard-only access to that tooltip was not tested. Clean B header All changes saved describes absence of local edits, not successful save or lack of disk conflict: the footer explicitly reported refusal. Native counts and screenshots do not prove whole-model/disk equality; parent-provided byte/parser results are labeled separately above. This run did not retest every save-error class or concurrency race. Evidence recorded 2026-10-01 America/Los_Angeles.