8.6 KiB
Save diagnostics Windows development preview
This scoped preview delivers issue 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 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 preserves exact provenance, scripts/receipts, native captures, full source/model and HTTP records; its index allows byte verification. This record is a pre-publication validation checkpoint; release/tag and download readback are recorded only after confirmed publication. The fresh independent final review 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 remains a separate gate. The independent packet closure review 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:
.\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:
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 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.