Files
ARCADIA-Studio/harness/experiments/scenario-workspace-gates-2c9cd2b-20260913/original
..

Prepared saved Scenario workspace Windows gate

Prepared at 2c9cd2b3e661ef85f11590c7128dcb2f502d0c26 in .local/scenario-workspace-ytr83r-20260913. No Cargo, compiler/version command, cleanup, server, application build or native launch was executed during preparation. Parent alone dispatches each stage. This directory contains no product pass claim.

Run in order with PowerShell 7: pwsh -NoProfile -File .local/scenario-workspace-gates-20260913/run.ps1 -Stage list, then separate invocations for focused, all, clippy, build. A later stage requires its exact successful predecessor, unchanged source/config/recipe hashes and preserved prior raw log. The runner carries transitive prior bindings, including the actual listing receipt, through later stages. Existing logs/receipts/captures are never overwritten; failure/retry needs a new directory.

Before dispatch, parent supplies current-pin package-clearance.json with base, successful cargoExitCode 0, absolute root target directory and dependenciesRetained=true. Recommended parent clearance is limited to oa-desktop/oa-server/oa-core because this gate moves to a different worktree; no cleanup is performed by preparation or run.ps1. Shared root target and existing dependency outputs remain parent-owned.

Exact source and test selection

Fresh Git and independent rg enumeration agree on 601 source/build/fixture/config files, rather than inheriting the old 591 count. enumeration.json records both complete memberships and tree; expected-inputs.json records independently computed byte lengths/SHA-256. The initial inputs-complete-before.json is captured once, after clean pinned source verification. Every stage re-enumerates and captures before/after, rejecting changed membership or bytes.

Focused selection is 224 unique tests: the previous 87 renderer/dispatch tests (one dispatch name explicitly changed), all 35 new tests, and affected existing Scenario/direct/workspace/operation/usage, canvas control, diagram selection/usage/reveal and behavior lifecycle cases. expected-tests.json contains every exact qualified name and the prefix rationale. All selected leaf test functions were found in current Rust source, including async tokio tests; selected additions are bound to their module files. New 35 comprise 5 presentation adapter, 5 controller, 5 camera+2 shared camera/control, 6 App routing, 4 adoption, 2 owner navigation and 6 saved usage tests.

The previous actual 1010-name listing, one explicit rename and 35 registered additions predict 1045 desktop tests. This is a membership expectation, not an execution result: the actual --list must match the complete exact name set, with unique names and consistent list summaries. Focused must execute each 224 exactly once, pass all with no ignores and match the actual listing's remaining count (predicted 821 filtered). Full desktop must match the actual listed multiset, run all 224 focused tests successfully, have zero filtered tests and exactly the three existing ignored timing/scale probes named in the manifest. There is no zero-match success path.

One old dispatch filter changes from app::saved_scenario_dispatch_tests::unsupported_saved_picker_and_reveal_do_not_apply_pending_properties to app::saved_scenario_dispatch_tests::saved_picker_with_invalid_properties_and_reveal_with_pending_properties_do_not_apply; its replacement remains in the retained 87 membership.

server-provenance.json records unchanged core/server/root-manifest scope relative to 37 and binds its passed server receipt/log. The UI gate does not repeat server tests. The parent-owned old 37 strict failure is preserved separately; this source includes its style-only correction. The new strict stage runs cargo clippy -p oa-desktop --all-targets --locked --offline -- -D warnings. The final GUI build records root/target/debug/arcadia-studio.exe bytes/hash/mtime; no GUI is presently built or launched by this preparation.

Environment and script checks

The external toolchain env script and all eight Cargo config candidates are freshly recorded in external-inputs.json; the env script is present and the config candidates absent. env.ps1 sets build jobs 1, incremental 0, stable-x86_64-pc-windows-gnullvm, clang linker and the configured cargo/rustup homes. This is the standard gate, not an incremental development trial. First list invocation records cargo/rustc/clippy/clang version output and selected runtime environment; later stages retain that binding. No registry-wide hashing is claimed.

PowerShell parsing checks all five scripts. verify-parser.ps1 executes only the actual runner's output parser against synthetic complete/missing/duplicate/wrong-total/wrong-filtered/zero logs; it does not execute Cargo. Script and parser results are preparation evidence only. The original beforecapture is protected from replacement.