[INFO] fetching crate bito-core 1.0.0... [INFO] testing bito-core-1.0.0 against beta-2026-04-21 for beta-1.96-1 [INFO] extracting crate bito-core 1.0.0 into /workspace/builds/worker-0-tc2/source [INFO] started tweaking crates.io crate bito-core 1.0.0 [INFO] finished tweaking crates.io crate bito-core 1.0.0 [INFO] tweaked toml for crates.io crate bito-core 1.0.0 written to /workspace/builds/worker-0-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate bito-core 1.0.0 on toolchain beta-2026-04-21 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate bito-core 1.0.0 already has a lockfile, it will not be regenerated [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] bb8f370a4405cf7f8637ac436db164005252d30a96bcc15fce590218fc8d0855 [INFO] running `Command { std: "docker" "start" "-a" "bb8f370a4405cf7f8637ac436db164005252d30a96bcc15fce590218fc8d0855", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "bb8f370a4405cf7f8637ac436db164005252d30a96bcc15fce590218fc8d0855", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "bb8f370a4405cf7f8637ac436db164005252d30a96bcc15fce590218fc8d0855", kill_on_drop: false }` [INFO] [stdout] bb8f370a4405cf7f8637ac436db164005252d30a96bcc15fce590218fc8d0855 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 85e7b2fc596e339910d8a3fb7cc000fd91025d60a32b9957bcea0e6db09a1b54 [INFO] running `Command { std: "docker" "start" "-a" "85e7b2fc596e339910d8a3fb7cc000fd91025d60a32b9957bcea0e6db09a1b54", kill_on_drop: false }` [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling aneubeck-daachorse v1.1.1 [INFO] [stderr] Compiling either v1.15.0 [INFO] [stderr] Compiling simd-adler32 v0.3.8 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling unicode-width v0.2.2 [INFO] [stderr] Compiling pulldown-cmark v0.13.0 [INFO] [stderr] Compiling unicode-normalization v0.1.25 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Compiling camino v1.2.2 [INFO] [stderr] Compiling num-conv v0.2.0 [INFO] [stderr] Compiling pulldown-cmark-escape v0.11.0 [INFO] [stderr] Compiling miniz_oxide v0.8.9 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling getopts v0.2.24 [INFO] [stderr] Compiling anyhow v1.0.101 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling dirs-sys v0.5.0 [INFO] [stderr] Compiling crossbeam-channel v0.5.15 [INFO] [stderr] Compiling bstr v1.12.1 [INFO] [stderr] Compiling directories v6.0.0 [INFO] [stderr] Compiling flate2 v1.1.9 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling pear_codegen v0.2.9 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling globset v0.4.18 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling pear v0.2.9 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling tracing-subscriber v0.3.22 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing-appender v0.2.4 [INFO] [stderr] Compiling rmp-serde v1.3.1 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling serde_yaml v0.9.34+deprecated [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling bpe v0.2.1 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling bpe-openai v0.3.0 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling ah-ah-ah v0.1.0 [INFO] [stderr] Compiling bito-core v1.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 19s [INFO] running `Command { std: "docker" "inspect" "85e7b2fc596e339910d8a3fb7cc000fd91025d60a32b9957bcea0e6db09a1b54", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "85e7b2fc596e339910d8a3fb7cc000fd91025d60a32b9957bcea0e6db09a1b54", kill_on_drop: false }` [INFO] [stdout] 85e7b2fc596e339910d8a3fb7cc000fd91025d60a32b9957bcea0e6db09a1b54 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] d9b53bb05f6a4c5ce80441fad11fde4cf8f8774471c6432f2e761f3eefa7981c [INFO] running `Command { std: "docker" "start" "-a" "d9b53bb05f6a4c5ce80441fad11fde4cf8f8774471c6432f2e761f3eefa7981c", kill_on_drop: false }` [INFO] [stderr] Compiling pulldown-cmark v0.13.0 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling ah-ah-ah v0.1.0 [INFO] [stderr] Compiling bito-core v1.0.0 (/opt/rustwide/workdir) [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 16.78s [INFO] running `Command { std: "docker" "inspect" "d9b53bb05f6a4c5ce80441fad11fde4cf8f8774471c6432f2e761f3eefa7981c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "d9b53bb05f6a4c5ce80441fad11fde4cf8f8774471c6432f2e761f3eefa7981c", kill_on_drop: false }` [INFO] [stdout] d9b53bb05f6a4c5ce80441fad11fde4cf8f8774471c6432f2e761f3eefa7981c [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] 1f3b9b34a934b8c4e2968143b29cbcad0c3007edf9be393bbe85a96fc2f43f98 [INFO] running `Command { std: "docker" "start" "-a" "1f3b9b34a934b8c4e2968143b29cbcad0c3007edf9be393bbe85a96fc2f43f98", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.27s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bito_core-594aa90ebe2e66f7) [INFO] [stdout] [INFO] [stdout] running 198 tests [INFO] [stdout] test analysis::cliches::tests::case_insensitive ... ok [INFO] [stdout] test analysis::cliches::tests::counts_repeated_cliche ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::empty_input ... ok [INFO] [stdout] test analysis::cliches::tests::detects_single_cliche ... ok [INFO] [stdout] test analysis::cliches::tests::detects_multiple_cliches ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::complex_paragraph_flagged ... ok [INFO] [stdout] test analysis::consistency::tests::case_insensitive ... ok [INFO] [stdout] test analysis::consistency::tests::detects_both_issue_types ... ok [INFO] [stdout] test analysis::consistency::tests::detects_hyphenation_inconsistency ... ok [INFO] [stdout] test analysis::consistency::tests::detects_us_uk_mixing ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_au_follows_gb ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_ca_flags_color ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_ca_flags_organise ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_us_flags_uk_spelling ... ok [INFO] [stdout] test analysis::consistency::tests::word_boundary_matches_standalone_words ... ok [INFO] [stdout] test analysis::consistency::tests::word_present_basic ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::mixed_paragraphs ... ok [INFO] [stdout] test analysis::echoes::tests::detects_close_repetition ... ok [INFO] [stdout] test analysis::echoes::tests::multiple_paragraphs ... ok [INFO] [stdout] test analysis::echoes::tests::no_echoes_in_varied_text ... ok [INFO] [stdout] test analysis::cliches::tests::no_cliches ... ok [INFO] [stdout] test analysis::pacing::tests::all_fast ... ok [INFO] [stdout] test analysis::pacing::tests::all_slow ... ok [INFO] [stdout] test analysis::pacing::tests::empty_input ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_ca_hybrid_behavior ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_en_gb_flags_us_spelling ... ok [INFO] [stdout] test analysis::consistency::tests::dialect_mode_detects_mixing_too ... ok [INFO] [stdout] test analysis::pacing::tests::mixed_pacing ... ok [INFO] [stdout] test analysis::repeated::tests::empty_input ... ok [INFO] [stdout] test analysis::repeated::tests::detects_repeated_bigram ... ok [INFO] [stdout] test analysis::repeated::tests::sorted_by_count_descending ... ok [INFO] [stdout] test analysis::repeated::tests::detects_trigram ... ok [INFO] [stdout] test analysis::tests::empty_input_errors ... ok [INFO] [stdout] test analysis::sensory::tests::detects_multiple_senses ... ok [INFO] [stdout] test analysis::sensory::tests::sense_percentage_within_sensory ... ok [INFO] [stdout] test analysis::sensory::tests::detects_sight_words ... ok [INFO] [stdout] test analysis::echoes::tests::sorted_by_distance ... ok [INFO] [stdout] test analysis::tests::full_analysis_with_dialect ... ok [INFO] [stdout] test analysis::consistency::tests::word_boundary_prevents_false_positives ... ok [INFO] [stdout] test analysis::repeated::tests::no_repetition ... ok [INFO] [stdout] test analysis::tests::mixed_known_unknown_checks_returns_error ... ok [INFO] [stdout] test analysis::sensory::tests::no_sensory_words ... ok [INFO] [stdout] test analysis::sensory::tests::percentage_calculation ... ok [INFO] [stdout] test analysis::consistency::tests::no_dialect_backward_compat ... ok [INFO] [stdout] test completeness::tests::adr_template_sections ... ok [INFO] [stdout] test completeness::tests::available_templates_includes_custom ... ok [INFO] [stdout] test analysis::consistency::tests::no_issues_consistent_text ... ok [INFO] [stdout] test completeness::tests::custom_template_works ... ok [INFO] [stdout] test completeness::tests::complete_handoff_passes ... ok [INFO] [stdout] test completeness::tests::custom_template_overrides_builtin ... ok [INFO] [stdout] test completeness::tests::complete_adr_passes ... ok [INFO] [stdout] test analysis::sensory::tests::empty_input ... ok [INFO] [stdout] test analysis::repeated::tests::single_word ... ok [INFO] [stdout] test completeness::tests::missing_section_detected ... ok [INFO] [stdout] test analysis::tests::unknown_check_returns_error ... ok [INFO] [stdout] test config::tests::custom_entries_default_to_none ... ok [INFO] [stdout] test config::tests::disable_input_limit_defaults_to_false ... ok [INFO] [stdout] test completeness::tests::unknown_template_errors ... ok [INFO] [stdout] test completeness::tests::empty_section_detected ... ok [INFO] [stdout] test config::tests::custom_entries_deserialize_from_yaml ... ok [INFO] [stdout] test config::tests::empty_config_still_works_with_rules_field ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_empty_errors ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_inline ... ok [INFO] [stdout] test config::tests::bito_and_bito_lint_merge ... ok [INFO] [stdout] test config::tests::bito_lint_overrides_bito_config ... ok [INFO] [stdout] test config::tests::rules_default_to_none ... ok [INFO] [stdout] test config::tests::bito_config_discovered ... ok [INFO] [stdout] test config::tests::dotfile_before_regular_same_app_name ... ok [INFO] [stdout] test config::tests::rules_deserialize_from_yaml ... ok [INFO] [stdout] test config::tests::bito_yaml_discovered ... ok [INFO] [stdout] test config::tests::disable_input_limit_overrides_max_bytes ... ok [INFO] [stdout] test config::tests::only_closest_directory_contributes ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_file ... ok [INFO] [stdout] test config::tests::test_boundary_marker_stops_search ... ok [INFO] [stdout] test config::tests::resolve_custom_entry_file_wins_over_inline ... ok [INFO] [stdout] test config::tests::test_default_config ... ok [INFO] [stdout] test config::tests::test_dialect_as_str ... ok [INFO] [stdout] test analysis::complex_paragraphs::tests::simple_paragraph_not_flagged ... ok [INFO] [stdout] test analysis::tests::selective_checks ... ok [INFO] [stdout] test config::tests::test_dialect_default_is_none ... ok [INFO] [stdout] test config::tests::test_loader_builds_with_defaults ... ok [INFO] [stdout] test config::tests::test_dialect_deserialization_all_variants ... ok [INFO] [stdout] test config::tests::test_dialect_deserialization_toml ... ok [INFO] [stdout] test config::tests::test_env_var_overrides_file_config ... ok [INFO] [stdout] test config::tests::test_later_file_overrides_earlier ... ok [INFO] [stdout] test config::tests::test_env_var_override_dialect ... ok [INFO] [stdout] test dictionaries::abbreviations::tests::common_abbreviations ... ok [INFO] [stdout] test dictionaries::abbreviations::tests::ends_with_abbreviation_works ... ok [INFO] [stdout] test dictionaries::irregular_verbs::tests::adjective_exceptions ... ok [INFO] [stdout] test dictionaries::abbreviations::tests::not_abbreviations ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::dictionary_lookup ... ok [INFO] [stdout] test dictionaries::irregular_verbs::tests::linking_verbs ... ok [INFO] [stdout] test dictionaries::irregular_verbs::tests::irregular_participles ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::count_uses_dict_then_fallback ... ok [INFO] [stdout] test config::tests::test_load_or_error_succeeds_with_explicit_file ... ok [INFO] [stdout] test config::tests::test_explicit_file_overrides_project_config ... ok [INFO] [stdout] test config::tests::test_load_or_error_fails_when_no_config ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::edge_cases ... ok [INFO] [stdout] test dictionaries::syllable_dict::tests::syllable_estimation ... ok [INFO] [stdout] test config::tests::test_single_file_overrides_default ... ok [INFO] [stdout] test config::tests::test_user_config_dir ... ok [INFO] [stdout] test directives::tests::no_directives_returns_empty ... ok [INFO] [stdout] test config::tests::test_project_config_discovery ... ok [INFO] [stdout] test grammar::passive_voice::tests::detects_multiple_passive ... ok [INFO] [stdout] test grammar::passive_voice::tests::detects_simple_passive ... ok [INFO] [stdout] test grammar::passive_voice::tests::empty_text_returns_empty ... ok [INFO] [stdout] test directives::tests::disable_next_line ... ok [INFO] [stdout] test grammar::passive_voice::tests::skips_adjective_exceptions ... ok [INFO] [stdout] test grammar::tests::empty_input_errors ... ok [INFO] [stdout] test directives::tests::unrelated_check_not_affected ... ok [INFO] [stdout] test directives::tests::unclosed_disable_is_file_level ... ok [INFO] [stdout] test directives::tests::disable_enable_block ... ok [INFO] [stdout] test directives::tests::multiple_regions_for_same_check ... ok [INFO] [stdout] test directives::tests::multiple_checks_comma_separated ... ok [INFO] [stdout] test analysis::echoes::tests::empty_paragraphs ... ok [INFO] [stdout] test lint::tests::analyze_checks_and_exclude_conflict_errors ... ok [INFO] [stdout] test grammar::passive_voice::tests::percentage_calculation ... ok [INFO] [stdout] test lint::tests::completeness_missing_sections_fails ... ok [INFO] [stdout] test grammar::tests::markdown_stripping ... ok [INFO] [stdout] test grammar::tests::over_max_passive ... ok [INFO] [stdout] test grammar::tests::full_grammar_report ... ok [INFO] [stdout] test grammar::checker::tests::clean_sentence_no_issues ... ok [INFO] [stdout] test grammar::checker::tests::detects_missing_punctuation ... ok [INFO] [stdout] test grammar::checker::tests::detects_double_negative ... ok [INFO] [stdout] test grammar::checker::tests::detects_subject_verb_agreement ... ok [INFO] [stdout] test grammar::checker::tests::detects_double_space ... ok [INFO] [stdout] test lint::tests::disable_next_line_filters_single_finding ... ok [INFO] [stdout] test lint::tests::analyze_check_runs ... ok [INFO] [stdout] test analysis::tests::valid_checks_accepted ... ok [INFO] [stdout] test lint::tests::config_defaults_cascade_to_analyze ... ok [INFO] [stdout] test analysis::tests::markdown_stripping_works ... ok [INFO] [stdout] test analysis::tests::full_analysis_runs ... ok [INFO] [stdout] test lint::tests::empty_resolved_checks_produces_empty_report ... ok [INFO] [stdout] test markdown::tests::empty_input_returns_empty ... ok [INFO] [stdout] test markdown::tests::strip_removes_code_blocks ... ok [INFO] [stdout] test markdown::tests::strip_removes_emphasis_markers ... ok [INFO] [stdout] test markdown::tests::strip_preserves_link_text ... ok [INFO] [stdout] test markdown::tests::strip_preserves_blockquote_text ... ok [INFO] [stdout] test markdown::tests::strip_removes_tables ... ok [INFO] [stdout] test lint::tests::rule_settings_override_config ... ok [INFO] [stdout] test markdown::tests::strip_removes_headings ... ok [INFO] [stdout] test observability::tests::env_filter_quiet_overrides ... ok [INFO] [stdout] test lint::tests::suppression_does_not_affect_unsuppressed_findings ... ok [INFO] [stdout] test markdown::tests::extract_headings_finds_all_levels ... ok [INFO] [stdout] test markdown::tests::strip_removes_inline_code ... ok [INFO] [stdout] test markdown::tests::strip_removes_frontmatter ... ok [INFO] [stdout] test observability::tests::log_target_from_dir_appends_file_name ... ok [INFO] [stdout] test observability::tests::format_timestamp_produces_valid_rfc3339 ... ok [INFO] [stdout] test observability::tests::log_target_from_path_uses_parent_dir ... ok [INFO] [stdout] test readability::tests::empty_input_errors ... ok [INFO] [stdout] test observability::tests::resolve_log_target_with_falls_back_to_dir_override ... ok [INFO] [stdout] test observability::tests::resolve_log_target_with_prefers_path_override ... ok [INFO] [stdout] test readability::tests::over_max_grade ... ok [INFO] [stdout] test observability::tests::resolve_log_target_with_uses_config_dir ... ok [INFO] [stdout] test markdown::tests::extract_headings_skips_frontmatter ... ok [INFO] [stdout] test readability::tests::dictionary_backed_syllables ... ok [INFO] [stdout] test lint::tests::file_level_suppression_skips_check ... ok [INFO] [stdout] test readability::tests::basic_readability ... ok [INFO] [stdout] test readability::tests::markdown_stripping ... ok [INFO] [stdout] test text::tests::basic_sentences ... ok [INFO] [stdout] test text::tests::decimal_numbers_not_split ... ok [INFO] [stdout] test text::tests::empty_input ... ok [INFO] [stdout] test text::tests::empty_text_empty_maps ... ok [INFO] [stdout] test text::tests::extract_words_basic ... ok [INFO] [stdout] test text::tests::paragraph_line_map_basic ... ok [INFO] [stdout] test text::tests::paragraph_line_map_multiline_paragraphs ... ok [INFO] [stdout] test rules::tests::equal_specificity_earlier_rule_wins ... ok [INFO] [stdout] test text::tests::question_and_exclamation ... ok [INFO] [stdout] test rules::tests::invalid_glob_skipped_gracefully ... ok [INFO] [stdout] test rules::tests::accumulates_different_checks_from_multiple_rules ... ok [INFO] [stdout] test rules::tests::no_rules_returns_empty ... ok [INFO] [stdout] test text::tests::split_paragraphs_basic ... ok [INFO] [stdout] test tokens::tests::backend_default_is_claude ... ok [INFO] [stdout] test text::tests::abbreviations_not_split ... ok [INFO] [stdout] test rules::tests::specificity_counts_literal_segments ... ok [INFO] [stdout] test text::tests::sentence_line_map_multiple_sentences_one_line ... ok [INFO] [stdout] test rules::tests::no_match_returns_empty ... ok [INFO] [stdout] test text::tests::sentence_line_map_with_blank_lines ... ok [INFO] [stdout] test text::tests::sentence_line_map_basic ... ok [INFO] [stdout] test lint::tests::region_suppression_filters_grammar_findings ... ok [INFO] [stdout] test tokens::tests::backend_serde_roundtrip ... ok [INFO] [stdout] test tokens::tests::backend_display_and_as_str ... ok [INFO] [stdout] test rules::tests::multiple_paths_in_single_rule ... ok [INFO] [stdout] test rules::tests::single_match_returns_checks ... ok [INFO] [stdout] test observability::tests::env_filter_verbose_maps_to_debug_and_trace ... ok [INFO] [stdout] test observability::tests::days_to_ymd_known_dates ... ok [INFO] [stdout] test rules::tests::specific_rule_overrides_general_for_same_check ... ok [INFO] [stdout] test tokens::tests::within_budget ... ok [INFO] [stdout] test lint::tests::suppression_does_not_affect_other_checks ... ok [INFO] [stdout] test tokens::tests::mixed_table_and_prose ... ok [INFO] [stdout] test tokens::tests::table_aware_counting ... ok [INFO] [stdout] test tokens::tests::detects_over_budget ... ok [INFO] [stdout] test tokens::tests::claude_backend_counts_tokens ... ok [INFO] [stdout] test lint::tests::tokens_over_budget_fails ... ok [INFO] [stdout] test tokens::tests::empty_text_returns_zero ... ok [INFO] [stdout] test tokens::tests::openai_backend_counts_tokens ... ok [INFO] [stdout] test tokens::tests::claude_overcounts_vs_openai ... ok [INFO] [stdout] test tokens::tests::claude_overcounts_vs_openai_with_tables ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 198 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.88s [INFO] [stdout] [INFO] [stderr] Doc-tests bito_core [INFO] [stdout] [INFO] [stdout] running 2 tests [INFO] [stdout] test src/config.rs - config (line 28) - compile ... ok [INFO] [stdout] test src/lib.rs - (line 19) - compile ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s [INFO] [stdout] [INFO] [stdout] all doctests ran in 0.98s; merged doctests compilation took 0.89s [INFO] running `Command { std: "docker" "inspect" "1f3b9b34a934b8c4e2968143b29cbcad0c3007edf9be393bbe85a96fc2f43f98", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "1f3b9b34a934b8c4e2968143b29cbcad0c3007edf9be393bbe85a96fc2f43f98", kill_on_drop: false }` [INFO] [stdout] 1f3b9b34a934b8c4e2968143b29cbcad0c3007edf9be393bbe85a96fc2f43f98