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

Saved Scenario workspace retry gate — pending reviewed pin

Prepared only. No Cargo, compiler/version invocation, cleanup, test binary, GUI or native staging is run by this preparation. Parent supplies the final reviewed source commit after the two focused failures and visibility correction are resolved. Closed attempts remain untouched.

finalize.ps1 -SourceCommit <reviewed-40-character-pin> requires the existing UI worktree to be clean at that exact commit. It performs read-only source/config enumeration and writes fresh manifests, the single initial capture, prior-failure provenance and script/parser checks. It refuses existing captures/runs and core/server changes relative to the already tested37 scope. It neither starts Cargo nor cleans anything. Inspect a partial-finalization failure; do not overwrite historical captures to retry.

Parent dispatch order, in separate PowerShell7 invocations:

  1. run.ps1 -Stage list
  2. run.ps1 -Stage focused
  3. run.ps1 -Stage all
  4. run.ps1 -Stage clippy
  5. run.ps1 -Stage build

Every stage requires the exact successful predecessor and unchanged transitive recipe/source hashes. Stop after a failed focused run; no full/strict/build success is inferred. The pending-pin runner fails before any Cargo invocation. This retry deliberately retains the existing root target/cache; no package-clearance file or clean is requested. Existing task environment remains jobs1/incremental0 unless separately reviewed; retained Cargo artifacts are not a claim that rustc incremental mode is enabled.

The corrected recovery83 manifest supplies all224 focused names and the actual1045 desktop names, including behavior::canvas_workspace::camera_policy_tests::{tiny_zoom_label_is_nonzero_and_changes_with_zoom,topology_retains_five_percent_floor}. Full acceptance requires exactly three preexisting named ignores, no filtered tests and all listed tests accounted for. If the final source adds/removes/renames tests, parent must review/update the expected membership before finalization; a fresh actual listing must still match exactly.

Listing binds the actual Running unittests ... (.exe) path and resulting bytes/SHA256. Later stages hash that same test executable before/after; focused/full also require the logged executed path to match. Changing bytes or a missing/unexpected executable rejects acceptance. The final GUI build records its own executable bytes/hash/mtime. Source before/after captures independently compare Git/rg membership, source hashes and external Cargo config presence/bytes. No registry-wide dependency hash claim is made.

Strict runs both desktop and server: cargo clippy -p oa-desktop -p oa-server --all-targets --locked --offline -- -D warnings. The final build is cargo build -p oa-desktop --bin arcadia-studio --locked --offline. Prior unchanged server tests are reused only after source-scope comparison; prior server tests do not substitute for this combined strict stage.

validate-scripts.ps1 parses all seven scripts without executing the gate. verify-parser.ps1 extracts and executes the actual runner's result-parser block against synthetic focused/list logs, including missing/duplicate/zero/wrong-count/wrong-filtered controls. These are evaluator checks, not product tests. Native staging remains deferred until parent accepts the actual finalized build receipt.