# Save diagnostics Windows development preview This scoped preview delivers [issue 46](http://217.177.34.108:3000/sorokin.oleg.edu/ARCADIA-Studio/issues/46) on the released 715 foundation plus compact controls/contextual Help. Protected Save As destination conflicts now explain that existing files are protected and offer fresh-directory Save As or current-entry Save All recovery. Observed external edits retain their external-change diagnosis. File protection, source format, model/history semantics and APIs are unchanged. [Contribution decisions, regressions and native review](save-as-diagnostics-20261001.md) are authoritative for the bounded implementation. ## Inputs and artifact Version `0.2.0-preview.save-diagnostics.20261001`, target `x86_64-pc-windows-gnullvm`, dev/unoptimized with debug assertions. Desktop source `0e83157e09d52e6152df91208e41693b62da2d46`; packaged documentation `ef28f1784efe6717b0ca72c0eb3c97bc30ebfe47`. This source integrates the compact Help contribution; it excludes the separately owned follow-up union. The exact server artifact is reused from715; core/server/Cargo/vendor inputs are unchanged. Neither binary was rebuilt during packaging. | Artifact | SHA256 | | --- | --- | | Studio | `e9cce9355525ecdc59bfae12608b1e0272167acef5a86b25368ef547e08886ff` | | Server | `6cebacc117e46fdab023c6402a5cebd6929fb55993ae8ff6b89cd1c6c1170237` | | Selected libunwind | `f45604a12e8bcd839fd86f667c1be1cc7c4f9da2b3c69ff381ac708f0e1ae7d4` | | ZIP | `8b4e353e075f22350a07794ee47a02cf85725501223299cf367134aa1f5b63b7` | ZIP: 34,191,561 bytes, 565 files. The [evidence packet](experiments/save-diagnostics-package-20261001/README.md) preserves exact provenance, scripts/receipts, native captures, full source/model and HTTP records; its index allows byte verification. [Confirmed publication](experiments/save-diagnostics-package-20261001/publication.md) delivers release 9 from evidence checkpoint `e144e32e9984477a258759a9dcc75f6e499fc224`, with all three assets downloaded and matched. The tag's original validation checkpoint predates publication; these later receipts do not rewrite its history. The [fresh independent final review](experiments/save-diagnostics-package-20261001/raw/independent-review.md) finds no material blocker in this exact bounded artifact. Parent collection and offline and Git index verification pass for 164 indexed evidence files and 637 source inputs. Publication/download verification is a separate completed gate in the linked receipts. The [independent packet closure review](experiments/save-diagnostics-package-20261001/packet-review.md) also verifies every copied artifact against its original and passes the collected verifier with staged-index/current-source checks. The server's original published build receipts were recovered read-only from immutable evidence commit `206f3b969482241e01e2dfc6be955caf31747b89`. The 462-member archive passed safe-name/size/CRC/SHA checks before selecting 18 exact build/gate records. Original compiler Rust 1.98.1 and LLVM-MinGW 20260908/runtime identity remain in those receipts. The current Studio/package uses LLVM-MinGW 20260826 and the selected DLL above; fresh server tests exercise this exact pairing with system-only PATH. The server is not represented as rebuilt with the current Studio toolchain. The recovered records and immediate donor manifest support explicit per-binary reuse. ## Verification and limits The unchanged desktop source's 29 targeted save checks, formatting, strict all-target Clippy, GUI build and fresh source/native independent review pass. Earlier compact Help/full-suite evidence remains separately scoped; no new full-suite final-commit claim is made. Packaging and extraction verify exact stage/archive/extracted content for all 565 files, 564 checksum entries, 559 package inputs, 268 dependency packages, 489 notices and 18 documentation links. The broader source snapshot contains 637 Git-identified files; it is distinct from the 559 selected package inputs and six generated bundle files. Independent artifact precheck examines PE ordinary/delay imports, notices, metadata equality, source hashes and archive safety. A first reviewer checker incorrectly assumed every input has a local_path; that failure remains recorded, and the corrected local-only input check passes. Fresh actual extracted server testing passes 23 assertions from 11 HTTP exchanges: readiness, exact packaged OpenAPI, complete Unicode/CRLF source import/read/edit, revision/ETag, stale If-Match 412 with preserved model/source, acknowledged store identity and exact persistence after owned forced restart. This is not graceful shutdown, power-loss or remote deployment acceptance. The prior #39 Unicode harness failure belongs to its original record. This fresh run copies the corrected `server-smoke-unicode02/run.py` byte-for-byte (SHA256 `20344608a0623584a0e0ac66dc7f435a0de053d39b4254e92f1c1148aed8e8b9`), rather than the failed `server-smoke/run.py`. Its captured fixture independently confirms the U+2014 comment and CRLF text. Two actual extracted Windows 11 desktop processes with system-only child PATH open the offline guide/full example, Apply the declared Activity-name edit, refuse protected same-folder/new-entry Save As, display complete pointer recovery guidance, recover using Save All and fresh-folder Save As, refuse a controlled genuine external edit, recover after its exact restoration, and reopen the saved source in a fresh process before a no-op Save All. Both exit 0 with empty logs; all 565 packaged files remain exact. The initial premature loading capture is retained and is not treated as loaded-model proof. Eight phase oracles compare complete 37-file sets/bytes, including separately copied seven companions. A further fresh-reopen oracle checks all 37 saved bytes. The application writes 30 source files; it does not clone arbitrary external artifacts. A separate actual packaged-server oracle checks complete pristine and both saved Projects and exact source envelopes: only Activity `61f7bbfb-74a4-5540-9182-2583dfb27a49` Name changes from `Assess pressure alarm` to `Assess pressure alarm Package46`. A read-only validation probe confirms both are valid; the extra warning is expected trace_drift/OaChanged while the prior work-context warning remains. No trace reconciliation is inferred. The GUI trial uses 1442×932 on one existing Windows machine/account. Earlier contribution minimum-window, editor-history and #39 F1/caret results retain their own scope; those checks were not all repeated on this extracted package. Keyboard tooltip access, broader accessibility/DPI, second clean machine/profile, Linux, full-suite and all OA/SA workflows are not claimed. Linux/WSL remains user-deferred. Dense diagrams, Scenario group adapters, quantities/calculations/constraints, maintained libraries and complete first-release acceptance remain unfinished. Existing releases 7/8 and their tags remain frozen. No new local/server source semantics, experimental E/F labels or unverified peer changes are introduced. ## Run and reproduce Verify the adjacent ZIP SHA256, extract the complete folder and launch `arcadia-studio.exe`, keeping `libunwind.dll` beside both executables. Read `START-HERE.txt`; Home and Help/F1 expose the example and offline guidance. Copy the complete example before editing. Save All updates its loaded entry; Save As preserves include paths and needs a fresh source destination. Copy needed companion/external artifacts separately. Optional local backend from a writable working directory: ```powershell .\arcadia-server.exe --bind 127.0.0.1:8787 --data-dir C:/ArcadiaModels/server ``` Packaged `docs/server.md` and `docs/api.rst` define REST, authentication and deployment. No remote deployment was performed. Source build/check commands, with the recorded Rust 1.98.1/gnullvm environment and jobs 1/incremental disabled: ```powershell cargo fmt --all -- --check cargo test --locked -p oa-desktop -- save_as_tests source_project_tests repair_save_state_tests --test-threads=1 cargo clippy --locked -p oa-desktop --all-targets -- -D warnings cargo build --locked -p oa-desktop --bin arcadia-studio cargo build --locked -p oa-server --bin arcadia-server ``` The 29 recorded checks use that exact three-filter command in the contribution's `commands.json`; this is not a full-suite invocation. Use [Windows packaging](../docs/windows-packaging.md) and `scripts/package-windows.ps1` with explicit target/version, verified binary directory, recorded BuildEvidence, matching LLVM-MinGW root and fresh OutputRoot. The script packages/verifies; it does not compile or establish native acceptance. The packet's offline verifier checks captured bytes and Git input identities; runtime helpers retain the original Windows paths in their raw record and require explicit adaptation to a fresh reconstruction directory. Do not rerun mutation helpers against a user's project or replace published artifacts.