[INFO] fetching crate pc_core 0.3.0...
[INFO] testing pc_core-0.3.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate pc_core 0.3.0 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate pc_core 0.3.0
[INFO] finished tweaking crates.io crate pc_core 0.3.0
[INFO] tweaked toml for crates.io crate pc_core 0.3.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate pc_core 0.3.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate pc_core 0.3.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] bdf95d3e1a6d43cd5c5d1f8e5c404c6a8ca9af5140c096a5957cb6e5e920162d
[INFO] running `Command { std: "docker" "start" "-a" "bdf95d3e1a6d43cd5c5d1f8e5c404c6a8ca9af5140c096a5957cb6e5e920162d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bdf95d3e1a6d43cd5c5d1f8e5c404c6a8ca9af5140c096a5957cb6e5e920162d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bdf95d3e1a6d43cd5c5d1f8e5c404c6a8ca9af5140c096a5957cb6e5e920162d", kill_on_drop: false }`
[INFO] [stdout] bdf95d3e1a6d43cd5c5d1f8e5c404c6a8ca9af5140c096a5957cb6e5e920162d
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] f95feca39928ec1e33462ef9b90f6622490bbd5f1dfd4e72272790f4c132c169
[INFO] running `Command { std: "docker" "start" "-a" "f95feca39928ec1e33462ef9b90f6622490bbd5f1dfd4e72272790f4c132c169", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libc v0.2.183
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling zerocopy v0.8.47
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling pc_core v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 7.58s
[INFO] running `Command { std: "docker" "inspect" "f95feca39928ec1e33462ef9b90f6622490bbd5f1dfd4e72272790f4c132c169", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f95feca39928ec1e33462ef9b90f6622490bbd5f1dfd4e72272790f4c132c169", kill_on_drop: false }`
[INFO] [stdout] f95feca39928ec1e33462ef9b90f6622490bbd5f1dfd4e72272790f4c132c169
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] a7cfb16dd7abc4c3d956429ba603eb4d34e1664c760bddc99faf1365c25162ff
[INFO] running `Command { std: "docker" "start" "-a" "a7cfb16dd7abc4c3d956429ba603eb4d34e1664c760bddc99faf1365c25162ff", kill_on_drop: false }`
[INFO] [stderr]    Compiling pc_core v0.3.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2.53s
[INFO] running `Command { std: "docker" "inspect" "a7cfb16dd7abc4c3d956429ba603eb4d34e1664c760bddc99faf1365c25162ff", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "a7cfb16dd7abc4c3d956429ba603eb4d34e1664c760bddc99faf1365c25162ff", kill_on_drop: false }`
[INFO] [stdout] a7cfb16dd7abc4c3d956429ba603eb4d34e1664c760bddc99faf1365c25162ff
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 7fac670061174577047a9967b12b38a9bb478fe21d82cbe1989cae0361cb1d70
[INFO] running `Command { std: "docker" "start" "-a" "7fac670061174577047a9967b12b38a9bb478fe21d82cbe1989cae0361cb1d70", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/pc_core-286e9506234243fe)
[INFO] [stdout] 
[INFO] [stdout] running 199 tests
[INFO] [stdout] test activation::tests::test_apply_vec_empty_returns_empty ... ok
[INFO] [stdout] test activation::tests::test_apply_vec_preserves_length ... ok
[INFO] [stdout] test activation::tests::test_elu_apply_negative_is_exp_minus_one ... ok
[INFO] [stdout] test activation::tests::test_elu_apply_positive_is_identity ... ok
[INFO] [stdout] test activation::tests::test_elu_apply_zero_is_zero ... ok
[INFO] [stdout] test activation::tests::test_apply_vec_applies_elementwise ... ok
[INFO] [stdout] test activation::tests::test_elu_apply_large_negative_approaches_minus_one ... ok
[INFO] [stdout] test activation::tests::test_elu_derivative_at_minus_one_is_zero ... ok
[INFO] [stdout] test activation::tests::test_elu_derivative_positive_is_one ... ok
[INFO] [stdout] test activation::tests::test_elu_derivative_negative_is_fx_plus_one ... ok
[INFO] [stdout] test activation::tests::test_linear_apply_is_identity ... ok
[INFO] [stdout] test activation::tests::test_linear_derivative_always_one ... ok
[INFO] [stdout] test activation::tests::test_relu_apply_negative_is_zero ... ok
[INFO] [stdout] test activation::tests::test_relu_apply_zero_is_zero ... ok
[INFO] [stdout] test activation::tests::test_relu_derivative_positive_output_is_one ... ok
[INFO] [stdout] test activation::tests::test_relu_apply_positive_is_identity ... ok
[INFO] [stdout] test activation::tests::test_relu_derivative_zero_output_is_zero ... ok
[INFO] [stdout] test activation::tests::test_serde_unknown_variant_returns_error ... ok
[INFO] [stdout] test activation::tests::test_sigmoid_apply_zero_is_half ... ok
[INFO] [stdout] test activation::tests::test_sigmoid_apply_large_stays_below_one ... ok
[INFO] [stdout] test activation::tests::test_sigmoid_derivative_at_half ... ok
[INFO] [stdout] test activation::tests::test_sigmoid_apply_very_negative_stays_above_zero ... ok
[INFO] [stdout] test activation::tests::test_sigmoid_derivative_formula ... ok
[INFO] [stdout] test activation::tests::test_softsign_apply_bounded ... ok
[INFO] [stdout] test activation::tests::test_softsign_apply_zero ... ok
[INFO] [stdout] test activation::tests::test_softsign_derivative_high_saturation ... ok
[INFO] [stdout] test activation::tests::test_tanh_apply_zero ... ok
[INFO] [stdout] test activation::tests::test_tanh_derivative_at_zero_is_one ... ok
[INFO] [stdout] test activation::tests::test_tanh_derivative_formula ... ok
[INFO] [stdout] test layer::tests::test_backward_changes_bias ... ok
[INFO] [stdout] test layer::tests::test_backward_changes_weights ... ok
[INFO] [stdout] test activation::tests::test_softsign_derivative_always_positive ... ok
[INFO] [stdout] test activation::tests::test_tanh_apply_known ... ok
[INFO] [stdout] test layer::tests::test_backward_clips_weights_to_weight_clip ... ok
[INFO] [stdout] test activation::tests::test_softsign_apply_negative ... ok
[INFO] [stdout] test activation::tests::test_softsign_apply_positive ... ok
[INFO] [stdout] test layer::tests::test_backward_zero_lr_does_not_change_weights ... ok
[INFO] [stdout] test layer::tests::test_forward_tanh_output_bounded ... ok
[INFO] [stdout] test layer::tests::test_forward_all_outputs_finite ... ok
[INFO] [stdout] test activation::tests::test_softsign_derivative_negative ... ok
[INFO] [stdout] test layer::tests::test_forward_output_length_equals_output_size ... ok
[INFO] [stdout] test layer::tests::test_transpose_forward_all_finite ... ok
[INFO] [stdout] test layer::tests::test_transpose_forward_output_length_equals_input_size ... ok
[INFO] [stdout] test layer::tests::test_forward_linear_known_value ... ok
[INFO] [stdout] test layer::tests::test_forward_relu_no_negative_outputs ... ok
[INFO] [stdout] test layer::tests::test_transpose_forward_different_activation_changes_output ... ok
[INFO] [stdout] test matrix::tests::test_argmax_masked_returns_highest_in_mask ... ok
[INFO] [stdout] test layer::tests::test_serde_roundtrip_preserves_weights_and_activation ... ok
[INFO] [stdout] test activation::tests::test_all_activations_produce_finite_output_for_extreme_inputs ... ok
[INFO] [stdout] test activation::tests::test_serde_roundtrip_all_variants ... ok
[INFO] [stdout] test activation::tests::test_softsign_derivative_at_zero ... ok
[INFO] [stdout] test activation::tests::test_softsign_derivative_positive ... ok
[INFO] [stdout] test activation::tests::test_tanh_apply_negative ... ok
[INFO] [stdout] test layer::tests::test_backward_returns_delta_of_correct_length ... ok
[INFO] [stdout] test matrix::tests::test_argmax_masked_tie_returns_first ... ok
[INFO] [stdout] test layer::tests::test_backward_returns_finite_delta ... ok
[INFO] [stdout] test layer::tests::test_forward_sigmoid_output_bounded ... ok
[INFO] [stdout] test matrix::tests::test_get_set_roundtrip ... ok
[INFO] [stdout] test matrix::tests::test_outer_dims_and_values ... ok
[INFO] [stdout] test matrix::tests::test_argmax_masked_single_element ... ok
[INFO] [stdout] test activation::tests::test_all_derivatives_finite_for_typical_post_activation_values ... ok
[INFO] [stdout] test matrix::tests::test_clip_vec_clamps_positive ... ok
[INFO] [stdout] test matrix::tests::test_get_zero_default ... ok
[INFO] [stdout] test matrix::tests::test_clip_vec_leaves_safe_values ... ok
[INFO] [stdout] test matrix::tests::test_mul_vec_output_length_equals_rows ... ok
[INFO] [stdout] test matrix::tests::test_mul_vec_zero_matrix_returns_zeros ... ok
[INFO] [stdout] test matrix::tests::test_mul_vec_known_result ... ok
[INFO] [stdout] test matrix::tests::test_outer_empty_first_returns_zero_matrix ... ok
[INFO] [stdout] test matrix::tests::test_rms_error_all_zeros_returns_zero ... ok
[INFO] [stdout] test matrix::tests::test_rms_error_empty_returns_zero ... ok
[INFO] [stdout] test matrix::tests::test_rms_error_known_two_vecs ... ok
[INFO] [stdout] test matrix::tests::test_rms_error_single_vec ... ok
[INFO] [stdout] test matrix::tests::test_rms_error_single_empty_vec_returns_zero ... ok
[INFO] [stdout] test matrix::tests::test_sample_from_probs_always_in_mask ... ok
[INFO] [stdout] test matrix::tests::test_sample_from_probs_visits_multiple_actions ... ok
[INFO] [stdout] test matrix::tests::test_scale_add_negative_clips_to_neg_weight_clip ... ok
[INFO] [stdout] test matrix::tests::test_sample_from_probs_zero_probs_fallback_is_in_mask ... ok
[INFO] [stdout] test matrix::tests::test_scale_add_basic ... ok
[INFO] [stdout] test matrix::tests::test_scale_add_clips_to_weight_clip ... ok
[INFO] [stdout] test matrix::tests::test_sample_from_probs_distribution_roughly_correct ... ok
[INFO] [stdout] test matrix::tests::test_outer_empty_second_returns_zero_matrix ... ok
[INFO] [stdout] test matrix::tests::test_sample_from_probs_single_action_always_returns_it ... ok
[INFO] [stdout] test matrix::tests::test_scale_add_zero_scale_only_clips ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_sums_to_one ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_unmasked_are_zero ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_empty_mask_returns_all_zeros ... ok
[INFO] [stdout] test matrix::tests::test_transpose_double_is_identity ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_higher_logit_gets_higher_prob ... ok
[INFO] [stdout] test matrix::tests::test_transpose_repositions_values ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_numerically_stable_large_logits ... ok
[INFO] [stdout] test matrix::tests::test_transpose_swaps_dims ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_single_index_is_one ... ok
[INFO] [stdout] test matrix::tests::test_vec_add_known ... ok
[INFO] [stdout] test matrix::tests::test_vec_scale_known ... ok
[INFO] [stdout] test matrix::tests::test_vec_sub_known ... ok
[INFO] [stdout] test matrix::tests::test_zeros_all_zero_correct_dims ... ok
[INFO] [stdout] test mlp_critic::tests::test_forward_different_inputs_give_different_outputs ... ok
[INFO] [stdout] test mlp_critic::tests::test_forward_deep_topology_returns_finite ... ok
[INFO] [stdout] test mlp_critic::tests::test_forward_extreme_input_still_finite ... ok
[INFO] [stdout] test matrix::tests::test_xavier_all_finite ... ok
[INFO] [stdout] test mlp_critic::tests::test_forward_returns_finite_scalar ... ok
[INFO] [stdout] test mlp_critic::tests::test_serde_roundtrip_preserves_weights ... ok
[INFO] [stdout] test mlp_critic::tests::test_update_changes_weights ... ok
[INFO] [stdout] test layer::tests::test_forward_panics_wrong_input_length - should panic ... ok
[INFO] [stdout] test layer::tests::test_transpose_forward_panics_wrong_input_length - should panic ... ok
[INFO] [stdout] test matrix::tests::test_xavier_variance_approx ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_alpha_zero_does_not_converge ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_converges_on_zero_board ... ok
[INFO] [stdout] test matrix::tests::test_argmax_masked_empty_panics - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_all_outputs_finite ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_does_not_modify_weights ... ok
[INFO] [stdout] test matrix::tests::test_argmax_masked_panics_on_oob_mask - should panic ... ok
[INFO] [stdout] test matrix::tests::test_get_panics_on_oob_row - should panic ... ok
[INFO] [stdout] test matrix::tests::test_mul_vec_panics_wrong_length - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_hidden_states_count_matches_hidden_layers ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_latent_size_single_hidden ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_latent_size_matches_latent_size_method ... ok
[INFO] [stdout] test mlp_critic::tests::test_update_returns_finite_nonneg_loss ... ok
[INFO] [stdout] test matrix::tests::test_scale_add_panics_on_dimension_mismatch - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_latent_size_two_hidden ... ok
[INFO] [stdout] test matrix::tests::test_softmax_masked_panics_on_oob_mask - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_steps_used_at_least_min_steps ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_prediction_errors_count_matches_hidden_layers ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_prediction_errors_all_finite ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_prediction_errors_zero_hidden_is_empty ... ok
[INFO] [stdout] test matrix::tests::test_set_panics_on_oob_row - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_zero_hidden_layers_produces_finite_output ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_prediction_errors_size_matches_hidden_layer_size ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_synchronous_and_inplace_both_converge ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_prediction_errors_two_hidden ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_y_conv_length_equals_output_size ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_changes_weights ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_clips_weights ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_synchronous_produces_different_result_than_inplace ... ok
[INFO] [stdout] test matrix::tests::test_sample_from_probs_empty_mask_panics - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_above_one_returns_error ... ok
[INFO] [stdout] test matrix::tests::test_vec_sub_panics_on_length_mismatch - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_surprise_score_nonnegative ... ok
[INFO] [stdout] test pc_actor::tests::test_new_negative_temperature_returns_error ... ok
[INFO] [stdout] test matrix::tests::test_vec_add_panics_on_length_mismatch - should panic ... ok
[INFO] [stdout] test mlp_critic::tests::test_forward_panics_wrong_input_size - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_negative_returns_error ... ok
[INFO] [stdout] test pc_actor::tests::test_new_zero_output_size_returns_error ... ok
[INFO] [stdout] test pc_actor::tests::test_new_zero_temperature_returns_error ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_one_equals_backprop ... ok
[INFO] [stdout] test pc_actor::tests::test_infer_panics_wrong_input_length - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_new_zero_input_size_returns_error ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_half_differs_from_both_pure_modes ... ok
[INFO] [stdout] test pc_actor::tests::test_local_learning_clips_weights ... ok
[INFO] [stdout] test pc_actor::tests::test_local_lambda_zero_equals_local_learning ... ok
[INFO] [stdout] test pc_actor::tests::test_local_learning_update_changes_weights ... ok
[INFO] [stdout] test pc_actor::tests::test_local_learning_differs_from_backprop ... ok
[INFO] [stdout] test pc_actor::tests::test_local_learning_config_accepted ... ok
[INFO] [stdout] test pc_actor::tests::test_select_action_empty_valid_panics - should panic ... ok
[INFO] [stdout] test pc_actor::tests::test_select_action_training_always_in_valid ... ok
[INFO] [stdout] test pc_actor::tests::test_local_learning_two_hidden_changes_both ... ok
[INFO] [stdout] test pc_actor::tests::test_select_action_temperature_gt_one_more_uniform ... ok
[INFO] [stdout] test pc_actor::tests::test_update_weights_changes_first_layer ... ok
[INFO] [stdout] test pc_actor::tests::test_update_weights_clips_all_layers ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_adaptive_surprise_recalibrates_thresholds_after_many_episodes ... ok
[INFO] [stdout] test mlp_critic::tests::test_update_clips_weights ... ok
[INFO] [stdout] test pc_actor::tests::test_update_weights_two_hidden_changes_both_layers ... ok
[INFO] [stdout] test mlp_critic::tests::test_update_loss_decreases_over_30_iterations ... ok
[INFO] [stdout] test pc_actor::tests::test_select_action_play_mode_deterministic ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_returns_finite_nonneg_loss ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_continuous_nonterminal_uses_next_value ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_continuous_updates_actor ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_single_step_trajectory ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_multi_step_uses_stored_hidden_states ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_act_empty_valid_panics - should panic ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_updates_critic_weights ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_new_returns_error_zero_output_size ... ok
[INFO] [stdout] test pc_actor::tests::test_update_weights_panics_wrong_x_size - should panic ... ok
[INFO] [stdout] test serializer::tests::test_checkpoint_filename_no_colons ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_new_returns_error_negative_gamma ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_updates_actor_weights ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_new_returns_error_zero_input_size ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_continuous_terminal_and_nonterminal_produce_different_updates ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_new_returns_error_zero_temperature ... ok
[INFO] [stdout] test serializer::tests::test_checkpoint_filename_contains_episode_number ... ok
[INFO] [stdout] test serializer::tests::test_load_nonexistent_returns_error ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_surprise_scale_below_low ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_surprise_scale_above_high ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_act_returns_valid_action ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_surprise_scale_midpoint_in_range ... ok
[INFO] [stdout] test serializer::tests::test_load_invalid_json_returns_error ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_surprise_scale_monotone_increasing ... ok
[INFO] [stdout] test serializer::tests::test_loaded_agent_produces_identical_inference ... ok
[INFO] [stdout] test serializer::tests::test_metadata_includes_version_and_episode ... ok
[INFO] [stdout] test serializer::tests::test_roundtrip_preserves_critic_weights ... ok
[INFO] [stdout] test serializer::tests::test_save_creates_parent_directories ... ok
[INFO] [stdout] test serializer::tests::test_roundtrip_preserves_config ... ok
[INFO] [stdout] test serializer::tests::test_roundtrip_preserves_actor_weights ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_entropy_regularization_prevents_policy_collapse ... ok
[INFO] [stdout] test serializer::tests::test_load_topology_mismatch_returns_error ... ok
[INFO] [stdout] test serializer::tests::test_load_agent_uses_entropy_seed_not_fixed ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_empty_returns_zero_without_modifying_weights ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_continuous_terminal_uses_reward_only ... ok
[INFO] [stdout] test pc_actor_critic::tests::test_learn_improves_policy_for_rewarded_action ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 199 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests pc_core
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test src/activation.rs - activation::Activation (line 20) ... ok
[INFO] [stdout] test src/mlp_critic.rs - mlp_critic::MlpCriticConfig (line 21) ... ok
[INFO] [stdout] test src/pc_actor.rs - pc_actor::PcActorConfig (line 25) ... ok
[INFO] [stdout] test src/layer.rs - layer::Layer (line 42) ... ok
[INFO] [stdout] test src/matrix.rs - matrix::Matrix (line 26) ... ok
[INFO] [stdout] test src/layer.rs - layer::LayerDef (line 21) ... ok
[INFO] [stdout] test src/serializer.rs - serializer::checkpoint_filename (line 193) ... ok
[INFO] [stdout] test src/pc_actor_critic.rs - pc_actor_critic::PcActorCriticConfig (line 26) ... ok
[INFO] [stdout] test src/error.rs - error::PcError (line 13) ... ok
[INFO] [stdout] test src/mlp_critic.rs - mlp_critic::MlpCritic (line 62) ... ok
[INFO] [stdout] test src/pc_actor.rs - pc_actor::PcActor (line 130) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.84s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7fac670061174577047a9967b12b38a9bb478fe21d82cbe1989cae0361cb1d70", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7fac670061174577047a9967b12b38a9bb478fe21d82cbe1989cae0361cb1d70", kill_on_drop: false }`
[INFO] [stdout] 7fac670061174577047a9967b12b38a9bb478fe21d82cbe1989cae0361cb1d70
