Files
ARCADIA-Studio/harness/experiments/scenario-spacing-gates-0409a48-20260913/original/README.md
T

4.7 KiB

Saved Scenario spacing — attempt 3 gate template

Preparation only. No source pin has been adopted, no inputs have been captured, and no Cargo, product test, cleanup, native staging or launch has run from this directory.

The original spacing worktree remains the intended compiler checkout: ../scenario-spacing-ytr83r-20260913. Parent must wait for the c4 diagnostic to close, review its results, and integrate the reviewed correction tree there. The reviewed correction is 0409a481c7571e887f8912f0a8cdb93cfdcc01a7; the eventual integrated commit may have another identity but must have exactly that Git tree. finalize.ps1 rejects a dirty/wrong checkout, an unreviewed tree, any change beyond the three reviewed test files relative to c4, or an absent/invalid diagnostic closure. Do not replace the pending pin by hand.

The correction changes presentation_tests.rs, spacing/controller/tests.rs, and workspace/spacing_tests.rs. The exact prior listing contains 1,082 tests; one new ordinary test is added:

behavior::scenario::spacing::controller::tests::fractional_screen_packet_preserves_subpixel_motion_in_preview_and_finish

Expected new listing: 1,083; focused: 289; focused filtered: 794; full ignored: 4, unchanged. These are source-derived expectations, not execution results. selection-provenance.json binds the actual old listing and reviewed changed source files. Actual listing must match every name before focused execution. The optional ignored timing diagnostic expects one pass and 1,082 filtered tests; it has no timing threshold.

The previous c4 acceptance attempt is immutable: listing passed, focused reported 286 passed / 2 failed / 0 ignored / 794 filtered. Its later complete-inventory direct-executable run in ../scenario-spacing-full-diagnostic-c4-20260913 is a separate diagnostic, never a successful full acceptance gate and never permission to skip the corrected focused gate. correction-template.json binds the closed old receipts now; finalization records the actual closed diagnostic result and raw evidence hashes without requiring its tests to pass or inventing a result while it runs. Older failures remain reachable through the bound prior provenance record.

After parent integration and explicit review, parent may finalize (source capture only):

& .local/scenario-spacing-gates-attempt3-20260913/finalize.ps1 -SourceCommit <actual-reviewed-integrated-40-hex-commit> -Reviewed

Finalization verifies the current user-instruction blob, unchanged core/server/manifests relative to the previously tested 37be41092beb1c940f345072df1e017ce45fe2fc, and all 610 current source inputs: precisely three changed test files and 607 byte-identical inputs relative to c4. It captures external environment/configuration, reruns syntax and synthetic actual-parser checks, and writes finalization.json. A partial finalization must be inspected and preserved; do not overwrite its evidence or retry by deleting files.

Parent then dispatches each stage separately, proceeding only after the preceding receipt passes:

& .local/scenario-spacing-gates-attempt3-20260913/run.ps1 -Stage list
& .local/scenario-spacing-gates-attempt3-20260913/run.ps1 -Stage focused
& .local/scenario-spacing-gates-attempt3-20260913/run.ps1 -Stage all
& .local/scenario-spacing-gates-attempt3-20260913/run.ps1 -Stage clippy
& .local/scenario-spacing-gates-attempt3-20260913/run.ps1 -Stage build

The commands retain --locked --offline, focused/full --test-threads=1, and strict cargo clippy -p oa-desktop -p oa-server --all-targets --locked --offline -- -D warnings. The final stage builds the GUI executable; it does not launch it. Existing root target and core artifacts are retained. The existing pinned environment uses one build job and incremental=0; this recipe performs no clean or package clearance and changes no global configuration.

The runner retains pre/post complete-input checks, transitive receipt/script hashes, exact listed test executable path/size/SHA continuity through focused/full, raw outputs and structured result/count/ignored checks, combined desktop/server strict validation, and a separate final GUI executable hash/size. Native scripts and fixtures are outside this task and have not been updated or admitted for this candidate.

Preparation validation is limited to PowerShell parsing and nine synthetic cases executed against the actual runner parser block (valid/zero/duplicate/missing/wrong-total/wrong-filtered focused results and complete/missing-summary/duplicate listings). It does not invoke a compiler or test executable. The inherited full-stage parser and provenance guards remain subject to the real gate; synthetic checks do not establish product correctness.