Release context
Full CI run 33308645055 for release/v0.5.1519 failed only cargo-test-perry shard 2/8 (job 99249612219) in crates/perry/tests/source_graph_export_regressions.rs. The remaining 14 tests in that binary passed.
Failure 1
cross_module_arrow_callback_dispatch_is_resolved_once_and_fails_closed
Runtime output is correct: 1584, 32, 42. The test still requires js_box_set_bits_trusted_no_barrier anywhere in the combined IR. Since #8705, the bounded private trusted-box body deliberately inlines the normal capture load/store and retains only js_box_get_bits_trusted for the cold TDZ/suppression fallback. The focused trusted_box_callback_tests already pin this contract and explicitly reject the old setter helper.
Adjust the source-graph test to inspect the private trusted_boxes body itself and require the direct capture load/store, TDZ fallback, write barrier, and absence of generic box access. Keep the forced-evacuation runtime assertion.
Failure 2
imported_class_return_types_pull_in_transitive_dispatch_metadata
Runtime output is correct: 99 42 43 44 45 47 48 45. The transitive valuePing calls now target the guarded exported valuePing$pshape capability; the assertion only accepts the older public valuePing symbol. Accept either sound direct route while retaining the runtime override/fallback coverage. Existing proven_this_routing_tests pin that every pshape call is dominated by the shape/class guard.
Acceptance criteria
- Both failing tests pass on Linux with the release commit.
- The full source_graph_export_regressions test binary passes, including forced evacuation.
- Focused trusted-box codegen tests remain green.
- No compiler/runtime semantic change is made unless inspection contradicts the evidence above.
Release context
Full CI run 33308645055 for release/v0.5.1519 failed only cargo-test-perry shard 2/8 (job 99249612219) in crates/perry/tests/source_graph_export_regressions.rs. The remaining 14 tests in that binary passed.
Failure 1
cross_module_arrow_callback_dispatch_is_resolved_once_and_fails_closed
Runtime output is correct: 1584, 32, 42. The test still requires js_box_set_bits_trusted_no_barrier anywhere in the combined IR. Since #8705, the bounded private trusted-box body deliberately inlines the normal capture load/store and retains only js_box_get_bits_trusted for the cold TDZ/suppression fallback. The focused trusted_box_callback_tests already pin this contract and explicitly reject the old setter helper.
Adjust the source-graph test to inspect the private trusted_boxes body itself and require the direct capture load/store, TDZ fallback, write barrier, and absence of generic box access. Keep the forced-evacuation runtime assertion.
Failure 2
imported_class_return_types_pull_in_transitive_dispatch_metadata
Runtime output is correct: 99 42 43 44 45 47 48 45. The transitive valuePing calls now target the guarded exported valuePing$pshape capability; the assertion only accepts the older public valuePing symbol. Accept either sound direct route while retaining the runtime override/fallback coverage. Existing proven_this_routing_tests pin that every pshape call is dominated by the shape/class guard.
Acceptance criteria