[INFO] fetching crate ratchets 0.2.6...
[INFO] testing ratchets-0.2.6 against 1.95.0 for beta-1.96-2
[INFO] extracting crate ratchets 0.2.6 into /workspace/builds/worker-6-tc1/source
[INFO] started tweaking crates.io crate ratchets 0.2.6
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ratchets 0.2.6
[INFO] tweaked toml for crates.io crate ratchets 0.2.6 written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ratchets 0.2.6 on toolchain 1.95.0
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.95.0" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ratchets 0.2.6 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.95.0" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded toml_write v0.1.2
[INFO] [stderr]   Downloaded predicates-tree v1.0.12
[INFO] [stderr]   Downloaded anstyle-query v1.1.5
[INFO] [stderr]   Downloaded wasm-bindgen-shared v0.2.106
[INFO] [stderr]   Downloaded once_cell_polyfill v1.70.2
[INFO] [stderr]   Downloaded oorandom v11.1.5
[INFO] [stderr]   Downloaded anstyle v1.0.13
[INFO] [stderr]   Downloaded predicates v3.1.3
[INFO] [stderr]   Downloaded anstream v0.6.21
[INFO] [stderr]   Downloaded assert_cmd v2.1.2
[INFO] [stderr]   Downloaded clap_derive v4.5.49
[INFO] [stderr]   Downloaded js-sys v0.3.83
[INFO] [stderr]   Downloaded bumpalo v3.19.1
[INFO] [stderr]   Downloaded zerocopy-derive v0.8.33
[INFO] [stderr]   Downloaded wasm-bindgen-macro-support v0.2.106
[INFO] [stderr]   Downloaded scc v2.4.0
[INFO] [stderr]   Downloaded clap_builder v4.5.54
[INFO] [stderr]   Downloaded winnow v0.7.14
[INFO] [stderr]   Downloaded rayon v1.11.0
[INFO] [stderr]   Downloaded tree-sitter v0.22.6
[INFO] [stderr]   Downloaded tree-sitter-python v0.21.0
[INFO] [stderr]   Downloaded tree-sitter-javascript v0.21.4
[INFO] [stderr]   Downloaded wasm-bindgen v0.2.106
[INFO] [stderr]   Downloaded zerocopy v0.8.33
[INFO] [stderr]   Downloaded tree-sitter-rust v0.21.2
[INFO] [stderr]   Downloaded tempfile v3.24.0
[INFO] [stderr]   Downloaded clap v4.5.54
[INFO] [stderr]   Downloaded zmij v1.0.13
[INFO] [stderr]   Downloaded tree-sitter-go v0.21.2
[INFO] [stderr]   Downloaded cc v1.0.106
[INFO] [stderr]   Downloaded sdd v3.0.10
[INFO] [stderr]   Downloaded rustix v1.1.3
[INFO] [stderr]   Downloaded anstyle-wincon v3.0.11
[INFO] [stderr]   Downloaded is_terminal_polyfill v1.70.2
[INFO] [stderr]   Downloaded clap_lex v0.7.6
[INFO] [stderr]   Downloaded is-terminal v0.4.17
[INFO] [stderr]   Downloaded wasm-bindgen-macro v0.2.106
[INFO] [stderr]   Downloaded float-cmp v0.10.0
[INFO] [stderr]   Downloaded predicates-core v1.0.9
[INFO] [stderr]   Downloaded serial_test_derive v3.3.1
[INFO] [stderr]   Downloaded serial_test v3.3.1
[INFO] [stderr]   Downloaded web-sys v0.3.83
[INFO] [stderr]   Downloaded tree-sitter-typescript v0.21.2
[INFO] [stderr]   Downloaded libc v0.2.180
[INFO] [stderr]   Downloaded linux-raw-sys v0.11.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.95.0" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 413969d9dd626ae3613eaf688930072abc8f9f52224c8734feaee4e7e8a83dd3
[INFO] running `Command { std: "docker" "start" "-a" "413969d9dd626ae3613eaf688930072abc8f9f52224c8734feaee4e7e8a83dd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "413969d9dd626ae3613eaf688930072abc8f9f52224c8734feaee4e7e8a83dd3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "413969d9dd626ae3613eaf688930072abc8f9f52224c8734feaee4e7e8a83dd3", kill_on_drop: false }`
[INFO] [stdout] 413969d9dd626ae3613eaf688930072abc8f9f52224c8734feaee4e7e8a83dd3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.95.0" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 43281bd491ee3ed20fc85c00755e2c4de1dfc53ccfd48bb0f1c5e9e00432c8c6
[INFO] running `Command { std: "docker" "start" "-a" "43281bd491ee3ed20fc85c00755e2c4de1dfc53ccfd48bb0f1c5e9e00432c8c6", kill_on_drop: false }`
[INFO] [stderr]    Compiling cc v1.0.106
[INFO] [stderr]    Compiling memchr v2.7.6
[INFO] [stderr]    Compiling regex-syntax v0.8.8
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling anstyle-parse v0.2.7
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling zmij v1.0.13
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling clap_builder v4.5.54
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling tree-sitter v0.22.6
[INFO] [stderr]    Compiling tree-sitter-go v0.21.2
[INFO] [stderr]    Compiling tree-sitter-typescript v0.21.2
[INFO] [stderr]    Compiling tree-sitter-python v0.21.0
[INFO] [stderr]    Compiling tree-sitter-javascript v0.21.4
[INFO] [stderr]    Compiling tree-sitter-rust v0.21.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling itoa v1.0.17
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling clap v4.5.54
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ratchets v0.2.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "43281bd491ee3ed20fc85c00755e2c4de1dfc53ccfd48bb0f1c5e9e00432c8c6", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "43281bd491ee3ed20fc85c00755e2c4de1dfc53ccfd48bb0f1c5e9e00432c8c6", kill_on_drop: false }`
[INFO] [stdout] 43281bd491ee3ed20fc85c00755e2c4de1dfc53ccfd48bb0f1c5e9e00432c8c6
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.95.0" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 82f9796681f2ab14cb9e96f9822ed60ff0644eeddc7f5df2bdec45ed8b95ba9e
[INFO] running `Command { std: "docker" "start" "-a" "82f9796681f2ab14cb9e96f9822ed60ff0644eeddc7f5df2bdec45ed8b95ba9e", kill_on_drop: false }`
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling libc v0.2.180
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling zerocopy v0.8.33
[INFO] [stderr]    Compiling zerocopy-derive v0.8.33
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling slab v0.4.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling pin-project-lite v0.2.16
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling assert_cmd v2.1.2
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling sdd v3.0.10
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling scc v2.4.0
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling tree-sitter v0.22.6
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling tree-sitter-typescript v0.21.2
[INFO] [stderr]    Compiling tree-sitter-python v0.21.0
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling tree-sitter-rust v0.21.2
[INFO] [stderr]    Compiling tree-sitter-go v0.21.2
[INFO] [stderr]    Compiling tree-sitter-javascript v0.21.4
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling serial_test_derive v3.3.1
[INFO] [stderr]    Compiling fastrand v2.3.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling ratchets v0.2.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling serial_test v3.3.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 17s
[INFO] running `Command { std: "docker" "inspect" "82f9796681f2ab14cb9e96f9822ed60ff0644eeddc7f5df2bdec45ed8b95ba9e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "82f9796681f2ab14cb9e96f9822ed60ff0644eeddc7f5df2bdec45ed8b95ba9e", kill_on_drop: false }`
[INFO] [stdout] 82f9796681f2ab14cb9e96f9822ed60ff0644eeddc7f5df2bdec45ed8b95ba9e
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/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" "+1.95.0" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 0852e2e2695dfe980b8318768e036aba0420435f7afe4603f5e4a1d17ebd6a30
[INFO] running `Command { std: "docker" "start" "-a" "0852e2e2695dfe980b8318768e036aba0420435f7afe4603f5e4a1d17ebd6a30", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.23s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ratchets-f95ce17e69bd0ec8)
[INFO] [stdout] 
[INFO] [stdout] running 421 tests
[INFO] [stdout] test cli::args::tests::test_bump_all_conflicts_with_count ... ok
[INFO] [stdout] test cli::args::tests::test_bump_all_conflicts_with_region ... ok
[INFO] [stdout] test cli::args::tests::test_bump_all_with_rule_id ... ok
[INFO] [stdout] test cli::args::tests::test_bump_full ... ok
[INFO] [stdout] test cli::args::tests::test_bump_with_region ... ok
[INFO] [stdout] test cli::args::tests::test_check_short_format ... ok
[INFO] [stdout] test cli::args::tests::test_check_verbose_flag ... ok
[INFO] [stdout] test cli::args::tests::test_check_verbose_short_flag ... ok
[INFO] [stdout] test cli::args::tests::test_bump_all_flag ... ok
[INFO] [stdout] test cli::args::tests::test_bump_with_count ... ok
[INFO] [stdout] test cli::args::tests::test_global_color_flag ... ok
[INFO] [stdout] test cli::args::tests::test_bump_minimal ... ok
[INFO] [stdout] test cli::args::tests::test_help_contains_about ... ok
[INFO] [stdout] test cli::args::tests::test_init_default ... ok
[INFO] [stdout] test cli::args::tests::test_list_default ... ok
[INFO] [stdout] test cli::args::tests::test_invalid_format ... ok
[INFO] [stdout] test cli::args::tests::test_init_with_force ... ok
[INFO] [stdout] test cli::args::tests::test_invalid_color ... ok
[INFO] [stdout] test cli::args::tests::test_list_short_format ... ok
[INFO] [stdout] test cli::args::tests::test_check_with_paths ... ok
[INFO] [stdout] test cli::args::tests::test_color_flag_before_subcommand ... ok
[INFO] [stdout] test cli::args::tests::test_list_with_format ... ok
[INFO] [stdout] test cli::args::tests::test_merge_driver ... ok
[INFO] [stdout] test cli::args::tests::test_missing_required_args ... ok
[INFO] [stdout] test cli::args::tests::test_tighten_rule_and_region ... ok
[INFO] [stdout] test cli::args::tests::test_tighten_all ... ok
[INFO] [stdout] test cli::args::tests::test_check_default_args ... ok
[INFO] [stdout] test cli::args::tests::test_tighten_specific_rule ... ok
[INFO] [stdout] test cli::bump::tests::test_bump_error_display ... ok
[INFO] [stdout] test cli::args::tests::test_version_flag ... ok
[INFO] [stdout] test cli::args::tests::test_check_with_format ... ok
[INFO] [stdout] test cli::bump::tests::test_invalid_rule_id ... ok
[INFO] [stdout] test cli::bump::tests::test_region_path_normalization ... ok
[INFO] [stdout] test cli::args::tests::test_verify_cli ... ok
[INFO] [stdout] test cli::args::tests::test_tighten_with_region ... ok
[INFO] [stdout] test cli::bump::tests::test_valid_rule_id ... ok
[INFO] [stdout] test cli::check::tests::test_check_error_display ... ok
[INFO] [stdout] test cli::check::tests::test_exit_codes ... ok
[INFO] [stdout] test cli::common::tests::test_discover_files_with_empty_paths ... ok
[INFO] [stdout] test cli::init::tests::test_default_ratchet_toml_content ... ok
[INFO] [stdout] test cli::common::tests::test_load_config_missing_file ... ok
[INFO] [stdout] test cli::init::tests::test_default_counts_toml_content ... ok
[INFO] [stdout] test cli::init::tests::test_init_result_new ... ok
[INFO] [stdout] test cli::init::tests::test_init_creates_all_files ... ok
[INFO] [stdout] test cli::init::tests::test_init_creates_nested_directories ... ok
[INFO] [stdout] test cli::init::tests::test_init_error_when_path_is_file_not_directory ... ok
[INFO] [stdout] test cli::init::tests::test_init_is_idempotent ... ok
[INFO] [stdout] test cli::list::tests::test_build_rule_statuses_rule_with_no_violations ... ok
[INFO] [stdout] test cli::list::tests::test_build_rule_statuses_single_rule_over_budget ... ok
[INFO] [stdout] test cli::list::tests::test_build_rule_statuses_multiple_rules ... ok
[INFO] [stdout] test cli::list::tests::test_determine_rule_source ... ok
[INFO] [stdout] test cli::list::tests::test_build_rule_statuses_single_rule_within_budget ... ok
[INFO] [stdout] test cli::init::tests::test_path_to_string ... ok
[INFO] [stdout] test cli::list::tests::test_build_rule_statuses_empty ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_complex ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_minimum_wins ... ok
[INFO] [stdout] test cli::init::tests::test_init_overwrites_existing_files_with_force ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_only_in_ours ... ok
[INFO] [stdout] test cli::init::tests::test_init_skips_existing_files_without_force ... ok
[INFO] [stdout] test cli::init::tests::test_init_with_existing_directories ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_basic ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_counts_only_in_theirs ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_extract_all_counts ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_multiple_regions ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_multiple_rules ... ok
[INFO] [stdout] test cli::tighten::tests::test_tighten_error_display ... ok
[INFO] [stdout] test cli::tighten::tests::test_tighten_result_variants ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_invalid_toml ... ok
[INFO] [stdout] test cli::tighten::tests::test_invalid_rule_id ... ok
[INFO] [stdout] test cli::tighten::tests::test_valid_rule_id ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_default_trait ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_find_configured_region ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_find_configured_region_missing_rule ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_inheritance ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_missing_rule ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_consistency ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_specific ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_by_region_root ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_get_budget_missing_rule ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_is_configured_region_missing_rule ... ok
[INFO] [stdout] test cli::tighten::tests::test_exceeded_violation_construction ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_new ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_missing_files ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_empty_file ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_multiple_rules_same_regions ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_complex_example ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_count_negative ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_toml_syntax ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_count_non_integer ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_rule_id ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_invalid_rule_not_table ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_is_configured_region ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_new_rule_in_ours ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_zero_counts ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_windows_style_paths ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_set_count ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_set_count_creates_new_rule ... ok
[INFO] [stdout] test cli::merge_driver::tests::test_merge_driver_new_rule_in_theirs ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_only_root_counts ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_roundtrip ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_set_count_overwrites ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_empty ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_multiple_rules ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_simple ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_string_sorted_output ... ok
[INFO] [stdout] test config::counts::tests::test_find_configured_region_ancestor ... ok
[INFO] [stdout] test config::counts::tests::test_find_configured_region_exact_match ... ok
[INFO] [stdout] test config::counts::tests::test_find_configured_region_root_fallback ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_configured_regions_from_parsing ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_default_trait ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_inheritance ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_nested ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_root ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_by_region_specific ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_deeply_nested ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_default_zero ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_nested_inheritance ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_set_count_multiple_regions ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_root ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_to_toml_regions_sorted ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_sibling_regions ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_with_trailing_slash ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_is_configured_region ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_new ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_set_count ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_set_count_root ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_with_root_count ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_all_supported_languages ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_color_option_default ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_color_always ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_complex_rule_combinations ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_custom_rule_with_invalid_region_glob ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_large_counts ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_custom_rules_with_settings ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_simple ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_empty_include_patterns ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_glob_pattern_exclude ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_color_option ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_config_round_trip ... ok
[INFO] [stdout] test config::counts::tests::test_counts_manager_parse_multiple_rules ... ok
[INFO] [stdout] test config::counts::tests::test_region_tree_get_budget_specific_region ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_glob_pattern_include ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_output_format ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_language ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_severity ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_rule_region_glob ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_invalid_version ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_jsonl_output_format ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_minimal_config ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_missing_version ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_missing_languages_field ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_multiple_glob_patterns ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_multiple_languages ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_no_languages ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_patterns_section_empty ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_rule_with_only_regions ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_rule_disabled_explicitly ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_rule_with_only_severity ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_version_must_be_string ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_output_format_default ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_rule_with_severity_and_regions ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregation_result_derives ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_single_language ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_valid_config_parsing ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_patterns_section ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_empty_violations ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_missing_rule_defaults_to_zero ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_regions_same_rule ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_violations_same_rule_region_over_budget ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_violations_same_rule_region ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_multiple_rules_same_region ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_preserves_violation_details ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_single_violation_over_budget ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_sorted_output ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_single_violation_within_budget ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_zero_budget_strict_enforcement ... ok
[INFO] [stdout] test config::ratchet_toml::tests::test_patterns_section_invalid_glob ... ok
[INFO] [stdout] test engine::aggregator::tests::test_rule_region_status_derives ... ok
[INFO] [stdout] test engine::executor::tests::test_execute_empty_files ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_complex_scenario ... ok
[INFO] [stdout] test engine::executor::tests::test_execution_engine_creation ... ok
[INFO] [stdout] test engine::executor::tests::test_is_ast_rule_heuristic ... ok
[INFO] [stdout] test engine::executor::tests::test_execute_result_structure ... ok
[INFO] [stdout] test engine::aggregator::tests::test_aggregator_exact_budget_match ... ok
[INFO] [stdout] test engine::executor::tests::test_execute_single_file ... ok
[INFO] [stdout] test engine::executor::tests::test_parse_ast ... ok
[INFO] [stdout] test engine::executor::tests::test_rule_applies_to_file_no_language_restriction ... ok
[INFO] [stdout] test engine::file_walker::tests::test_build_globset_invalid ... ok
[INFO] [stdout] test engine::executor::tests::test_execute_unreadable_file ... ok
[INFO] [stdout] test engine::executor::tests::test_rule_applies_to_file_with_language ... ok
[INFO] [stdout] test engine::file_walker::tests::test_build_globset_valid ... ok
[INFO] [stdout] test engine::file_walker::tests::test_file_entry_with_language ... ok
[INFO] [stdout] test engine::executor::tests::test_execute_multiple_files ... ok
[INFO] [stdout] test engine::file_walker::tests::test_file_entry_new_with_detector ... ok
[INFO] [stdout] test engine::executor::tests::test_parallel_execution ... ok
[INFO] [stdout] test engine::executor::tests::test_mixed_rules_execution ... ok
[INFO] [stdout] test engine::file_walker::tests::test_file_walker_empty_patterns ... ok
[INFO] [stdout] test engine::file_walker::tests::test_file_walker_new ... ok
[INFO] [stdout] test engine::file_walker::tests::test_file_entry_equality ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_javascript ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_rust ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_no_extension ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_python ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_unknown ... ok
[INFO] [stdout] test engine::executor::tests::test_ast_rule_execution ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_go ... ok
[INFO] [stdout] test error::tests::test_config_error_display_missing_field ... ok
[INFO] [stdout] test error::tests::test_config_error_display_invalid_syntax ... ok
[INFO] [stdout] test error::tests::test_ratchet_error_display_parse ... ok
[INFO] [stdout] test error::tests::test_ratchet_error_display_rule ... ok
[INFO] [stdout] test error::tests::test_ratchet_error_display_config ... ok
[INFO] [stdout] test error::tests::test_ratchet_error_from_io_error ... ok
[INFO] [stdout] test error::tests::test_ratchet_error_from_config_error ... ok
[INFO] [stdout] test error::tests::test_ratchet_error_from_rule_error ... ok
[INFO] [stdout] test error::tests::test_rule_error_display_invalid_definition ... ok
[INFO] [stdout] test error::tests::test_rule_error_display_invalid_query ... ok
[INFO] [stdout] test error::tests::test_rule_error_display_invalid_regex ... ok
[INFO] [stdout] test error::tests::test_rule_error_display_not_found ... ok
[INFO] [stdout] test output::human::tests::test_format_color_choice_always ... ok
[INFO] [stdout] test output::human::tests::test_format_color_choice_auto ... ok
[INFO] [stdout] test output::human::tests::test_format_color_choice_never ... ok
[INFO] [stdout] test output::human::tests::test_format_empty_result ... ok
[INFO] [stdout] test output::human::tests::test_format_deterministic_output ... ok
[INFO] [stdout] test output::human::tests::test_format_empty_snippet ... ok
[INFO] [stdout] test output::human::tests::test_format_long_snippet ... ok
[INFO] [stdout] test output::human::tests::test_format_mixed_pass_fail ... ok
[INFO] [stdout] test output::human::tests::test_format_multiple_rules ... ok
[INFO] [stdout] test output::human::tests::test_format_multiple_rules_exceeded ... ok
[INFO] [stdout] test output::human::tests::test_format_multiple_violations_same_rule ... ok
[INFO] [stdout] test output::human::tests::test_format_non_verbose_hides_violations ... ok
[INFO] [stdout] test output::human::tests::test_format_non_verbose_shows_summary_only ... ok
[INFO] [stdout] test output::human::tests::test_format_single_violation_within_budget ... ok
[INFO] [stdout] test output::human::tests::test_format_violation_over_budget ... ok
[INFO] [stdout] test output::human::tests::test_format_with_leading_trailing_whitespace ... ok
[INFO] [stdout] test output::human::tests::test_format_with_special_characters_in_paths ... ok
[INFO] [stdout] test output::human::tests::test_format_with_special_characters_in_snippets ... ok
[INFO] [stdout] test output::human::tests::test_formatter_with_different_color_choices ... ok
[INFO] [stdout] no-unwrap [1 violation]
[INFO] [stdout] 
[INFO] [stdout]   src/main.rs:10:5
[INFO] [stdout]       .unwrap()
[INFO] [stdout] 
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-unwrap [src]: 1 violations (budget: 5)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test output::human::tests::test_write_to_stdout_no_errors ... ok
[INFO] [stdout] test output::jsonl::tests::test_default_implementation ... ok
[INFO] [stdout] test output::jsonl::tests::test_deterministic_output ... ok
[INFO] [stdout] test output::jsonl::tests::test_empty_and_whitespace_snippets ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_empty_result ... ok
[INFO] [stdout] test output::human::tests::test_format_region_status_no_violations ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_multiple_violations_sorted ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_non_verbose_hides_violation_records ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_non_verbose_preserves_summary_records ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_single_violation ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_violation_over_budget ... ok
[INFO] [stdout] test output::jsonl::tests::test_json_validity ... ok
[INFO] [stdout] test output::jsonl::tests::test_format_multiple_rules_and_regions ... ok
[INFO] [stdout] test output::jsonl::tests::test_long_snippet_json_encoding ... ok
[INFO] [stdout] test output::jsonl::tests::test_special_characters_in_messages ... ok
[INFO] [stdout] test output::jsonl::tests::test_special_characters_in_paths ... ok
[INFO] [stdout] test output::jsonl::tests::test_region_status_with_no_violations ... ok
[INFO] [stdout] test output::jsonl::tests::test_special_characters_in_snippets ... ok
[INFO] [stdout] test output::jsonl::tests::test_violation_sorting_by_line ... ok
[INFO] [stdout] test output::rule_status::tests::test_check_status_as_str ... ok
[INFO] [stdout] test output::rule_status::tests::test_custom_source ... ok
[INFO] [stdout] test output::rule_status::tests::test_human_formatter_default ... ok
[INFO] [stdout] test output::rule_status::tests::test_human_formatter_empty ... ok
[INFO] [stdout] test output::rule_status::tests::test_human_formatter_multiple_rules ... ok
[INFO] [stdout] test output::rule_status::tests::test_human_formatter_single_rule_over_budget ... ok
[INFO] [stdout] test output::rule_status::tests::test_human_formatter_single_rule_pass ... ok
[INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_default ... ok
[INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_empty ... ok
[INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_multiple_rules ... ok
[INFO] [stdout] test output::rule_status::tests::test_jsonl_formatter_single_rule ... ok
[INFO] [stdout] test output::rule_status::tests::test_jsonl_valid_json ... ok
[INFO] [stdout] test output::jsonl::tests::test_violation_sorting_by_file ... ok
[INFO] [stdout] test output::rule_status::tests::test_multiple_languages ... ok
[INFO] [stdout] test output::rule_status::tests::test_rule_source_as_str ... ok
[INFO] [stdout] test output::rule_status::tests::test_zero_violations ... ok
[INFO] [stdout] test error::tests::test_config_error_display_invalid_value ... ok
[INFO] [stdout] test engine::file_walker::tests::test_walk_with_include_filter ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_detect_typescript ... ok
[INFO] [stdout] test engine::file_walker::tests::test_language_detector_new ... ok
[INFO] [stdout] test engine::file_walker::tests::test_walk_basic ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_ast_rule_uses_configured_region ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_invalid_query ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_invalid_rule_id ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_missing_field ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_multiple_matches ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_respects_exclude ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_simple ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_simple_match ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_go_parser_loading ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_javascript_parser_loading ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_parser_cache_creation ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_parser_cache_default ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_parser_caching ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_python_parser_loading ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_respects_include ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_rust_parser_loading ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_with_tree_direct ... ok
[INFO] [stdout] test rules::ast::parser_cache::tests::test_typescript_parser_loading ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_from_toml_with_globs ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_execute_no_match ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_query_without_violation_capture ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_case_insensitive_pattern ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_compute_line_offsets ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_compute_line_offsets_empty ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_compute_line_offsets_single_line ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_backward_compatibility ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_execute_multiple_matches ... ok
[INFO] [stdout] test rules::ast::ast_rule::tests::test_violation_positions ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_execute_respects_exclude ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_execute_respects_include ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_execute_simple_match ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_from_toml_invalid_regex ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_execute_no_match ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_from_toml_missing_field ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_from_toml_simple ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_from_toml_with_globs ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_from_toml_with_languages ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_multiline_content ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_offset_to_line_col ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_mixed ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_not_found ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_no_context ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_regex_rule_uses_configured_region ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_pattern_reference_single ... ok
[INFO] [stdout] test rules::regex_rule::tests::test_from_toml_invalid_rule_id ... ok
[INFO] [stdout] test rules::registry::tests::test_complete_loading_sequence_no_duplicates ... ok
[INFO] [stdout] test rules::registry::tests::test_default_registry ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_config_custom_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_config_explicitly_disabled ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_config_explicitly_enabled ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_config_mixed_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_config_no_config ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_config_with_settings ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_languages_empty_languages ... ok
[INFO] [stdout] test rules::builtin::tests::test_load_builtin_regex_rules ... ok
[INFO] [stdout] test rules::builtin::tests::test_builtin_regex_rules_are_valid ... ok
[INFO] [stdout] test rules::builtin::tests::test_load_builtin_ast_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_already_single ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_empty_registry ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_keeps_target ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_to_single_rule_nonexistent ... ok
[INFO] [stdout] test rules::registry::tests::test_get_rule_existing ... ok
[INFO] [stdout] test rules::registry::tests::test_get_rule_nonexistent ... ok
[INFO] [stdout] test rules::registry::tests::test_is_rule_enabled ... ok
[INFO] [stdout] test rules::registry::tests::test_iter_rules_empty ... ok
[INFO] [stdout] test rules::registry::tests::test_iter_rules_multiple ... ok
[INFO] [stdout] test rules::registry::tests::test_len_and_is_empty ... ok
[INFO] [stdout] test rules::registry::tests::test_load_actual_builtin_ast_rules ... ignored
[INFO] [stdout] test rules::registry::tests::test_load_actual_builtin_rules ... ignored
[INFO] [stdout] test rules::registry::tests::test_load_ast_and_regex_rules_duplicate_id ... ok
[INFO] [stdout] test rules::registry::tests::test_load_ast_rule_duplicate_id ... ok
[INFO] [stdout] test rules::registry::tests::test_load_ast_rules_ignores_non_toml_files ... ok
[INFO] [stdout] test rules::registry::tests::test_load_ast_rules_invalid_query ... ok
[INFO] [stdout] test rules::registry::tests::test_load_both_builtin_and_custom ... ok
[INFO] [stdout] test rules::builtin::tests::test_builtin_ast_rules_are_valid ... ok
[INFO] [stdout] test rules::registry::tests::test_load_both_regex_and_ast_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_load_builtin_ast_rules_missing_dir ... ok
[INFO] [stdout] test rules::registry::tests::test_load_builtin_ast_rules_ignores_files_in_root ... ok
[INFO] [stdout] test rules::registry::tests::test_load_builtin_regex_rules_missing_dir ... ok
[INFO] [stdout] test rules::registry::tests::test_load_builtin_ast_rules_per_language ... ok
[INFO] [stdout] test rules::registry::tests::test_load_custom_ast_rules_missing_dir ... ok
[INFO] [stdout] test rules::registry::tests::test_load_custom_regex_rules_missing_dir ... ok
[INFO] [stdout] test rules::registry::tests::test_load_duplicate_rule_id ... ok
[INFO] [stdout] test rules::registry::tests::test_load_ignores_non_toml_files ... ok
[INFO] [stdout] test rules::registry::tests::test_load_ignores_subdirectories ... ok
[INFO] [stdout] test rules::registry::tests::test_load_multiple_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_load_single_ast_rule ... ok
[INFO] [stdout] test rules::registry::tests::test_load_single_rule ... ok
[INFO] [stdout] test rules::registry::tests::test_new_registry ... ok
[INFO] [stdout] test rules::registry::tests::test_no_duplicate_rule_ids_after_override ... ok
[INFO] [stdout] test rules::registry::tests::test_override_silently_replaces_existing_rules ... ok
[INFO] [stdout] test rules::rule::tests::test_execution_context_construction ... ok
[INFO] [stdout] test rules::rule::tests::test_execution_context_debug ... ok
[INFO] [stdout] test rules::rule::tests::test_execution_context_debug_with_resolver ... ok
[INFO] [stdout] test rules::rule::tests::test_execution_context_without_ast ... ok
[INFO] [stdout] test rules::rule::tests::test_resolve_region_resolver_receives_correct_args ... ok
[INFO] [stdout] test rules::rule::tests::test_resolve_region_root_file ... ok
[INFO] [stdout] test rules::rule::tests::test_resolve_region_with_resolver ... ok
[INFO] [stdout] test rules::rule::tests::test_resolve_region_without_resolver ... ok
[INFO] [stdout] test rules::rule::tests::test_rule_is_send_sync ... ok
[INFO] [stdout] test rules::rule::tests::test_rule_trait_implementation ... ok
[INFO] [stdout] test rules::rule::tests::test_violation_clone ... ok
[INFO] [stdout] test rules::rule::tests::test_violation_construction ... ok
[INFO] [stdout] test types::tests::test_glob_pattern_basic ... ok
[INFO] [stdout] test types::tests::test_glob_pattern_display ... ok
[INFO] [stdout] test types::tests::test_glob_pattern_from_str ... ok
[INFO] [stdout] test types::tests::test_glob_pattern_from_string ... ok
[INFO] [stdout] test types::tests::test_language_all ... ok
[INFO] [stdout] test types::tests::test_language_all_variants_exist ... ok
[INFO] [stdout] test types::tests::test_language_ignore_type_name ... ok
[INFO] [stdout] test types::tests::test_language_serde_deserialization ... ok
[INFO] [stdout] test types::tests::test_language_serde_serialization ... ok
[INFO] [stdout] test types::tests::test_region_path_as_str ... ok
[INFO] [stdout] test types::tests::test_region_path_display ... ok
[INFO] [stdout] test types::tests::test_region_path_into_string ... ok
[INFO] [stdout] test types::tests::test_region_path_normalization_backslashes ... ok
[INFO] [stdout] test types::tests::test_region_path_normalization_empty ... ok
[INFO] [stdout] test types::tests::test_region_path_normalization_leading_dot_slash ... ok
[INFO] [stdout] test types::tests::test_region_path_normalization_mixed ... ok
[INFO] [stdout] test types::tests::test_region_path_normalization_simple ... ok
[INFO] [stdout] test types::tests::test_region_path_normalization_trailing_slash ... ok
[INFO] [stdout] test types::tests::test_region_path_serde_deserialization ... ok
[INFO] [stdout] test types::tests::test_region_path_serde_serialization ... ok
[INFO] [stdout] test types::tests::test_region_path_try_from ... ok
[INFO] [stdout] test types::tests::test_rule_id_as_str ... ok
[INFO] [stdout] test types::tests::test_rule_id_display ... ok
[INFO] [stdout] test types::tests::test_rule_id_into_string ... ok
[INFO] [stdout] test types::tests::test_rule_id_serde_deserialization ... ok
[INFO] [stdout] test types::tests::test_rule_id_serde_serialization ... ok
[INFO] [stdout] test types::tests::test_rule_id_try_from ... ok
[INFO] [stdout] test types::tests::test_rule_id_validation_invalid ... ok
[INFO] [stdout] test types::tests::test_rule_id_validation_valid ... ok
[INFO] [stdout] test types::tests::test_severity_serde_deserialization ... ok
[INFO] [stdout] test types::tests::test_severity_serde_serialization ... ok
[INFO] [stdout] test rules::registry::tests::test_load_multiple_ast_rules ... ok
[INFO] [stdout] test types::tests::test_type_derives_clone ... ok
[INFO] [stdout] test types::tests::test_type_derives_partial_eq ... ok
[INFO] [stdout] test types::tests::test_type_derives_hash ... ok
[INFO] [stdout] test cli::common::tests::test_build_registry_with_minimal_config ... ok
[INFO] [stdout] test rules::registry::tests::test_build_from_config_respects_disabled_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_languages_keeps_language_agnostic_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_languages_keeps_multiple_languages ... ok
[INFO] [stdout] test rules::registry::tests::test_build_from_config_loads_embedded_rules ... ok
[INFO] [stdout] test rules::registry::tests::test_filter_by_languages_removes_non_matching_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 419 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out; finished in 5.36s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ratchets-2005fb2b4e9ad5d0)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/ast_integration_tests.rs (/opt/rustwide/target/debug/deps/ast_integration_tests-7636784aa5739740)
[INFO] [stdout] 
[INFO] [stdout] running 60 tests
[INFO] [stdout] test python_tests::test_no_bare_except_clean_code ... ok
[INFO] [stdout] test python_tests::test_no_bare_except_positions ... ok
[INFO] [stdout] test python_tests::test_no_bare_except_finds_violations ... ok
[INFO] [stdout] test python_tests::test_no_bare_except_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_bare_print_rule_loads ... ok
[INFO] [stdout] test position_verification_tests::test_zero_indexed_to_one_indexed_conversion ... ok
[INFO] [stdout] test position_verification_tests::test_column_numbers_are_positive ... ok
[INFO] [stdout] test position_verification_tests::test_exact_line_numbers ... ok
[INFO] [stdout] test position_verification_tests::test_multiline_violations ... ok
[INFO] [stdout] test python_tests::test_no_base_exception_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_broad_exception_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_bare_print_finds_violations ... ok
[INFO] [stdout] test python_tests::test_no_base_exception_detects_both_forms ... ok
[INFO] [stdout] test python_tests::test_no_base_exception_positions ... ok
[INFO] [stdout] test python_tests::test_no_eval_usage_finds_violations ... ok
[INFO] [stdout] test python_tests::test_no_broad_exception_detects_both_forms ... ok
[INFO] [stdout] test python_tests::test_no_eval_usage_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_global_keyword_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_exec_usage_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_global_keyword_finds_violations ... ok
[INFO] [stdout] test python_tests::test_no_bare_print_no_false_positives ... ok
[INFO] [stdout] test python_tests::test_no_while_true_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_while_true_no_false_positives ... ok
[INFO] [stdout] test python_tests::test_python_no_fixme_comments_rule_loads ... ok
[INFO] [stdout] test python_tests::test_no_while_true_finds_violations ... ok
[INFO] [stdout] test python_tests::test_python_no_fixme_comments_finds_violations ... ok
[INFO] [stdout] test python_tests::test_no_eval_usage_no_false_positives ... ok
[INFO] [stdout] test python_tests::test_python_no_todo_comments_rule_loads ... ok
[INFO] [stdout] test python_tests::test_python_no_fixme_comments_no_false_positives ... ok
[INFO] [stdout] test python_tests::test_no_exec_usage_finds_violations ... ok
[INFO] [stdout] test python_tests::test_python_no_todo_comments_no_false_positives ... ok
[INFO] [stdout] test python_tests::test_python_no_todo_comments_finds_violations ... ok
[INFO] [stdout] test rust_tests::test_no_panic_rule_loads ... ok
[INFO] [stdout] test rust_tests::test_no_expect_rule_loads ... ok
[INFO] [stdout] test rust_tests::test_no_panic_positions ... ok
[INFO] [stdout] test rust_tests::test_no_expect_positions ... ok
[INFO] [stdout] test rust_tests::test_no_expect_finds_violations ... ok
[INFO] [stdout] test rust_tests::test_no_unwrap_finds_violations ... ok
[INFO] [stdout] test rust_tests::test_rust_no_fixme_comments_finds_violations ... ok
[INFO] [stdout] test rust_tests::test_rust_no_fixme_comments_rule_loads ... ok
[INFO] [stdout] test rust_tests::test_no_unwrap_positions ... ok
[INFO] [stdout] test rust_tests::test_no_panic_finds_violations ... ok
[INFO] [stdout] test rust_tests::test_rust_no_todo_comments_rule_loads ... ok
[INFO] [stdout] test rust_tests::test_rust_no_fixme_comments_no_false_positives ... ok
[INFO] [stdout] test rust_tests::test_no_unwrap_clean_code ... ok
[INFO] [stdout] test rust_tests::test_no_unwrap_rule_loads ... ok
[INFO] [stdout] test rust_tests::test_rust_no_todo_comments_finds_violations ... ok
[INFO] [stdout] test rust_tests::test_rust_no_todo_comments_no_false_positives ... ok
[INFO] [stdout] test validation_tests::test_invalid_glob_pattern ... ok
[INFO] [stdout] test validation_tests::test_invalid_query_syntax ... ok
[INFO] [stdout] test validation_tests::test_invalid_rule_id ... ok
[INFO] [stdout] test validation_tests::test_invalid_toml_syntax ... ok
[INFO] [stdout] test validation_tests::test_missing_required_field ... ok
[INFO] [stdout] test typescript_tests::test_no_any_clean_code ... ok
[INFO] [stdout] test typescript_tests::test_no_any_rule_loads ... ok
[INFO] [stdout] test validation_tests::test_valid_query_without_violation_capture ... ok
[INFO] [stdout] test typescript_tests::test_no_any_finds_violations ... ok
[INFO] [stdout] test typescript_tests::test_no_any_snippet_extraction ... ok
[INFO] [stdout] test rust_tests::test_snippet_extraction ... ok
[INFO] [stdout] test typescript_tests::test_no_any_positions ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 60 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/check_command_tests.rs (/opt/rustwide/target/debug/deps/check_command_tests-5ad46b11e2a746ba)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_check_command_jsonl_format ... ok
[INFO] [stdout] no-todo-comments [1 violation]
[INFO] [stdout] 
[INFO] [stdout]   ./has_todo.rs:1:4
[INFO] [stdout]       TODO
[INFO] [stdout] 
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 10)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_check_verbose_flag ... ok
[INFO] [stdout] test test_check_verbose_with_jsonl_format ... ok
[INFO] [stdout] no-todo-comments [1 violation]
[INFO] [stdout] 
[INFO] [stdout]   ./has_todo.rs:1:4
[INFO] [stdout]       TODO
[INFO] [stdout] 
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 2)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_check_verbose_short_flag_behavior ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 2)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_check_command_within_budget ... ok
[INFO] [stdout] test test_check_command_missing_config ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 2 violations (budget: 10)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_check_non_verbose_hides_violations ... ok
[INFO] [stdout] test test_check_command_no_files ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 2 violations (budget: 1) exceeded by 1
[INFO] [stdout]   ✗ rust-no-todo-comments [.]: 2 violations (budget: 0) exceeded by 2
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 2 rules exceeded budget
[INFO] [stdout] test test_check_command_exceeded_budget ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 4.62s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_integration_tests.rs (/opt/rustwide/target/debug/deps/cli_integration_tests-730b4c3a0c965238)
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test test_bump_all_missing_config ... ok
[INFO] [stdout] test test_bump_all_with_existing_counts ... ok
[INFO] [stdout] test test_bump_all_with_unchanged_budgets ... ok
[INFO] [stdout] test test_bump_rejects_count_below_current ... ok
[INFO] [stdout] test test_bump_fails_for_unconfigured_region ... ok
[INFO] [stdout] test test_bump_invalid_rule_id ... ok
[INFO] [stdout] test test_bump_all_no_violations ... ok
[INFO] [stdout] test test_bump_all_with_empty_initial_counts ... ok
[INFO] [stdout] test test_bump_missing_config ... ok
[INFO] [stdout] test test_bump_all_with_no_rules_enabled ... ok
[INFO] [stdout] test test_bump_creates_counts_file_if_missing ... ok
[INFO] [stdout] test test_bump_succeeds_for_explicitly_configured_region ... ok
[INFO] [stdout] test test_bump_succeeds_for_root_region_even_when_not_explicitly_configured ... ok
[INFO] [stdout] test test_bump_with_auto_detect ... ok
[INFO] [stdout] test test_bump_with_custom_region ... ok
[INFO] [stdout] test test_bump_with_explicit_count ... ok
[INFO] [stdout] test test_exit_codes_are_correct ... ok
[INFO] [stdout] test test_check_jsonl_format_returns_success ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_check_returns_exceeded_when_over_budget ... ok
[INFO] [stdout] test test_init_with_force_overwrites_existing ... ok
[INFO] [stdout] test test_init_without_force_skips_existing ... ok
[INFO] [stdout] test test_list_human_format ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 5)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_check_returns_success_when_within_budget ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_check_with_empty_counts_file ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 3 violations (budget: 5)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_check_with_multiple_paths ... ok
[INFO] [stdout] test test_check_with_no_files_found ... ok
[INFO] [stdout] test test_init_creates_all_files ... ok
[INFO] [stdout] test test_merge_driver_missing_files ... ok
[INFO] [stdout] test test_init_is_idempotent ... ok
[INFO] [stdout] test test_check_returns_error_when_config_missing ... ok
[INFO] [stdout] test test_list_jsonl_format ... ok
[INFO] [stdout] test test_list_missing_config ... ok
[INFO] [stdout] test test_list_with_no_rules_enabled ... ok
[INFO] [stdout] test test_tighten_fails_when_violations_exceed_budget ... ok
[INFO] [stdout] test test_merge_driver_minimum_wins ... ok
[INFO] [stdout] test test_merge_driver_multiple_rules ... ok
[INFO] [stdout] test test_merge_driver_new_rule_in_ours ... ok
[INFO] [stdout] test test_merge_driver_multiple_regions ... ok
[INFO] [stdout] test test_merge_driver_new_rule_in_theirs ... ok
[INFO] [stdout] test test_tighten_does_not_create_new_regions ... ok
[INFO] [stdout] test test_merge_driver_invalid_toml ... ok
[INFO] [stdout] test test_tighten_specific_region ... ok
[INFO] [stdout] test test_tighten_missing_config ... ok
[INFO] [stdout] test test_tighten_no_changes_needed ... ok
[INFO] [stdout] test test_tighten_only_updates_configured_regions ... ok
[INFO] [stdout] test test_tighten_reduces_budget_to_current ... ok
[INFO] [stdout] test test_tighten_preserves_configured_regions_with_zero_violations ... ok
[INFO] [stdout] test test_tighten_invalid_rule_id ... ok
[INFO] [stdout] test test_tighten_specific_rule ... ok
[INFO] [stdout] test test_tighten_with_multiple_rules ... ok
[INFO] [stdout] test test_tighten_with_deeply_nested_unconfigured_directories ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 51 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 28.59s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]      Running tests/common.rs (/opt/rustwide/target/debug/deps/common-0495794c0f7cf0dc)
[INFO] [stdout] running 0 tests
[INFO] [stderr]      Running tests/config_tests.rs (/opt/rustwide/target/debug/deps/config_tests-cdeaf5fc8735dade)
[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 26 tests
[INFO] [stdout] test test_config_load_invalid_missing_version ... ok
[INFO] [stdout] test test_config_defaults_when_sections_omitted ... ok
[INFO] [stdout] test test_config_load_invalid_glob_exclude ... ok
[INFO] [stdout] test test_config_load_invalid_empty_languages ... ok
[INFO] [stdout] test test_config_load_invalid_rule_region_glob ... ok
[INFO] [stdout] test test_config_load_invalid_glob_include ... ok
[INFO] [stdout] test test_config_load_invalid_language_name ... ok
[INFO] [stdout] test test_config_load_invalid_missing_languages ... ok
[INFO] [stdout] test test_config_load_valid_output_color_always ... ok
[INFO] [stdout] test test_config_load_invalid_version ... ok
[INFO] [stdout] test test_counts_load_inheritance_root_to_child ... ok
[INFO] [stdout] test test_counts_load_inheritance_parent_to_nested_child ... ok
[INFO] [stdout] test test_config_load_valid_full ... ok
[INFO] [stdout] test test_config_load_nonexistent_file ... ok
[INFO] [stdout] test test_config_load_valid_minimal ... ok
[INFO] [stdout] test test_config_load_valid_output_jsonl ... ok
[INFO] [stdout] test test_counts_load_inheritance_most_specific_wins ... ok
[INFO] [stdout] test test_counts_load_invalid_bad_rule_id ... ok
[INFO] [stdout] test test_counts_load_nonexistent_file ... ok
[INFO] [stdout] test test_counts_unknown_rule_defaults_to_zero ... ok
[INFO] [stdout] test test_counts_region_path_normalization ... ok
[INFO] [stdout] test test_counts_load_invalid_negative ... ok
[INFO] [stdout] test test_counts_load_valid_multiple ... ok
[INFO] [stdout] test test_counts_load_invalid_non_integer ... ok
[INFO] [stdout] test test_counts_load_valid_empty ... ok
[INFO] [stdout] test test_counts_load_valid_simple ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 26 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_integration_tests.rs (/opt/rustwide/target/debug/deps/e2e_integration_tests-872bdf5f96c35840)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-fixme-comments [src/legacy]: 1 violations (budget: 1)
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 2)
[INFO] [stdout]   ✓ no-todo-comments [src/legacy]: 1 violations (budget: 1)
[INFO] [stdout]   ✓ no-unwrap [src/legacy]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-fixme-comments [src/legacy]: 1 violations (budget: 1)
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 1)
[INFO] [stdout]   ✓ no-todo-comments [src/legacy]: 1 violations (budget: 1)
[INFO] [stdout]   ✓ no-unwrap [src/legacy]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_e2e_complex_multi_rule_multi_region ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 2 violations (budget: 1) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_gitignore_respected ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_all_exit_codes ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 2 violations (budget: 2)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 2)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] test test_e2e_multiple_paths_check ... ok
[INFO] [stdout] test test_e2e_init_force_overwrites ... ok
[INFO] [stdout] test test_e2e_jsonl_output_format ... ok
[INFO] [stdout] test test_e2e_empty_project ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 6 violations (budget: 0) exceeded by 6
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 6 violations (budget: 100)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 5 violations (budget: 5)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 6 violations (budget: 5) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_full_workflow_init_add_check_tighten ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 1 violations (budget: 0) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 2 violations (budget: 1) exceeded by 1
[INFO] [stdout]   ✓ no-unwrap [.]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_mixed_regex_and_ast_rules ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [src]: 3 violations (budget: 10)
[INFO] [stdout]   ✓ no-todo-comments [src/legacy]: 2 violations (budget: 5)
[INFO] [stdout]   ✓ no-todo-comments [tests]: 1 violations (budget: 2)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [src]: 3 violations (budget: 10)
[INFO] [stdout]   ✗ no-todo-comments [src/legacy]: 2 violations (budget: 0) exceeded by 2
[INFO] [stdout]   ✓ no-todo-comments [tests]: 1 violations (budget: 2)
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_multi_file_project_with_regions ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 10 violations (budget: 10)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 5 violations (budget: 5)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✗ no-todo-comments [.]: 6 violations (budget: 5) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_gradual_cleanup_workflow ... ok
[INFO] [stdout] No violations found
[INFO] [stdout] test test_e2e_no_violations_found ... ok
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 3 violations (budget: 3)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 2 violations (budget: 10)
[INFO] [stdout]   ✓ no-todo-comments [src/core]: 1 violations (budget: 1)
[INFO] [stdout] 
[INFO] [stdout] Check PASSED
[INFO] [stdout] Summary:
[INFO] [stdout] 
[INFO] [stdout]   ✓ no-todo-comments [.]: 2 violations (budget: 10)
[INFO] [stdout]   ✗ no-todo-comments [src/core]: 2 violations (budget: 1) exceeded by 1
[INFO] [stdout] 
[INFO] [stdout] Check FAILED: 1 rule exceeded budget
[INFO] [stdout] test test_e2e_region_inheritance ... ok
[INFO] [stdout] No violations found
[INFO] [stdout] test test_e2e_rule_disabled_in_config ... ok
[INFO] [stdout] test test_e2e_tighten_with_violations_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 18.44s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/engine_integration_tests.rs (/opt/rustwide/target/debug/deps/engine_integration_tests-f9bdc205d5051443)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test test_empty_file_set ... ok
[INFO] [stdout] test test_budget_enforcement_pass ... ok
[INFO] [stdout] test test_budget_enforcement_fail ... ok
[INFO] [stdout] test test_aggregation_groups_by_rule_and_region ... ok
[INFO] [stdout] test test_file_without_matching_rules ... ok
[INFO] [stdout] test test_multiple_rules_multiple_files ... ok
[INFO] [stdout] test test_files_with_no_violations ... ok
[INFO] [stdout] test test_no_rules_loaded ... ok
[INFO] [stdout] test test_region_specific_budgets ... ok
[INFO] [stdout] test test_single_rule_single_file_over_budget ... ok
[INFO] [stdout] test test_parallel_execution_no_race_conditions ... ok
[INFO] [stdout] test test_single_rule_single_file_within_budget ... ok
[INFO] [stdout] test test_region_inheritance_chain ... ok
[INFO] [stdout] test test_parallel_execution_deterministic ... ok
[INFO] [stdout] test test_ast_and_regex_rules_together ... ok
[INFO] [stdout] test test_ast_caching_single_file ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.50s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/file_walker_tests.rs (/opt/rustwide/target/debug/deps/file_walker_tests-76c50df681dd7e5a)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test test_invalid_glob_pattern ... ok
[INFO] [stdout] test test_multiple_include_patterns ... ok
[INFO] [stdout] test test_multiple_exclude_patterns ... ok
[INFO] [stdout] test test_walk_combined_patterns ... ok
[INFO] [stdout] test test_walk_basic_directory ... ok
[INFO] [stdout] test test_symlink_handling ... ok
[INFO] [stdout] test test_language_detection_edge_cases ... ok
[INFO] [stdout] test test_walk_include_pattern ... ok
[INFO] [stdout] test test_walk_multi_language ... ok
[INFO] [stdout] test test_walk_nested_directories ... ok
[INFO] [stdout] test test_walk_empty_directory ... ok
[INFO] [stdout] test test_walk_exclude_pattern ... ok
[INFO] [stdout] test test_walk_nonexistent_path ... ok
[INFO] [stdout] test test_walk_with_gitignore ... ok
[INFO] [stderr]      Running tests/foundation_tests.rs (/opt/rustwide/target/debug/deps/foundation_tests-172bd266c22607a5)
[INFO] [stdout] test test_walk_respects_file_types_only ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 15 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 23 tests
[INFO] [stdout] test test_error_hierarchy_config_to_ratchet ... ok
[INFO] [stdout] test test_error_hierarchy_rule_to_ratchet ... ok
[INFO] [stdout] test test_config_error_variants_display ... ok
[INFO] [stdout] test test_glob_pattern_creation_and_display ... ok
[INFO] [stdout] test test_error_hierarchy_io_to_ratchet ... ok
[INFO] [stdout] test test_glob_pattern_in_collections ... ok
[INFO] [stdout] test test_language_in_collections ... ok
[INFO] [stdout] test test_language_roundtrip_serialization ... ok
[INFO] [stdout] test test_parse_error_contains_file_path ... ok
[INFO] [stdout] test test_region_path_in_collections ... ok
[INFO] [stdout] test test_region_path_normalization_comprehensive ... ok
[INFO] [stdout] test test_region_path_roundtrip_serialization ... ok
[INFO] [stdout] test test_all_types_are_cloneable_and_hashable ... ok
[INFO] [stdout] test test_region_path_serde_normalizes_on_deserialization ... ok
[INFO] [stdout] test test_rule_error_variants_display ... ok
[INFO] [stdout] test test_rule_id_in_collections ... ok
[INFO] [stdout] test test_rule_id_roundtrip_serialization ... ok
[INFO] [stdout] test test_rule_id_serde_deserialization_invalid ... ok
[INFO] [stdout] test test_rule_id_validation_comprehensive ... ok
[INFO] [stdout] test test_severity_lowercase_serialization ... ok
[INFO] [stdout] test test_language_lowercase_serialization ... ok
[INFO] [stdout] test test_severity_roundtrip_serialization ... ok
[INFO] [stdout] test test_types_work_together ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 23 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/regex_rules_tests.rs (/opt/rustwide/target/debug/deps/regex_rules_tests-95c9631b1ca21b0e)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test test_empty_file ... ok
[INFO] [stdout] test test_fixme_rule_finds_fixmes ... ok
[INFO] [stdout] test test_case_insensitive_matching ... ok
[INFO] [stdout] test test_no_violations_returns_empty ... ok
[INFO] [stdout] test test_multiple_violations_same_file ... ok
[INFO] [stdout] test test_multiline_content ... ok
[INFO] [stdout] test test_only_whitespace ... ok
[INFO] [stdout] test test_position_accuracy ... ok
[INFO] [stdout] test test_position_accuracy_first_line ... ok
[INFO] [stdout] test test_end_line_and_column ... ok
[INFO] [stdout] test test_snippet_extraction_accuracy ... ok
[INFO] [stdout] test test_todo_rule_finds_todos ... ok
[INFO] [stdout] test test_rule_severity ... ok
[INFO] [stdout] test test_rule_languages ... ok
[INFO] [stdout] test test_violation_file_path ... ok
[INFO] [stdout] test test_word_boundary_matching ... ok
[INFO] [stdout] test test_registry_with_builtin_rules ... ok
[INFO] [stdout] test test_multiple_rules_same_content ... ok
[INFO] [stdout] test test_registry_execute_all_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/scalability_tests.rs (/opt/rustwide/target/debug/deps/scalability_tests-d6d441db9869260e)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test test_scalability_1000_files ... ok
[INFO] [stdout] test test_scalability_execution_with_ast_rules ... ok
[INFO] [stdout] test test_parser_cache_effectiveness ... ok
[INFO] [stdout] test test_mixed_file_sizes ... ok
[INFO] [stdout] test test_large_files ... ok
[INFO] [stdout] test test_parallel_execution_benefit ... ok
[INFO] [stdout] test test_memory_efficiency ... ok
[INFO] [stdout] test test_scalability_execution_with_regex_rules ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.87s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests ratchets
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test src/rules/registry.rs - rules::registry::RuleRegistry::filter_to_single_rule (line 588) ... ignored
[INFO] [stdout] test src/config/counts.rs - config::counts::CountsManager::get_budget_by_region (line 340) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] all doctests ran in 1.34s; merged doctests compilation took 1.31s
[INFO] running `Command { std: "docker" "inspect" "0852e2e2695dfe980b8318768e036aba0420435f7afe4603f5e4a1d17ebd6a30", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0852e2e2695dfe980b8318768e036aba0420435f7afe4603f5e4a1d17ebd6a30", kill_on_drop: false }`
[INFO] [stdout] 0852e2e2695dfe980b8318768e036aba0420435f7afe4603f5e4a1d17ebd6a30
