[INFO] cloning repository https://github.com/schani/stupid-rogue
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/schani/stupid-rogue" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschani%2Fstupid-rogue", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschani%2Fstupid-rogue'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 034e4bf2e8bd8e6469e00e7973a5030a904ed7f5
[INFO] testing schani/stupid-rogue against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-3
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fschani%2Fstupid-rogue" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/schani/stupid-rogue
[INFO] finished tweaking git repo https://github.com/schani/stupid-rogue
[INFO] tweaked toml for git repo https://github.com/schani/stupid-rogue written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/schani/stupid-rogue on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/schani/stupid-rogue 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" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded target-triple v1.0.1
[INFO] [stderr]   Downloaded trybuild v1.0.120
[INFO] [stderr]   Downloaded darling v0.24.0
[INFO] [stderr]   Downloaded darling_macro v0.24.0
[INFO] [stderr]   Downloaded toml v1.1.4+spec-1.1.0
[INFO] [stderr]   Downloaded darling_core v0.24.0
[INFO] [stderr]   Downloaded compact_str v0.8.2
[INFO] [stderr]   Downloaded blake3 v1.8.6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba
[INFO] running `Command { std: "docker" "start" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling find-msvc-tools v0.1.10
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling cc v1.4.2
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling either v1.17.0
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling linux-raw-sys v0.4.15
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling instability v0.3.13
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling blake3 v1.8.6
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling static_assertions v1.1.0
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling unicode-width v0.1.14
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling compact_str v0.8.2
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling arrayref v0.3.9
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling darling_core v0.24.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling darling_macro v0.24.0
[INFO] [stderr]    Compiling darling v0.24.0
[INFO] [stderr]    Compiling ratatui v0.29.0
[INFO] [stderr]    Compiling moonberry-agent-api v0.1.0 (/opt/rustwide/workdir/crates/moonberry-agent-api)
[INFO] [stderr]    Compiling stupid-rogue v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 29s
[INFO] running `Command { std: "docker" "inspect" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling target-triple v1.0.1
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling glob v0.3.4
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.4+spec-1.1.0
[INFO] [stderr]    Compiling moonberry-agent-api v0.1.0 (/opt/rustwide/workdir/crates/moonberry-agent-api)
[INFO] [stderr]    Compiling trybuild v1.0.120
[INFO] [stderr]    Compiling stupid-rogue v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling eager-auto-policy v0.1.0 (/opt/rustwide/workdir/crates/eager-auto-policy)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 45s
[INFO] running `Command { std: "docker" "inspect" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.17s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/moonberry-63b76005065ff9ce)
[INFO] [stdout] 
[INFO] [stdout] running 285 tests
[INFO] [stdout] test chemistry_identity::tests::mapping_is_deterministic_and_has_no_rng_contract ... ok
[INFO] [stdout] test chemistry_identity::tests::pair_clue_is_order_independent_and_deduces_forced_values ... ok
[INFO] [stdout] test tests::chemistry_core::disabled_profile_has_no_chemistry_state ... ok
[INFO] [stdout] test chemistry_validation::tests::cache_pickup_transfers_all_doses_atomically ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::compact_pouch_removes_the_last_dose_stack ... ok
[INFO] [stdout] test chemistry_validation::tests::work_budget_rejects_calculated_boundary ... ok
[INFO] [stdout] test tests::chemistry_feedback::witnessed_enemy_fields_have_the_same_chemistry_event_surface ... ok
[INFO] [stdout] test tests::chemistry_feedback::primary_application_explains_waiting_and_cache_layers ... ok
[INFO] [stdout] test tests::chemistry_core::v1_registry_is_complete_and_stable ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::intensity_aware_light_radius_is_clamped ... ok
[INFO] [stdout] test tests::chemistry_core::active_hash_wire_starts_marker_profile_length_payload ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::default_knowledge_is_serialization_neutral ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::direct_moonmilk_self_use_is_not_chilled ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::ordinary_pair_learning_keeps_the_first_field_appearance ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::current_is_v2_and_identity_mapping_is_rng_isolated ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::stair_transition_clears_all_player_temporary_chemistry ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::dragon_rejects_control_films_from_direct_field_contact ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::pair_learning_never_marks_an_unknown_operand_as_witnessed ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::witnessed_use_identifies_every_matching_copy ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::unknown_cache_does_not_become_a_remembered_identity ... ok
[INFO] [stdout] test tests::chemistry_integration::documented_full_health_glowcap_cases_do_not_expand_to_every_floor ... ok
[INFO] [stdout] test tests::chemistry_integration::disabled_observations_have_no_chemistry_planes ... ok
[INFO] [stdout] test tests::chemistry_integration::chemistry_mechanics_cover_solo_product_actor_coat_and_new_field_paths ... ok
[INFO] [stdout] test tests::chemistry_integration::all_enemy_families_and_equipment_hooks_have_authoritative_coverage ... ok
[INFO] [stdout] test tests::chemistry_integration::hidden_chemistry_has_no_observation_or_policy_differential ... ok
[INFO] [stdout] test tests::chemistry_integration::v2_validation_rejects_tampered_identity_state ... ok
[INFO] [stdout] test tests::chemistry_integration::validation_rejects_noncanonical_origin_rank_and_source_actor ... ok
[INFO] [stdout] test tests::chemistry_integration::protected_targets_are_rejected_by_every_integration_path ... ok
[INFO] [stdout] test tests::chemistry_integration::terrain_water_bramble_door_glowcap_and_mural_rows_are_exercised ... ok
[INFO] [stdout] test tests::combat_events::cycle_53_deep_recovery_hint_is_safe_and_presentation_only ... ok
[INFO] [stdout] test tests::combat_events::cycle_51_imp_cover_hint_names_the_immediate_legal_move ... ok
[INFO] [stdout] test tests::combat_events::dragon_result_keeps_its_canonical_line_beside_weapon_flavor ... ok
[INFO] [stdout] test tests::chemistry_integration::inactive_floor_actor_statuses_freeze_during_active_floor_pulse ... ok
[INFO] [stdout] test tests::chemistry_identity_v2::unknown_cache_and_pouch_do_not_cross_the_public_boundary ... ok
[INFO] [stdout] test tests::combat_events::dragon_defeat_appends_flourish_after_canonical_combat_events ... ok
[INFO] [stdout] test tests::combat_events::hidden_enemy_attacks_keep_generic_damage_wording ... ok
[INFO] [stdout] test tests::combat_events::ranged_cinder_imp_attack_uses_one_fire_flavor_without_melee_prose ... ok
[INFO] [stdout] test tests::combat_events::mixed_threat_headline_uses_visible_families_in_fixed_order ... ok
[INFO] [stdout] test tests::combat_events::witnessed_defeats_have_one_fixed_family_flourish_without_state_or_rng_effects ... ok
[INFO] [stdout] test tests::combat_events::mixed_threat_headline_requires_combat ... ok
[INFO] [stdout] test tests::combat_events::visible_enemy_attacks_add_fixed_family_flavor_without_extra_damage ... ok
[INFO] [stdout] test tests::combat_rules::automat_distribution_is_versioned_and_moves_pressure_before_the_dragon ... ok
[INFO] [stdout] test tests::combat_rules::current_imp_melee_cadence_leaves_one_recoverable_turn ... ok
[INFO] [stdout] test tests::chemistry_integration::direct_reaction_budget_rejection_restores_events_and_state ... ok
[INFO] [stdout] test tests::combat_events::hidden_splash_defeat_has_no_new_family_flourish ... ok
[INFO] [stdout] test tests::combat_rules::automat_balance_reduces_passive_level_recovery ... ok
[INFO] [stdout] test tests::combat_rules::cycle108_dragon_pacing_is_versioned ... ok
[INFO] [stdout] test tests::combat_rules::cycle112_imp_realignment_is_versioned_and_holds_after_cover ... ok
[INFO] [stdout] test tests::combat_rules::adjacent_ooze_announces_its_recovery_beat ... ok
[INFO] [stdout] test tests::combat_rules::cycle_42_strengthens_only_new_deeper_encounters ... ok
[INFO] [stdout] test tests::combat_rules::cycle_42_levels_restore_less_health_and_preserve_historical_scaling ... ok
[INFO] [stdout] test tests::combat_rules::current_melee_is_reciprocal_across_diagonals_but_history_is_unchanged ... ok
[INFO] [stdout] test tests::combat_rules::cycle_82_raises_combat_pressure_and_slows_level_durability ... ok
[INFO] [stdout] test tests::combat_rules::dragon_combat_and_movement_report_alignment_results ... ok
[INFO] [stdout] test tests::combat_rules::automat_balance_is_versioned_and_raises_pressure_without_erasing_recovery ... ok
[INFO] [stdout] test tests::combat_rules::wounded_bunny_flees_before_another_adjacent_attack ... ok
[INFO] [stdout] test tests::combat_rules::level_up_banner_reports_only_hp_actually_restored_at_the_cap ... ok
[INFO] [stdout] test tests::combat_rules::weapon_attack_verbs_follow_equipped_weapon_and_keep_damage_exact ... ok
[INFO] [stdout] test tests::generation_layout::cycle_43_closed_doors_block_sight_until_opened ... ok
[INFO] [stdout] test tests::generation_layout::cycle_43_awake_monsters_roam_without_sight_and_open_doors ... ok
[INFO] [stdout] test tests::generation_layout::generation_without_a_doorway_remains_valid ... ok
[INFO] [stdout] test tests::chemistry_core::every_pair_is_order_independent ... ok
[INFO] [stdout] test tests::generation_layout::doors_are_only_generated_in_thresholds ... ok
[INFO] [stdout] test tests::generation_layout::opening_has_no_visible_monster_and_landmark_rooms_remain_connected ... ok
[INFO] [stdout] test tests::generation_layout::seven_connected_generation_sweep ... ok
[INFO] [stdout] test tests::generation_layout::compact_floor_one_reaches_stairs_before_navigation_becomes_a_tax ... ok
[INFO] [stdout] test tests::generation_layout::cycle_22_floor_two_curio_is_a_clear_side_pocket_and_connectors_vary ... ok
[INFO] [stdout] test tests::generation_rewards::cycle52_varies_the_deep_route_reward_without_moving_dragon_coat ... ok
[INFO] [stdout] test tests::generation_rewards::rewards_stay_scarce_after_the_opening_cadence ... ok
[INFO] [stdout] test tests::guidance::assisted_explore_finds_the_nearest_safe_frontier_deterministically ... ok
[INFO] [stdout] test tests::guidance::dragon_attack_route_prefers_cover_around_an_imp_lane ... ok
[INFO] [stdout] test tests::generation_rewards::cycle_23_routes_early_gear_and_signposts_goblin_recovery ... ok
[INFO] [stdout] test tests::guidance::dragon_guidance_breaks_equal_length_route_ties_without_state_change ... ok
[INFO] [stdout] test tests::guidance::floor_objective_hint_follows_a_real_deterministic_route ... ok
[INFO] [stdout] test tests::guidance::moonberry_guardian_has_directional_pickup_and_route_guidance ... ok
[INFO] [stdout] test tests::guidance::nearby_gear_hint_only_reports_seen_safe_gear ... ok
[INFO] [stdout] test tests::guidance::recovery_guidance_routes_around_a_cinder_imp_sightline ... ok
[INFO] [stdout] test tests::guidance::return_objective_hint_follows_up_stairs_then_escape ... ok
[INFO] [stdout] test tests::guidance::safe_objective_hint_routes_around_a_monster_and_hazard ... ok
[INFO] [stdout] test tests::generation_rewards::cycle_24_routes_familiar_encounters_after_gear_without_extra_spawns ... ok
[INFO] [stdout] test tests::generation_rewards::cycle56_varies_deep_route_beats_and_keeps_sparse_optional_gear ... ok
[INFO] [stdout] test tests::items::consumable_appearances_are_seeded_unknown_until_use_or_map_magic ... ok
[INFO] [stdout] test tests::guidance::nearby_gear_hint_suppresses_equal_or_weaker_weapon_duplicates ... ok
[INFO] [stdout] test tests::items::defensive_curio_result_is_explicit_before_incoming_damage ... ok
[INFO] [stdout] test tests::items::first_curio_identification_keeps_exact_effect_and_adds_one_stage_cue ... ok
[INFO] [stdout] test tests::generation_rewards::route_rewards_and_imp_durability_add_midfloor_choices ... ok
[INFO] [stdout] test tests::generation_layout::cycle66_floor_six_route_is_hazard_free_and_reachable ... ok
[INFO] [stdout] test tests::items::gear_arrival_identifies_an_upgrade_without_changing_pickup_flow ... ok
[INFO] [stdout] test tests::items::invalid_equip_keeps_only_the_existing_failure_event ... ok
[INFO] [stdout] test tests::items::full_inventory_explains_how_to_make_room_for_the_moonberry ... ok
[INFO] [stdout] test tests::items::gear_values_keep_weapon_and_coat_roles_distinct ... ok
[INFO] [stdout] test tests::items::healing_and_glowcaps_explain_full_health_and_automatic_use ... ok
[INFO] [stdout] test tests::items::route_gear_arrival_calls_out_pickup_and_equip ... ok
[INFO] [stdout] test tests::items::map_scroll_batches_carried_curio_reveals_with_exact_effects ... ok
[INFO] [stdout] test tests::items::repeated_arrivals_identify_already_carried_rewards ... ok
[INFO] [stdout] test tests::items::moonberry_pickup_keeps_the_canonical_signal_and_adds_a_compact_fanfare ... ok
[INFO] [stdout] test tests::items::temporary_armor_identification_states_its_duration_and_counts_down ... ok
[INFO] [stdout] test tests::items::terminal_turn_still_ticks_bubble_aura ... ok
[INFO] [stdout] test tests::items::wearable_use_directs_the_player_to_equip ... ok
[INFO] [stdout] test tests::items::unsuccessful_pickups_do_not_add_a_flourish ... ok
[INFO] [stdout] test tests::observation_boundary::hidden_actor_changes_are_not_policy_input ... ok
[INFO] [stdout] test tests::items::successful_pickups_add_one_category_flourish_without_effect_disclosure ... ok
[INFO] [stdout] test tests::primitives::cardinal_route_order_is_stable ... ok
[INFO] [stdout] test tests::primitives::disabled_profile_initial_hash_vector ... ok
[INFO] [stdout] test tests::observation_boundary::hidden_items_and_terrain_are_not_policy_input ... ok
[INFO] [stdout] test tests::primitives::determinism ... ok
[INFO] [stdout] test tests::primitives::route_searches_share_closed_door_traversability ... ok
[INFO] [stdout] test tests::primitives::terrain_glyphs_are_canonical ... ok
[INFO] [stdout] test tests::primitives::monster_identities_are_canonical ... ok
[INFO] [stdout] test tests::primitives::pcg_vector ... ok
[INFO] [stdout] test tests::items::valid_equips_append_one_fixed_item_flourish_after_canonical_event ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_144_historical_constructor_keeps_retained_initial_hash ... ok
[INFO] [stdout] test tests::items::blink_curio_names_its_deterministic_destination ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_51_floor_two_recovery_is_early_route_and_spawn_safe ... ok
[INFO] [stdout] test tests::recovery_generation::cycle106_keeps_a_recovery_beat_before_the_moonberry_and_versions_generation ... ok
[INFO] [stdout] test tests::recovery_generation::cycle54_guarantees_two_ordered_late_floor_recoveries_and_versions_generation ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_53_deep_recovery_reuses_one_late_route_glowcap ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_62_recovery_rule_is_versioned_and_preserves_historical_glowcaps ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_72_keeps_final_recovery_lit_and_versions_historical_exhaustion ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_55_moves_floor_five_recovery_before_its_late_encounter ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_144_moves_floor_six_recovery_earlier_and_versions_generation ... ok
[INFO] [stdout] test tests::recovery_generation::pre_cycle_62_glowcaps_still_fade_at_full_health ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_85_keeps_the_floor_two_moon_spoon_pocket_clear_and_versioned ... ok
[INFO] [stdout] test tests::replay_current::checkpoint_replay_restores_dispatch_metadata_on_the_state ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_58_moves_floor_five_recovery_to_an_earlier_safe_pocket ... ok
[INFO] [stdout] test tests::recovery_generation::final_floor_has_a_route_recovery_pocket ... ok
[INFO] [stdout] test tests::replay_current::historical_dispatch_survives_new_journal_creation ... ok
[INFO] [stdout] test tests::chemistry_integration::chemistry_save_replay_and_rng_round_trip_are_exact ... ok
[INFO] [stdout] test tests::replay_current::replay_append_rejects_terminal_saves ... ok
[INFO] [stdout] test tests::recovery_generation::cycle_60_moves_floor_four_recovery_to_an_earlier_safe_pocket ... ok
[INFO] [stdout] test tests::replay_current::checkpoint_replay_rejects_a_mismatched_constructor_state ... ok
[INFO] [stdout] test tests::replay_current::replay_append_reconciles_save_ahead_and_journal_ahead ... ok
[INFO] [stdout] test tests::items::seeded_consumable_mapping_is_replay_and_save_stable ... ok
[INFO] [stdout] test tests::replay_current::replay_statuses_are_machine_readable ... ok
[INFO] [stdout] test tests::replay_current::current_checkpoint_omits_default_dispatch_metadata ... ok
[INFO] [stdout] test tests::replay_current::step_preserves_historical_dispatch_on_a_loaded_run ... ok
[INFO] [stdout] test tests::replay_current::replay_reconciliation_preserves_unterminated_jsonl ... ok
[INFO] [stdout] test tests::replay_historical::historical_constructor_registry_starts_with_current_profile ... ok
[INFO] [stdout] test tests::replay_current::tampered_replay_reports_divergence ... ok
[INFO] [stdout] test tests::replay_current::replay_format_is_bound_to_the_checkpoint_profile ... ok
[INFO] [stdout] test tests::replay_historical::historical_header_rejects_mismatched_dispatch_metadata ... ok
[INFO] [stdout] test tests::replay_historical::pre_cycle_19_journal_still_selects_its_historical_constructor ... ok
[INFO] [stdout] test tests::replay_current::replay_reconciliation_discards_future_maximum_floor ... ok
[INFO] [stdout] test tests::replay_historical::pre_cycle_20_journal_still_selects_its_historical_constructor ... ok
[INFO] [stdout] test tests::replay_historical::pre_floor_two_cadence_journal_still_selects_its_historical_constructor ... ok
[INFO] [stdout] test tests::replay_historical::pre_cycle_22_journals_replay_a_turn_under_their_historical_rules ... ok
[INFO] [stdout] test tests::replay_historical::pre_deep_cadence_journal_still_selects_its_historical_constructor ... ok
[INFO] [stdout] test tests::replay_scenarios::deterministic_scenarios_cover_items_hazards_monsters_and_endings ... ok
[INFO] [stdout] test tests::combat_rules::weapon_payoffs_are_deterministic_and_historical_rules_stay_numeric ... ok
[INFO] [stdout] test tests::replay_scenarios::death_replay_fixture_is_driven_through_step ... ok
[INFO] [stdout] test tests::replay_historical::retained_historical_journals_cover_midrun_and_turn_zero_compatibility ... ok
[INFO] [stdout] test tests::terrain_events::cycle_20_imp_does_not_telegraph_when_a_corridor_has_no_sight_break ... ok
[INFO] [stdout] test tests::terrain_events::cycle_20_imp_telegraphs_visibly_with_a_real_sight_break_then_fires ... ok
[INFO] [stdout] test tests::terrain_events::door_opening_sound_is_fixed_by_floor ... ok
[INFO] [stdout] test tests::terrain_events::moving_onto_features_describes_them ... ok
[INFO] [stdout] test tests::terrain_events::mural_arrival_appends_flavor_without_mutating_state ... ok
[INFO] [stdout] test tests::terrain_events::mural_inscriptions_use_only_floor_and_stable_map_identity ... ok
[INFO] [stdout] test tests::terrain_events::opening_a_door_moves_through_and_explains_the_glyph ... ok
[INFO] [stdout] test tests::terrain_events::stairs_beside_the_descent_teach_the_required_position ... ok
[INFO] [stdout] test tests::terrain_events::successful_stairs_append_one_distinct_destination_fanfare ... ok
[INFO] [stdout] test tests::terrain_events::water_and_bramble_arrivals_keep_effects_explicit_and_distinct ... ok
[INFO] [stdout] test tests::terrain_events::witnessed_enemy_door_opening_keeps_the_actor_unmentioned ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::compact_critical_status_keeps_defeated_dragon_pickup_lead_visible ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::critical_dragon_pause_separates_stable_cover_from_goal_route ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::critical_dragon_without_lit_recovery_names_reason_and_cover ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::deep_floor_critical_guidance_names_the_route_recovery ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::defeated_dragon_keeps_a_direct_moonberry_pickup_lead ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::dragon_hp_meter_is_fixed_width_and_visibility_gated ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::final_floor_guidance_is_immediate_and_recovery_is_actionable ... ok
[INFO] [stdout] test ui_tests::dragon_guidance::guarded_moonberry_guidance_names_attack_side_and_stops_assistance ... ok
[INFO] [stdout] test tests::replay_scenarios::replay_rejects_running_end_and_trailing_records ... ok
[INFO] [stdout] test tests::terrain_events::cycle_19_descent_refuges_and_route_murals_break_up_deeper_travel ... ok
[INFO] [stdout] test ui_tests::endings::end_modal_retains_the_terminal_action_explanation ... ok
[INFO] [stdout] test ui_tests::endings::history_summary_bounds_long_lists_without_losing_the_count ... ok
[INFO] [stdout] test ui_tests::inventory::critical_inventory_does_not_recommend_an_unknown_curio ... ok
[INFO] [stdout] test ui_tests::inventory::chemistry_inventory_footer_keeps_all_slot_counts_visible_at_both_breakpoints ... ok
[INFO] [stdout] test ui_tests::endings::victory_modal_adds_one_compact_textual_confetti_line ... ok
[INFO] [stdout] test ui_tests::inventory::critical_inventory_focuses_known_healing_curio ... ok
[INFO] [stdout] test ui_tests::inventory::critical_inventory_footer_distinguishes_known_healing_from_retreat ... ok
[INFO] [stdout] test ui_tests::inventory::inventory_highlight_redraws_with_navigation_without_duplicate_selection_text ... ok
[INFO] [stdout] test ui_tests::inventory::inventory_marks_duplicate_curious_appearances_and_shared_identification ... ok
[INFO] [stdout] test ui_tests::inventory::inventory_badges_are_textual_and_preserve_narrow_controls ... ok
[INFO] [stdout] test ui_tests::latency::chemistry_latency_diagnostic ... ignored, out-of-band benchmark; ordinary tests remain wall-clock free
[INFO] [stdout] test ui_tests::look::identity_views_keep_curio_knowledge_and_gear_status_textual ... ok
[INFO] [stdout] test ui_tests::look::identity_views_share_visibility_gates_and_semantic_names ... ok
[INFO] [stdout] test ui_tests::look::look_adds_static_counterplay_for_each_visible_enemy_family ... ok
[INFO] [stdout] test ui_tests::inventory::inventory_labels_hide_unidentified_effects_and_keep_equipment_clear ... ok
[INFO] [stdout] test ui_tests::look::look_explains_actor_fields_statuses_and_cache_layering ... ok
[INFO] [stdout] test ui_tests::latency::testbackend_chemistry_surface_redraws_without_state_mutation ... ok
[INFO] [stdout] test ui_tests::look::look_mural_includes_its_stable_inscription_only_when_explored ... ok
[INFO] [stdout] test ui_tests::look::look_gives_explored_terrain_a_compact_whimsical_identity ... ok
[INFO] [stdout] test ui_tests::look::look_hides_unseen_actors_and_items_but_keeps_exploration_boundary ... ok
[INFO] [stdout] test ui_tests::look::look_pickup_cues_identify_underfoot_and_adjacent_items ... ok
[INFO] [stdout] test ui_tests::look::look_uses_coarse_visible_enemy_condition_without_revealing_hp ... ok
[INFO] [stdout] test ui_tests::modals_input::blank_seed_generates_a_random_seed_and_starts ... ok
[INFO] [stdout] test ui_tests::modals_input::help_uses_a_clean_full_width_layer_on_wide_terminals ... ok
[INFO] [stdout] test ui_tests::modals_input::failed_inventory_use_stays_modal_and_explains_controls_without_a_turn ... ok
[INFO] [stdout] test ui_tests::modals_input::modal_origins_typed_seed_and_continue_selection ... ok
[INFO] [stdout] test ui_tests::modals_input::narrow_help_owns_the_pane_without_play_frame_seams ... ok
[INFO] [stdout] test ui_tests::modals_input::play_number_keys_open_chemistry_targeting_without_a_turn ... ok
[INFO] [stdout] [?25h[0m[?1049ltest ui_tests::modals_input::restoration_is_safe ... ok
[INFO] [stdout] test ui_tests::modals_input::seed_transition_starts_a_run_and_look_respects_visibility ... ok
[INFO] [stdout] test ui_tests::modals_input::title_seed_and_inventory_input ... ok
[INFO] [stdout] test ui_tests::navigation::assisted_frontier_progress_has_a_route_status_label ... ok
[INFO] [stdout] test ui_tests::navigation::assisted_input_acknowledges_same_turn_without_touching_game_state ... ok
[INFO] [stdout] test ui_tests::navigation::assisted_navigation_refuses_to_oscillate_on_its_objective ... ok
[INFO] [stdout] test ui_tests::navigation::assisted_pause_explains_manual_route_reveal_when_no_step_exists ... ok
[INFO] [stdout] test ui_tests::navigation::assisted_pause_names_manual_progress_lead_when_route_crosses_hazard ... ok
[INFO] [stdout] test ui_tests::modals_input::help_reference_pages_to_the_recipe_tail_and_keeps_canonical_names ... ok
[INFO] [stdout] test ui_tests::navigation::assisted_recent_summary_stays_replacing_after_recent_is_trimmed ... ok
[INFO] [stdout] test ui_tests::modals_input::selection_help_inventory_and_modals_fit_wide_and_narrow ... ok
[INFO] [stdout] test ui_tests::navigation::blank_seed_confirms_the_generated_seed_before_starting ... ok
[INFO] [stdout] test ui_tests::navigation::critical_moonberry_return_without_healing_keeps_a_safe_assisted_lead ... ok
[INFO] [stdout] test ui_tests::navigation::compact_route_status_and_recalled_terrain_preserve_navigation_hierarchy ... ok
[INFO] [stdout] test ui_tests::navigation::dragon_entrance_title_is_one_shot_and_requires_visible_living_guardian ... ok
[INFO] [stdout] test ui_tests::navigation::critical_danger_names_a_known_glowcap_after_blocking_threat_clears ... ok
[INFO] [stdout] test ui_tests::navigation::duplicate_inventory_rows_keep_badges_and_selection_inside_narrow_modal ... ok
[INFO] [stdout] test ui_tests::navigation::floor_two_moon_spoon_detour_names_the_threat_first_choice ... ok
[INFO] [stdout] test ui_tests::navigation::floor_two_recovery_guidance_surfaces_the_route_glowcap ... ok
[INFO] [stdout] test ui_tests::navigation::historical_goblin_look_uses_the_old_public_rule ... ok
[INFO] [stdout] test ui_tests::navigation::navigation_guidance_is_total_across_progression_targets ... ok
[INFO] [stdout] test ui_tests::navigation::pickup_and_ascension_refresh_return_history_without_touching_state ... ok
[INFO] [stdout] test ui_tests::navigation::progress_cue_never_solves_the_route_or_mutates_the_simulation ... ok
[INFO] [stdout] test ui_tests::navigation::known_curio_inventory_labels_add_fixed_taglines_without_clipping ... ok
[INFO] [stdout] test ui_tests::navigation::return_assistance_does_not_fall_back_to_unexplored_ground ... ok
[INFO] [stdout] test ui_tests::navigation::floor_objective_flavor_is_fixed_and_keeps_route_detail ... ok
[INFO] [stdout] test ui_tests::navigation::return_flavor_is_fixed_by_the_destination_floor ... ok
[INFO] [stdout] test ui_tests::navigation::return_assistance_explains_hazard_bottlenecks_without_implying_combat ... ok
[INFO] [stdout] test ui_tests::navigation::return_mural_detour_names_manual_reconnect_and_missing_target ... ok
[INFO] [stdout] test ui_tests::navigation::return_travel_keeps_uninterrupted_steps_out_of_recent ... ok
[INFO] [stdout] test ui_tests::navigation::returning_navigation_labels_up_stairs_and_escape ... ok
[INFO] [stdout] test ui_tests::navigation::rendering_has_ascii_mode_and_visible_item_hidden_monster_semantics ... ok
[INFO] [stdout] test ui_tests::navigation::return_travel_uses_live_summary_instead_of_repeating_recent_entries ... ok
[INFO] [stdout] test ui_tests::navigation::stair_transition_banners_name_destination_and_retain_controls ... ok
[INFO] [stdout] test ui_tests::navigation::unrevealed_objective_status_names_frontier_and_keeps_its_lead ... ok
[INFO] [stdout] test ui_tests::navigation::route_history_is_visibly_distinct_from_current_guidance ... ok
[INFO] [stdout] test ui_tests::navigation::route_status_keeps_known_nearby_gear_actionable ... ok
[INFO] [stdout] test ui_tests::rendering_layout::ascii_mode_keeps_map_and_ui_text_terminal_ascii ... ok
[INFO] [stdout] test ui_tests::rendering_layout::automatic_theme_uses_a_colored_palette_without_colorfgbg ... ok
[INFO] [stdout] test ui_tests::rendering_layout::cell_compositor_gates_memory_and_visibility_before_identity_layers ... ok
[INFO] [stdout] test ui_tests::rendering_layout::help_legend_uses_canonical_glyphs_and_names ... ok
[INFO] [stdout] test ui_tests::rendering_layout::floor_accents_belong_to_non_terrain_borders_and_respect_no_color ... ok
[INFO] [stdout] test ui_tests::navigation::z_waits_one_turn_through_the_normal_intent_and_replay_path ... ok
[INFO] [stdout] test tests::replay_scenarios::replay_checkpoint_retains_selected_historical_dispatch ... ok
[INFO] [stdout] test ui_tests::rendering_layout::integrated_snazz_matrix_keeps_identity_cues_at_minimum_and_wide_layouts ... ok
[INFO] [stdout] test ui_tests::rendering_layout::hidden_dragon_cue_falls_back_to_generic_frontier ... ok
[INFO] [stdout] test ui_tests::rendering_layout::recovery_cue_visibility_matches_its_selected_glowcap ... ok
[INFO] [stdout] test ui_tests::rendering_layout::light_and_dark_palettes_style_map_glyphs_and_alerts ... ok
[INFO] [stdout] test ui_tests::rendering_layout::spatial_cue_is_not_rendered_as_a_route_marker ... ok
[INFO] [stdout] test ui_tests::rendering_layout::no_color_removes_foreground_styles_and_color_mode_distinguishes_glyphs ... ok
[INFO] [stdout] test ui_tests::rendering_semantics::compact_presentation_keeps_curio_result_with_same_turn_damage ... ok
[INFO] [stdout] test ui_tests::rendering_semantics::presentation_rail_classifies_one_witnessed_local_consequence ... ok
[INFO] [stdout] test ui_tests::rendering_semantics::presentation_rail_hides_offscreen_actor_consequences_and_folds_cues ... ok
[INFO] [stdout] test ui_tests::rendering_layout::wide_map_frame_is_vertically_centered_and_inventory_owns_the_pane ... ok
[INFO] [stdout] test ui_tests::rendering_semantics::presentation_rail_is_one_frame_and_keeps_the_glyph_authoritative ... ok
[INFO] [stdout] test ui_tests::rendering_semantics::transition_staging_respects_arrivals_landmarks_and_hidden_terrain ... ok
[INFO] [stdout] test ui_tests::status_history::assisted_navigation_announces_its_first_step_and_pauses_for_danger ... ok
[INFO] [stdout] test ui_tests::status_history::aura_status_exposes_bonus_and_remaining_turns_at_both_layouts ... ok
[INFO] [stdout] test tests::replay_current::save_and_replay ... ok
[INFO] [stdout] test ui_tests::status_history::compact_status_surfaces_the_current_dragon_result ... ok
[INFO] [stdout] test ui_tests::status_history::compact_status_keeps_a_live_pause_marker_above_history ... ok
[INFO] [stdout] test ui_tests::status_history::health_mood_is_fixed_textual_and_keeps_exact_hp_visible ... ok
[INFO] [stdout] test ui_tests::rendering_layout::renders_every_screen_with_semantic_text_and_bounds ... ok
[INFO] [stdout] test ui_tests::status_history::message_history_keeps_the_newest_entries_without_repeated_feedback ... ok
[INFO] [stdout] test ui_tests::status_history::replay_hashes_are_labeled_and_chunked ... ok
[INFO] [stdout] test ui_tests::rendering_layout::live_floor_header_keeps_epithets_and_numeric_label_in_narrow_frame ... ok
[INFO] [stdout] test ui_tests::status_history::tall_status_fills_available_rows_with_recent_scrollback ... ok
[INFO] [stdout] test ui_tests::rendering_semantics::transition_staging_emphasizes_real_aftermath_once_without_touching_hash ... ok
[INFO] [stdout] test ui_tests::status_history::terminal_flavor_is_bounded_and_uses_only_retained_events ... ok
[INFO] [stdout] test ui_tests::status_history::narrow_low_hp_keeps_a_wrapped_recent_message ... ok
[INFO] [stdout] test ui_tests::threat_guidance::assisted_imp_followup_closes_distance_but_stops_before_attack ... ok
[INFO] [stdout] test ui_tests::status_history::result_and_danger_slots_keep_textual_labels_when_color_is_disabled ... ok
[INFO] [stdout] test ui_tests::threat_guidance::assisted_navigation_commits_hazard_free_route_past_distant_visible_melee ... ok
[INFO] [stdout] test ui_tests::threat_guidance::critical_imp_without_legal_cover_keeps_a_stable_two_step_plan ... ok
[INFO] [stdout] test ui_tests::threat_guidance::critical_imp_recovery_orders_cover_before_glowcap_route ... ok
[INFO] [stdout] test ui_tests::threat_guidance::danger_pause_always_renders_the_promised_route_line ... ok
[INFO] [stdout] test ui_tests::threat_guidance::danger_pause_names_immediate_imp_cover_before_objective_route ... ok
[INFO] [stdout] test ui_tests::threat_guidance::critical_imp_cover_is_executable_and_not_called_cover_without_sight_break ... ok
[INFO] [stdout] test ui_tests::threat_guidance::danger_pause_separates_ooze_retreat_step_from_objective_route ... ok
[INFO] [stdout] test ui_tests::threat_guidance::remote_non_threat_does_not_churn_route_guidance ... ok
[INFO] [stdout] test ui_tests::threat_guidance::remote_non_threat_does_not_recompute_immediate_cover ... ok
[INFO] [stdout] test ui_tests::status_history::incomplete_replay_explains_that_continue_resumes_it ... ok
[INFO] [stdout] test tests::replay_current::historical_dispatch_survives_save_ahead_checkpoint ... ok
[INFO] [stdout] test tests::replay_historical::every_historical_constructor_replays_a_turn ... ok
[INFO] [stdout] test tests::replay_scenarios::deterministic_end_to_end_victory_replay_uses_only_step_actions ... ok
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/stupid_rogue-3ccadd4891f39224)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 284 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 5.36s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/compile_fail.rs (/opt/rustwide/target/release/deps/compile_fail-4fb878063c6ca647)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]     Checking bitflags v2.13.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling find-msvc-tools v0.1.10
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]     Checking smallvec v1.15.2
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]     Checking log v0.4.33
[INFO] [stderr]    Compiling cc v1.4.2
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]     Checking either v1.17.0
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking allocator-api2 v0.2.21
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]    Compiling instability v0.3.13
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.2
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking linux-raw-sys v0.4.15
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking signal-hook-mio v0.2.5
[INFO] [stderr]     Checking itertools v0.13.0
[INFO] [stderr]     Checking castaway v0.2.4
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]     Checking static_assertions v1.1.0
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking unicode-segmentation v1.13.3
[INFO] [stderr]     Checking unicode-width v0.1.14
[INFO] [stderr]    Compiling blake3 v1.8.6
[INFO] [stderr]    Compiling indoc v2.0.7
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking crossterm v0.28.1
[INFO] [stderr]     Checking clap_builder v4.6.6
[INFO] [stderr]     Checking compact_str v0.8.2
[INFO] [stderr]     Checking lru v0.12.5
[INFO] [stderr]     Checking arrayvec v0.7.8
[INFO] [stderr]     Checking unicode-truncate v1.1.0
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking arrayref v0.3.9
[INFO] [stderr]     Checking unicode-width v0.2.0
[INFO] [stderr]     Checking cassowary v0.3.0
[INFO] [stderr]     Checking memchr v2.8.3
[INFO] [stderr]     Checking constant_time_eq v0.4.2
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking fastrand v2.5.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling darling_core v0.24.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]     Checking strum v0.26.3
[INFO] [stderr]     Checking clap v4.6.6
[INFO] [stderr]    Compiling darling_macro v0.24.0
[INFO] [stderr]    Compiling darling v0.24.0
[INFO] [stderr]     Checking ratatui v0.29.0
[INFO] [stderr]     Checking moonberry-agent-api v0.1.0 (/opt/rustwide/workdir/crates/moonberry-agent-api)
[INFO] [stderr]     Checking eager-auto-policy v0.1.0 (/opt/rustwide/workdir/crates/eager-auto-policy)
[INFO] [stderr]     Checking stupid-rogue v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking stupid-rogue-tests v0.0.0 (/opt/rustwide/target/tests/trybuild/stupid-rogue)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 45.18s
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stdout] test observation_boundary_compile_failures has been running for over 60 seconds
[INFO] [stderr] test tests/compile_fail/access_authoritative.rs ... ok
[INFO] [stderr] test tests/compile_fail/access_engine_state.rs ... ok
[INFO] [stderr] test tests/compile_fail/access_state_hash.rs ... ok
[INFO] [stderr] test tests/compile_fail/access_step_result.rs ... ok
[INFO] [stderr] test tests/compile_fail/serialize_game_state.rs ... ok
[INFO] [stderr] 
[INFO] [stdout] test observation_boundary_compile_failures ... ok
[INFO] [stderr] 
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 62.94s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/observation_boundary.rs (/opt/rustwide/target/release/deps/observation_boundary-aafc4c1e60e05111)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test host_delivers_post_step_observation_to_policy ... ok
[INFO] [stdout] test repeated_observation_does_not_change_authoritative_hash ... ok
[INFO] [stdout] test edited_knowledge_sidecars_cannot_grant_policy_knowledge ... ok
[INFO] [stdout] test save_load_preserves_observation_and_hash ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.74s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/policy_priority.rs (/opt/rustwide/target/release/deps/policy_priority-1554840edfb0799e)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test blocked_moonberry_hands_off_to_visible_dragon ... ok
[INFO] [stdout] test blocked_moonberry_never_spins_on_pickup ... ok
[INFO] [stdout] test cleanup_drops_curios_when_safe ... ok
[INFO] [stdout] test family_combat_beats_inventory_cleanup ... ok
[INFO] [stdout] test combat_does_not_record_an_attack_as_a_failed_move ... ok
[INFO] [stdout] test final_floor_terrain_is_retained_in_memory ... ok
[INFO] [stdout] test automat_drops_known_healing_instead_of_using_it ... ok
[INFO] [stdout] test moving_dragon_replaces_its_floor_track ... ok
[INFO] [stdout] test low_health_finishes_visible_enemy_instead_of_setting_up_chemistry ... ok
[INFO] [stdout] test pending_equip_beats_adjacent_combat ... ok
[INFO] [stdout] test objective_floor_ids_are_one_based ... ok
[INFO] [stdout] test stale_dragon_target_is_not_selected_over_latest_track ... ok
[INFO] [stdout] test stale_dragon_attack_tile_starts_known_search ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/runner_statistics.rs (/opt/rustwide/target/release/deps/runner_statistics-e4e1aa28d0d40e8c)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test host_batch_turns_are_reproducible ... ok
[INFO] [stdout] test timed_and_untimed_host_turns_have_identical_observable_results ... ok
[INFO] [stdout] test timed_terminal_followup_reports_only_executed_phases ... ok
[INFO] [stdout] test representative_former_stuck_seeds_reach_a_terminal_outcome ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests moonberry
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba", kill_on_drop: false }`
[INFO] [stdout] cb5f7c75e7a4a8c35286dfd5de423eb8dd39fb213ee35dda737fa2a90f3dc4ba
