[INFO] cloning repository https://github.com/Excel-Adeniyi/ea-skill-eval
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Excel-Adeniyi/ea-skill-eval" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FExcel-Adeniyi%2Fea-skill-eval", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FExcel-Adeniyi%2Fea-skill-eval'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] b1c7e923f7220b36baae8e6dd2da9f328a7041fe
[INFO] testing Excel-Adeniyi/ea-skill-eval against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FExcel-Adeniyi%2Fea-skill-eval" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Excel-Adeniyi/ea-skill-eval
[INFO] finished tweaking git repo https://github.com/Excel-Adeniyi/ea-skill-eval
[INFO] tweaked toml for git repo https://github.com/Excel-Adeniyi/ea-skill-eval written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Excel-Adeniyi/ea-skill-eval 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/Excel-Adeniyi/ea-skill-eval 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]  Downloading crates ...
[INFO] [stderr]   Downloaded tinyvec v1.13.2
[INFO] [stderr]   Downloaded comfy-table v8.0.0
[INFO] [stderr]   Downloaded cc v1.4.5
[INFO] [stderr]   Downloaded rustls v0.23.44
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676
[INFO] running `Command { std: "docker" "start" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", 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" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676" "/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" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", 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" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.12
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling smallvec v1.16.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling aws-lc-rs v1.18.1
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling rustversion v1.0.23
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling rustls v0.23.44
[INFO] [stderr]    Compiling indexmap v2.14.2
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling bitflags v2.13.2
[INFO] [stderr]    Compiling syn v3.0.5
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling mio v1.2.3
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling cc v1.4.5
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling encoding_rs v0.8.41
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling ipnet v2.12.2
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling litrs v1.0.0
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling document-features v0.2.12
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling aho-corasick v1.1.5
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling aws-lc-sys v0.45.0
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling multiversion_no_op v1.0.0
[INFO] [stderr]    Compiling core_detect v1.0.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling crossterm v0.29.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling base64 v0.23.1
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling comfy-table v8.0.0
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling multiversion-macros v0.9.0
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling multiversion v0.9.0
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling regex v1.13.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.11.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling tokio-rustls v0.26.5
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.5
[INFO] [stderr]    Compiling ea-skill-eval v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 30s
[INFO] running `Command { std: "docker" "inspect" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", 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" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling ea-skill-eval v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 7.24s
[INFO] running `Command { std: "docker" "inspect" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", 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" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ea_skill_eval-5369376cc40e6cfb)
[INFO] [stdout] 
[INFO] [stdout] running 143 tests
[INFO] [stdout] test cli::tests::caching_is_on_by_default_for_the_llm_judge ... ok
[INFO] [stdout] test cli::tests::accepts_a_positional_input_path ... ok
[INFO] [stdout] test cli::tests::cli_definition_is_valid ... ok
[INFO] [stdout] test cli::tests::defaults_to_the_offline_heuristic ... ok
[INFO] [stdout] test cli::tests::metric_flags_are_repeatable ... ok
[INFO] [stdout] test cli::tests::no_cache_disables_caching_for_the_llm_judge ... ok
[INFO] [stdout] test cli::tests::no_metric_flags_means_every_metric ... ok
[INFO] [stdout] test cli::tests::parses_the_llm_judge_with_overrides ... ok
[INFO] [stdout] test domain::evaluation::tests::compares_platforms_on_one_metric ... ok
[INFO] [stdout] test domain::evaluation::tests::counts_fallbacks_separately_from_successes ... ok
[INFO] [stdout] test domain::evaluation::tests::metric_mean_averages_across_traces ... ok
[INFO] [stdout] test domain::evaluation::tests::metric_mean_is_none_when_no_trace_scored_it ... ok
[INFO] [stdout] test domain::evaluation::tests::no_traces_fail_a_threshold_of_zero ... ok
[INFO] [stdout] test cli::tests::rejects_an_unknown_judge ... ok
[INFO] [stdout] test domain::evaluation::tests::finds_traces_below_a_threshold ... ok
[INFO] [stdout] test cli::tests::the_heuristic_judge_is_never_cached ... ok
[INFO] [stdout] test domain::evaluation::tests::overall_mean_averages_per_trace_not_per_score ... ok
[INFO] [stdout] test domain::evaluation::tests::an_empty_report_has_no_means ... ok
[INFO] [stdout] test domain::metric::tests::display_uses_a_human_readable_name ... ok
[INFO] [stdout] test domain::metric::tests::parses_loosely_formatted_names_from_judges ... ok
[INFO] [stdout] test domain::metric::tests::parses_the_canonical_metric_names ... ok
[INFO] [stdout] test domain::metric::tests::rejects_names_it_does_not_recognise ... ok
[INFO] [stdout] test domain::metric_score::tests::creates_a_metric_score ... ok
[INFO] [stdout] test domain::platform::tests::deserialises_from_snake_case ... ok
[INFO] [stdout] test domain::evaluation::tests::trigger_rate_counts_only_recorded_traces ... ok
[INFO] [stdout] test domain::metric::tests::debug_uses_the_rust_variant_name ... ok
[INFO] [stdout] test domain::evaluation::tests::groups_evaluations_by_platform ... ok
[INFO] [stdout] test domain::metric::tests::display_round_trips_through_from_str ... ok
[INFO] [stdout] test domain::metric::tests::all_returns_every_metric ... ok
[INFO] [stdout] test domain::platform::tests::display_uses_human_readable_names ... ok
[INFO] [stdout] test domain::score_source::tests::display_uses_human_readable_names ... ok
[INFO] [stdout] test domain::trace::tests::deserializes_a_trace_captured_before_the_new_fields_existed ... ok
[INFO] [stdout] test domain::score::tests::accepts_scores_inside_the_valid_range ... ok
[INFO] [stdout] test domain::score::tests::rejects_scores_outside_the_valid_range ... ok
[INFO] [stdout] test domain::platform::tests::serialises_to_snake_case ... ok
[INFO] [stdout] test domain::platform::tests::unknown_is_the_default_platform ... ok
[INFO] [stdout] test domain::score::tests::rejects_non_finite_scores ... ok
[INFO] [stdout] test domain::score::tests::returns_the_inner_value ... ok
[INFO] [stdout] test domain::trace::tests::deserializes_a_trace_from_json ... ok
[INFO] [stdout] test domain::trace::tests::provenance_includes_the_model_when_known ... ok
[INFO] [stdout] test input::sentinel::tests::stripping_removes_every_occurrence ... ok
[INFO] [stdout] test input::sentinel::tests::leaves_output_without_a_marker_untouched ... ok
[INFO] [stdout] test input::sentinel::tests::does_not_match_unrelated_comments ... ok
[INFO] [stdout] test input::sentinel::tests::strips_the_marker_and_surrounding_whitespace ... ok
[INFO] [stdout] test input::sentinel::tests::detects_the_marker_across_versions_and_spacing ... ok
[INFO] [stdout] test input::trace_loader::tests::records_a_missing_sentinel_as_not_triggered ... ok
[INFO] [stdout] test input::trace_loader::tests::reports_a_missing_file_as_an_error ... ok
[INFO] [stdout] test judge::cache::tests::a_corrupt_entry_reads_as_a_miss ... ok
[INFO] [stdout] test judge::cache::tests::a_disabled_cache_never_stores_anything ... ok
[INFO] [stdout] test judge::cache::tests::clear_removes_stored_entries ... ok
[INFO] [stdout] test input::sentinel::tests::detects_the_canonical_marker ... ok
[INFO] [stdout] test judge::cache::tests::editing_the_trace_text_invalidates_the_entry ... ok
[INFO] [stdout] test judge::cache::tests::file_names_are_filesystem_safe ... ok
[INFO] [stdout] test judge::cache::tests::the_fingerprint_is_stable_across_runs ... ok
[INFO] [stdout] test judge::cache::tests::stores_and_retrieves_scores ... ok
[INFO] [stdout] test judge::cache::tests::different_judges_do_not_share_entries ... ok
[INFO] [stdout] test judge::openai_compatible::tests::request_body_matches_the_openai_shape ... ok
[INFO] [stdout] test judge::prompt::tests::user_message_contains_all_three_sections ... ok
[INFO] [stdout] test judge::response::tests::errors_when_nothing_usable_survives ... ok
[INFO] [stdout] test judge::response::tests::errors_when_there_is_no_json_at_all ... ok
[INFO] [stdout] test judge::prompt::tests::system_prompt_names_every_metric_the_judge_produces ... ok
[INFO] [stdout] test input::trace_loader::tests::an_explicit_value_overrides_the_sentinel ... ok
[INFO] [stdout] test judge::response::tests::keeps_the_first_of_a_duplicated_metric ... ok
[INFO] [stdout] test judge::response::tests::parses_a_well_formed_response ... ok
[INFO] [stdout] test judge::response::tests::returns_metrics_in_canonical_order ... ok
[INFO] [stdout] test judge::response::tests::strips_markdown_fences ... ok
[INFO] [stdout] test judge::response::tests::tags_every_score_as_coming_from_a_judge ... ok
[INFO] [stdout] test judge::response::tests::tolerates_a_missing_reasoning_field ... ok
[INFO] [stdout] test judge::verifier::tests::a_contradicted_claim_lowers_the_score ... ok
[INFO] [stdout] test input::trace_loader::tests::infers_skill_triggered_from_the_sentinel ... ok
[INFO] [stdout] test judge::verifier::tests::all_supported_scores_one ... ok
[INFO] [stdout] test judge::prompt::tests::the_judge_does_not_claim_to_score_correctness ... ok
[INFO] [stdout] test judge::verifier::tests::metric_score_is_tagged_as_claim_verified ... ok
[INFO] [stdout] test judge::response::tests::skips_metrics_it_does_not_recognise ... ok
[INFO] [stdout] test judge::verifier::tests::not_found_claims_are_excluded_rather_than_penalised ... ok
[INFO] [stdout] test judge::response::tests::skips_scores_outside_the_valid_range ... ok
[INFO] [stdout] test judge::verifier::tests::errors_when_there_is_no_json ... ok
[INFO] [stdout] test judge::verifier::tests::nothing_checkable_has_no_score ... ok
[INFO] [stdout] test judge::verifier::tests::reasoning_names_a_contradicted_claim ... ok
[INFO] [stdout] test judge::verifier::tests::the_message_separates_reference_from_answer ... ok
[INFO] [stdout] test judge::verifier::tests::reasoning_reports_uncovered_claims ... ok
[INFO] [stdout] test judge::verifier::tests::the_prompt_forbids_using_model_knowledge ... ok
[INFO] [stdout] test report::json::tests::carries_provenance_through_to_the_evaluations ... ok
[INFO] [stdout] test judge::verifier::tests::parses_a_well_formed_response ... ok
[INFO] [stdout] test judge::verifier::tests::parses_through_markdown_fences ... ok
[INFO] [stdout] test report::json::tests::includes_precomputed_aggregates ... ok
[INFO] [stdout] test report::json::tests::renders_valid_json ... ok
[INFO] [stdout] test report::json::tests::reports_trigger_counts ... ok
[INFO] [stdout] test report::json::tests::unscored_metrics_serialise_as_null_not_zero ... ok
[INFO] [stdout] test report::table::tests::a_measured_metric_does_get_a_column ... ok
[INFO] [stdout] test report::table::tests::comparison_table_has_one_row_per_platform ... ok
[INFO] [stdout] test report::table::tests::trace_table_lists_every_trace_and_metric ... ok
[INFO] [stdout] test report::table::tests::trigger_summary_reports_a_rate_when_recorded ... ok
[INFO] [stdout] test report::table::tests::fallback_rows_are_labelled ... ok
[INFO] [stdout] test report::table::tests::lists_platforms_present_in_the_report ... ok
[INFO] [stdout] test report::table::tests::missing_metrics_render_as_a_dash ... ok
[INFO] [stdout] test report::table::tests::unmeasured_metrics_get_no_column ... ok
[INFO] [stdout] test report::table::tests::trigger_summary_is_none_when_nothing_was_recorded ... ok
[INFO] [stdout] test scoring::format::tests::bullet_rule_accepts_common_bullet_characters ... ok
[INFO] [stdout] test scoring::format::tests::a_scoped_word_limit_is_not_a_whole_output_limit ... ok
[INFO] [stdout] test scoring::format::tests::detects_no_rules_when_no_format_was_requested ... ok
[INFO] [stdout] test scoring::format::tests::detects_a_json_requirement ... ok
[INFO] [stdout] test scoring::format::tests::detects_several_rules_at_once ... ok
[INFO] [stdout] test scoring::format::tests::json_rule_accepts_valid_json_only ... ok
[INFO] [stdout] test scoring::format::tests::an_unscoped_word_limit_still_applies ... ok
[INFO] [stdout] test scoring::format::tests::detects_a_word_limit ... ok
[INFO] [stdout] test scoring::format::tests::word_limit_rule_counts_words ... ok
[INFO] [stdout] test scoring::format::tests::numbered_rule_requires_leading_numbers ... ok
[INFO] [stdout] test scoring::format::tests::strips_directive_verbs_but_keeps_their_object ... ok
[INFO] [stdout] test scoring::heuristic::tests::every_score_is_tagged_as_heuristic_and_explained ... ok
[INFO] [stdout] test scoring::format::tests::strips_format_directives_from_instructions ... ok
[INFO] [stdout] test scoring::heuristic::tests::adherence_sits_between_precision_and_recall ... ok
[INFO] [stdout] test scoring::heuristic::tests::format_compliance_scores_the_fraction_of_rules_met ... ok
[INFO] [stdout] test scoring::heuristic::tests::a_purely_formatting_instruction_has_no_content_recall ... ok
[INFO] [stdout] test scoring::heuristic::tests::recall_drops_for_each_instruction_term_the_output_omits ... ok
[INFO] [stdout] test scoring::heuristic::tests::format_directives_do_not_count_against_recall ... ok
[INFO] [stdout] test scoring::heuristic::tests::perfect_recall_when_the_output_covers_every_instruction_term ... ok
[INFO] [stdout] test scoring::heuristic::tests::skips_format_compliance_when_no_format_was_requested ... ok
[INFO] [stdout] test scoring::heuristic::tests::returns_metrics_in_a_stable_order ... ok
[INFO] [stdout] test scoring::heuristic::tests::scores_all_five_metrics_when_a_format_is_requested ... ok
[INFO] [stdout] test scoring::heuristic::tests::a_compliant_json_answer_is_not_penalised_twice ... ok
[INFO] [stdout] test scoring::overlap::tests::coverage_is_directional ... ok
[INFO] [stdout] test scoring::overlap::tests::f1_balances_precision_and_recall ... ok
[INFO] [stdout] test scoring::heuristic::tests::task_relevancy_rewards_addressing_the_task ... ok
[INFO] [stdout] test scoring::overlap::tests::empty_reference_has_no_score ... ok
[INFO] [stdout] test scoring::overlap::tests::full_coverage_scores_one ... ok
[INFO] [stdout] test scoring::overlap::tests::partial_coverage_scores_the_matching_fraction ... ok
[INFO] [stdout] test scoring::tokenizer::tests::converts_terms_to_lowercase ... ok
[INFO] [stdout] test scoring::overlap::tests::no_shared_terms_scores_zero ... ok
[INFO] [stdout] test scoring::heuristic::tests::zero_recall_when_the_output_ignores_the_instructions ... ok
[INFO] [stdout] test scoring::tokenizer::tests::does_not_over_stem_short_words ... ok
[INFO] [stdout] test scoring::tokenizer::tests::keeps_single_digit_numbers ... ok
[INFO] [stdout] test scoring::tokenizer::tests::leaves_double_s_words_intact ... ok
[INFO] [stdout] test scoring::tokenizer::tests::known_limitation_plural_verbs_do_not_reach_the_ed_stem ... ok
[INFO] [stdout] test scoring::tokenizer::tests::matches_singular_and_plural_forms ... ok
[INFO] [stdout] test scoring::heuristic::tests::precision_falls_when_the_output_adds_unprompted_content ... ok
[INFO] [stdout] test scoring::tokenizer::tests::removes_punctuation_from_terms ... ok
[INFO] [stdout] test scoring::tokenizer::tests::stems_gerunds_back_to_the_base_verb ... ok
[INFO] [stdout] test scoring::tokenizer::tests::repeated_words_count_once ... ok
[INFO] [stdout] test scoring::tokenizer::tests::removes_stopwords ... ok
[INFO] [stdout] test judge::openai_compatible::tests::trailing_slashes_do_not_produce_a_double_slash_url ... ok
[INFO] [stdout] test judge::openai_compatible::tests::ollama_points_at_the_local_endpoint ... ok
[INFO] [stdout] test judge::openai_compatible::tests::the_judge_name_identifies_the_model ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 143 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.31s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ea_skill_eval-b83f4d6a51083e40)
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli.rs (/opt/rustwide/target/debug/deps/cli-9ff2a647e995cca8)
[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] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test scores_traces_and_prints_a_table ... ok
[INFO] [stdout] test emits_machine_readable_json ... ok
[INFO] [stdout] test exits_two_when_a_trace_falls_below_the_threshold ... ok
[INFO] [stdout] test exits_zero_when_every_trace_clears_the_threshold ... ok
[INFO] [stdout] test still_loads_traces_captured_before_the_platform_fields_existed ... ok
[INFO] [stdout] test metric_filter_limits_the_scored_metrics ... ok
[INFO] [stdout] test exits_one_when_the_input_is_missing ... ok
[INFO] [stderr]    Doc-tests ea_skill_eval
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[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] running `Command { std: "docker" "inspect" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676", kill_on_drop: false }`
[INFO] [stdout] bc467c19991d19fac4d15bbd843ffe464b5349a222d2eecf87b4f875d10d7676
