Files
ARCADIA-Studio/harness/experiments/scenario-renderer-gates-68a81c3-20260913

Closed combined Scenario renderer gate: 68a81c3

This archive preserves the original failed Windows gate for 68a81c3f50d846e34cae96090979543878514c1e. The gate is closed. It is not full-suite or GUI acceptance.

Stage Recorded result
Desktop list/build PASS, exit 0; 1,010 unique tests listed. Cargo test-profile compilation reported 20m 28s. Listing does not execute those tests.
Focused desktop FAIL, exit 101; 86 passed, 1 failed, 0 ignored, 923 filtered, test runtime 18.67s. All 87 selected names ran exactly once.
Full desktop (all), server, strict Clippy, GUI application build NOT RUN, because the focused stage failed.

The list receipt, list log, focused receipt and focused log are original bytes. The 591-entry source binding is identical in the initial capture and both stages' before/after captures. Archive verification also checked receipt-bound recipe, input, log, capture and toolchain-record hashes, the predecessor receipt, and exact 87-test membership. No new compiler, test or native run was performed to create this archive.

Failure and subsequent unexecuted correction

The sole failure is behavior::scenario_layout::tests::post_fragment_death_cannot_disappear_and_feasible_operand_spacing_retains_its_marker, panicking through the result helper at crates/oa-desktop/src/behavior/scenario_layout/tests.rs:286:34. The actual error is OperandScopeOutsideEnclosingInterval for operand 10000000-0000-4000-8000-00000000000f, fragment 10000000-0000-4000-8000-00000000000c. It occurs on the test's second-message 520 valid control, not the 700 negative case.

Parent and independent review traced a false rejection in frame growth: the old frame is 148..567, with descendant coverage ending at 475 and 92 units of retained frame padding. The second operand is 433..525 with 50 units of scope padding. Moving its message to 520 requires scope end 570 and frame end 612; following Delete 631 is still feasible. The old code waits for the uncovered footprint itself to pass the frame edge before adding padding, leaving the grown operand outside its unchanged frame. This is source-derived diagnosis, distinct from the raw observed failure.

Correction 37be41092beb1c940f345072df1e017ce45fe2fc grows frames using the padded covered end and strengthens this same real-Scene test with exact scope/frame assertions. It preserves the 700 negative case, which must still reject newly missing lifecycle geometry. The correction is unexecuted at this archival checkpoint and does not supersede or reinterpret the failed 68 result. A fresh separately bound gate is required.

Original records and binary provenance

All 26 original files are copied without byte changes under original/, including the historical preparation README, scripts, logs, receipts, package-clearance records, parser verification, expected membership, all five source captures, external/toolchain bindings and test-binary-post-execution.json. Preparation-only wording in the original README remains historical. manifest.json binds their paths, byte sizes and SHA-256 hashes; .gitattributes prevents Git text normalization of this archive.

The test executable was measured after execution, at 2026-09-13T05:05:34.711Z: 149,173,760 bytes, SHA-256 86ad22863558b765fb1cd2c04a211fceeb3a41a52d3b3e29780d60e0c63daaed, mtime 2026-09-13T05:01:23.615Z. Its recorded path matches both logs. This is a post-execution binding only; there is no before-execution hash claim. No executable is copied here and no GUI executable build or launch is claimed.

Original absolute workspace/target paths are historical environment provenance, not a requirement that another peer access the integration owner's local directory. Commands and exact arguments are retained in the portable scripts/receipts.