[INFO] cloning repository https://github.com/ffedoroff/code-split [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ffedoroff/code-split" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fffedoroff%2Fcode-split", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fffedoroff%2Fcode-split'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 348bb2bbcc9b3fcf3c1a7bfe755d38257b1091bc [INFO] testing ffedoroff/code-split 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%2Fffedoroff%2Fcode-split" "/workspace/builds/worker-5-tc1/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc1/source'... [INFO] [stderr] done. [INFO] removed /workspace/builds/worker-5-tc1/source/rust-toolchain.toml [INFO] started tweaking git repo https://github.com/ffedoroff/code-split [INFO] finished tweaking git repo https://github.com/ffedoroff/code-split [INFO] tweaked toml for git repo https://github.com/ffedoroff/code-split written to /workspace/builds/worker-5-tc1/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/ffedoroff/code-split 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/ffedoroff/code-split 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 murmur3 v0.4.1 [INFO] [stderr] Downloaded typed-arena v2.0.2 [INFO] [stderr] Downloaded inventory v0.3.24 [INFO] [stderr] Downloaded cel v0.13.0 [INFO] [stderr] Downloaded tree-sitter-language v0.1.7 [INFO] [stderr] Downloaded streaming-iterator v0.1.9 [INFO] [stderr] Downloaded better_any v0.2.1 [INFO] [stderr] Downloaded ignore v0.4.26 [INFO] [stderr] Downloaded antlr4rust v0.5.2 [INFO] [stderr] Downloaded tree-sitter-go v0.25.0 [INFO] [stderr] Downloaded tree-sitter-javascript v0.25.0 [INFO] [stderr] Downloaded tree-sitter-python v0.25.0 [INFO] [stderr] Downloaded tree-sitter v0.26.9 [INFO] [stderr] Downloaded tree-sitter-c v0.24.2 [INFO] [stderr] Downloaded tree-sitter-rust v0.24.2 [INFO] [stderr] Downloaded tree-sitter-typescript v0.23.2 [INFO] [stderr] Downloaded tree-sitter-cpp v0.23.4 [INFO] [stderr] Downloaded tree-sitter-c-sharp v0.23.5 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-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] 5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3 [INFO] running `Command { std: "docker" "start" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", 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" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3" "/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" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", 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" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling cc v1.2.62 [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Compiling unicode-ident v1.0.24 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling regex-syntax v0.8.10 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling anyhow v1.0.103 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling winnow v1.0.3 [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling bit-vec v0.8.0 [INFO] [stderr] Compiling toml_writer v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling toml_parser v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling murmur3 v0.4.1 [INFO] [stderr] Compiling bit-set v0.8.0 [INFO] [stderr] Compiling camino v1.2.2 [INFO] [stderr] Compiling typed-arena v2.0.2 [INFO] [stderr] Compiling better_any v0.2.1 [INFO] [stderr] Compiling uuid v1.23.3 [INFO] [stderr] Compiling inventory v0.3.24 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling crossbeam-epoch v0.9.20 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling pastey v0.2.3 [INFO] [stderr] Compiling crossbeam-deque v0.8.6 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling clap_builder v4.6.0 [INFO] [stderr] Compiling code-ranker v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-cli) [INFO] [stderr] Compiling tree-sitter-rust v0.24.2 [INFO] [stderr] Compiling tree-sitter-python v0.25.0 [INFO] [stderr] Compiling tree-sitter-javascript v0.25.0 [INFO] [stderr] Compiling tree-sitter-go v0.25.0 [INFO] [stderr] Compiling tree-sitter-cpp v0.23.4 [INFO] [stderr] Compiling tree-sitter-c-sharp v0.23.5 [INFO] [stderr] Compiling tree-sitter-c v0.24.2 [INFO] [stderr] Compiling tree-sitter-typescript v0.23.2 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling serde_spanned v1.1.1 [INFO] [stderr] Compiling toml_datetime v1.1.1+spec-1.1.0 [INFO] [stderr] Compiling antlr4rust v0.5.2 [INFO] [stderr] Compiling toml v1.1.2+spec-1.1.0 [INFO] [stderr] Compiling semver v1.0.28 [INFO] [stderr] Compiling which v8.0.2 [INFO] [stderr] Compiling tree-sitter v0.26.9 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling ignore v0.4.26 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling cargo-platform v0.1.9 [INFO] [stderr] Compiling cargo_metadata v0.18.1 [INFO] [stderr] Compiling code-ranker-plugin-api v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-plugin-api) [INFO] [stderr] Compiling cel v0.13.0 [INFO] [stderr] Compiling code-ranker-plugins v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-plugins) [INFO] [stderr] Compiling code-ranker-graph v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-graph) [INFO] [stderr] Compiling code-ranker-viewer v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-viewer) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 01s [INFO] running `Command { std: "docker" "inspect" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", 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" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3" "/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 getrandom v0.4.2 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Compiling code-ranker-graph v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-graph) [INFO] [stderr] Compiling code-ranker-plugin-api v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-plugin-api) [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling code-ranker v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-cli) [INFO] [stderr] Compiling code-ranker-viewer v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-viewer) [INFO] [stderr] Compiling code-ranker-plugins v5.0.4 (/opt/rustwide/workdir/crates/code-ranker-plugins) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 16.62s [INFO] running `Command { std: "docker" "inspect" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", 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" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3" "/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.57s [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/code_ranker-41d86fae1efd5e62) [INFO] [stdout] [INFO] [stdout] running 227 tests [INFO] [stdout] test check::tests::focus_scope_note_covers_path_rule_both_and_neither ... ok [INFO] [stdout] test check::tests::codequality_issue_has_fingerprint_path_and_line ... ok [INFO] [stdout] test analyze::tests::analyze_from_snapshot_rejects_analysis_only_flags ... ok [INFO] [stdout] test check::tests::codequality_whole_file_metric_defaults_line_to_one ... ok [INFO] [stdout] test check::tests::render_prompt_falls_back_to_raw_location_when_not_target_relative ... ok [INFO] [stdout] test check::tests::annotation_location_maps_target_path_with_line ... ok [INFO] [stdout] test check::tests::annotation_location_empty_without_a_file_path ... ok [INFO] [stdout] test check::tests::render_prompt_omits_module_line_for_an_empty_location ... ok [INFO] [stdout] test check::tests::sarif_omits_location_when_no_path ... ok [INFO] [stdout] test check::values::tests::print_current_values_no_files_level_is_noop ... ok [INFO] [stdout] test check::tests::sarif_partial_fingerprint_is_rule_and_location ... ok [INFO] [stdout] test analyze::tests::load_snapshot_rejects_schema_version_mismatch ... ok [INFO] [stdout] test check::values::tests::group_digits_inserts_thousands_separators ... ok [INFO] [stdout] test check::tests::rule_matches_full_id_bare_id_and_group ... ok [INFO] [stdout] test check::tests::sarif_attaches_physical_location_from_violation ... ok [INFO] [stdout] test check::tests::path_matches_file_exactly_and_folder_prefix ... ok [INFO] [stdout] test check::tests::path_matches_accepts_the_target_path_itself ... ok [INFO] [stdout] test check::tests::print_human_diagnostics_handles_clean_and_truncated_runs ... ok [INFO] [stdout] test compose::tests::newline_escape_anchors_to_a_line_start ... ok [INFO] [stdout] test compose::tests::to_keeps_section_text_up_to_and_including_the_phrase ... ok [INFO] [stdout] test compose::tests::missing_from_phrase_is_a_hard_error ... ok [INFO] [stdout] test compose::tests::missing_section_is_a_hard_error ... ok [INFO] [stdout] test compose::tests::unknown_clause_is_a_hard_error ... ok [INFO] [stdout] test compose::tests::whole_section_includes_and_inline_sections_in_manifest_order ... ok [INFO] [stdout] test check::tests::sarif_partial_fingerprint_is_stable_across_line_shifts ... ok [INFO] [stdout] test check::tests::annotation_location_defaults_missing_line_to_one ... ok [INFO] [stdout] test compose::tests::from_and_to_bound_the_slice_on_both_ends ... ok [INFO] [stdout] test compose::tests::manifest_own_head_is_used_verbatim_over_the_base_head ... ok [INFO] [stdout] test config::ignore::tests::apply_ignore_strips_glob_matches_and_their_edges ... ok [INFO] [stdout] test check::tests::path_matches_ignores_leading_dot_slash_and_trailing_slash ... ok [INFO] [stdout] test check::values::tests::print_current_values_handles_off_cycles_and_external_only_nodes ... ok [INFO] [stdout] test check::values::tests::print_current_values_skips_all_zero_metrics ... ok [INFO] [stdout] test analyze::tests::analyze_from_snapshot_regates_cycle ... ok [INFO] [stdout] test config::ignore::tests::build_glob_set_rejects_invalid_pattern ... ok [INFO] [stdout] test config::ignore::tests::dev_only_crates_from_metadata_excludes_dep_also_used_regularly ... ok [INFO] [stdout] test config::ignore::tests::dev_only_crates_from_metadata_finds_transitive_dev_only_dep ... ok [INFO] [stdout] test compose::tests::from_keeps_section_text_from_the_phrase_onward ... ok [INFO] [stdout] test compose::tests::manifest_without_head_inherits_the_base_head ... ok [INFO] [stdout] test config::ignore::tests::dev_only_crates_from_metadata_never_flags_a_workspace_member ... ok [INFO] [stdout] test config::ignore::tests::dev_only_crates_from_metadata_skips_malformed_nodes ... ok [INFO] [stdout] test config::ignore::tests::filter_graph_drops_dev_only_external_crates ... ok [INFO] [stdout] test config::ignore::tests::filter_graph_removes_nothing_when_no_match ... ok [INFO] [stdout] test config::ignore::tests::strip_root_prefix_token_and_external ... ok [INFO] [stdout] test config::load::tests::inline_overrides_set_template_and_remaining_ignore_keys ... ok [INFO] [stdout] test config::load::tests::cli_ignore_coerces_conflicting_base_values ... ok [INFO] [stdout] test config::load::tests::inline_plugins_key_requires_path_segment ... ok [INFO] [stdout] test config::load::tests::cli_override_cycle_budget_and_fractional_threshold ... ok [INFO] [stdout] test config::load::tests::inline_overrides_set_each_key ... ok [INFO] [stdout] test config::load::tests::inline_overrides_reject_bad_input ... ok [INFO] [stdout] test config::load::tests::inline_template_override_requires_lang_and_id ... ok [INFO] [stdout] test config::load::tests::cli_override_sets_cycle_and_threshold ... ok [INFO] [stdout] test config::load::tests::cli_override_extends_ignore_paths ... ok [INFO] [stdout] test config::load::tests::inline_override_sets_language_key ... ok [INFO] [stdout] test config::load::tests::inline_leaf_value_float_and_string_fallback ... ok [INFO] [stdout] test config::load::tests::inline_leaf_override_replaces_scalar_with_table ... ok [INFO] [stdout] test config::load::tests::load_auto_discovers_code_ranker_toml_in_workspace ... ok [INFO] [stdout] test config::load::tests::load_layers_multiple_config_files_in_order_last_wins ... ok [INFO] [stdout] test config::load::tests::parse_cycle_rule_variants ... ok [INFO] [stdout] test config::load::tests::set_metric_records_every_key ... ok [INFO] [stdout] test config::load::tests::parse_on_off_accepts_on_off_true_false ... ok [INFO] [stdout] test config::load::tests::load_falls_back_to_builtin_defaults_when_no_config_found ... ok [INFO] [stdout] test config::load::tests::parse_threshold_path_shape ... ok [INFO] [stdout] test config::load::tests::load_auto_discovers_cargo_workspace_metadata ... ok [INFO] [stdout] test config::load::tests::load_hard_errors_on_legacy_plugin_key ... ok [INFO] [stdout] test config::load::tests::load_merges_explicit_config_over_builtin_defaults ... ok [INFO] [stdout] test config::load::tests::set_threshold_and_cycle_reject_unknowns ... ok [INFO] [stdout] test config::load::tests::split_kv_requires_equals ... ok [INFO] [stdout] test config::load::tests::validate_thresholds_accepts_language_metrics_key ... ok [INFO] [stdout] test config::load::tests::table_from_cargo_toml_rejects_a_non_table_metadata_section ... ok [INFO] [stdout] test config::model::tests::bare_suffixed_threshold_values_parse ... ok [INFO] [stdout] test config::load::tests::validate_thresholds_accepts_registry_and_custom_keys ... ok [INFO] [stdout] test config::model::tests::builtin_defaults_complete ... ok [INFO] [stdout] test config::metrics::tests::threshold_metrics_cover_engine_specs ... ok [INFO] [stdout] test config::model::tests::config_rejects_unknown_keys ... ok [INFO] [stdout] test config::model::tests::config_toml_parses_cycles_and_thresholds ... ok [INFO] [stdout] test config::model::tests::language_config_overrides_base_per_language ... ok [INFO] [stdout] test config::model::tests::cycle_rule_deserializes_from_json_u64_and_rejects_wrong_type ... ok [INFO] [stdout] test config::model::tests::parse_number_handles_separators_and_suffixes ... ok [INFO] [stdout] test config::model::tests::metric_thresholds_deserializes_json_u64_and_rejects_wrong_shape ... ok [INFO] [stdout] test config::model::tests::project_principle_parses_with_id_defaults ... ok [INFO] [stdout] test config::model::tests::threshold_keys_parse_without_validation ... ok [INFO] [stdout] test config::model::tests::threshold_value_accepts_int_and_float ... ok [INFO] [stdout] test config::model::tests::cycle_rules_effective_default_is_strict ... ok [INFO] [stdout] test config::rules::tests::apply_cycle_rules_clears_disabled_cycle_attr_on_nodes ... ok [INFO] [stdout] test config::rules::tests::rule_group_resolves_threshold_and_cycle_ids ... ok [INFO] [stdout] test config::rules::tests::rule_tuning_emits_cli_and_config_hints ... ok [INFO] [stdout] test config::thresholds::tests::quote_skips_malformed_keys_and_values ... ok [INFO] [stdout] test config::thresholds::tests::suffix_quoting_is_scoped_to_thresholds_tables ... ok [INFO] [stdout] test config::rules::tests::rule_doc_resolves_why_fix_from_specs_and_cycle_kinds ... ok [INFO] [stdout] test config::rules::tests::apply_cycle_rules_strips_disabled_kind ... ok [INFO] [stdout] test config::rules::tests::rule_doc_auto_derives_fix_for_a_metric_without_remediation ... ok [INFO] [stdout] test config::violations::tests::check_reports_enabled_cycle_group ... ok [INFO] [stdout] test config::violations::tests::check_reports_node_threshold_breach ... ok [INFO] [stdout] test config::load::tests::load_requires_matching_schema_version ... ok [INFO] [stdout] test config::violations::tests::custom_metric_threshold_breaches ... ok [INFO] [stdout] test config::violations::tests::cycle_budget_allows_up_to_n ... ok [INFO] [stdout] test config::violations::tests::cycle_rule_id_maps_known_kinds_and_falls_back ... ok [INFO] [stdout] test config::violations::tests::cycle_violation_points_at_breaking_edge_line ... ok [INFO] [stdout] test config::violations::tests::describe_cycle_chain_truncates_past_four_nodes ... ok [INFO] [stdout] test config::violations::tests::describe_cycle_unknown_kind_untruncated_and_truncated ... ok [INFO] [stdout] test config::load::tests::load_deep_merges_alias_block_into_canonical ... ok [INFO] [stdout] test docs::tests::catalog_without_unknown_omits_the_lead_note ... ok [INFO] [stdout] test docs::tests::categories_block_lists_uncategorized_metrics_with_a_description ... ok [INFO] [stdout] test config::violations::tests::loc_threshold_reads_loc_attr ... ok [INFO] [stdout] test docs::tests::build_specs_overlays_project_metrics_and_principles ... ok [INFO] [stdout] test docs::tests::build_specs_without_config_uses_the_plugin_catalog_and_neutral_input ... ok [INFO] [stdout] test config::violations::tests::sloc_threshold_reads_sloc_attr ... ok [INFO] [stdout] test docs::tests::catalog_lists_every_subject_class ... ok [INFO] [stdout] test docs::tests::categories_block_falls_back_to_the_label_for_a_group_without_a_description ... ok [INFO] [stdout] test docs::tests::category_subject_resolves_case_insensitively ... ok [INFO] [stdout] test docs::tests::index_hints_use_generic_lang_placeholder ... ok [INFO] [stdout] test docs::tests::localize_lang_substitutes_concrete_language_but_not_base ... ok [INFO] [stdout] test docs::tests::principles_index_lists_each_principle ... ok [INFO] [stdout] test docs::tests::render_category_lists_label_description_and_members ... ok [INFO] [stdout] test docs::tests::render_metric_renders_the_spec_card ... ok [INFO] [stdout] test docs::tests::render_principle_falls_back_to_a_synthetic_card_without_a_doc ... ok [INFO] [stdout] test docs::tests::principles_block_reports_when_the_plugin_defines_none ... ok [INFO] [stdout] test git::tests::full_override_skips_git_even_outside_a_repo ... ok [INFO] [stdout] test git::tests::count_dirty_outside_a_repo_is_zero ... ok [INFO] [stdout] test git::tests::origin_is_optional_and_does_not_gate_the_fast_path ... ok [INFO] [stdout] test pipeline::helpers::tests::assert_disjoint_languages_accepts_distinct_and_external ... ok [INFO] [stdout] test pipeline::helpers::tests::flow_kinds_with_no_level_is_empty ... ok [INFO] [stdout] test config::violations::tests::bad_custom_check_predicate_becomes_a_loud_violation ... ok [INFO] [stdout] test git::tests::partial_override_outside_repo_yields_none ... ok [INFO] [stdout] test pipeline::tests::assemble_level_keeps_grouping_with_a_function ... ok [INFO] [stdout] test pipeline::tests::assemble_level_synthesizes_default_spec_when_none ... ok [INFO] [stdout] test pipeline::tests::gate_thresholds_uses_gate_as_warning_and_reconciles_info ... ok [INFO] [stdout] test pipeline::tests::project_principles_override_then_append ... ok [INFO] [stdout] test docs::tests::metrics_index_lists_categories_and_members ... ok [INFO] [stdout] test plugin::tests::base_is_not_a_registered_plugin ... ok [INFO] [stdout] test docs::tests::build_specs_base_uses_neutral_catalog ... ok [INFO] [stdout] test config::violations::tests::custom_check_fires_with_path_predicate_and_carries_group ... ok [INFO] [stdout] test plugin::tests::effective_plugin_config_merges_base_then_lang ... ok [INFO] [stdout] test plugin::tests::every_registered_plugin_has_committed_goldens ... ok [INFO] [stdout] test plugin::tests::levels_returns_the_spec_for_a_known_plugin_and_empty_for_unknown ... ok [INFO] [stdout] test plugin::tests::registry_holds_exactly_the_expected_plugins ... ok [INFO] [stdout] test plugin::tests::aliases_resolve_to_canonical ... ok [INFO] [stdout] test config::ignore::tests::collect_dev_only_crates_runs_real_cargo_metadata_offline ... ok [INFO] [stdout] test plugin::tests::resolve_plugins_precedence ... ok [INFO] [stdout] test plugin::tests::detect_all_returns_sorted_multi_set ... ok [INFO] [stdout] test plugin::tests::detect_all_returns_empty_on_no_markers ... ok [INFO] [stdout] test recommend::focus::tests::target_subpath_resolves_absolute_form_of_a_relative_target ... ok [INFO] [stdout] test plugin::tests::validate_extension_uniqueness_passes_when_disjoint ... ok [INFO] [stdout] test recommend::scorecard::rows::tests::empty_modules_note_unnarrowed_and_genuinely_clean_says_none ... ok [INFO] [stdout] test recommend::scorecard::rows::tests::node_breaches_uses_infinity_ratio_for_a_zero_threshold ... ok [INFO] [stdout] test recommend::tests::compose_prompt_cycle_lists_modules_and_connections ... ok [INFO] [stdout] test recommend::tests::compose_prompt_metric_lens_handles_missing_spec_and_missing_value ... ok [INFO] [stdout] test config::ignore::tests::apply_ignore_dev_only_crates_flag_prunes_the_real_dev_dep ... ok [INFO] [stdout] test recommend::tests::compose_prompt_metric_orders_and_respects_top ... ok [INFO] [stdout] test recommend::tests::compose_prompt_single_focus_abbreviates_in_and_out_edges ... ok [INFO] [stdout] test recommend::tests::compose_prompt_lists_multiple_cycles ... ok [INFO] [stdout] test recommend::tests::cycle_groups_rank_chain_first_then_size ... ok [INFO] [stdout] test recommend::tests::in_focus_accepts_the_input_path_and_absolute_forms ... ok [INFO] [stdout] test recommend::tests::in_focus_matches_file_and_folder ... ok [INFO] [stdout] test pipeline::tests::detect_all_multi_and_empty ... ok [INFO] [stdout] test pipeline::tests::analyze_directory_no_op_when_auto_detect_finds_nothing ... ok [INFO] [stdout] test plugin::tests::resolve_plugins_returns_empty_on_zero_detection ... ok [INFO] [stdout] test recommend::tests::compose_prompt_metric_lens_omits_duplicate_description ... ok [INFO] [stdout] test docs::tests::languages_hint_lists_all_when_none_detected ... ok [INFO] [stdout] test recommend::tests::reco_for_cycle_uses_cycle_members ... ok [INFO] [stdout] test recommend::tests::reco_for_sorts_worst_first_and_counts_tiers ... ok [INFO] [stdout] test recommend::tests::resolve_focus_picks_metric_or_principle ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_explicit_resolves_alias ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_id_matches_metric_in_one ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_id_matches_one_principle ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_id_none_match_falls_to_first ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_no_id_uses_first ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_single_language_ignores_id ... ok [INFO] [stdout] test recommend::tests::scorecard_clips_long_principle_name ... ok [INFO] [stdout] test recommend::tests::scorecard_focus_metric_tags_each_module_by_its_actual_tier ... ok [INFO] [stdout] test recommend::tests::scorecard_focus_principle_shows_only_that_principle ... ok [INFO] [stdout] test recommend::tests::scorecard_focus_principle_top_module_missing_value_is_bare_path ... ok [INFO] [stdout] test recommend::tests::scorecard_focus_principle_with_no_matches_shows_a_dash ... ok [INFO] [stdout] test recommend::tests::scorecard_info_tier_and_cycle_in_rest ... ok [INFO] [stdout] test recommend::tests::scorecard_narrowed_cycle_lists_all_members ... ok [INFO] [stdout] test recommend::tests::scorecard_narrowed_cycle_top_n_header ... ok [INFO] [stdout] test recommend::tests::scorecard_narrowed_cycle_with_none_says_none ... ok [INFO] [stdout] test recommend::tests::scorecard_narrowed_metric_lists_ranked_modules ... ok [INFO] [stdout] test recommend::tests::scorecard_reports_no_breaches_when_clean ... ok [INFO] [stdout] test recommend::tests::scorecard_shows_principle_and_worst_modules ... ok [INFO] [stdout] test recommend::tests::synth_metric_principle_cycle_borrows_adp ... ok [INFO] [stdout] test recommend::tests::synth_metric_principle_frames_metric ... ok [INFO] [stdout] test recommend::tests::tier_count_picks_the_right_tier_and_auto_prefers_warning ... ok [INFO] [stdout] test report::tests::is_stream_recognizes_stdout_markers ... ok [INFO] [stdout] test report::tests::render_name_expands_git_hash ... ok [INFO] [stdout] test report::tests::render_name_expands_placeholders_and_slugifies ... ok [INFO] [stdout] test report::tests::render_name_leaves_malformed_git_hash_tokens_intact ... ok [INFO] [stdout] test report::tests::render_name_ts_is_stable_across_artifacts_of_one_run ... ok [INFO] [stdout] test report::tests::want_format_precedence ... ok [INFO] [stdout] test report::tests::write_artifact_creates_parent_dirs_and_writes_file ... ok [INFO] [stdout] test pipeline::tests::detect_plugin_by_single_marker ... ok [INFO] [stdout] test report::tests::write_artifact_to_stream_is_a_noop_on_disk ... ok [INFO] [stdout] test templates::tests::ai_doc_intro_keeps_description_and_commands_but_not_the_playbook ... ok [INFO] [stdout] test templates::tests::ai_doc_matches_resolve_doc_and_needs_no_snapshot ... ok [INFO] [stdout] test templates::tests::bare_relative_path_defaults_to_base_folder ... ok [INFO] [stdout] test templates::tests::catalog_entry_is_one_line_with_language_scoped_pointer ... ok [INFO] [stdout] test templates::tests::corpus_is_embedded_and_keyed_by_rel_path ... ok [INFO] [stdout] test templates::tests::doc_rel_path_serves_lang_override_for_a_metric_doc ... ok [INFO] [stdout] test templates::tests::lang_display_maps_known_folders_and_passes_through ... ok [INFO] [stdout] test templates::tests::metric_doc_stem_maps_key_to_corpus_stem ... ok [INFO] [stdout] test templates::tests::normalize_id_collapses_separators_and_case ... ok [INFO] [stdout] test templates::tests::resolve_doc_ai_index_expands_tldr_marker ... ok [INFO] [stdout] test templates::tests::resolve_doc_assembles_a_language_manifest ... ok [INFO] [stdout] test git::tests::partial_override_inside_repo_falls_back_to_git_for_the_rest ... ok [INFO] [stdout] test templates::tests::resolve_doc_cycle_resolves_to_adp ... ok [INFO] [stdout] test templates::tests::resolve_doc_finds_metric_doc_by_key ... ok [INFO] [stdout] test templates::tests::resolve_doc_override_wins_verbatim ... ok [INFO] [stdout] test templates::tests::resolve_doc_manifest_uses_base_override_when_present ... ok [INFO] [stdout] test templates::tests::resolve_doc_serves_base_fallback ... ok [INFO] [stdout] test templates::tests::resolve_doc_resolves_base_doc_by_filename_stem ... ok [INFO] [stdout] test templates::tests::url_tail_extracts_corpus_path ... ok [INFO] [stdout] test analyze::tests::load_snapshot_any_reads_json_and_html ... ok [INFO] [stdout] test pipeline::helpers::tests::assert_disjoint_languages_rejects_shared_internal_file - should panic ... ok [INFO] [stdout] test plugin::tests::unknown_plugin_accessors_degrade_gracefully ... ok [INFO] [stdout] test plugin::tests::validate_extension_uniqueness_errors_on_conflict ... ok [INFO] [stdout] test recommend::tests::compose_prompt_unknown_principle_errors ... ok [INFO] [stdout] test recommend::tests::parse_severity_rejects_garbage ... ok [INFO] [stdout] test recommend::tests::resolve_focus_unknown_name_errors ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_empty_errors ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_explicit_unknown_lists_available ... ok [INFO] [stdout] test report::tests::write_artifact_errors_when_a_parent_path_component_is_a_file ... ok [INFO] [stdout] test recommend::tests::resolve_language_snap_id_in_multiple_errors ... ok [INFO] [stdout] test templates::tests::resolve_doc_unknown_id_errors ... ok [INFO] [stdout] test pipeline::tests::analyze_directory_errors_when_all_plugins_are_empty ... ok [INFO] [stdout] test templates::tests::with_trailing_newline_appends_only_when_missing ... ok [INFO] [stdout] test export::tests::export_writes_project_and_languages_sections ... ok [INFO] [stdout] test analyze::tests::viewer_embeds_snapshot_inline_and_round_trips ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 227 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s [INFO] [stdout] [INFO] [stderr] Running tests/e2e.rs (/opt/rustwide/target/debug/deps/e2e-ba599bcfacca0794) [INFO] [stdout] [INFO] [stdout] running 78 tests [INFO] [stdout] test ai_resolved_prints_full_catalog_without_setup ... ok [INFO] [stdout] test docs_principles_index_lists_every_principle ... ok [INFO] [stdout] test docs_unknown_subject_prints_catalog_and_fails ... ok [INFO] [stdout] test docs_language_only_prints_the_catalog ... ok [INFO] [stdout] test docs_bare_lists_languages_and_exits_zero ... ok [INFO] [stderr] [14:53:08.565] json-report=/tmp/.tmpdHs4pb/out.json [INFO] [stdout] test docs_subject_without_language_errors ... ok [INFO] [stderr] [14:53:08.661] ⚠ plugin 'js' produced no nodes — skipping (no source files found?) [INFO] [stdout] test empty_metric_warns_on_stderr ... ok [INFO] [stderr] [14:53:08.679] json-report=/tmp/.tmp9wQDpt/out.json [INFO] [stderr] [14:53:08.690] json-report=/tmp/.tmpf40Ntr/out.json [INFO] [stdout] test every_central_metric_is_exercised_per_language ... ok [INFO] [stderr] [14:53:08.763] html-report=.code-ranker/20261006-145308-000.html [INFO] [stderr] [14:53:08.763] ✓ code-ranker report . --plugins python --config /tmp/.tmpdHs4pb/code-ranker.toml --output.json.path=/tmp/.tmpdHs4pb/out.json — 0.343s [INFO] [stderr] [14:53:08.872] html-report=.code-ranker/20261006-145308-000.html [INFO] [stderr] [14:53:08.873] ✓ code-ranker report . --output.json.path=/tmp/.tmpf40Ntr/out.json — 0.346s [INFO] [stdout] test multi_language_run_covers_every_detected_language ... ok [INFO] [stdout] test empty_graph_language_is_dropped ... ok [INFO] [stderr] [14:53:08.891] html-report=.code-ranker/20261006-145308-000.html [INFO] [stderr] [14:53:08.891] ✓ code-ranker report . --output.json.path=/tmp/.tmp9wQDpt/out.json — 0.469s [INFO] [stdout] test check_no_op_when_no_plugin_resolves ... ok [INFO] [stdout] test javascript_sample_check_codequality_matches_golden ... ok [INFO] [stdout] test ai_without_language_errors ... ok [INFO] [stdout] test javascript_sample_check_sarif_matches_golden ... ok [INFO] [stderr] [14:53:09.238] json-report=/tmp/.tmpdHs4pb/out.json [INFO] [stderr] [14:53:09.248] json-report=/tmp/.tmpWRsuyQ/fresh.json [INFO] [stderr] [14:53:09.301] json-report=/tmp/.tmpWKjtDZ/fresh.json [INFO] [stderr] [14:53:09.326] json-report=/tmp/.tmpvcPVNk/fresh.json [INFO] [stderr] [14:53:09.382] json-report=/tmp/.tmpeihPCY/fresh.json [INFO] [stderr] [14:53:09.492] json-report=/tmp/.tmpqmog2K/fresh.json [INFO] [stderr] [14:53:09.597] json-report=/tmp/.tmpGu5Uwe/fresh.json [INFO] [stdout] test report_export_full_config_writes_both_sections ... ok [INFO] [stderr] [14:53:09.657] html-report=.code-ranker/20261006-145309-348.html [INFO] [stderr] [14:53:09.657] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/js/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/js/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpWRsuyQ/fresh.json — 1.172s [INFO] [stderr] [14:53:09.679] html-report=.code-ranker/20261006-145309-000.html [INFO] [stderr] [14:53:09.707] ✓ code-ranker report . --plugins python --config /tmp/.tmpdHs4pb/code-ranker.toml --output.json.path=/tmp/.tmpdHs4pb/out.json — 0.920s [INFO] [stderr] [14:53:09.710] html-report=.code-ranker/20261006-145309-348.html [INFO] [stderr] [14:53:09.711] html-report=.code-ranker/20261006-145309-348.html [INFO] [stderr] [[14:53:09.711] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/csharp/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/csharp/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpvcPVNk/fresh.json — 1.274s [INFO] [stderr] 14:53:09.711] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/cpp/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/cpp/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpWKjtDZ/fresh.json — 1.274s [INFO] [stdout] test functions_level_is_opt_in ... ok [INFO] [stdout] test javascript_sample_matches_golden ... ok [INFO] [stderr] [14:53:09.797] html-report=.code-ranker/20261006-145309-348.html [INFO] [stderr] [14:53:09.797] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/md/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/md/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpeihPCY/fresh.json — 1.245s [INFO] [stdout] test cpp_sample_matches_golden ... ok [INFO] [stdout] test markdown_sample_matches_golden ... ok [INFO] [stdout] test csharp_sample_matches_golden ... ok [INFO] [stderr] [14:53:09.870] html-report=.code-ranker/20261006-145309-348.html [INFO] [stderr] [14:53:09.890] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/go/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/go/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpqmog2K/fresh.json — 1.454s [INFO] [stderr] [14:53:09.950] html-report=.code-ranker/20261006-145309-348.html [INFO] [stdout] test python_sample_check_codequality_matches_golden ... ok [INFO] [stderr] [14:53:09.951] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/c/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/c/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpGu5Uwe/fresh.json — 1.510s [INFO] [stdout] test go_sample_matches_golden ... ok [INFO] [stdout] test c_sample_matches_golden ... ok [INFO] [stdout] test python_sample_check_sarif_matches_golden ... ok [INFO] [stderr] [14:53:10.138] json-report=/tmp/.tmpp0RzNA/fresh.json [INFO] [stdout] test report_still_errors_when_explicit_plugin_finds_nothing ... ok [INFO] [stdout] test output_mode_quiet_suppresses_the_finish_line ... ok [INFO] [stderr] [14:53:10.508] html-report=.code-ranker/20261006-145310-348.html [INFO] [stderr] [14:53:10.511] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/python/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/python/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpp0RzNA/fresh.json — 1.539s [INFO] [stdout] test report_no_op_when_no_plugin_resolves ... ok [INFO] [stdout] test python_sample_matches_golden ... ok [INFO] [stdout] test output_mode_verbose_emits_the_startup_line ... ok [INFO] [stdout] test report_default_writes_json_and_html ... ok [INFO] [stdout] test rust_sample_check_focus_path_scopes_gate ... ok [INFO] [stdout] test rust_sample_check_focus_scopes_gate ... ok [INFO] [stdout] test rust_sample_check_codequality ... ok [INFO] [stdout] test rust_sample_check_focus_path_dot_slash_does_not_drop_everything ... ok [INFO] [stdout] test rust_sample_check_codequality_matches_golden ... ok [INFO] [stdout] test rust_sample_check_human_diagnostic ... ok [INFO] [stdout] test rust_sample_check_github_annotations ... ok [INFO] [stdout] test rust_sample_check_prompt_format ... ok [INFO] [stdout] test rust_sample_check_json_violations ... ok [INFO] [stdout] test rust_sample_check_prompt_format_lineless_violation_omits_line_number ... ok [INFO] [stdout] test rust_sample_check_prompt_format_empty_when_clean ... ok [INFO] [stdout] test rust_sample_check_sarif ... ok [INFO] [stdout] test report_baseline_html_diff_without_html_extension_appends_plain_suffix ... ok [INFO] [stdout] test rust_sample_check_baseline_verdict_improved ... ok [INFO] [stdout] test report_baseline_html_is_named_diff ... ok [INFO] [stdout] test rust_sample_report_rejects_index ... ok [INFO] [stdout] test rust_sample_report_rejects_stray_reco_flags ... ok [INFO] [stdout] test rust_sample_check_baseline_verdict_human ... ok [INFO] [stdout] test rust_sample_check_top_limits_reported_not_exit ... ok [INFO] [stdout] test rust_sample_check_suggest_config ... ok [INFO] [stdout] test rust_sample_check_sarif_matches_golden ... ok [INFO] [stdout] test rust_sample_docs_subject_prints_embedded_markdown ... ok [INFO] [stderr] [14:53:13.899] json-report=/tmp/.tmpMWXgxt/with-override.json [INFO] [stderr] [14:53:14.052] html-report=.code-ranker/20261006-145313-348.html [INFO] [stderr] [14:53:14.053] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample/code-ranker.toml --config ignore.tests=true --output.json.path=/tmp/.tmpMWXgxt/with-override.json — 1.216s [INFO] [stdout] test rust_sample_ignore_tests_override_drops_test_only_facts ... ok [INFO] [stderr] [14:53:14.283] json-report=bare.json [INFO] [stdout] test rust_sample_prompt_flag_targets_metric_lens ... ok [INFO] [stdout] test rust_sample_check_baseline_verdict_degraded ... ok [INFO] [stderr] [14:53:14.723] html-report=.code-ranker/20261006-145314-348.html [INFO] [stderr] [14:53:14.723] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample/code-ranker.toml --output.json.path=bare.json — 1.270s [INFO] [stdout] test rust_sample_report_bare_filename_output_path_has_no_parent_to_create ... ok [INFO] [stdout] test rust_sample_check_baseline_verdict_neutral ... ok [INFO] [stdout] test rust_sample_prompt_flag_lists_cycle_and_connections ... ok [INFO] [stderr] [14:53:14.849] json-report=.code-ranker/20261006-145314-348.json [INFO] [stderr] [14:53:14.923] json-report=/tmp/.tmpWBxXf8/fresh.json [INFO] [stdout] test rust_sample_prompt_flag_targets_named_principle ... ok [INFO] [stderr] [14:53:15.076] html-report=.code-ranker/20261006-145314-348.html [INFO] [stderr] [14:53:15.081] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample/code-ranker.toml --config output.json.enabled=false --config output.html.enabled=false — 1.381s [INFO] [stdout] test rust_sample_report_defaults_to_json_and_html_when_everything_disabled ... ok [INFO] [stdout] test rust_sample_report_sarif ... ok [INFO] [stderr] [14:53:15.373] html-report=.code-ranker/20261006-145314-348.html [INFO] [stderr] [14:53:15.382] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmpWBxXf8/fresh.json — 2.464s [INFO] [stderr] [14:53:15.389] json-report=/tmp/.tmpuxKqIp/out.json [INFO] [stdout] test rust_sample_scorecard_focus_path_accepts_input_path ... ok [INFO] [stdout] test rust_sample_report_codequality ... ok [INFO] [stdout] test rust_sample_scorecard_focus_metric ... ok [INFO] [stdout] test rust_sample_matches_golden ... ok [INFO] [stderr] [14:53:15.542] json-report=/tmp/.tmp0pCVLi/out.json [INFO] [stdout] test typescript_sample_check_codequality_matches_golden ... ok [INFO] [stderr] [14:53:15.576] html-report=.code-ranker/20261006-145315-000.html [INFO] [stderr] [14:53:15.576] ✓ code-ranker report . --plugins python --config /tmp/.tmpuxKqIp/code-ranker.toml --output.json.path=/tmp/.tmpuxKqIp/out.json — 0.470s [INFO] [stdout] test user_defined_aggregate_lands_in_stats ... ok [INFO] [stderr] [14:53:15.596] json-report=/tmp/.tmp4RCquW/fresh.json [INFO] [stderr] [14:53:15.621] json-report=/tmp/.tmpGzdpw8/out.json [INFO] [stderr] [14:53:15.694] html-report=.code-ranker/20261006-145315-000.html [INFO] [stderr] [14:53:15.695] ✓ code-ranker report . --plugins python --config /tmp/.tmp0pCVLi/code-ranker.toml --output.json.path=/tmp/.tmp0pCVLi/out.json — 0.426s [INFO] [stdout] scorecard (rust, 25 files) [INFO] [stdout] [INFO] [stdout] PRESET PRINCIPLE WARN INFO TOP MODULE [INFO] [stdout] ADP Acyclic Dependencies Principle 5 5 src/a.rs (cycle) [INFO] [stdout] [INFO] [stdout] WORST MODULES [INFO] [stdout] 1 warn src/a.rs cycle [INFO] [stdout] 2 warn src/b.rs cycle [INFO] [stdout] 3 warn src/chain/one.rs cycle [INFO] [stdout] 4 warn src/chain/three.rs cycle [INFO] [stdout] 5 warn src/chain/two.rs cycle [INFO] [stdout] [INFO] [stdout] → code-ranker report . --plugins rust --prompt (AI fix-prompt to stdout) [INFO] [stderr] [14:53:15.698] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/rust/tests/sample/code-ranker.toml --output.scorecard --config output.json.enabled=false --config output.html.enabled=false — 1.825s [INFO] [stdout] test rust_sample_report_scorecard_only_skips_json_and_html ... ok [INFO] [stdout] test user_defined_metric_is_computed_and_emitted ... ok [INFO] [stderr] [14:53:15.726] html-report=.code-ranker/20261006-145315-348.html [INFO] [stderr] [14:53:15.727] ✓ code-ranker report /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/ts/tests/sample --config /opt/rustwide/workdir/crates/code-ranker-plugins/src/languages/ts/tests/sample/code-ranker.toml --output.json.path=/tmp/.tmp4RCquW/fresh.json — 0.731s [INFO] [stderr] [14:53:15.728] html-report=.code-ranker/20261006-145315-000.html [INFO] [stderr] [14:53:15.728] ✓ code-ranker report . --plugins python --config /tmp/.tmpGzdpw8/code-ranker.toml --output.json.path=/tmp/.tmpGzdpw8/out.json — 0.284s [INFO] [stdout] test user_defined_metric_skips_external_nodes ... ok [INFO] [stdout] test templates_prompt_override_reads_a_custom_scaffold_from_disk ... ok [INFO] [stdout] test typescript_sample_matches_golden ... ok [INFO] [stdout] test rust_sample_scorecard_focus_path_scopes_modules ... ok [INFO] [stdout] test rust_sample_scorecard_triage ... ok [INFO] [stdout] test rust_sample_scorecard_focus_path_zero_match_warns ... ok [INFO] [stdout] test typescript_sample_check_sarif_matches_golden ... ok [INFO] [stdout] test rust_sample_scorecard_focus_metric_hides_principle ... ok [INFO] [stdout] test rust_sample_scorecard_unknown_focus ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 78 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 7.79s [INFO] [stdout] [INFO] [stderr] Running tests/grammar_single_version.rs (/opt/rustwide/target/debug/deps/grammar_single_version-2c5b6427571da130) [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test each_grammar_resolves_to_a_single_version ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/code_ranker_graph-6f8b48fcde7c3a9a) [INFO] [stdout] [INFO] [stdout] running 71 tests [INFO] [stdout] test checks::tests::cyclic_defs_are_a_compile_error ... ok [INFO] [stdout] test builtin::tests::prompt_template_from_parses_caller_supplied_markdown ... ok [INFO] [stdout] test builtin::tests::prompt_template_parses_from_markdown ... ok [INFO] [stdout] test checks::tests::bad_predicate_fails_to_compile ... ok [INFO] [stdout] test builtin::tests::stat_keys_are_the_mean_aggregates ... ok [INFO] [stdout] test builtin::tests::spec_field_mapping_is_wire_compatible ... ok [INFO] [stdout] test builtin::tests::aggregate_formulas_superset_of_stat_keys ... ok [INFO] [stdout] test checks::tests::message_interpolates_attrs_and_path_fields ... ok [INFO] [stdout] test checks::tests::depended_on_by_and_rdeps_see_reverse_edges ... ok [INFO] [stdout] test checks::tests::defs_reference_chain_resolves ... ok [INFO] [stdout] test builtin::tests::graph_derived_hk_from_coupling_counts ... ok [INFO] [stdout] test checks::tests::collections_consistent_when_nodes_carry_only_target_prefixed_ids ... ok [INFO] [stdout] test checks::tests::numeric_predicate_fires_over_threshold ... ok [INFO] [stdout] test checks::tests::non_boolean_or_error_predicate_does_not_fire ... ok [INFO] [stdout] test cycles::tests::crate_of_falls_back_to_src_segment ... ok [INFO] [stdout] test cycles::tests::cross_crate_scc_is_dropped ... ok [INFO] [stdout] test checks::tests::matches_uses_regex_and_tolerates_bad_pattern ... ok [INFO] [stdout] test cycles::tests::contains_edge_excluded_from_cycles ... ok [INFO] [stdout] test cycles::tests::cross_crate_via_attr_is_dropped ... ok [INFO] [stdout] test cycles::tests::cycle_among_disconnected_components_is_isolated ... ok [INFO] [stdout] test checks::tests::math_host_functions_are_available_in_predicates ... ok [INFO] [stdout] test checks::tests::files_and_siblings_collections_and_file_exists ... ok [INFO] [stdout] test cycles::tests::same_crate_via_attr_is_kept ... ok [INFO] [stdout] test checks::tests::path_falls_back_to_id_without_target_prefix ... ok [INFO] [stdout] test checks::tests::agg_enables_relative_thresholds ... ok [INFO] [stdout] test checks::tests::derived_path_fields_resolve ... ok [INFO] [stdout] test cycles::tests::two_node_cycle_is_mutual ... ok [INFO] [stdout] test cycles::tests::intra_crate_scc_is_kept ... ok [INFO] [stdout] test cycles::tests::nested_cycles_form_single_scc ... ok [INFO] [stdout] test cycles::tests::test_named_node_no_longer_special_cased ... ok [INFO] [stdout] test cycles::tests::three_node_scc_is_chain ... ok [INFO] [stdout] test checks::tests::why_and_fix_copy_is_interpolated ... ok [INFO] [stdout] test hk::tests::counts_fan_in_and_fan_out ... ok [INFO] [stdout] test finalize::tests::dedups_and_drops_self_loops_and_unused_externals ... ok [INFO] [stdout] test hk::tests::external_source_is_dropped_not_counted_anywhere ... ok [INFO] [stdout] test registry::cover_tests::registry_error_display ... ok [INFO] [stdout] test registry::cover_tests::exec_f64_handles_int_result ... ok [INFO] [stdout] test registry::cover_tests::to_attribute_spec_maps_types_and_direction ... ok [INFO] [stdout] test hk::tests::external_target_counts_as_fan_out_external ... ok [INFO] [stdout] test cycles::tests::unknown_crate_member_keeps_cycle_conservatively ... ok [INFO] [stdout] test registry::cover_tests::calc_defaults_to_formula_for_node_scope ... ok [INFO] [stdout] test checks::tests::float_bool_attrs_path_fns_and_message_formatting ... ok [INFO] [stdout] test checks::tests::depends_on_and_deps_list_see_edges ... ok [INFO] [stdout] test registry::cover_tests::reducers_and_percentile_edges ... ok [INFO] [stdout] test registry::cover_tests::top_n_reducer_keeps_largest_then_reduces ... ok [INFO] [stdout] test registry::cover_tests::apply_to_node_exposes_path_to_formula ... ok [INFO] [stdout] test registry::cover_tests::apply_to_node_writes_and_omits ... ok [INFO] [stdout] test checks::tests::defs_are_expanded_into_predicates ... ok [INFO] [stdout] test registry::tests::detects_dependency_cycle ... ok [INFO] [stdout] test registry::tests::percentile_matches_numpy_r7 ... ok [INFO] [stdout] test relativize::tests::relativize_graph_remaps_parent_and_path_attr ... ok [INFO] [stdout] test relativize::tests::relativize_level_rewrites_ids_edges_and_cycles ... ok [INFO] [stdout] test relativize::tests::relativize_path_empty_and_unmatched_pass_through ... ok [INFO] [stdout] test relativize::tests::relativize_path_under_target_uses_token ... ok [INFO] [stdout] test registry::tests::invalid_formula_is_a_load_error ... ok [INFO] [stdout] test stats::tests::empty_graph_has_no_stats ... ok [INFO] [stdout] test stats::tests::average_excludes_zero_and_missing ... ok [INFO] [stdout] test registry::tests::computes_a_simple_ratio ... ok [INFO] [stdout] test registry::tests::dependent_metrics_evaluate_in_order ... ok [INFO] [stdout] test registry::tests::math_functions_match_rust_f64 ... ok [INFO] [stdout] test checks::tests::path_strings_and_string_stdlib_are_available ... ok [INFO] [stdout] test registry::tests::all_population_counts_missing_at_floor ... ok [INFO] [stdout] test registry::tests::graph_aggregate_over_population ... ok [INFO] [stdout] test registry::tests::error_or_nonfinite_is_omitted ... ok [INFO] [stdout] test relativize::tests::relativize_path_longest_root_wins ... ok [INFO] [stdout] test registry::tests::graph_metrics_compose ... ok [INFO] [stdout] test checks::tests::double_cast_enables_float_proportion_predicate ... ok [INFO] [stdout] test builtin::tests::parses_and_compiles ... ok [INFO] [stdout] test builtin::tests::derives_tier2_from_tier1 ... ok [INFO] [stdout] test cycles::tests::self_loop_does_not_form_cycle ... ok [INFO] [stdout] test registry::cover_tests::two_tier_thresholds_map_to_spec ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 71 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.21s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/code_ranker_plugin_api-d9081ee2097b43ff) [INFO] [stdout] [INFO] [stdout] running 16 tests [INFO] [stdout] test list_override::tests::patch_value_list_passes_through_non_string_base ... ok [INFO] [stdout] test list_override::tests::list_patch_on_scalar_is_noop ... ok [INFO] [stdout] test attrs::tests::from_impls_cover_each_scalar ... ok [INFO] [stdout] test attrs::tests::value_type_maps_each_variant ... ok [INFO] [stdout] test detection::tests::detect_with_marker_checks_file_presence ... ok [INFO] [stdout] test list_override::tests::report_override_parses_size_and_filter ... ok [INFO] [stdout] test list_override::tests::report_override_absent_is_noop ... ok [INFO] [stdout] test plugin::tests::trait_default_hooks_are_noops ... ok [INFO] [stdout] test report::tests::apply_covers_every_op ... ok [INFO] [stdout] test log::tests::level_set_and_get_round_trips ... ok [INFO] [stdout] test list_override::tests::report_override_section_after_anchor ... ok [INFO] [stdout] test level::tests::attr_dict_builds_specs_from_rows ... ok [INFO] [stdout] test log::tests::timed_runs_and_logs_at_verbose ... ok [INFO] [stdout] test list_override::tests::report_override_replace_in_place ... ok [INFO] [stdout] test level::tests::group_builder_sets_label_and_description ... ok [INFO] [stdout] test list_override::tests::report_override_parses_and_applies_patches ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/code_ranker_plugins-0f52973201573f71) [INFO] [stdout] [INFO] [stdout] running 204 tests [INFO] [stdout] test config::config_tests::deep_merge_replaces_table_with_scalar ... ok [INFO] [stdout] test config::config_tests::principles_replaced_by_non_array_overlay ... ok [INFO] [stdout] test config::config_tests::deep_merge_overrides_per_key_and_recurses ... ok [INFO] [stdout] test config::config_tests::principles_merge_by_id ... ok [INFO] [stdout] test config::config_tests::deep_merge_patches_inherited_lists_via_op_table ... ok [INFO] [stdout] test config::config_tests::principles_without_id_are_appended ... ok [INFO] [stdout] test config::config_tests::node_kinds_inherit_shared_and_rust_adds_fn ... ok [INFO] [stdout] test engine::loc::tests::check_comment_ends_on_code_line_reclassifies ... ok [INFO] [stdout] test engine::roles::roles_tests::resolve_one_distinguishes_named_and_absent ... ok [INFO] [stdout] test config::config_tests::resolved_principles_partial_doc_overrides_route_only_listed_ids ... ok [INFO] [stdout] test engine::loc::tests::add_cloc_lines_covers_every_branch ... ok [INFO] [stdout] test engine::roles::roles_tests::resolve_set_collects_named_and_anon ... ok [INFO] [stdout] test config::config_tests::node_kinds_ecmascript_adds_arrow_and_generator ... ok [INFO] [stdout] test engine::roles::roles_tests::resolve_set_empty_is_empty ... ok [INFO] [stdout] test config::config_tests::load_rust_exposes_sections ... ok [INFO] [stdout] test config::config_tests::rust_config_report_override_is_the_demo ... ok [INFO] [stdout] test config::config_tests::edge_kind_id_validates_against_config ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::ignore_tests_drops_test_files ... ok [INFO] [stdout] test config::config_tests::edge_kinds_inherit_shared_uses_and_rust_overrides ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::include_graph_resolves_local_and_external ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::is_test_path_matches_conventions ... ok [INFO] [stdout] test languages::c::dialect::dialect_tests::pointer_returning_function_name_and_args ... ok [INFO] [stdout] test languages::c::dialect::dialect_tests::knr_style_function_params_are_not_counted_as_args ... ok [INFO] [stdout] test languages::c::dialect::dialect_tests::computes_c_file_metrics ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::non_utf8_source_file_is_skipped ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::scan_includes_splits_local_and_system ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::scan_includes_ignores_macro_and_unterminated_forms ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::unresolved_local_include_becomes_external ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::resolves_adjacent_file_outside_the_collected_set ... ok [INFO] [stdout] test languages::c::dialect::dialect_tests::switch_cases_and_ternary_count ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::resolves_include_by_full_relative_path_from_subdir ... ok [INFO] [stdout] test languages::cfamily::cfamily_tests::resolves_local_include_by_unique_basename ... ok [INFO] [stdout] test languages::c::mod_rs_tests::metrics_skip_non_file_and_unreadable_nodes ... ok [INFO] [stdout] test languages::c::mod_rs_tests::metrics_and_function_units_over_a_temp_project ... ok [INFO] [stdout] test languages::c::mod_rs_tests::detects_by_c_source_presence ... ok [INFO] [stdout] test languages::csharp::dialect::dialect_tests::local_function_is_a_function_unit ... ok [INFO] [stdout] test languages::csharp::dialect::dialect_tests::computes_csharp_metrics_with_method_and_lambda ... ok [INFO] [stdout] test languages::csharp::mod_rs_tests::metrics_skip_non_file_and_unreadable_nodes ... ok [INFO] [stdout] test languages::cpp::mod_rs_tests::metrics_skip_non_file_and_unreadable_nodes ... ok [INFO] [stdout] test config::config_tests::resolved_principles_inherit_catalog_and_resolve_doc_urls ... ok [INFO] [stdout] test languages::csharp::structure::structure_tests::is_test_path_matches_conventions ... ok [INFO] [stdout] test languages::csharp::structure::structure_tests::ignore_tests_drops_test_files ... ok [INFO] [stdout] test languages::cpp::dialect::dialect_tests::short_circuit_boolean_adds_cognitive ... ok [INFO] [stdout] test languages::cpp::dialect::dialect_tests::cognitive_counts_else_and_else_if ... ok [INFO] [stdout] test languages::cpp::mod_rs_tests::metrics_and_function_units_over_a_temp_project ... ok [INFO] [stdout] test languages::csharp::mod_rs_tests::detects_by_cs_source_presence ... ok [INFO] [stdout] test languages::csharp::structure::structure_tests::using_graph_resolves_internal_and_external ... ok [INFO] [stdout] test languages::csharp::mod_rs_tests::metrics_and_function_units_over_a_temp_project ... ok [INFO] [stdout] test languages::cpp::mod_rs_tests::detects_by_cpp_source_presence ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::typescript_trigger_set_documented_in_spec ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::analyze_builds_file_graph_with_imports_and_externals ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::ecmascript_is_test_path_matches_conventions ... ok [INFO] [stdout] test languages::cpp::dialect::dialect_tests::computes_cpp_metrics_with_method_and_lambda ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::ecmascript_toml_kinds_load ... ok [INFO] [stdout] test languages::ecmascript::mod_rs_tests::ecmascript_level_has_expected_structure ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::find_source_root_prefers_existing_src_dir ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::import_path_in_comment_or_string_is_not_an_edge ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::file_to_mod_path_strips_ext_and_collapses_index ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::compute_functions_empty_on_no_functions ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::js_dynamic_import_is_a_non_goal ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::external_package_extracts_top_level_and_scope ... ok [INFO] [stdout] test config::config_tests::string_table_reads_structure_node_kinds ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::resolve_import_external_package_is_skipped ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::skips_node_modules_and_ignored_test_files ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::normalize_path_resolves_dot_and_dotdot ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::compute_functions_covers_forms ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::test_convention_lists_load_from_config ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::uses_edge_kind_resolves_against_published_vocab ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::source_root_and_module_lists_load_from_config ... ok [INFO] [stdout] test config::config_tests::registry_aliases_are_unique_and_reserved_safe ... ok [INFO] [stdout] test config::config_tests::registry_extensions_are_unique_across_plugins ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::edges_scale_with_real_imports ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::resolve_index_and_parent_dir_imports ... ok [INFO] [stdout] test languages::go::mod_rs_tests::metrics_skip_non_file_and_unreadable_nodes ... ok [INFO] [stdout] test languages::go::mod_rs_tests::detects_by_go_mod ... ok [INFO] [stdout] test languages::go::mod_rs_tests::name_and_levels ... ok [INFO] [stdout] test languages::ecmascript::structure::structure_tests::js_static_import_forms_produce_edges ... ok [INFO] [stdout] test languages::go::structure::structure_tests::go_is_test_path_matches_conventions ... ok [INFO] [stdout] test languages::go::dialect::dialect_tests::function_units_are_collected ... ok [INFO] [stdout] test languages::go::dialect::dialect_tests::computes_go_file_metrics ... ok [INFO] [stdout] test languages::js::mod_rs_tests::analyze_builds_js_graph_with_imports_and_externals ... ok [INFO] [stdout] test languages::go::dialect::dialect_tests::cognitive_counts_else_and_closure ... ok [INFO] [stdout] test languages::js::mod_rs_tests::detect_requires_package_json ... ok [INFO] [stdout] test languages::js::mod_rs_tests::function_units_extracts_per_function_nodes ... ok [INFO] [stdout] test languages::js::mod_rs_tests::levels_returns_files_and_functions ... ok [INFO] [stdout] test languages::js::mod_rs_tests::metrics_skip_unreadable_and_unsupported_files ... ok [INFO] [stdout] test languages::js::mod_rs_tests::plugin_name_is_javascript ... ok [INFO] [stdout] test config::config_tests::units_carry_per_language_kind_id_strings ... ok [INFO] [stdout] test languages::go::structure::structure_tests::empty_import_path_is_ignored ... ok [INFO] [stdout] test languages::go::structure::structure_tests::internal_import_without_matching_package_yields_no_edge ... ok [INFO] [stdout] test languages::go::structure::structure_tests::ignore_tests_drops_test_files ... ok [INFO] [stdout] test languages::go::structure::structure_tests::no_go_mod_treats_all_imports_as_external ... ok [INFO] [stdout] test config::config_tests::string_list_reads_data_lists_verbatim ... ok [INFO] [stdout] test languages::md::mod_rs_tests::analyze_emits_file_nodes_with_loc ... ok [INFO] [stdout] test languages::md::structure::structure_tests::counts_headings_and_fenced_code_lines ... ok [INFO] [stdout] test languages::md::mod_rs_tests::detects_by_md_presence_and_has_no_principles ... ok [INFO] [stdout] test languages::md::structure::structure_tests::existing_non_md_link_is_local_ok_not_broken ... ok [INFO] [stdout] test languages::md::structure::structure_tests::link_graph_edges_local_md_only ... ok [INFO] [stdout] test languages::md::structure::structure_tests::non_md_and_subdir_links ... ok [INFO] [stdout] test languages::md::structure::structure_tests::non_utf8_markdown_file_is_skipped ... ok [INFO] [stdout] test languages::go::structure::structure_tests::builds_import_graph_internal_and_external ... ok [INFO] [stdout] test languages::go::mod_rs_tests::metrics_and_function_units_over_a_temp_project ... ok [INFO] [stdout] test languages::md::structure::structure_tests::scan_link_dests_extracts_one_line ... ok [INFO] [stdout] test languages::md::structure::structure_tests::scan_link_dests_stops_on_unterminated_link ... ok [INFO] [stdout] test languages::go::structure::structure_tests::go_mod_without_module_line_yields_external ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_trigger_set_documented_in_spec ... ok [INFO] [stdout] test languages::python::mod_rs_tests::metrics_and_function_units_skip_unreadable_files ... ok [INFO] [stdout] test languages::python::structure::structure_tests::absolute_base_resolves_relative_imports ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_toml_kinds_load ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::compute_functions_empty_on_no_functions ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::compute_functions_covers_function_and_method ... ok [INFO] [stdout] test languages::python::structure::structure_tests::py_is_test_path_matches_conventions ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::compute_functions_nested_def_is_a_function_not_method ... ok [INFO] [stdout] test languages::python::structure::structure_tests::py_visibility_str_classifies_by_underscore_convention ... ok [INFO] [stdout] test languages::python::structure::structure_tests::test_convention_lists_load_from_config ... ok [INFO] [stdout] test languages::rust::collapse::collapse_tests::build_crate_root_map_prefers_lib_rs_among_multiple_root_files ... ok [INFO] [stdout] test languages::rust::collapse::collapse_tests::build_crate_root_map_skips_a_dangling_edge_endpoint ... ok [INFO] [stdout] test languages::rust::collapse::collapse_tests::collapses_modules_externals_and_edges_to_file_level ... ok [INFO] [stdout] test languages::python::structure::structure_tests::file_to_module_path_maps_and_rejects ... ok [INFO] [stdout] test languages::rust::collapse::collapse_tests::inline_module_merges_and_reexport_keeps_visibility ... ok [INFO] [stdout] test languages::python::structure::structure_tests::uses_edge_kind_resolves_against_published_vocab ... ok [INFO] [stdout] test languages::rust::dialect::dialect_tests::compute_functions_covers_labeled_break_and_nested_fn ... ok [INFO] [stdout] test languages::rust::dialect::dialect_tests::compute_functions_empty_on_no_functions ... ok [INFO] [stdout] test languages::rust::internal::internal_tests::visibility_as_str_covers_all_variants ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::collapse_lets_the_file_backed_module_overwrite_structural_attrs ... ok [INFO] [stdout] test languages::python::structure::structure_tests::analyze_resolves_aliased_from_import_and_skips_root_init ... ok [INFO] [stdout] test languages::rust::collapse::collapse_tests::collapse_to_files_drops_edges_from_a_crate_with_no_known_root_file ... ok [INFO] [stdout] test languages::rust::dialect::dialect_tests::compute_functions_covers_fn_method_closure ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::function_units_extracts_fns_and_methods ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::js_function_and_arrow_classification_branches ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_cognitive_covers_nested_def_try_except_and_booleans ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::declaration_only_file_emits_no_complexity ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_branches_raise_cyclomatic ... ok [INFO] [stdout] test languages::js::mod_rs_tests::metrics_annotates_file_nodes ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_args_counted ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_loop_else_counts_as_a_branch ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::js_generator_function_counts_as_closure ... ok [INFO] [stdout] test languages::python::dialect::dialect_tests::python_complexity_fp_matrix ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::complexity_frozen_scale_anchors ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::keeps_non_test_cfg_and_similarly_named_items ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::metrics_and_function_units_skip_unreadable_files ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::metric_specs_override_adds_rust_cfg_test_note ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::tsx_file_metrics_computed ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::strip_cfg_test_passes_through_non_utf8 ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::strips_cfg_test_module_with_its_attribute ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::offline_metadata_error_explains_warm_cache ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::tloc_counts_the_whole_removed_test_region ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::strips_standalone_test_and_bench_fns ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::strips_cfg_all_test_combinations ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::unchanged_without_tests_or_on_parse_error ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::flattens_glob ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::dangling_reexport_source_falls_back_to_the_facade ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::flattens_group ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::flattens_simple_use ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::rust_trigger_set_documented_in_spec ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::rust_only_complexity_fp_matrix ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::complexity_absolute_anchors_hand_derived ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolve_use_path_empty_is_none ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolves_cross_crate_use_to_submodule_file ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::super_glob_only_marks_ancestor_namespace_pulls ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::collector_captures_qualified_derive_paths ... ok [INFO] [stdout] test languages::rust::module_graph::shared::shared_tests::same_named_lib_and_bin_get_distinct_ids ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::cyclomatic_counts_every_branch_form ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::follows_reexport_to_definer ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolve_use_path_simple_cases ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolves_cross_crate_reexport_to_definer ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolve_foreign_source_empty_double_super_and_unrecognized_root ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolves_cross_crate_reexport_keyword_sources ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::collector_captures_qualified_paths ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::collector_ignores_paths_in_strings_and_comments ... ok [INFO] [stdout] test languages::rust::module_graph::resolve::resolve_tests::resolve_use_path_handles_intra_crate_bare_path ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::unsafe_ignores_keyword_lookalikes ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::js_complexity_fp_matrix ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::is_test_item_covers_every_item_kind_and_attr_form ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::counts_unsafe_methods_in_impl_and_trait ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::facts_collector_gathers_all_kinds ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::detect_requires_tsconfig ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::analyze_builds_ts_graph_with_imports_and_externals ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::convert_visibility_maps_every_form ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::counts_unsafe_blocks_fns_impls_and_traits ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::no_unsafe_is_zero ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::resolve_submodule_path_tries_sibling_then_dir_module_then_gives_up ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::unsafe_in_production_is_counted_but_tests_are_excluded ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::import_path_in_comment_or_string_is_not_an_edge ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::metrics_skip_unreadable_and_unsupported_files ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::per_function_metrics_aggregate_over_child_functions ... ok [INFO] [stdout] test languages::ecmascript::dialect::dialect_tests::ts_complexity_fp_matrix ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::plugin_name_is_typescript ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::dynamic_import_and_import_equals_are_non_goals ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::levels_returns_files_and_functions ... ok [INFO] [stdout] test walk::walk_tests::dot_ignore_file_respected_when_enabled ... ok [INFO] [stdout] test walk::walk_tests::filters_by_extension_and_prunes_skip_dirs ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::tsx_file_is_analyzed ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::metrics_measures_ts_and_tsx_file_nodes ... ok [INFO] [stdout] test languages::rust::module_graph::walk::walk_tests::collector_scales_with_real_paths_not_text ... ok [INFO] [stdout] test walk::walk_tests::gitignore_respected_only_when_enabled ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::edges_scale_with_real_imports ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::function_units_extracts_per_function_nodes ... ok [INFO] [stdout] test walk::walk_tests::hidden_flag_toggles_dotfiles ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::rust_complexity_fn_per_metric ... ok [INFO] [stdout] test languages::ts::mod_rs_tests::ts_static_import_forms_produce_edges ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::rust_complexity_fp_matrix ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::generative_cyclomatic_counts_branches_not_noise ... ok [INFO] [stdout] test languages::rust::mod_rs_tests::generative_complexity_invariant_to_noise ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 204 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s [INFO] [stdout] [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/code_ranker_viewer-1d0be8a281f48f06) [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] Doc-tests code_ranker_graph [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] Doc-tests code_ranker_plugin_api [INFO] [stdout] [INFO] [stderr] Doc-tests code_ranker_plugins [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 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] Doc-tests code_ranker_viewer [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" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3", kill_on_drop: false }` [INFO] [stdout] 5eea073fe3a8ae72230170b23d51e2e67ca4cb723e95c5002fef0fa4c8d21cd3