[INFO] fetching crate kardo-core 0.5.0...
[INFO] testing kardo-core-0.5.0 against try#0abe69e6c16114311cc2700e972492e64d69c28f for pr-154065
[INFO] extracting crate kardo-core 0.5.0 into /workspace/builds/worker-7-tc2/source
[INFO] started tweaking crates.io crate kardo-core 0.5.0
[INFO] removed 0 missing examples
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate kardo-core 0.5.0
[INFO] tweaked toml for crates.io crate kardo-core 0.5.0 written to /workspace/builds/worker-7-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate kardo-core 0.5.0 on toolchain 0abe69e6c16114311cc2700e972492e64d69c28f
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate kardo-core 0.5.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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+0abe69e6c16114311cc2700e972492e64d69c28f" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9f600b4f087a48472e23608fcd17a2596af4675b7949e4de3d452216133a9816
[INFO] running `Command { std: "docker" "start" "-a" "9f600b4f087a48472e23608fcd17a2596af4675b7949e4de3d452216133a9816", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9f600b4f087a48472e23608fcd17a2596af4675b7949e4de3d452216133a9816", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9f600b4f087a48472e23608fcd17a2596af4675b7949e4de3d452216133a9816", kill_on_drop: false }`
[INFO] [stdout] 9f600b4f087a48472e23608fcd17a2596af4675b7949e4de3d452216133a9816
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 4a433007bbe02120ee63145fbe194f94baa78b75f445e71ef1159d1df05fad73
[INFO] running `Command { std: "docker" "start" "-a" "4a433007bbe02120ee63145fbe194f94baa78b75f445e71ef1159d1df05fad73", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling unicode-width v0.2.0
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling anstream v0.6.21
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling notify-types v1.0.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.11.0
[INFO] [stderr]    Compiling jiff v0.2.23
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling inotify-sys v0.1.5
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling inotify v0.10.2
[INFO] [stderr]    Compiling filetime v0.2.27
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling hostname v0.4.2
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling notify v7.0.0
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libz-sys v1.1.24
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libgit2-sys v0.17.0+1.8.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling globset v0.4.18
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling git2 v0.19.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling kardo-core v0.5.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 08s
[INFO] running `Command { std: "docker" "inspect" "4a433007bbe02120ee63145fbe194f94baa78b75f445e71ef1159d1df05fad73", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a433007bbe02120ee63145fbe194f94baa78b75f445e71ef1159d1df05fad73", kill_on_drop: false }`
[INFO] [stdout] 4a433007bbe02120ee63145fbe194f94baa78b75f445e71ef1159d1df05fad73
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] b4ba2b6d14a488d0ca3e564e5a88186e83bf971411a09491cae67cc48080e574
[INFO] running `Command { std: "docker" "start" "-a" "b4ba2b6d14a488d0ca3e564e5a88186e83bf971411a09491cae67cc48080e574", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling zerocopy-derive v0.8.40
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling clap_lex v1.0.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling ignore v0.4.25
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling pulldown-cmark v0.12.2
[INFO] [stderr]    Compiling git2 v0.19.0
[INFO] [stderr]    Compiling clap_builder v4.5.60
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling zerocopy v0.8.40
[INFO] [stderr]    Compiling clap v4.5.60
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling tempfile v3.26.0
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling kardo-core v0.5.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: fields `owner` and `repo` are never read
[INFO] [stdout]   --> tests/calibration_test.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 25 | struct BenchmarkRepo {
[INFO] [stdout]    |        ------------- fields in this struct
[INFO] [stdout] 26 |     slug: String,
[INFO] [stdout] 27 |     owner: String,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 28 |     repo: String,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `BenchmarkRepo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `stars` is never read
[INFO] [stdout]   --> tests/calibration_test.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct ScoredRepo {
[INFO] [stdout]    |        ---------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 61 |     stars: Option<u64>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ScoredRepo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 47.36s
[INFO] running `Command { std: "docker" "inspect" "b4ba2b6d14a488d0ca3e564e5a88186e83bf971411a09491cae67cc48080e574", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "b4ba2b6d14a488d0ca3e564e5a88186e83bf971411a09491cae67cc48080e574", kill_on_drop: false }`
[INFO] [stdout] b4ba2b6d14a488d0ca3e564e5a88186e83bf971411a09491cae67cc48080e574
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-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" "+0abe69e6c16114311cc2700e972492e64d69c28f" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 9d949c6e6e088e9408b94f80650f7064079692553dca0525da913d79a76c1b7e
[INFO] running `Command { std: "docker" "start" "-a" "9d949c6e6e088e9408b94f80650f7064079692553dca0525da913d79a76c1b7e", kill_on_drop: false }`
[INFO] [stderr] warning: fields `owner` and `repo` are never read
[INFO] [stderr]   --> tests/calibration_test.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 25 | struct BenchmarkRepo {
[INFO] [stderr]    |        ------------- fields in this struct
[INFO] [stderr] 26 |     slug: String,
[INFO] [stderr] 27 |     owner: String,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 28 |     repo: String,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `BenchmarkRepo` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: field `stars` is never read
[INFO] [stderr]   --> tests/calibration_test.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 58 | struct ScoredRepo {
[INFO] [stderr]    |        ---------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 61 |     stars: Option<u64>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ScoredRepo` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `kardo-core` (test "calibration_test") generated 2 warnings
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.50s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/kardo_core-1a4cddcde5493b30)
[INFO] [stdout] 
[INFO] [stdout] running 450 tests
[INFO] [stdout] test analysis::agent_setup::tests::test_cursorrules_partial_when_claude_md_exists ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_empty_project_zero_score ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_agents_md_standalone_detected ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_windsurfrules_detected ... ok
[INFO] [stdout] test analysis::agents_md::tests::test_empty_agents_md ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_clinerules_detected ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_cursorrules_exists ... ok
[INFO] [stdout] test analysis::agents_md::tests::test_minimal_agents_md ... ok
[INFO] [stdout] test analysis::agents_md::tests::test_no_agents_md ... ok
[INFO] [stdout] test analysis::agents_md::tests::test_high_quality_agents_md ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_no_ai_configs ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_windsurf_detected ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_aider_detected ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_copilot_detected ... ok
[INFO] [stdout] test analysis::config_llm::tests::test_llm_assessor_prompt_format ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_agents_resolution_no_agents_file ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_agents_resolution_preserves_real_content ... ok
[INFO] [stdout] test analysis::config_llm::tests::test_llm_assessor_response_parsing ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_agents_resolution_replaces_short_reference ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_cursor_mdc_detected ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_aggregate_score_average ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_full_ai_setup_high_score ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_multi_tool ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_project_with_no_ai_config_only_readme ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_mcp_example_only ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_empty_claude_md_does_not_inflate_existence_score ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_is_meaningful_content_trivial ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_empty_content_skipped ... ok
[INFO] [stdout] test analysis::ai_configs::tests::test_mdc_frontmatter_bonus ... ok
[INFO] [stdout] test analysis::config_llm::tests::test_llm_assessor_fallback_none ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_specificity_generic_low_score ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_existence_scoring ... ok
[INFO] [stdout] test analysis::integrity::tests::test_all_valid_links ... ok
[INFO] [stdout] test analysis::consistency::tests::test_tabs_vs_spaces_contradiction ... ok
[INFO] [stdout] test analysis::consistency::tests::test_no_contradiction ... ok
[INFO] [stdout] test analysis::consistency::tests::test_penalty_cap ... ok
[INFO] [stdout] test analysis::consistency::tests::test_single_file_no_penalty ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_specificity_specific_high_score ... ok
[INFO] [stdout] test analysis::integrity::tests::test_at_reference_valid ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_stale_config ... ok
[INFO] [stdout] test analysis::integrity::tests::test_claude_dir_reference_validation ... ok
[INFO] [stdout] test analysis::integrity::tests::test_broken_file_link ... ok
[INFO] [stdout] test analysis::integrity::tests::test_external_links_skipped ... ok
[INFO] [stdout] test analysis::integrity::tests::test_broken_heading_link ... ok
[INFO] [stdout] test analysis::integrity::tests::test_mixed_valid_and_broken ... ok
[INFO] [stdout] test analysis::integrity::tests::test_no_links ... ok
[INFO] [stdout] test analysis::integrity::tests::test_valid_heading_link ... ok
[INFO] [stdout] test analysis::staleness::tests::test_coupling_penalty ... ok
[INFO] [stdout] test analysis::staleness::tests::test_empty_files ... ok
[INFO] [stdout] test analysis::staleness::tests::test_fresh_files ... ok
[INFO] [stdout] test analysis::staleness::tests::test_mixed_freshness ... ok
[INFO] [stdout] test analysis::staleness::tests::test_very_old_files ... ok
[INFO] [stdout] test analysis::staleness::tests::test_week_old_files ... ok
[INFO] [stdout] test analysis::structure::tests::test_consistent_naming ... ok
[INFO] [stdout] test analysis::structure::tests::test_empty_project ... ok
[INFO] [stdout] test analysis::staleness::tests::test_claude_md_staleness_weighted_higher ... ok
[INFO] [stdout] test analysis::staleness::tests::test_importance_weight_values ... ok
[INFO] [stdout] test analysis::structure::tests::test_flat_project ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_specificity_generic_penalty ... ok
[INFO] [stdout] test analysis::structure::tests::test_no_markdown_low_coverage ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_specificity_path_density ... ok
[INFO] [stdout] test analysis::structure::tests::test_mixed_naming_low_score ... ok
[INFO] [stdout] test analysis::integrity::tests::test_at_reference_broken ... ok
[INFO] [stdout] test analysis::staleness::tests::test_month_old_files ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_mcp_config_with_servers ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_is_meaningful_content_real ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_no_config_files ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_minimal_claude_md ... ok
[INFO] [stdout] test analysis::agent_setup::tests::test_project_with_claude_md_and_dir ... ok
[INFO] [stdout] test analysis::structure::tests::test_dumping_ground_low_organization ... ok
[INFO] [stdout] test analysis::config_quality::tests::test_rich_claude_md ... ok
[INFO] [stdout] test analysis::structure::tests::test_well_structured_project ... ok
[INFO] [stdout] test anonymize::tests::test_no_sensitive_data ... ok
[INFO] [stdout] test config::tests::test_custom_rules_config_overrides ... ok
[INFO] [stdout] test config::tests::test_custom_rules_defaults ... ok
[INFO] [stdout] test config::tests::test_discover_stops_at_git ... ok
[INFO] [stdout] test config::tests::test_discover_walks_up ... ok
[INFO] [stdout] test config::tests::test_full_config_with_custom_rules ... ok
[INFO] [stdout] test config::tests::test_parse_empty_config ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_env_var_assignment ... ok
[INFO] [stdout] test anonymize::tests::test_empty_string ... ok
[INFO] [stdout] test config::tests::test_parse_full_config ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_email_standalone ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_absolute_file_paths ... ok
[INFO] [stdout] test anonymize::tests::test_multiple_paths_increment_counter ... ok
[INFO] [stdout] test config::tests::test_parse_partial_config ... ok
[INFO] [stdout] test config::tests::test_template_is_valid_toml ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_git_author ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_url_with_token ... ok
[INFO] [stdout] test config::tests::test_rules_template_content ... ok
[INFO] [stdout] test anonymize::tests::test_same_email_reuses_placeholder ... ok
[INFO] [stdout] test anonymize::tests::test_roundtrip_deanonymize ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_github_token ... ok
[INFO] [stdout] test db::tests::test_app_settings ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_openai_api_key ... ok
[INFO] [stdout] test db::tests::test_app_db_creates_tables ... ok
[INFO] [stdout] test anonymize::tests::test_custom_patterns ... ok
[INFO] [stdout] test db::tests::test_add_and_list_recent_projects ... ok
[INFO] [stdout] test db::tests::test_app_migrations_idempotent ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_aws_key ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_relative_file_paths ... ok
[INFO] [stdout] test anonymize::tests::test_anonymize_jsdoc_author ... ok
[INFO] [stdout] test db::tests::test_baseline_crud ... ok
[INFO] [stdout] test db::tests::test_llm_cache ... ok
[INFO] [stdout] test db::tests::test_bump_baseline ... ok
[INFO] [stdout] test db::tests::test_clear_fts_index ... ok
[INFO] [stdout] test db::tests::test_first_scan_none_delta ... ok
[INFO] [stdout] test db::tests::test_baselines_table_created ... ok
[INFO] [stdout] test db::tests::test_delta_computation ... ok
[INFO] [stdout] test db::tests::test_get_nonexistent_file ... ok
[INFO] [stdout] test db::tests::test_save_recent_project_with_score ... ok
[INFO] [stdout] test db::tests::test_index_and_search_file ... ok
[INFO] [stdout] test embeddings::storage::tests::test_cosine_similarity_different_lengths ... ok
[INFO] [stdout] test embeddings::storage::tests::test_cosine_similarity_identical ... ok
[INFO] [stdout] test db::tests::test_pragmas_applied ... ok
[INFO] [stdout] test embeddings::storage::tests::test_cosine_similarity_empty ... ok
[INFO] [stdout] test embeddings::storage::tests::test_cosine_similarity_opposite ... ok
[INFO] [stdout] test embeddings::storage::tests::test_cosine_similarity_real_vectors ... ok
[INFO] [stdout] test embeddings::storage::tests::test_embedding_blob_size ... ok
[INFO] [stdout] test embeddings::storage::tests::test_embedding_blob_roundtrip ... ok
[INFO] [stdout] test db::tests::test_insert_and_get_scan_history ... ok
[INFO] [stdout] test embeddings::storage::tests::test_cosine_similarity_orthogonal ... ok
[INFO] [stdout] test db::tests::test_insert_quality_issues_linked_to_scan ... ok
[INFO] [stdout] test db::tests::test_project_config ... ok
[INFO] [stdout] test db::tests::test_insert_and_get_file ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_multiple_chunks_per_file ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_open_and_count ... ok
[INFO] [stdout] test db::tests::test_list_files ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_clear ... ok
[INFO] [stdout] test db::tests::test_regression_detection ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_search_ranking ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_search_limit ... ok
[INFO] [stdout] test db::tests::test_project_db_creates_tables ... ok
[INFO] [stdout] test db::tests::test_project_migrations_idempotent ... ok
[INFO] [stdout] test db::tests::test_search_empty_query ... ok
[INFO] [stdout] test db::tests::test_scan_history_v2_fields ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_store_and_retrieve ... ok
[INFO] [stdout] test db::tests::test_search_no_results ... ok
[INFO] [stdout] test db::tests::test_upsert_file_insert_and_update ... ok
[INFO] [stdout] test embeddings::tests::test_chunk_markdown_by_headings ... ok
[INFO] [stdout] test embeddings::tests::test_chunk_markdown_filters_short ... ok
[INFO] [stdout] test embeddings::tests::test_embed_request_format_single ... ok
[INFO] [stdout] test embeddings::tests::test_embed_request_format_batch ... ok
[INFO] [stdout] test embeddings::tests::test_embed_response_parsing ... ok
[INFO] [stdout] test embeddings::tests::test_tags_response_parsing ... ok
[INFO] [stdout] test fix::tests::test_dry_run ... ok
[INFO] [stdout] test embeddings::tests::test_chunk_markdown_no_headings ... ok
[INFO] [stdout] test fix::tests::test_skip_existing ... ok
[INFO] [stdout] test fix::tests::test_scaffold_claude_md ... ok
[INFO] [stdout] test fix::tests::test_scaffold_readme ... ok
[INFO] [stdout] test embeddings::tests::test_chunk_markdown_long_section ... ok
[INFO] [stdout] test llm::deep::tests::test_build_deep_prompt_includes_file_contents ... ok
[INFO] [stdout] test llm::deep::tests::test_build_deep_prompt_includes_issues ... ok
[INFO] [stdout] test llm::deep::tests::test_build_deep_prompt_truncates_long_content ... ok
[INFO] [stdout] test llm::deep::tests::test_deep_analysis_serialization ... ok
[INFO] [stdout] test llm::deep::tests::test_extract_json_basic ... ok
[INFO] [stdout] test llm::deep::tests::test_extract_json_no_json ... ok
[INFO] [stdout] test llm::deep::tests::test_extract_json_with_markdown ... ok
[INFO] [stdout] test llm::deep::tests::test_parse_deep_response_invalid ... ok
[INFO] [stdout] test llm::deep::tests::test_parse_deep_response_valid ... ok
[INFO] [stdout] test llm::deep::tests::test_priority_action_serialization ... ok
[INFO] [stdout] test llm::deep::tests::test_rule_based_fallback_caps_improvement ... ok
[INFO] [stdout] test llm::deep::tests::test_rule_based_fallback_no_issues ... ok
[INFO] [stdout] test llm::deep::tests::test_rule_based_fallback_only_medium_issues ... ok
[INFO] [stdout] test llm::deep::tests::test_rule_based_fallback_with_high_issues ... ok
[INFO] [stdout] test llm::engine::tests::test_ai_first_idea_non_timestamp_not_affected ... ok
[INFO] [stdout] test llm::engine::tests::test_ai_first_idea_timestamp_file_is_customer_interview ... ok
[INFO] [stdout] test llm::engine::tests::test_calibration_dataset_classified_as_technical_config ... ok
[INFO] [stdout] test llm::engine::tests::test_docs_mvp_prd_classified_as_product_prd ... ok
[INFO] [stdout] test llm::engine::tests::test_docs_product_strategy_classified_as_product_brief ... ok
[INFO] [stdout] test llm::engine::tests::test_docs_requirements_system_classified_as_product_prd ... ok
[INFO] [stdout] test llm::engine::tests::test_docs_ui_decisions_classified_as_design_ui_specs ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_upsert ... ok
[INFO] [stdout] test llm::engine::tests::test_extract_json ... ok
[INFO] [stdout] test embeddings::tests::test_chunk_markdown_empty ... ok
[INFO] [stdout] test llm::engine::tests::test_fallback_unknown_file ... ok
[INFO] [stdout] test llm::engine::tests::test_kardo_build_notes_classified_as_technical ... ok
[INFO] [stdout] test llm::engine::tests::test_engine_high_confidence_skips_llm ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_ai_first_idea_root ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_agents_competitive_no_prefix_collision ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_ai_first_idea_articles ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_ai_first_idea_research ... ok
[INFO] [stdout] test llm::engine::tests::test_engine_low_confidence_returns_rule_when_no_llm ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_agents_no_prefix_collision ... ok
[INFO] [stdout] test embeddings::storage::tests::test_search_empty_store ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_analysis ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_catch_all_low_confidence ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_components_registry ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_research_competitors ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_docs_catch_all_low_confidence ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_memory ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_discovery ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_plans ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_claude_research ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_docs_plans ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_github_without_workflow ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_habr_plan_articles ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_habr_plan_root ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_invalid_category ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_confidence_clamping ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_json_with_surrounding_text ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_no_json ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_invalid_subcategory ... ok
[INFO] [stdout] test embeddings::storage::tests::test_vector_store_delete_file ... ok
[INFO] [stdout] test llm::engine::tests::test_path_contains_word_rejects_substring ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_unknown_with_low_confidence ... ok
[INFO] [stdout] test llm::engine::tests::test_path_contains_word_boundaries ... ok
[INFO] [stdout] test llm::engine::tests::test_parse_llm_valid_json ... ok
[INFO] [stdout] test llm::engine::tests::test_path_rules_sorted_by_prefix_length ... ok
[INFO] [stdout] test llm::engine::tests::test_research_classification_architecture_refined_to_technical ... ok
[INFO] [stdout] test llm::engine::tests::test_path_contains_word_basic ... ok
[INFO] [stdout] test llm::engine::tests::test_research_competitive_analysis_date_prefix ... ok
[INFO] [stdout] test llm::engine::tests::test_research_architecture_blueprint_refined_to_technical ... ok
[INFO] [stdout] test llm::engine::tests::test_lpm_habr_plan_pipeline_research ... ok
[INFO] [stdout] test llm::engine::tests::test_research_competitors_dir_still_correct ... ok
[INFO] [stdout] test llm::engine::tests::test_research_competitors_word_refined_to_competitive_analysis ... ok
[INFO] [stdout] test llm::engine::tests::test_research_custdev_interview_classified_correctly ... ok
[INFO] [stdout] test llm::engine::tests::test_research_cycle_competitive_moat ... ok
[INFO] [stdout] test llm::engine::tests::test_research_implementation_plan_refined_to_product_roadmap ... ok
[INFO] [stdout] test llm::engine::tests::test_research_competitive_positioning_date_prefix ... ok
[INFO] [stdout] test llm::engine::tests::test_research_customer_voice_refined_to_user_research ... ok
[INFO] [stdout] test llm::engine::tests::test_research_implementation_without_plan_stays_research ... ok
[INFO] [stdout] test llm::engine::tests::test_research_market_still_default ... ok
[INFO] [stdout] test llm::engine::tests::test_research_ux_patterns_refined_to_user_research ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_agents_md ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_architecture_in_docs ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_api_docs ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_changelog ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_claude_directory ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_claude_md ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_competitive_analysis ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_config_file ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_dockerfile ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_docs_directory ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_github_workflow ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_interview ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_license ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_prd ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_readme ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_rfc ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_rust_code ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_roadmap ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_windsurfrules ... ok
[INFO] [stdout] test llm::engine::tests::test_spec_word_boundary_no_false_positive ... ok
[INFO] [stdout] test llm::engine::tests::test_spec_word_boundary_true_positive ... ok
[INFO] [stdout] test llm::sidecar::tests::test_backend_info_serialization ... ok
[INFO] [stdout] test llm::sidecar::tests::test_backend_type_equality ... ok
[INFO] [stdout] test llm::sidecar::tests::test_build_llama_request ... ok
[INFO] [stdout] test llm::sidecar::tests::test_build_mlx_command ... ok
[INFO] [stdout] test llm::engine::tests::test_research_persona_refined_to_user_research ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_adr ... ok
[INFO] [stdout] test llm::engine::tests::test_rule_cursorrules ... ok
[INFO] [stdout] test llm::engine::tests::test_research_kardo_pmf_prd_file ... ok
[INFO] [stdout] test llm::sidecar::tests::test_llm_backend_info_without_model ... ok
[INFO] [stdout] test llm::sidecar::tests::test_speed_tier_equality ... ok
[INFO] [stdout] test llm::sidecar::tests::test_check_mlx_lm_detection ... ok
[INFO] [stdout] test llm::sidecar::tests::test_check_llama_server_binary_detection ... ok
[INFO] [stdout] test db::tests::test_update_file_hash ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_empty_frontmatter ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_frontmatter_with_comments ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_no_closing_marker ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_no_frontmatter ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_quoted_values ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_value_with_colon ... ok
[INFO] [stdout] test parser::frontmatter::tests::test_simple_frontmatter ... ok
[INFO] [stdout] test parser::markdown::tests::test_empty_document ... ok
[INFO] [stdout] test parser::markdown::tests::test_frontmatter_detected ... ok
[INFO] [stdout] test parser::markdown::tests::test_internal_reference_detection ... ok
[INFO] [stdout] test parser::markdown::tests::test_list_count ... ok
[INFO] [stdout] test parser::markdown::tests::test_mixed_link_types ... ok
[INFO] [stdout] test parser::markdown::tests::test_no_frontmatter ... ok
[INFO] [stdout] test parser::markdown::tests::test_parse_headings ... ok
[INFO] [stdout] test parser::markdown::tests::test_parse_links_anchor ... ok
[INFO] [stdout] test parser::markdown::tests::test_parse_links_external ... ok
[INFO] [stdout] test parser::markdown::tests::test_word_count ... ok
[INFO] [stdout] test parser::markdown::tests::test_parse_links_internal ... ok
[INFO] [stdout] test parser::markdown::tests::test_slugify ... ok
[INFO] [stdout] test pro::cloud::tests::test_analyze_request_serialization ... ok
[INFO] [stdout] test parser::markdown::tests::test_word_count_excludes_code_blocks ... ok
[INFO] [stdout] test parser::markdown::tests::test_parse_code_blocks ... ok
[INFO] [stdout] test pro::cloud::tests::test_analyze_response_deserialization ... ok
[INFO] [stdout] test pro::cloud::tests::test_fix_suggestion_deserialization ... ok
[INFO] [stdout] test git::analysis::tests::test_analyze_file_basic ... ok
[INFO] [stdout] test git::analysis::tests::test_days_since_modified ... ok
[INFO] [stdout] test git::coupling::tests::test_coupling_detection ... ok
[INFO] [stdout] test git::analysis::tests::test_analyze_files_batch ... ok
[INFO] [stdout] test pro::recommendations::tests::test_build_fix_prompt ... ok
[INFO] [stdout] test llm::sidecar::tests::test_detect_backends_returns_all_types ... ok
[INFO] [stdout] test git::analysis::tests::test_analyze_file_multiple_commits ... ok
[INFO] [stdout] test pro::recommendations::tests::test_build_recommendation_prompt ... ok
[INFO] [stdout] test pro::recommendations::tests::test_parse_fix_json ... ok
[INFO] [stdout] test pro::recommendations::tests::test_parse_fix_json_invalid ... ok
[INFO] [stdout] test pro::recommendations::tests::test_rule_based_recommendations_high_score ... ok
[INFO] [stdout] test pro::recommendations::tests::test_parse_recommendations_json_in_code_block ... ok
[INFO] [stdout] test git::analysis::tests::test_analyze_file_not_found ... ok
[INFO] [stdout] test pro::recommendations::tests::test_rule_based_recommendations_low_score ... ok
[INFO] [stdout] test pro::tests::test_device_fingerprint_deterministic ... ok
[INFO] [stdout] test pro::recommendations::tests::test_parse_recommendations_json_direct ... ok
[INFO] [stdout] test pro::tests::test_device_fingerprint_not_empty ... ok
[INFO] [stdout] test git::coupling::tests::test_no_coupling_issue ... ok
[INFO] [stdout] test pro::tests::test_activate_valid_license ... ok
[INFO] [stdout] test pro::tests::test_initial_status_is_free ... ok
[INFO] [stdout] test pro::tests::test_feature_limited_on_free ... ok
[INFO] [stdout] test pro::tests::test_feature_available_during_trial ... ok
[INFO] [stdout] test pro::tests::test_cannot_start_trial_twice ... ok
[INFO] [stdout] test pro::tests::test_pro_status_after_activation ... ok
[INFO] [stdout] test rules::builtin::tests::test_all_rules_return_empty_without_analysis ... ok
[INFO] [stdout] test rules::builtin::tests::test_broken_link_file_not_found ... ok
[INFO] [stdout] test rules::builtin::tests::test_broken_link_heading_not_found ... ok
[INFO] [stdout] test rules::builtin::tests::test_broken_link_multiple ... ok
[INFO] [stdout] test rules::builtin::tests::test_broken_link_no_issues_when_clean ... ok
[INFO] [stdout] test rules::builtin::tests::test_builtin_matches_scoring_engine_missing_config ... ok
[INFO] [stdout] test rules::builtin::tests::test_builtin_matches_scoring_engine_stale ... ok
[INFO] [stdout] test rules::builtin::tests::test_coupling_issue_above_threshold ... ok
[INFO] [stdout] test rules::builtin::tests::test_coupling_no_freshness_data ... ok
[INFO] [stdout] test rules::builtin::tests::test_coupling_no_issue_below_threshold ... ok
[INFO] [stdout] test rules::builtin::tests::test_generic_config_issue_for_low_actionable ... ok
[INFO] [stdout] test rules::builtin::tests::test_generic_config_no_issue_for_actionable ... ok
[INFO] [stdout] test rules::builtin::tests::test_missing_claude_md_fallback_passes ... ok
[INFO] [stdout] test rules::builtin::tests::test_missing_claude_md_fallback_to_files ... ok
[INFO] [stdout] test rules::builtin::tests::test_missing_claude_md_from_analysis ... ok
[INFO] [stdout] test rules::builtin::tests::test_missing_claude_md_passes_from_analysis ... ok
[INFO] [stdout] test rules::builtin::tests::test_missing_readme_from_analysis ... ok
[INFO] [stdout] test rules::builtin::tests::test_missing_readme_passes ... ok
[INFO] [stdout] test rules::builtin::tests::test_short_config_issue_for_short_file ... ok
[INFO] [stdout] test rules::builtin::tests::test_short_config_no_issue_for_long_file ... ok
[INFO] [stdout] test rules::builtin::tests::test_stale_custom_thresholds ... ok
[INFO] [stdout] test rules::builtin::tests::test_stale_high_for_very_old_files ... ok
[INFO] [stdout] test rules::builtin::tests::test_stale_medium_for_aging_files ... ok
[INFO] [stdout] test rules::builtin::tests::test_stale_multiple_files ... ok
[INFO] [stdout] test rules::builtin::tests::test_stale_no_issues_for_fresh_files ... ok
[INFO] [stdout] test rules::builtin::tests::test_stale_none_days_skipped ... ok
[INFO] [stdout] test rules::plugin::tests::test_default_stale_threshold ... ok
[INFO] [stdout] test rules::plugin::tests::test_file_missing_rule_passes ... ok
[INFO] [stdout] test rules::plugin::tests::test_file_missing_rule_fires ... ok
[INFO] [stdout] test rules::plugin::tests::test_file_stale_rule_passes_when_fresh ... ok
[INFO] [stdout] test rules::plugin::tests::test_file_stale_rule_with_freshness_data ... ok
[INFO] [stdout] test rules::plugin::tests::test_invalid_empty_id ... ok
[INFO] [stdout] test rules::plugin::tests::test_invalid_empty_target ... ok
[INFO] [stdout] test rules::plugin::tests::test_invalid_id_with_spaces ... ok
[INFO] [stdout] test rules::plugin::tests::test_invalid_regex_pattern ... ok
[INFO] [stdout] test rules::plugin::tests::test_load_directory_with_invalid_file ... ok
[INFO] [stdout] test pro::tests::test_reject_invalid_license_format ... ok
[INFO] [stdout] test rules::plugin::tests::test_load_directory_from_temp ... ok
[INFO] [stdout] test rules::plugin::tests::test_load_nonexistent_directory ... ok
[INFO] [stdout] test rules::plugin::tests::test_load_file_from_temp ... ok
[INFO] [stdout] test rules::plugin::tests::test_parse_file_stale_rule ... ok
[INFO] [stdout] test rules::plugin::tests::test_parse_content_match_rule ... ok
[INFO] [stdout] test rules::plugin::tests::test_parse_multi_rules ... ok
[INFO] [stdout] test rules::plugin::tests::test_parse_regex_rule ... ok
[INFO] [stdout] test rules::plugin::tests::test_parse_file_missing_rule ... ok
[INFO] [stdout] test pro::tests::test_trial_expired ... ok
[INFO] [stdout] test rules::plugin::tests::test_path_matches_star_all ... ok
[INFO] [stdout] test rules::plugin::tests::test_path_matches_exact ... ok
[INFO] [stdout] test rules::plugin::tests::test_path_matches_wildcard ... ok
[INFO] [stdout] test rules::plugin::tests::test_yaml_rule_error_display ... ok
[INFO] [stdout] test rules::tests::test_effective_config_default ... ok
[INFO] [stdout] test pro::tests::test_start_trial ... ok
[INFO] [stdout] test rules::tests::test_no_violations_for_clean_project ... ok
[INFO] [stdout] test rules::tests::test_severity_override ... ok
[INFO] [stdout] test rules::tests::test_violations_sorted_by_severity ... ok
[INFO] [stdout] test scanner::cache::tests::test_compute_hash ... ok
[INFO] [stdout] test rules::tests::test_rule_config_options ... ok
[INFO] [stdout] test scanner::cache::tests::test_entries_roundtrip ... ok
[INFO] [stdout] test scanner::cache::tests::test_from_entries ... ok
[INFO] [stdout] test scanner::cache::tests::test_needs_processing_changed ... ok
[INFO] [stdout] test scanner::cache::tests::test_needs_processing_new_file ... ok
[INFO] [stdout] test scanner::cache::tests::test_needs_processing_unchanged ... ok
[INFO] [stdout] test scanner::cache::tests::test_process_batch_all_new ... ok
[INFO] [stdout] test scanner::cache::tests::test_process_batch_skips_unchanged ... ok
[INFO] [stdout] test rules::tests::test_rule_disabled ... ok
[INFO] [stdout] test scanner::discovery::tests::test_content_hashing ... ok
[INFO] [stdout] test rules::tests::test_rule_set_add_and_evaluate ... ok
[INFO] [stdout] test scanner::discovery::tests::test_builder_backward_compat ... ok
[INFO] [stdout] test scanner::discovery::tests::test_exclude_pattern_via_builder ... ok
[INFO] [stdout] test scanner::discovery::tests::test_file_metadata ... ok
[INFO] [stdout] test scanner::discovery::tests::test_custom_kardo_ignore_file ... ok
[INFO] [stdout] test scanner::discovery::tests::test_discover_finds_doc_files ... ok
[INFO] [stdout] test scanner::discovery::tests::test_hidden_claude_dir_discovered ... ok
[INFO] [stdout] test rules::tests::test_rule_set_empty ... ok
[INFO] [stdout] test scanner::discovery::tests::test_gitignore_respected ... ok
[INFO] [stdout] test llm::deep::tests::test_deep_analyzer_creation ... ok
[INFO] [stdout] test scanner::discovery::tests::test_include_overrides_exclude ... ok
[INFO] [stdout] test scanner::discovery::tests::test_kardo_dir_excluded ... ok
[INFO] [stdout] test scanner::discovery::tests::test_no_gitignore_flag ... ok
[INFO] [stdout] test scanner::discovery::tests::test_relative_paths_correct ... ok
[INFO] [stdout] test scanner::discovery::tests::test_is_relevant_file_filter ... ok
[INFO] [stdout] test scoring::engine::tests::test_blocking_severity_sorts_first ... ok
[INFO] [stdout] test scoring::engine::tests::test_fix_type_assignment ... ok
[INFO] [stdout] test scoring::engine::tests::test_healthy_project_green ... ok
[INFO] [stdout] test scoring::engine::tests::test_low_component_floor_penalty ... ok
[INFO] [stdout] test scoring::engine::tests::test_missing_claude_md_is_blocking ... ok
[INFO] [stdout] test scoring::engine::tests::test_path_to_green_already_green ... ok
[INFO] [stdout] test scoring::engine::tests::test_path_to_green_not_green ... ok
[INFO] [stdout] test scoring::engine::tests::test_priority_score_computation ... ok
[INFO] [stdout] test scoring::engine::tests::test_scoring_formula ... ok
[INFO] [stdout] test scoring::engine::tests::test_stale_docs_yellow ... ok
[INFO] [stdout] test scoring::engine::tests::test_severity_rank_ordering ... ok
[INFO] [stdout] test scoring::engine::tests::test_traffic_light_thresholds ... ok
[INFO] [stdout] test scoring::percentile::tests::test_green_threshold ... ok
[INFO] [stdout] test scoring::percentile::tests::test_perfect_score ... ok
[INFO] [stdout] test scoring::percentile::tests::test_red_threshold ... ok
[INFO] [stdout] test scoring::engine::tests::test_no_claude_md_floor_penalty ... ok
[INFO] [stdout] test scoring::engine::tests::test_issues_sorted_by_severity ... ok
[INFO] [stdout] test embeddings::tests::test_embedding_client_creation ... ok
[INFO] [stdout] test scanner::discovery::tests::test_sorted_output ... ok
[INFO] [stdout] test scoring::percentile::tests::test_monotonic ... ok
[INFO] [stdout] test workspace::comparison::tests::test_compare_aggregates ... ok
[INFO] [stdout] test scoring::percentile::tests::test_zero_score ... ok
[INFO] [stdout] test workspace::comparison::tests::test_compare_common_issues ... ok
[INFO] [stdout] test workspace::comparison::tests::test_compare_empty ... ok
[INFO] [stdout] test workspace::comparison::tests::test_compare_multiple_projects_ranking ... ok
[INFO] [stdout] test workspace::comparison::tests::test_compare_single_project ... ok
[INFO] [stdout] test workspace::comparison::tests::test_compare_traffic_light_classification ... ok
[INFO] [stdout] test workspace::comparison::tests::test_project_summaries ... ok
[INFO] [stdout] test workspace::standards::tests::test_default_config ... ok
[INFO] [stdout] test pro::cloud::tests::test_cloud_client_custom_url ... ok
[INFO] [stdout] test workspace::comparison::tests::test_common_issues_sorted_by_frequency ... ok
[INFO] [stdout] test workspace::standards::tests::test_import_invalid_yaml ... ok
[INFO] [stdout] test workspace::standards::tests::test_import_nonexistent_file ... ok
[INFO] [stdout] test workspace::standards::tests::test_validate_green_min_out_of_range ... ok
[INFO] [stdout] test workspace::standards::tests::test_validate_negative_stale_days ... ok
[INFO] [stdout] test workspace::standards::tests::test_validate_stale_days_order ... ok
[INFO] [stdout] test workspace::standards::tests::test_validate_valid_config ... ok
[INFO] [stdout] test workspace::standards::tests::test_validate_yellow_gte_green ... ok
[INFO] [stdout] test workspace::standards::tests::test_apply_standards_updates_existing ... ok
[INFO] [stdout] test workspace::standards::tests::test_export_creates_parent_dirs ... ok
[INFO] [stdout] test pro::cloud::tests::test_analyze_connection_error ... ok
[INFO] [stdout] test llm::sidecar::tests::test_backend_info_default_models ... ok
[INFO] [stdout] test workspace::standards::tests::test_apply_and_get_standards ... ok
[INFO] [stdout] test workspace::standards::tests::test_apply_standards_invalid_config_rejected ... ok
[INFO] [stdout] test workspace::standards::tests::test_export_import_roundtrip ... ok
[INFO] [stdout] test workspace::tests::test_add_and_remove_project ... ok
[INFO] [stdout] test scoring::engine::tests::test_issues_generated_for_missing_claude_md ... ok
[INFO] [stdout] test workspace::standards::tests::test_get_standards_default_when_none_saved ... ok
[INFO] [stdout] test workspace::tests::test_delete_workspace ... ok
[INFO] [stdout] test pro::cloud::tests::test_cloud_client_default_url ... ok
[INFO] [stdout] test workspace::tests::test_create_workspace ... ok
[INFO] [stdout] test workspace::tests::test_delete_workspace_cascades_projects ... ok
[INFO] [stdout] test workspace::tests::test_add_duplicate_project_ignored ... ok
[INFO] [stdout] test pro::cloud::tests::test_verify_license_connection_error ... ok
[INFO] [stdout] test workspace::tests::test_get_workspace ... ok
[INFO] [stdout] test workspace::tests::test_list_workspaces ... ok
[INFO] [stdout] test workspace::tests::test_update_project_score ... ok
[INFO] [stdout] test workspace::tests::test_workspace_isolation ... ok
[INFO] [stdout] test pro::recommendations::tests::test_generate_recommendations_no_cloud_no_ollama ... ok
[INFO] [stdout] test workspace::tests::test_get_nonexistent_workspace ... ok
[INFO] [stdout] test pro::cloud::tests::test_verify_license_no_key ... ok
[INFO] [stdout] test llm::sidecar::tests::test_sidecar_runner_creation ... ok
[INFO] [stdout] test pro::cloud::tests::test_get_fix_suggestions_connection_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 450 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.74s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/api_integration.rs (/opt/rustwide/target/debug/deps/api_integration-ce338306248f3cd8)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test test_bonus_all_components_above_85 ... ok
[INFO] [stdout] test test_bonus_tier_between_75_and_85 ... ok
[INFO] [stdout] test test_all_issues_have_nonempty_titles ... ok
[INFO] [stdout] test test_component_scores_are_normalized ... ok
[INFO] [stdout] test test_boundary_exactly_at_floor_zero_threshold ... ok
[INFO] [stdout] test test_dynamic_floor_multiple_low_components ... ok
[INFO] [stdout] test test_edge_all_components_perfect ... ok
[INFO] [stdout] test test_edge_all_components_zero ... ok
[INFO] [stdout] test test_edge_epsilon_components ... ok
[INFO] [stdout] test test_edge_single_zero_component_cap ... ok
[INFO] [stdout] test test_floor_penalty_zero_agent_setup ... ok
[INFO] [stdout] test test_kardo_error_display ... ok
[INFO] [stdout] test test_edge_many_issues_path_to_green ... ok
[INFO] [stdout] test test_feature_flags_compile ... ok
[INFO] [stdout] test test_kardo_error_from_db_error ... ok
[INFO] [stdout] test test_issues_have_metadata ... ok
[INFO] [stdout] test test_kardo_error_from_git_error ... ok
[INFO] [stdout] test test_kardo_result_type_alias ... ok
[INFO] [stdout] test test_no_bonus_when_component_below_threshold ... ok
[INFO] [stdout] test test_path_to_green_effort_consistency ... ok
[INFO] [stdout] test test_path_to_green_monotonic ... ok
[INFO] [stdout] test test_path_to_green_sorted_by_efficiency ... ok
[INFO] [stdout] test test_predicates_consistent_with_traffic_light ... ok
[INFO] [stdout] test test_prelude_reexports ... ok
[INFO] [stdout] test test_project_score_convenience_predicates ... ok
[INFO] [stdout] test test_project_score_json_full_roundtrip ... ok
[INFO] [stdout] test test_public_api_imports ... ok
[INFO] [stdout] test test_score_always_in_unit_range_asymmetric ... ok
[INFO] [stdout] test test_score_computation_produces_valid_range ... ok
[INFO] [stdout] test test_score_percent ... ok
[INFO] [stdout] test test_traffic_light_consistency ... ok
[INFO] [stdout] test test_traffic_light_display ... ok
[INFO] [stdout] test test_serde_roundtrip ... ok
[INFO] [stdout] test test_traffic_light_exact_boundaries ... ok
[INFO] [stdout] test test_score_project_git_init_tempdir ... ok
[INFO] [stdout] test test_score_project_empty_dir ... ok
[INFO] [stdout] test test_score_project_on_real_git_repo ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.09s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/calibration_test.rs (/opt/rustwide/target/debug/deps/calibration_test-bd0ced1b13e62fd5)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test test_calibration_weight_sum_is_one ... ok
[INFO] [stdout] test test_calibration_config_subweights_sum_to_one ... ok
[INFO] [stdout] test test_calibration_empty_scores_below_25 ... ok
[INFO] [stdout] test test_score_all_benchmark_repos ... ok
[INFO] [stdout] test test_calibration_poor_scores_below_green ... ok
[INFO] [stdout] test test_calibration_basic_is_yellow ... ok
[INFO] [stdout] test test_calibration_excellent_scores_above_76 ... ok
[INFO] [stdout] test test_harness_works_with_synthetic_data ... ok
[INFO] [stdout] test test_calibration_ordering_preserved ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests kardo_core
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test src/analyze.rs - analyze::score_project (line 29) ... ignored
[INFO] [stdout] test src/lib.rs - (line 37) ... ignored
[INFO] [stdout] test src/lib.rs - (line 88) ... ignored
[INFO] [stdout] test src/prelude.rs - prelude (line 3) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.43s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "9d949c6e6e088e9408b94f80650f7064079692553dca0525da913d79a76c1b7e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9d949c6e6e088e9408b94f80650f7064079692553dca0525da913d79a76c1b7e", kill_on_drop: false }`
[INFO] [stdout] 9d949c6e6e088e9408b94f80650f7064079692553dca0525da913d79a76c1b7e
