[INFO] cloning repository https://github.com/lhahne/endurance-planner
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/lhahne/endurance-planner" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flhahne%2Fendurance-planner", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flhahne%2Fendurance-planner'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c3bda778adebcd4806a5d0675b2907f071a448f7
[INFO] testing lhahne/endurance-planner against beta-2026-04-21 for beta-1.96-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Flhahne%2Fendurance-planner" "/workspace/builds/worker-7-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/lhahne/endurance-planner
[INFO] finished tweaking git repo https://github.com/lhahne/endurance-planner
[INFO] tweaked toml for git repo https://github.com/lhahne/endurance-planner written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/lhahne/endurance-planner 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 git repo https://github.com/lhahne/endurance-planner 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] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] f1e81d0d380bd56ed509a8ed06d3c74f9a4bbd846814ef9326f594cfac7287d8
[INFO] running `Command { std: "docker" "start" "-a" "f1e81d0d380bd56ed509a8ed06d3c74f9a4bbd846814ef9326f594cfac7287d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1e81d0d380bd56ed509a8ed06d3c74f9a4bbd846814ef9326f594cfac7287d8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1e81d0d380bd56ed509a8ed06d3c74f9a4bbd846814ef9326f594cfac7287d8", kill_on_drop: false }`
[INFO] [stdout] f1e81d0d380bd56ed509a8ed06d3c74f9a4bbd846814ef9326f594cfac7287d8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 63ac327a15125a3a8d1187e6c8232b9c316ab47f8a12ed75685a09dd8b23909c
[INFO] running `Command { std: "docker" "start" "-a" "63ac327a15125a3a8d1187e6c8232b9c316ab47f8a12ed75685a09dd8b23909c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling proc-macro2 v1.0.104
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling instability v0.3.11
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling itertools v0.13.0
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling ryu v1.0.22
[INFO] [stderr]    Compiling cassowary v0.3.0
[INFO] [stderr]    Compiling compact_str v0.8.1
[INFO] [stderr]    Compiling rustix v0.38.44
[INFO] [stderr]    Compiling lru v0.12.5
[INFO] [stderr]    Compiling quote v1.0.42
[INFO] [stderr]    Compiling syn v2.0.112
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook v0.3.18
[INFO] [stderr]    Compiling signal-hook-mio v0.2.5
[INFO] [stderr]    Compiling unicode-truncate v1.1.0
[INFO] [stderr]    Compiling crossterm v0.28.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling strum_macros v0.26.4
[INFO] [stderr]    Compiling strum v0.26.3
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling ratatui v0.28.1
[INFO] [stderr]    Compiling endurance-planner v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 18.77s
[INFO] running `Command { std: "docker" "inspect" "63ac327a15125a3a8d1187e6c8232b9c316ab47f8a12ed75685a09dd8b23909c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "63ac327a15125a3a8d1187e6c8232b9c316ab47f8a12ed75685a09dd8b23909c", kill_on_drop: false }`
[INFO] [stdout] 63ac327a15125a3a8d1187e6c8232b9c316ab47f8a12ed75685a09dd8b23909c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 67d2be8b869edb1e1aaf4ae6448140d1fe3e546d72b501859d09e7988980daca
[INFO] running `Command { std: "docker" "start" "-a" "67d2be8b869edb1e1aaf4ae6448140d1fe3e546d72b501859d09e7988980daca", kill_on_drop: false }`
[INFO] [stderr]    Compiling endurance-planner v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1.22s
[INFO] running `Command { std: "docker" "inspect" "67d2be8b869edb1e1aaf4ae6448140d1fe3e546d72b501859d09e7988980daca", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67d2be8b869edb1e1aaf4ae6448140d1fe3e546d72b501859d09e7988980daca", kill_on_drop: false }`
[INFO] [stdout] 67d2be8b869edb1e1aaf4ae6448140d1fe3e546d72b501859d09e7988980daca
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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] 67659831be97696008f1ce04c94ce5c5231bf25cef2a151f3881bc372cb9e2ee
[INFO] running `Command { std: "docker" "start" "-a" "67659831be97696008f1ce04c94ce5c5231bf25cef2a151f3881bc372cb9e2ee", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.08s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/endurance_planner-87d5b0e9cf53f1df)
[INFO] [stdout] 
[INFO] [stdout] running 105 tests
[INFO] [stdout] test app::tests::test_age_decrement ... ok
[INFO] [stdout] test app::tests::test_age_increment ... ok
[INFO] [stdout] test app::tests::test_age_limits ... ok
[INFO] [stdout] test app::tests::test_app_creation ... ok
[INFO] [stdout] test app::tests::test_app_default ... ok
[INFO] [stdout] test app::tests::test_app_starts_with_plan ... ok
[INFO] [stdout] test app::tests::test_decrease_workouts ... ok
[INFO] [stdout] test app::tests::test_distance_change_regenerates_plan ... ok
[INFO] [stdout] test app::tests::test_plan_generation ... ok
[INFO] [stdout] test app::tests::test_scroll_plan_down ... ok
[INFO] [stdout] test app::tests::test_plan_generation_trail ... ok
[INFO] [stdout] test app::tests::test_select_next_race_type ... ok
[INFO] [stdout] test app::tests::test_select_prev_distance ... ok
[INFO] [stdout] test app::tests::test_select_prev_race_type ... ok
[INFO] [stdout] test app::tests::test_selected_race_type ... ok
[INFO] [stdout] test app::tests::test_summary_field_navigation ... ok
[INFO] [stdout] test app::tests::test_increase_workouts ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_100_miles ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_5k ... ok
[INFO] [stdout] test app::tests::test_toggle_focus ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_10k ... ok
[INFO] [stdout] test app::tests::test_selected_distance ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_50k ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_marathon ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_missing ... ok
[INFO] [stdout] test file_io::tests::test_extract_maf_adjustment_minus_five ... ok
[INFO] [stdout] test file_io::tests::test_extract_maf_adjustment_minus_ten ... ok
[INFO] [stdout] test app::tests::test_select_next_distance ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_100k ... ok
[INFO] [stdout] test app::tests::test_scroll_plan_up ... ok
[INFO] [stdout] test file_io::tests::test_extract_distance_half_marathon ... ok
[INFO] [stdout] test file_io::tests::test_extract_maf_adjustment_missing_defaults_to_none ... ok
[INFO] [stdout] test file_io::tests::test_extract_maf_adjustment_none ... ok
[INFO] [stdout] test file_io::tests::test_extract_maf_adjustment_plus_five ... ok
[INFO] [stdout] test file_io::tests::test_extract_number_age ... ok
[INFO] [stdout] test file_io::tests::test_extract_number_missing ... ok
[INFO] [stdout] test file_io::tests::test_extract_number_with_bpm ... ok
[INFO] [stdout] test file_io::tests::test_extract_number_workouts ... ok
[INFO] [stdout] test file_io::tests::test_extract_race_type_road ... ok
[INFO] [stdout] test file_io::tests::test_extract_race_type_trail ... ok
[INFO] [stdout] test file_io::tests::test_file_error_display_io ... ok
[INFO] [stdout] test file_io::tests::test_extract_race_type_missing ... ok
[INFO] [stdout] test file_io::tests::test_file_error_display_parse ... ok
[INFO] [stdout] test file_io::tests::test_markdown_roundtrip ... ok
[INFO] [stdout] test file_io::tests::test_parse_week_header ... ok
[INFO] [stdout] test file_io::tests::test_parse_week_header_build ... ok
[INFO] [stdout] test file_io::tests::test_parse_week_header_peak ... ok
[INFO] [stdout] test file_io::tests::test_parse_week_header_taper ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_intervals ... ok
[INFO] [stdout] test file_io::tests::test_update_workout_duration ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_long_run ... ok
[INFO] [stdout] test file_io::tests::test_plan_to_markdown ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_recovery_run ... ok
[INFO] [stdout] test file_io::tests::test_update_workout ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_tempo ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_unknown ... ok
[INFO] [stdout] test file_io::tests::test_update_workout_invalid_index ... ok
[INFO] [stdout] test file_io::tests::test_parse_day_line_long_run ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_vertical ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_technical_trail ... ok
[INFO] [stdout] test file_io::tests::test_parse_day_line_rest ... ok
[INFO] [stdout] test file_io::tests::test_parse_day_line_with_duration ... ok
[INFO] [stdout] test models::tests::test_distance_all ... ok
[INFO] [stdout] test models::tests::test_distance_kilometers ... ok
[INFO] [stdout] test models::tests::test_distance_name ... ok
[INFO] [stdout] test models::tests::test_distance_plan_weeks ... ok
[INFO] [stdout] test models::tests::test_maf_adjustment_default ... ok
[INFO] [stdout] test models::tests::test_maffetone_calculation ... ok
[INFO] [stdout] test models::tests::test_maf_adjustment_all ... ok
[INFO] [stdout] test models::tests::test_maffetone_older_athlete ... ok
[INFO] [stdout] test models::tests::test_maf_adjustment_name ... ok
[INFO] [stdout] test models::tests::test_maffetone_with_minus_ten_adjustment ... ok
[INFO] [stdout] test models::tests::test_maf_adjustment_description ... ok
[INFO] [stdout] test models::tests::test_maf_adjustment_value ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_hill_repeats ... ok
[INFO] [stdout] test models::tests::test_maffetone_adjustment_minimum_hr ... ok
[INFO] [stdout] test models::tests::test_maffetone_young_athlete ... ok
[INFO] [stdout] test models::tests::test_maffetone_with_plus_five_adjustment ... ok
[INFO] [stdout] test file_io::tests::test_parse_workout_type_easy_run ... ok
[INFO] [stdout] test models::tests::test_race_type_all ... ok
[INFO] [stdout] test models::tests::test_rpe_value ... ok
[INFO] [stdout] test models::tests::test_race_type_name ... ok
[INFO] [stdout] test models::tests::test_training_phase_name ... ok
[INFO] [stdout] test models::tests::test_workout_type_name ... ok
[INFO] [stdout] test models::tests::test_zone1_range ... ok
[INFO] [stdout] test models::tests::test_zone2_range ... ok
[INFO] [stdout] test planner::tests::test_generate_training_weeks_has_workouts ... ok
[INFO] [stdout] test workouts::tests::test_create_easy_run ... ok
[INFO] [stdout] test models::tests::test_rpe_description ... ok
[INFO] [stdout] test models::tests::test_zone_ranges_with_adjustment ... ok
[INFO] [stdout] test models::tests::test_maffetone_with_minus_five_adjustment ... ok
[INFO] [stdout] test models::tests::test_maffetone_with_no_adjustment ... ok
[INFO] [stdout] test planner::tests::test_generate_training_weeks_periodization ... ok
[INFO] [stdout] test workouts::tests::test_create_tempo_run ... ok
[INFO] [stdout] test workouts::tests::test_create_intervals_peak_phase ... ok
[INFO] [stdout] test workouts::tests::test_create_long_run ... ok
[INFO] [stdout] test workouts::tests::test_create_vertical_training ... ok
[INFO] [stdout] test workouts::tests::test_create_long_run_trail ... ok
[INFO] [stdout] test workouts::tests::test_create_recovery_run ... ok
[INFO] [stdout] test workouts::tests::test_create_vertical_training_hundred_miles ... ok
[INFO] [stdout] test workouts::tests::test_create_technical_trail ... ok
[INFO] [stdout] test workouts::tests::test_create_long_run_taper ... ok
[INFO] [stdout] test models::tests::test_heart_rate_zones_edge_case_very_young ... ok
[INFO] [stdout] test workouts::tests::test_create_hill_repeats ... ok
[INFO] [stdout] test workouts::tests::test_create_intervals_build_phase ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 105 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "67659831be97696008f1ce04c94ce5c5231bf25cef2a151f3881bc372cb9e2ee", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67659831be97696008f1ce04c94ce5c5231bf25cef2a151f3881bc372cb9e2ee", kill_on_drop: false }`
[INFO] [stdout] 67659831be97696008f1ce04c94ce5c5231bf25cef2a151f3881bc372cb9e2ee
