[INFO] fetching crate valknut-rs 1.2.1...
[INFO] testing valknut-rs-1.2.1 against try#c2e32f1c9652b13ed99608599c1e855462f421f3 for pr-146098-8
[INFO] extracting crate valknut-rs 1.2.1 into /workspace/builds/worker-4-tc2/source
[INFO] started tweaking crates.io crate valknut-rs 1.2.1
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate valknut-rs 1.2.1
[INFO] tweaked toml for crates.io crate valknut-rs 1.2.1 written to /workspace/builds/worker-4-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate valknut-rs 1.2.1 on toolchain c2e32f1c9652b13ed99608599c1e855462f421f3
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate valknut-rs 1.2.1 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" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 4b53b04f190787637caf91c012e84b7bd7ca7b54b78fb8ae45c527690731df94
[INFO] running `Command { std: "docker" "start" "-a" "4b53b04f190787637caf91c012e84b7bd7ca7b54b78fb8ae45c527690731df94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "4b53b04f190787637caf91c012e84b7bd7ca7b54b78fb8ae45c527690731df94", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4b53b04f190787637caf91c012e84b7bd7ca7b54b78fb8ae45c527690731df94", kill_on_drop: false }`
[INFO] [stdout] 4b53b04f190787637caf91c012e84b7bd7ca7b54b78fb8ae45c527690731df94
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 3bac9988e3462d192b85a27331bb7efd522b8ad1d07576fb17a55637be5807ba
[INFO] running `Command { std: "docker" "start" "-a" "3bac9988e3462d192b85a27331bb7efd522b8ad1d07576fb17a55637be5807ba", kill_on_drop: false }`
[INFO] [stderr]    Compiling memchr v2.7.5
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling find-msvc-tools v0.1.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling futures-core v0.3.31
[INFO] [stderr]    Compiling futures-io v0.3.31
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling cc v1.2.36
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.16
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling serde_json v1.0.143
[INFO] [stderr]    Compiling indexmap v2.11.1
[INFO] [stderr]    Compiling aho-corasick v1.1.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling regex-automata v0.4.10
[INFO] [stderr]    Compiling thiserror v2.0.16
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tracing-attributes v0.1.30
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling pest v2.8.1
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tree-sitter v0.20.10
[INFO] [stderr]    Compiling ahash v0.7.8
[INFO] [stderr]    Compiling anyhow v1.0.99
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling pest_meta v2.8.1
[INFO] [stderr]    Compiling vte_generate_state_changes v0.1.2
[INFO] [stderr]    Compiling arrayvec v0.5.2
[INFO] [stderr]    Compiling regex v1.11.2
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling vte v0.10.1
[INFO] [stderr]    Compiling pest_generator v2.8.1
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling block-buffer v0.9.0
[INFO] [stderr]    Compiling digest v0.9.0
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling semver v1.0.26
[INFO] [stderr]    Compiling unicode-width v0.2.1
[INFO] [stderr]    Compiling sha-1 v0.9.8
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling pest_derive v2.8.1
[INFO] [stderr]    Compiling ansitok v0.2.0
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling parking_lot_core v0.9.11
[INFO] [stderr]    Compiling beef v0.5.2
[INFO] [stderr]    Compiling num-rational v0.4.2
[INFO] [stderr]    Compiling parking_lot v0.12.4
[INFO] [stderr]    Compiling tree-sitter v0.25.9
[INFO] [stderr]    Compiling libmimalloc-sys v0.1.44
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling radium v0.7.0
[INFO] [stderr]    Compiling dlv-list v0.3.0
[INFO] [stderr]    Compiling jsonrpsee-types v0.21.0
[INFO] [stderr]    Compiling portable-atomic v1.11.1
[INFO] [stderr]    Compiling wasm_sync v0.1.2
[INFO] [stderr]    Compiling rustc-hash v1.1.0
[INFO] [stderr]    Compiling bytecount v0.6.9
[INFO] [stderr]    Compiling anstyle-query v1.1.4
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling anstream v0.6.20
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling proc-macro-crate v2.0.2
[INFO] [stderr]    Compiling ordered-multimap v0.4.3
[INFO] [stderr]    Compiling simba v0.6.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling ansi-str v0.8.0
[INFO] [stderr]    Compiling soketto v0.7.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling console v0.15.11
[INFO] [stderr]    Compiling nalgebra-macros v0.1.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling blake3 v1.8.2
[INFO] [stderr]    Compiling tree-sitter-javascript v0.20.0
[INFO] [stderr]    Compiling tree-sitter-python v0.20.3
[INFO] [stderr]    Compiling tree-sitter-go v0.20.0
[INFO] [stderr]    Compiling tree-sitter-rust v0.20.3
[INFO] [stderr]    Compiling tree-sitter-typescript v0.20.3
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling route-recognizer v0.3.1
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling tap v1.0.1
[INFO] [stderr]    Compiling papergrid v0.10.0
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling clap_builder v4.5.47
[INFO] [stderr]    Compiling ron v0.7.1
[INFO] [stderr]    Compiling wyz v0.5.1
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling clap_derive v4.5.47
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling nalgebra v0.29.0
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling deprecate-until v0.1.1
[INFO] [stderr]    Compiling tabled_derive v0.6.0
[INFO] [stderr]    Compiling jsonrpsee-proc-macros v0.21.0
[INFO] [stderr]    Compiling rust-ini v0.18.0
[INFO] [stderr]    Compiling simba v0.8.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling toml v0.5.11
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling json5 v0.4.1
[INFO] [stderr]    Compiling rand_xorshift v0.2.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling integer-sqrt v0.1.5
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling nalgebra-macros v0.2.2
[INFO] [stderr]    Compiling funty v2.0.0
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling smawk v0.3.2
[INFO] [stderr]    Compiling unicode-linebreak v0.1.5
[INFO] [stderr]    Compiling nu-ansi-term v0.50.1
[INFO] [stderr]    Compiling fixedbitset v0.4.2
[INFO] [stderr]    Compiling pathfinding v4.14.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling config v0.13.4
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling probabilistic-collections v0.7.0
[INFO] [stderr]    Compiling indicatif v0.17.11
[INFO] [stderr]    Compiling tracing-subscriber v0.3.20
[INFO] [stderr]    Compiling petgraph v0.6.5
[INFO] [stderr]    Compiling bitvec v1.0.1
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling textwrap v0.16.2
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling jsonrpsee-core v0.21.0
[INFO] [stderr]    Compiling nalgebra v0.32.6
[INFO] [stderr]    Compiling tabled v0.14.0
[INFO] [stderr]    Compiling jsonrpsee-server v0.21.0
[INFO] [stderr]    Compiling clap v4.5.47
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling mimalloc v0.1.48
[INFO] [stderr]    Compiling hyperloglog v1.0.2
[INFO] [stderr]    Compiling handlebars v4.5.0
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling edit-distance v2.1.3
[INFO] [stderr]    Compiling seahash v4.1.0
[INFO] [stderr]    Compiling jsonrpsee v0.21.0
[INFO] [stderr]    Compiling owo-colors v3.5.0
[INFO] [stderr]    Compiling statrs v0.16.1
[INFO] [stderr]    Compiling valknut-rs v1.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/core/pipeline/pipeline_config.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn from(config: ValknutConfig) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `refactoring`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         refactoring: &super::pipeline_results::RefactoringAnalysisResults,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refactoring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `impact`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         impact: &super::pipeline_results::ImpactAnalysisResults,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_impact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:484:9
[INFO] [stdout]     |
[INFO] [stdout] 484 |         config: &QualityGateConfig,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/core/featureset.rs:310:31
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn supports_entity(&self, entity: &CodeEntity) -> bool {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/detectors/complexity.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1806 |                 _ => {}
[INFO] [stdout]      |                 ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/detectors/complexity.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1726 |                 ComplexityIssueType::HighCyclomaticComplexity => {
[INFO] [stdout]      |                 --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1743 |                 ComplexityIssueType::HighCognitiveComplexity => {
[INFO] [stdout]      |                 -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1752 |                 ComplexityIssueType::DeepNesting => {
[INFO] [stdout]      |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1761 |                 ComplexityIssueType::LongFile => {
[INFO] [stdout]      |                 ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1806 |                 _ => {}
[INFO] [stdout]      |                 ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash_vec`
[INFO] [stdout]    --> src/detectors/lsh.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 let hash_vec = u64x4::from(hashes);
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig_vec`
[INFO] [stdout]    --> src/detectors/lsh.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let sig_vec = u64x4::from(current_sigs);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sig_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `part1_set`
[INFO] [stdout]    --> src/detectors/structure/directory.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let part1_set: HashSet<_> = part1.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_part1_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub mod pipeline;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 500 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub fn get_all_extractors(&self) -> std::iter::Empty<()> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub structure_extractor: StructureExtractor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub complexity_analyzer: ComplexityAnalyzer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub refactoring_analyzer: RefactoringAnalyzer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub beta: f64,   // Failure count + 1 (shape parameter)
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub expected_max: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub expected_mean: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub variance_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub higher_is_worse: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub typical_distribution: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/complexity.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ComplexityThresholds {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub low: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub moderate: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub high: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub very_high: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Low,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Moderate,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     High,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     VeryHigh,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     Critical,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/complexity.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub enum ComplexityIssueType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     HighCyclomaticComplexity,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     HighCognitiveComplexity,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     DeepNesting,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     TooManyParameters,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     LongFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     LongFile,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     HighTechnicalDebt,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     LowMaintainability,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/complexity.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum RefactoringType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     ExtractMethod,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     SimplifyConditions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     ReduceNesting,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     SplitFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     ExtractClass,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     ReduceParameters,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     SimplifyExpressions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     RemoveDeadCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/lsh.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub shingle_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/structure/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub branch_reorg_packs: Vec<BranchReorgPack>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/structure/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub file_split_packs: Vec<FileSplitPack>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn with_config(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct StructureToggles {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct FsDirectoryConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct FsFileConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct PartitioningConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/directory.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DirectoryAnalyzer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/directory.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/file.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct FileAnalyzer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/file.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     CoveragePyXml,      // coverage.py XML format
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Lcov,               // LCOV .info format  
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Cobertura,          // Cobertura XML format
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     JaCoCo,             // JaCoCo XML format
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     IstanbulJson,       // Istanbul JSON format
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub line_number: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub hits: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub is_covered: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub start: usize,  // inclusive
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub end: usize,    // inclusive  
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub hits: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub gap_loc: usize,                    // Lines of code in gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub cyclomatic_in_gap: f64,           // Complexity within gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub cognitive_in_gap: f64,            // Cognitive complexity within gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fan_in_gap: usize,                // Number of callsites
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub exports_touched: bool,            // Contains public APIs
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub dependency_centrality_file: f64,  // File's import graph centrality
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub interface_surface: usize,         // Parameters + return types
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub docstring_or_comment_present: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub exception_density_in_gap: f64,    // Exception handling per KLOC
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub span: UncoveredSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub file_loc: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub score: f64,                       // 0-1 priority score
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub features: GapFeatures,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub symbols: Vec<GapSymbol>,          // Functions/classes in gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub preview: SnippetPreview,          // Context for agents
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub kind: SymbolKind,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub signature: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub line_start: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub line_end: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/detectors/coverage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum SymbolKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     Function,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     Method,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Class,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub pre: Vec<String>,      // Context lines before gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub head: Vec<String>,     // First few lines of gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub tail: Vec<String>,     // Last few lines of gap  
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub post: Vec<String>,     // Context lines after gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub markers: GapMarkers,   // Line number markers
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub imports: Vec<String>,  // Imports used in gap (for mocking)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/detectors/coverage.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct GapMarkers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub start_line: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub end_line: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub file_cov_gain: f64,       // Expected file coverage increase
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub repo_cov_gain_est: f64,   // Expected repo coverage increase
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub tests_to_write_est: usize,  // Estimated number of tests needed
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub mocks_est: usize,           // Estimated mocks needed
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub kind: String,                    // Always "coverage"
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub pack_id: String,                 // e.g., "cov:src/lib.rs"
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub file_info: FileInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub gaps: Vec<CoverageGap>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub value: PackValue,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub effort: PackEffort,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub coverage_before: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub coverage_after_if_filled: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub total_gap_loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub avg_complexity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub centrality: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub gap_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub report_paths: Vec<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub max_gaps_per_file: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub min_gap_loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub snippet_context_lines: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub long_gap_head_tail: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub group_cross_file: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub target_repo_gain: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub weights: ScoringWeights,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub exclude_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub size: f64,          // 0.40
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub complexity: f64,    // 0.20
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fan_in: f64,        // 0.15
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub exports: f64,       // 0.10
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub centrality: f64,    // 0.10
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub docs: f64,          // 0.05
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub config: CoverageConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/detectors/coverage.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(config: CoverageConfig) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     ExtractMethod,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ExtractClass,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ReduceComplexity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     EliminateDuplication,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     ImproveNaming,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     SimplifyConditionals,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     RemoveDeadCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/detectors/refactoring.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub struct RefactoringExtractor;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/names_simple.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct SideEffects {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/names_simple.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct ReturnTypeInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/detectors/names_simple.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum TypeCategory {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/names_simple.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Scalar,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Object,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Collection,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Unit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/names_simple.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum ExecutionPattern {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Synchronous,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Asynchronous,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     Ambiguous,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/names_simple.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub enum MismatchType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:40
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:45
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:27
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:45
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:39
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:43
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/lang/common.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Function,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/lang/common.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Method,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Class,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Interface,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Variable,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Constant,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Enum,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Struct,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/io/cache.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cache;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/io/cache.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new() -> Self {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/io/reports.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ReportError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Template(#[from] handlebars::TemplateError),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Render(#[from] handlebars::RenderError),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Serialization(#[from] serde_json::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/io/reports.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ReportGenerator {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/io/reports.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/io/reports.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn with_templates_dir<P: AsRef<Path>>(mut self, templates_dir: P) -> Result<Self, ReportError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/io/reports.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | /     pub fn generate_report<P: AsRef<Path>>(
[INFO] [stdout]  96 | |         &self,
[INFO] [stdout]  97 | |         results: &AnalysisResults,
[INFO] [stdout]  98 | |         output_path: P,
[INFO] [stdout]  99 | |         format: ReportFormat,
[INFO] [stdout] 100 | |     ) -> Result<(), ReportError> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/mcp/protocol.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `protocol::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use protocol::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tools::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use tools::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `server::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use server::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `survey`
[INFO] [stdout]   --> src/bin/cli/commands.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     survey: bool,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `survey_verbosity`
[INFO] [stdout]   --> src/bin/cli/commands.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     survey_verbosity: SurveyVerbosity
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey_verbosity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/bin/cli/commands.rs:665:36
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub async fn analyze_impact_legacy(args: ImpactArgs) -> anyhow::Result<()> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTION_ERROR` is never used
[INFO] [stdout]    --> src/bin/mcp/protocol.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const TOOL_EXECUTION_ERROR: i32 = -32002;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 3m 30s
[INFO] running `Command { std: "docker" "inspect" "3bac9988e3462d192b85a27331bb7efd522b8ad1d07576fb17a55637be5807ba", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "3bac9988e3462d192b85a27331bb7efd522b8ad1d07576fb17a55637be5807ba", kill_on_drop: false }`
[INFO] [stdout] 3bac9988e3462d192b85a27331bb7efd522b8ad1d07576fb17a55637be5807ba
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7a46ea7993681efc28963a26ce07f11a13ccf6b9dfc4e2a81cfe9fccd75691d2
[INFO] running `Command { std: "docker" "start" "-a" "7a46ea7993681efc28963a26ce07f11a13ccf6b9dfc4e2a81cfe9fccd75691d2", kill_on_drop: false }`
[INFO] [stderr]    Compiling getrandom v0.3.3
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio v1.47.1
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling half v2.6.0
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling tempfile v3.22.0
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling uuid v1.18.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling dialoguer v0.11.0
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling soketto v0.7.1
[INFO] [stderr]    Compiling twox-hash v1.6.3
[INFO] [stderr]    Compiling hyperloglog v1.0.2
[INFO] [stderr]    Compiling nalgebra v0.29.0
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling assert_cmd v2.0.17
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling rusty-fork v0.3.0
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling ndarray v0.15.6
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling env_logger v0.8.4
[INFO] [stderr]    Compiling bstr v1.12.0
[INFO] [stderr]    Compiling is-terminal v0.4.16
[INFO] [stderr]    Compiling proptest v1.7.0
[INFO] [stderr]    Compiling quickcheck v1.0.3
[INFO] [stderr]    Compiling quickcheck_macros v1.1.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling tokio-util v0.7.16
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling tokio-test v0.4.4
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling statrs v0.16.1
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling jsonrpsee-core v0.21.0
[INFO] [stderr]    Compiling jsonrpsee-server v0.21.0
[INFO] [stderr]    Compiling jsonrpsee v0.21.0
[INFO] [stderr]    Compiling valknut-rs v1.2.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]   --> src/core/pipeline/mod.rs:21:9
[INFO] [stdout]    |
[INFO] [stdout] 21 |     use std::path::PathBuf;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::lang::common::EntityKind`
[INFO] [stdout]    --> src/core/featureset.rs:611:9
[INFO] [stdout]     |
[INFO] [stdout] 611 |     use crate::lang::common::EntityKind;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ParseFloatError` and `ParseIntError`
[INFO] [stdout]    --> src/core/errors.rs:423:20
[INFO] [stdout]     |
[INFO] [stdout] 423 |     use std::num::{ParseIntError, ParseFloatError};
[INFO] [stdout]     |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/detectors/complexity.rs:270:9
[INFO] [stdout]     |
[INFO] [stdout] 270 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]    --> src/detectors/complexity.rs:272:9
[INFO] [stdout]     |
[INFO] [stdout] 272 |     use std::io::Write;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]    --> src/detectors/names_simple.rs:546:9
[INFO] [stdout]     |
[INFO] [stdout] 546 |     use std::path::PathBuf;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ScoringResult`
[INFO] [stdout]    --> src/io/reports.rs:432:32
[INFO] [stdout]     |
[INFO] [stdout] 432 |     use crate::core::scoring::{ScoringResult, Priority};
[INFO] [stdout]     |                                ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::featureset::FeatureVector`
[INFO] [stdout]    --> src/io/reports.rs:433:9
[INFO] [stdout]     |
[INFO] [stdout] 433 |     use crate::core::featureset::FeatureVector;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/core/pipeline/pipeline_config.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn from(config: ValknutConfig) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]   --> src/core/pipeline/pipeline_config.rs:58:13
[INFO] [stdout]    |
[INFO] [stdout] 58 |     fn from(config: ValknutConfig) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `refactoring`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         refactoring: &super::pipeline_results::RefactoringAnalysisResults,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refactoring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `impact`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         impact: &super::pipeline_results::ImpactAnalysisResults,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_impact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:484:9
[INFO] [stdout]     |
[INFO] [stdout] 484 |         config: &QualityGateConfig,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `refactoring`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:245:9
[INFO] [stdout]     |
[INFO] [stdout] 245 |         refactoring: &super::pipeline_results::RefactoringAnalysisResults,
[INFO] [stdout]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refactoring`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `impact`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:305:9
[INFO] [stdout]     |
[INFO] [stdout] 305 |         impact: &super::pipeline_results::ImpactAnalysisResults,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_impact`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `config`
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:484:9
[INFO] [stdout]     |
[INFO] [stdout] 484 |         config: &QualityGateConfig,
[INFO] [stdout]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats`
[INFO] [stdout]    --> src/core/scoring.rs:836:13
[INFO] [stdout]     |
[INFO] [stdout] 836 |         let stats = NormalizationStatistics::from_values(values);
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats`
[INFO] [stdout]    --> src/core/bayesian.rs:785:13
[INFO] [stdout]     |
[INFO] [stdout] 785 |         let stats = FeatureStatistics {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]    --> src/core/bayesian.rs:854:13
[INFO] [stdout]     |
[INFO] [stdout] 854 |         let mut normalizer = BayesianNormalizer::new("z_score");
[INFO] [stdout]     |             ----^^^^^^^^^^
[INFO] [stdout]     |             |
[INFO] [stdout]     |             help: remove this `mut`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stats`
[INFO] [stdout]    --> src/core/bayesian.rs:857:13
[INFO] [stdout]     |
[INFO] [stdout] 857 |         let stats = FeatureStatistics {
[INFO] [stdout]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/core/featureset.rs:310:31
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn supports_entity(&self, entity: &CodeEntity) -> bool {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `entity`
[INFO] [stdout]    --> src/core/featureset.rs:310:31
[INFO] [stdout]     |
[INFO] [stdout] 310 |     fn supports_entity(&self, entity: &CodeEntity) -> bool {
[INFO] [stdout]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/detectors/complexity.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1806 |                 _ => {}
[INFO] [stdout]      |                 ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/detectors/complexity.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1726 |                 ComplexityIssueType::HighCyclomaticComplexity => {
[INFO] [stdout]      |                 --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1743 |                 ComplexityIssueType::HighCognitiveComplexity => {
[INFO] [stdout]      |                 -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1752 |                 ComplexityIssueType::DeepNesting => {
[INFO] [stdout]      |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1761 |                 ComplexityIssueType::LongFile => {
[INFO] [stdout]      |                 ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1806 |                 _ => {}
[INFO] [stdout]      |                 ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash_vec`
[INFO] [stdout]    --> src/detectors/lsh.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 let hash_vec = u64x4::from(hashes);
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig_vec`
[INFO] [stdout]    --> src/detectors/lsh.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let sig_vec = u64x4::from(current_sigs);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sig_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `part1_set`
[INFO] [stdout]    --> src/detectors/structure/directory.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let part1_set: HashSet<_> = part1.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_part1_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]     --> src/detectors/complexity.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1806 |                 _ => {}
[INFO] [stdout]      |                 ^ no value can reach this
[INFO] [stdout]      |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]     --> src/detectors/complexity.rs:1806:17
[INFO] [stdout]      |
[INFO] [stdout] 1726 |                 ComplexityIssueType::HighCyclomaticComplexity => {
[INFO] [stdout]      |                 --------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1743 |                 ComplexityIssueType::HighCognitiveComplexity => {
[INFO] [stdout]      |                 -------------------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1752 |                 ComplexityIssueType::DeepNesting => {
[INFO] [stdout]      |                 -------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1761 |                 ComplexityIssueType::LongFile => {
[INFO] [stdout]      |                 ----------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 1806 |                 _ => {}
[INFO] [stdout]      |                 ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stdout]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `hash_vec`
[INFO] [stdout]    --> src/detectors/lsh.rs:189:21
[INFO] [stdout]     |
[INFO] [stdout] 189 |                 let hash_vec = u64x4::from(hashes);
[INFO] [stdout]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `sig_vec`
[INFO] [stdout]    --> src/detectors/lsh.rs:190:21
[INFO] [stdout]     |
[INFO] [stdout] 190 |                 let sig_vec = u64x4::from(current_sigs);
[INFO] [stdout]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sig_vec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `part1_set`
[INFO] [stdout]    --> src/detectors/structure/directory.rs:410:13
[INFO] [stdout]     |
[INFO] [stdout] 410 |         let part1_set: HashSet<_> = part1.iter().copied().collect();
[INFO] [stdout]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_part1_set`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]     --> src/detectors/coverage.rs:2474:13
[INFO] [stdout]      |
[INFO] [stdout] 2474 |         let mut extractor = CoverageExtractor::new(config);
[INFO] [stdout]      |             ----^^^^^^^^^
[INFO] [stdout]      |             |
[INFO] [stdout]      |             help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub mod pipeline;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 500 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub fn get_all_extractors(&self) -> std::iter::Empty<()> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub structure_extractor: StructureExtractor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub complexity_analyzer: ComplexityAnalyzer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub refactoring_analyzer: RefactoringAnalyzer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub beta: f64,   // Failure count + 1 (shape parameter)
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub expected_max: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub expected_mean: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub variance_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub higher_is_worse: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub typical_distribution: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/complexity.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ComplexityThresholds {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub low: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub moderate: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub high: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub very_high: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Low,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Moderate,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     High,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     VeryHigh,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     Critical,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/complexity.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub enum ComplexityIssueType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     HighCyclomaticComplexity,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     HighCognitiveComplexity,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     DeepNesting,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     TooManyParameters,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     LongFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     LongFile,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     HighTechnicalDebt,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     LowMaintainability,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/complexity.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum RefactoringType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     ExtractMethod,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     SimplifyConditions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     ReduceNesting,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     SplitFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     ExtractClass,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     ReduceParameters,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     SimplifyExpressions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     RemoveDeadCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/lsh.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub shingle_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/structure/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub branch_reorg_packs: Vec<BranchReorgPack>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/structure/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub file_split_packs: Vec<FileSplitPack>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn with_config(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct StructureToggles {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct FsDirectoryConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct FsFileConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct PartitioningConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/directory.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DirectoryAnalyzer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/directory.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]     --> src/detectors/structure/directory.rs:1763:17
[INFO] [stdout]      |
[INFO] [stdout] 1763 |         assert!(graph.edge_count() >= 0); // May have edges if imports are resolved
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]     --> src/detectors/structure/directory.rs:1815:17
[INFO] [stdout]      |
[INFO] [stdout] 1815 |         assert!(gain.cross_edges_reduced >= 0);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]     --> src/detectors/structure/directory.rs:1964:17
[INFO] [stdout]      |
[INFO] [stdout] 1964 |         assert!(result >= 0);
[INFO] [stdout]      |                 ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/file.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct FileAnalyzer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/file.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]     --> src/detectors/structure/file.rs:1511:17
[INFO] [stdout]      |
[INFO] [stdout] 1511 |         assert!(graph.node_count() >= 0);
[INFO] [stdout]      |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     CoveragePyXml,      // coverage.py XML format
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Lcov,               // LCOV .info format  
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Cobertura,          // Cobertura XML format
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     JaCoCo,             // JaCoCo XML format
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     IstanbulJson,       // Istanbul JSON format
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub line_number: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub hits: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub is_covered: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub start: usize,  // inclusive
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub end: usize,    // inclusive  
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub hits: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub gap_loc: usize,                    // Lines of code in gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub cyclomatic_in_gap: f64,           // Complexity within gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub cognitive_in_gap: f64,            // Cognitive complexity within gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fan_in_gap: usize,                // Number of callsites
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub exports_touched: bool,            // Contains public APIs
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub dependency_centrality_file: f64,  // File's import graph centrality
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub interface_surface: usize,         // Parameters + return types
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub docstring_or_comment_present: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub exception_density_in_gap: f64,    // Exception handling per KLOC
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub span: UncoveredSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub file_loc: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub score: f64,                       // 0-1 priority score
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub features: GapFeatures,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub symbols: Vec<GapSymbol>,          // Functions/classes in gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub preview: SnippetPreview,          // Context for agents
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub kind: SymbolKind,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub signature: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub line_start: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub line_end: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/detectors/coverage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum SymbolKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     Function,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     Method,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Class,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub pre: Vec<String>,      // Context lines before gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub head: Vec<String>,     // First few lines of gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub tail: Vec<String>,     // Last few lines of gap  
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub post: Vec<String>,     // Context lines after gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub markers: GapMarkers,   // Line number markers
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub imports: Vec<String>,  // Imports used in gap (for mocking)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/detectors/coverage.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct GapMarkers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub start_line: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub end_line: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub file_cov_gain: f64,       // Expected file coverage increase
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub repo_cov_gain_est: f64,   // Expected repo coverage increase
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub tests_to_write_est: usize,  // Estimated number of tests needed
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub mocks_est: usize,           // Estimated mocks needed
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub kind: String,                    // Always "coverage"
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub pack_id: String,                 // e.g., "cov:src/lib.rs"
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub file_info: FileInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub gaps: Vec<CoverageGap>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub value: PackValue,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub effort: PackEffort,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub coverage_before: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub coverage_after_if_filled: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub total_gap_loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub avg_complexity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub centrality: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub gap_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub report_paths: Vec<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub max_gaps_per_file: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub min_gap_loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub snippet_context_lines: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub long_gap_head_tail: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub group_cross_file: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub target_repo_gain: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub weights: ScoringWeights,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub exclude_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub size: f64,          // 0.40
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub complexity: f64,    // 0.20
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fan_in: f64,        // 0.15
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub exports: f64,       // 0.10
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub centrality: f64,    // 0.10
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub docs: f64,          // 0.05
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub config: CoverageConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/detectors/coverage.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(config: CoverageConfig) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     ExtractMethod,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ExtractClass,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ReduceComplexity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     EliminateDuplication,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     ImproveNaming,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     SimplifyConditionals,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     RemoveDeadCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/detectors/refactoring.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub struct RefactoringExtractor;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/names_simple.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct SideEffects {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/names_simple.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct ReturnTypeInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/detectors/names_simple.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum TypeCategory {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/names_simple.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Scalar,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Object,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Collection,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Unit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/names_simple.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum ExecutionPattern {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Synchronous,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Asynchronous,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     Ambiguous,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/names_simple.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub enum MismatchType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:40
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:45
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:27
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:45
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:39
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:43
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/lang/common.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Function,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/lang/common.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Method,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Class,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Interface,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Variable,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Constant,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Enum,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Struct,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/io/cache.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cache;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/io/cache.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new() -> Self {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/io/reports.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ReportError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Template(#[from] handlebars::TemplateError),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Render(#[from] handlebars::RenderError),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Serialization(#[from] serde_json::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/io/reports.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ReportGenerator {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/io/reports.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/io/reports.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn with_templates_dir<P: AsRef<Path>>(mut self, templates_dir: P) -> Result<Self, ReportError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/io/reports.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | /     pub fn generate_report<P: AsRef<Path>>(
[INFO] [stdout]  96 | |         &self,
[INFO] [stdout]  97 | |         results: &AnalysisResults,
[INFO] [stdout]  98 | |         output_path: P,
[INFO] [stdout]  99 | |         format: ReportFormat,
[INFO] [stdout] 100 | |     ) -> Result<(), ReportError> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/api/engine.rs:397:17
[INFO] [stdout]     |
[INFO] [stdout] 397 |         assert!(results.summary.entities_analyzed >= 0); // At least no crash
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/api/engine.rs:527:17
[INFO] [stdout]     |
[INFO] [stdout] 527 |         assert!(results.summary.entities_analyzed >= 0);
[INFO] [stdout]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a module
[INFO] [stdout]   --> src/lib.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub mod pipeline;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> src/lib.rs:56:9
[INFO] [stdout]    |
[INFO] [stdout] 56 | #![warn(missing_docs)]
[INFO] [stdout]    |         ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:500:5
[INFO] [stdout]     |
[INFO] [stdout] 500 |     pub fn new() -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/core/pipeline/pipeline_executor.rs:504:5
[INFO] [stdout]     |
[INFO] [stdout] 504 |     pub fn get_all_extractors(&self) -> std::iter::Empty<()> {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub structure_extractor: StructureExtractor,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub complexity_analyzer: ComplexityAnalyzer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/pipeline/pipeline_stages.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub refactoring_analyzer: RefactoringAnalyzer,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:71:5
[INFO] [stdout]    |
[INFO] [stdout] 71 |     pub beta: f64,   // Failure count + 1 (shape parameter)
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub expected_max: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub expected_mean: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 80 |     pub variance_threshold: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub higher_is_worse: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/core/bayesian.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub typical_distribution: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/complexity.rs:47:1
[INFO] [stdout]    |
[INFO] [stdout] 47 | pub struct ComplexityThresholds {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub low: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub moderate: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub high: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/complexity.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub very_high: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:185:5
[INFO] [stdout]     |
[INFO] [stdout] 185 |     Low,
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:186:5
[INFO] [stdout]     |
[INFO] [stdout] 186 |     Moderate,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:187:5
[INFO] [stdout]     |
[INFO] [stdout] 187 |     High,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:188:5
[INFO] [stdout]     |
[INFO] [stdout] 188 |     VeryHigh,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:189:5
[INFO] [stdout]     |
[INFO] [stdout] 189 |     Critical,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/complexity.rs:229:1
[INFO] [stdout]     |
[INFO] [stdout] 229 | pub enum ComplexityIssueType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:230:5
[INFO] [stdout]     |
[INFO] [stdout] 230 |     HighCyclomaticComplexity,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:231:5
[INFO] [stdout]     |
[INFO] [stdout] 231 |     HighCognitiveComplexity,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:232:5
[INFO] [stdout]     |
[INFO] [stdout] 232 |     DeepNesting,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:233:5
[INFO] [stdout]     |
[INFO] [stdout] 233 |     TooManyParameters,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:234:5
[INFO] [stdout]     |
[INFO] [stdout] 234 |     LongFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:235:5
[INFO] [stdout]     |
[INFO] [stdout] 235 |     LongFile,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:236:5
[INFO] [stdout]     |
[INFO] [stdout] 236 |     HighTechnicalDebt,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:237:5
[INFO] [stdout]     |
[INFO] [stdout] 237 |     LowMaintainability,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/complexity.rs:256:1
[INFO] [stdout]     |
[INFO] [stdout] 256 | pub enum RefactoringType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:257:5
[INFO] [stdout]     |
[INFO] [stdout] 257 |     ExtractMethod,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:258:5
[INFO] [stdout]     |
[INFO] [stdout] 258 |     SimplifyConditions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:259:5
[INFO] [stdout]     |
[INFO] [stdout] 259 |     ReduceNesting,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:260:5
[INFO] [stdout]     |
[INFO] [stdout] 260 |     SplitFunction,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:261:5
[INFO] [stdout]     |
[INFO] [stdout] 261 |     ExtractClass,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:262:5
[INFO] [stdout]     |
[INFO] [stdout] 262 |     ReduceParameters,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:263:5
[INFO] [stdout]     |
[INFO] [stdout] 263 |     SimplifyExpressions,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/complexity.rs:264:5
[INFO] [stdout]     |
[INFO] [stdout] 264 |     RemoveDeadCode,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/lsh.rs:340:5
[INFO] [stdout]     |
[INFO] [stdout] 340 |     pub shingle_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/structure/mod.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub branch_reorg_packs: Vec<BranchReorgPack>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/structure/mod.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub file_split_packs: Vec<FileSplitPack>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/mod.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/mod.rs:97:5
[INFO] [stdout]    |
[INFO] [stdout] 97 |     pub fn with_config(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:22:1
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct StructureToggles {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:32:1
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub struct FsDirectoryConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:48:1
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct FsFileConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/config.rs:60:1
[INFO] [stdout]    |
[INFO] [stdout] 60 | pub struct PartitioningConfig {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/directory.rs:19:1
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub struct DirectoryAnalyzer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/directory.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/structure/file.rs:15:1
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct FileAnalyzer {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/detectors/structure/file.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     CoveragePyXml,      // coverage.py XML format
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Lcov,               // LCOV .info format  
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     Cobertura,          // Cobertura XML format
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     JaCoCo,             // JaCoCo XML format
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     IstanbulJson,       // Istanbul JSON format
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Unknown,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub line_number: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 |     pub hits: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:30:5
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub is_covered: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub start: usize,  // inclusive
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub end: usize,    // inclusive  
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub hits: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:45:5
[INFO] [stdout]    |
[INFO] [stdout] 45 |     pub gap_loc: usize,                    // Lines of code in gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:46:5
[INFO] [stdout]    |
[INFO] [stdout] 46 |     pub cyclomatic_in_gap: f64,           // Complexity within gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:47:5
[INFO] [stdout]    |
[INFO] [stdout] 47 |     pub cognitive_in_gap: f64,            // Cognitive complexity within gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:48:5
[INFO] [stdout]    |
[INFO] [stdout] 48 |     pub fan_in_gap: usize,                // Number of callsites
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:49:5
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub exports_touched: bool,            // Contains public APIs
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub dependency_centrality_file: f64,  // File's import graph centrality
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub interface_surface: usize,         // Parameters + return types
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub docstring_or_comment_present: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub exception_density_in_gap: f64,    // Exception handling per KLOC
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub path: PathBuf,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub span: UncoveredSpan,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub file_loc: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub score: f64,                       // 0-1 priority score
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub features: GapFeatures,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub symbols: Vec<GapSymbol>,          // Functions/classes in gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub preview: SnippetPreview,          // Context for agents
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:72:5
[INFO] [stdout]    |
[INFO] [stdout] 72 |     pub kind: SymbolKind,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:73:5
[INFO] [stdout]    |
[INFO] [stdout] 73 |     pub name: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 74 |     pub signature: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:75:5
[INFO] [stdout]    |
[INFO] [stdout] 75 |     pub line_start: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     pub line_end: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/detectors/coverage.rs:80:1
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub enum SymbolKind {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:81:5
[INFO] [stdout]    |
[INFO] [stdout] 81 |     Function,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 82 |     Method,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     Class,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/coverage.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 91 |     pub pre: Vec<String>,      // Context lines before gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub head: Vec<String>,     // First few lines of gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub tail: Vec<String>,     // Last few lines of gap  
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:94:5
[INFO] [stdout]    |
[INFO] [stdout] 94 |     pub post: Vec<String>,     // Context lines after gap
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub markers: GapMarkers,   // Line number markers
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> src/detectors/coverage.rs:96:5
[INFO] [stdout]    |
[INFO] [stdout] 96 |     pub imports: Vec<String>,  // Imports used in gap (for mocking)
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/detectors/coverage.rs:100:1
[INFO] [stdout]     |
[INFO] [stdout] 100 | pub struct GapMarkers {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     pub start_line: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     pub end_line: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     pub file_cov_gain: f64,       // Expected file coverage increase
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     pub repo_cov_gain_est: f64,   // Expected repo coverage increase
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:115:5
[INFO] [stdout]     |
[INFO] [stdout] 115 |     pub tests_to_write_est: usize,  // Estimated number of tests needed
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:116:5
[INFO] [stdout]     |
[INFO] [stdout] 116 |     pub mocks_est: usize,           // Estimated mocks needed
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:122:5
[INFO] [stdout]     |
[INFO] [stdout] 122 |     pub kind: String,                    // Always "coverage"
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:123:5
[INFO] [stdout]     |
[INFO] [stdout] 123 |     pub pack_id: String,                 // e.g., "cov:src/lib.rs"
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 124 |     pub path: PathBuf,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:125:5
[INFO] [stdout]     |
[INFO] [stdout] 125 |     pub file_info: FileInfo,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:126:5
[INFO] [stdout]     |
[INFO] [stdout] 126 |     pub gaps: Vec<CoverageGap>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     pub value: PackValue,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     pub effort: PackEffort,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:134:5
[INFO] [stdout]     |
[INFO] [stdout] 134 |     pub loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 135 |     pub coverage_before: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:136:5
[INFO] [stdout]     |
[INFO] [stdout] 136 |     pub coverage_after_if_filled: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:142:5
[INFO] [stdout]     |
[INFO] [stdout] 142 |     pub total_gap_loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 143 |     pub avg_complexity: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:144:5
[INFO] [stdout]     |
[INFO] [stdout] 144 |     pub centrality: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:145:5
[INFO] [stdout]     |
[INFO] [stdout] 145 |     pub gap_count: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:151:5
[INFO] [stdout]     |
[INFO] [stdout] 151 |     pub enabled: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:152:5
[INFO] [stdout]     |
[INFO] [stdout] 152 |     pub report_paths: Vec<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:153:5
[INFO] [stdout]     |
[INFO] [stdout] 153 |     pub max_gaps_per_file: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:154:5
[INFO] [stdout]     |
[INFO] [stdout] 154 |     pub min_gap_loc: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:155:5
[INFO] [stdout]     |
[INFO] [stdout] 155 |     pub snippet_context_lines: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:156:5
[INFO] [stdout]     |
[INFO] [stdout] 156 |     pub long_gap_head_tail: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:157:5
[INFO] [stdout]     |
[INFO] [stdout] 157 |     pub group_cross_file: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:158:5
[INFO] [stdout]     |
[INFO] [stdout] 158 |     pub target_repo_gain: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:159:5
[INFO] [stdout]     |
[INFO] [stdout] 159 |     pub weights: ScoringWeights,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:160:5
[INFO] [stdout]     |
[INFO] [stdout] 160 |     pub exclude_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:166:5
[INFO] [stdout]     |
[INFO] [stdout] 166 |     pub size: f64,          // 0.40
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:167:5
[INFO] [stdout]     |
[INFO] [stdout] 167 |     pub complexity: f64,    // 0.20
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:168:5
[INFO] [stdout]     |
[INFO] [stdout] 168 |     pub fan_in: f64,        // 0.15
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:169:5
[INFO] [stdout]     |
[INFO] [stdout] 169 |     pub exports: f64,       // 0.10
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:170:5
[INFO] [stdout]     |
[INFO] [stdout] 170 |     pub centrality: f64,    // 0.10
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:171:5
[INFO] [stdout]     |
[INFO] [stdout] 171 |     pub docs: f64,          // 0.05
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/coverage.rs:215:5
[INFO] [stdout]     |
[INFO] [stdout] 215 |     pub config: CoverageConfig,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]    --> src/detectors/coverage.rs:219:5
[INFO] [stdout]     |
[INFO] [stdout] 219 |     pub fn new(config: CoverageConfig) -> Self {
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     ExtractMethod,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     ExtractClass,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     ReduceComplexity,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     EliminateDuplication,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     ImproveNaming,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     SimplifyConditionals,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/refactoring.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     RemoveDeadCode,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]    --> src/detectors/refactoring.rs:402:1
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub struct RefactoringExtractor;
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/names_simple.rs:76:1
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct SideEffects {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/detectors/names_simple.rs:88:1
[INFO] [stdout]    |
[INFO] [stdout] 88 | pub struct ReturnTypeInfo {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/detectors/names_simple.rs:98:1
[INFO] [stdout]    |
[INFO] [stdout] 98 | pub enum TypeCategory {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/detectors/names_simple.rs:99:5
[INFO] [stdout]    |
[INFO] [stdout] 99 |     Scalar,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:100:5
[INFO] [stdout]     |
[INFO] [stdout] 100 |     Object,
[INFO] [stdout]     |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:101:5
[INFO] [stdout]     |
[INFO] [stdout] 101 |     Collection,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:102:5
[INFO] [stdout]     |
[INFO] [stdout] 102 |     Unit,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/names_simple.rs:106:1
[INFO] [stdout]     |
[INFO] [stdout] 106 | pub enum ExecutionPattern {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:107:5
[INFO] [stdout]     |
[INFO] [stdout] 107 |     Synchronous,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout] 108 |     Asynchronous,
[INFO] [stdout]     |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:109:5
[INFO] [stdout]     |
[INFO] [stdout] 109 |     Ambiguous,
[INFO] [stdout]     |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]    --> src/detectors/names_simple.rs:126:1
[INFO] [stdout]     |
[INFO] [stdout] 126 | pub enum MismatchType {
[INFO] [stdout]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:5
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:22
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:127:40
[INFO] [stdout]     |
[INFO] [stdout] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:5
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:27
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:128:45
[INFO] [stdout]     |
[INFO] [stdout] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:5
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:27
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:129:45
[INFO] [stdout]     |
[INFO] [stdout] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                             ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:5
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:21
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:130:39
[INFO] [stdout]     |
[INFO] [stdout] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                       ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:5
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:25
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]    --> src/detectors/names_simple.rs:131:43
[INFO] [stdout]     |
[INFO] [stdout] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stdout]     |                                           ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/lang/common.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 |     Function,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> src/lang/common.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Method,
[INFO] [stdout]   |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Class,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Interface,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     Module,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Variable,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     Constant,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     Enum,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/lang/common.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Struct,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]  --> src/io/cache.rs:4:1
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct Cache;
[INFO] [stdout]   | ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]  --> src/io/cache.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     pub fn new() -> Self {
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an enum
[INFO] [stdout]   --> src/io/reports.rs:14:1
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub enum ReportError {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Template(#[from] handlebars::TemplateError),
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     Render(#[from] handlebars::RenderError),
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Io(#[from] std::io::Error),
[INFO] [stdout]    |     ^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> src/io/reports.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 22 |     Serialization(#[from] serde_json::Error),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct
[INFO] [stdout]   --> src/io/reports.rs:26:1
[INFO] [stdout]    |
[INFO] [stdout] 26 | pub struct ReportGenerator {
[INFO] [stdout]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for an associated function
[INFO] [stdout]   --> src/io/reports.rs:56:5
[INFO] [stdout]    |
[INFO] [stdout] 56 |     pub fn new() -> Self {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]   --> src/io/reports.rs:60:5
[INFO] [stdout]    |
[INFO] [stdout] 60 |     pub fn with_templates_dir<P: AsRef<Path>>(mut self, templates_dir: P) -> Result<Self, ReportError> {
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a method
[INFO] [stdout]    --> src/io/reports.rs:95:5
[INFO] [stdout]     |
[INFO] [stdout]  95 | /     pub fn generate_report<P: AsRef<Path>>(
[INFO] [stdout]  96 | |         &self,
[INFO] [stdout]  97 | |         results: &AnalysisResults,
[INFO] [stdout]  98 | |         output_path: P,
[INFO] [stdout]  99 | |         format: ReportFormat,
[INFO] [stdout] 100 | |     ) -> Result<(), ReportError> {
[INFO] [stdout]     | |________________________________^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::process::Stdio`
[INFO] [stdout]   --> tests/mcp_integration_tests_fixed.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | use std::process::Stdio;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::process::Command as TokioCommand`
[INFO] [stdout]   --> tests/mcp_integration_tests_fixed.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 | use tokio::process::Command as TokioCommand;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Command as StdCommand`
[INFO] [stdout]   --> tests/mcp_integration_tests.rs:11:20
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::process::{Command as StdCommand, Stdio};
[INFO] [stdout]    |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NamedTempFile`
[INFO] [stdout]   --> tests/mcp_integration_tests.rs:12:25
[INFO] [stdout]    |
[INFO] [stdout] 12 | use tempfile::{tempdir, NamedTempFile};
[INFO] [stdout]    |                         ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::io::Write`
[INFO] [stdout]   --> tests/mcp_integration_tests.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use std::io::Write;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/mcp/protocol.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `protocol::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use protocol::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tools::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use tools::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `server::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use server::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> tests/mcp_integration_tests_fixed.rs:1074:9
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1074 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> tests/mcp_integration_tests_fixed.rs:1091:9
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1091 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> tests/mcp_integration_tests_fixed.rs:1115:9
[INFO] [stdout]      |
[INFO] [stdout] 1115 |         timeout(Duration::from_secs(10), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1115 |         let _ = timeout(Duration::from_secs(10), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> tests/mcp_integration_tests_fixed.rs:1137:9
[INFO] [stdout]      |
[INFO] [stdout] 1137 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1137 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> tests/mcp_integration_tests_fixed.rs:1166:9
[INFO] [stdout]      |
[INFO] [stdout] 1166 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1166 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stdout]      |         +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused `Result` that must be used
[INFO] [stdout]     --> tests/mcp_integration_tests_fixed.rs:1212:13
[INFO] [stdout]      |
[INFO] [stdout] 1212 | /             timeout(Duration::from_secs(30), reader.read_line(&mut response)).await
[INFO] [stdout] 1213 | |                 .expect("Should receive response within timeout");
[INFO] [stdout]      | |_________________________________________________________________^
[INFO] [stdout]      |
[INFO] [stdout]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stdout] help: use `let _ = ...` to ignore the resulting value
[INFO] [stdout]      |
[INFO] [stdout] 1212 |             let _ = timeout(Duration::from_secs(30), reader.read_line(&mut response)).await
[INFO] [stdout]      |             +++++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `NamedTempFile`
[INFO] [stdout]     --> src/bin/cli/output.rs:1232:29
[INFO] [stdout]      |
[INFO] [stdout] 1232 |     use tempfile::{TempDir, NamedTempFile};
[INFO] [stdout]      |                             ^^^^^^^^^^^^^
[INFO] [stdout]      |
[INFO] [stdout]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> src/bin/mcp/protocol.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `protocol::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:10:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub use protocol::*;
[INFO] [stdout]    |         ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tools::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:11:9
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use tools::*;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `server::*`
[INFO] [stdout]   --> src/bin/mcp/mod.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub use server::*;
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::env`
[INFO] [stdout]   --> src/bin/valknut.rs:72:9
[INFO] [stdout]    |
[INFO] [stdout] 72 |     use std::env;
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `AnalyzeArgs`, `ImpactArgs`, `InitConfigArgs`, `McpManifestArgs`, `McpStdioArgs`, `StructureArgs`, and `ValidateConfigArgs`
[INFO] [stdout]   --> src/bin/valknut.rs:74:21
[INFO] [stdout]    |
[INFO] [stdout] 74 |     use cli::args::{AnalyzeArgs, InitConfigArgs, ValidateConfigArgs, McpStdioArgs, McpManifestArgs, StructureArgs, ImpactArgs, Outpu...
[INFO] [stdout]    |                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `survey`
[INFO] [stdout]   --> src/bin/cli/commands.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     survey: bool,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `survey_verbosity`
[INFO] [stdout]   --> src/bin/cli/commands.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     survey_verbosity: SurveyVerbosity
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey_verbosity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/bin/cli/commands.rs:665:36
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub async fn analyze_impact_legacy(args: ImpactArgs) -> anyhow::Result<()> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTION_ERROR` is never used
[INFO] [stdout]    --> src/bin/mcp/protocol.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const TOOL_EXECUTION_ERROR: i32 = -32002;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `survey`
[INFO] [stdout]   --> src/bin/cli/commands.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     survey: bool,
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `survey_verbosity`
[INFO] [stdout]   --> src/bin/cli/commands.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     survey_verbosity: SurveyVerbosity
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey_verbosity`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `args`
[INFO] [stdout]    --> src/bin/cli/commands.rs:665:36
[INFO] [stdout]     |
[INFO] [stdout] 665 | pub async fn analyze_impact_legacy(args: ImpactArgs) -> anyhow::Result<()> {
[INFO] [stdout]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: constant `TOOL_EXECUTION_ERROR` is never used
[INFO] [stdout]    --> src/bin/mcp/protocol.rs:118:15
[INFO] [stdout]     |
[INFO] [stdout] 118 |     pub const TOOL_EXECUTION_ERROR: i32 = -32002;
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 02s
[INFO] running `Command { std: "docker" "inspect" "7a46ea7993681efc28963a26ce07f11a13ccf6b9dfc4e2a81cfe9fccd75691d2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7a46ea7993681efc28963a26ce07f11a13ccf6b9dfc4e2a81cfe9fccd75691d2", kill_on_drop: false }`
[INFO] [stdout] 7a46ea7993681efc28963a26ce07f11a13ccf6b9dfc4e2a81cfe9fccd75691d2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:4848fb76d95f26979359cc7e45710b1dbc8f3acb7aeedee7c460d7702230f228" "/opt/rustwide/cargo-home/bin/cargo" "+c2e32f1c9652b13ed99608599c1e855462f421f3" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] aa576f95e5791de454f6f49300253979ce7272bd56499f036a4ce9b371b94508
[INFO] running `Command { std: "docker" "start" "-a" "aa576f95e5791de454f6f49300253979ce7272bd56499f036a4ce9b371b94508", kill_on_drop: false }`
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]   --> src/core/pipeline/pipeline_config.rs:58:13
[INFO] [stderr]    |
[INFO] [stderr] 58 |     fn from(config: ValknutConfig) -> Self {
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `refactoring`
[INFO] [stderr]    --> src/core/pipeline/pipeline_executor.rs:245:9
[INFO] [stderr]     |
[INFO] [stderr] 245 |         refactoring: &super::pipeline_results::RefactoringAnalysisResults,
[INFO] [stderr]     |         ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_refactoring`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `impact`
[INFO] [stderr]    --> src/core/pipeline/pipeline_executor.rs:305:9
[INFO] [stderr]     |
[INFO] [stderr] 305 |         impact: &super::pipeline_results::ImpactAnalysisResults,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_impact`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `config`
[INFO] [stderr]    --> src/core/pipeline/pipeline_executor.rs:484:9
[INFO] [stderr]     |
[INFO] [stderr] 484 |         config: &QualityGateConfig,
[INFO] [stderr]     |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_config`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `entity`
[INFO] [stderr]    --> src/core/featureset.rs:310:31
[INFO] [stderr]     |
[INFO] [stderr] 310 |     fn supports_entity(&self, entity: &CodeEntity) -> bool {
[INFO] [stderr]     |                               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_entity`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]     --> src/detectors/complexity.rs:1806:17
[INFO] [stderr]      |
[INFO] [stderr] 1806 |                 _ => {}
[INFO] [stderr]      |                 ^ no value can reach this
[INFO] [stderr]      |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]     --> src/detectors/complexity.rs:1806:17
[INFO] [stderr]      |
[INFO] [stderr] 1726 |                 ComplexityIssueType::HighCyclomaticComplexity => {
[INFO] [stderr]      |                 --------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1743 |                 ComplexityIssueType::HighCognitiveComplexity => {
[INFO] [stderr]      |                 -------------------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1752 |                 ComplexityIssueType::DeepNesting => {
[INFO] [stderr]      |                 -------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1761 |                 ComplexityIssueType::LongFile => {
[INFO] [stderr]      |                 ----------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 1806 |                 _ => {}
[INFO] [stderr]      |                 ^ ...and 4 other patterns collectively make this unreachable
[INFO] [stderr]      = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `hash_vec`
[INFO] [stderr]    --> src/detectors/lsh.rs:189:21
[INFO] [stderr]     |
[INFO] [stderr] 189 |                 let hash_vec = u64x4::from(hashes);
[INFO] [stderr]     |                     ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_hash_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `sig_vec`
[INFO] [stderr]    --> src/detectors/lsh.rs:190:21
[INFO] [stderr]     |
[INFO] [stderr] 190 |                 let sig_vec = u64x4::from(current_sigs);
[INFO] [stderr]     |                     ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_sig_vec`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `part1_set`
[INFO] [stderr]    --> src/detectors/structure/directory.rs:410:13
[INFO] [stderr]     |
[INFO] [stderr] 410 |         let part1_set: HashSet<_> = part1.iter().copied().collect();
[INFO] [stderr]     |             ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_part1_set`
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a module
[INFO] [stderr]   --> src/lib.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub mod pipeline;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> src/lib.rs:56:9
[INFO] [stderr]    |
[INFO] [stderr] 56 | #![warn(missing_docs)]
[INFO] [stderr]    |         ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/core/pipeline/pipeline_executor.rs:500:5
[INFO] [stderr]     |
[INFO] [stderr] 500 |     pub fn new() -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/core/pipeline/pipeline_executor.rs:504:5
[INFO] [stderr]     |
[INFO] [stderr] 504 |     pub fn get_all_extractors(&self) -> std::iter::Empty<()> {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/pipeline/pipeline_stages.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub structure_extractor: StructureExtractor,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/pipeline/pipeline_stages.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub complexity_analyzer: ComplexityAnalyzer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/pipeline/pipeline_stages.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub refactoring_analyzer: RefactoringAnalyzer,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/bayesian.rs:71:5
[INFO] [stderr]    |
[INFO] [stderr] 71 |     pub beta: f64,   // Failure count + 1 (shape parameter)
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/bayesian.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub expected_max: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/bayesian.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub expected_mean: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/bayesian.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 80 |     pub variance_threshold: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/bayesian.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub higher_is_worse: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/core/bayesian.rs:85:5
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub typical_distribution: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/complexity.rs:47:1
[INFO] [stderr]    |
[INFO] [stderr] 47 | pub struct ComplexityThresholds {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/complexity.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub low: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/complexity.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub moderate: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/complexity.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub high: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/complexity.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub very_high: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:185:5
[INFO] [stderr]     |
[INFO] [stderr] 185 |     Low,
[INFO] [stderr]     |     ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:186:5
[INFO] [stderr]     |
[INFO] [stderr] 186 |     Moderate,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:187:5
[INFO] [stderr]     |
[INFO] [stderr] 187 |     High,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:188:5
[INFO] [stderr]     |
[INFO] [stderr] 188 |     VeryHigh,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:189:5
[INFO] [stderr]     |
[INFO] [stderr] 189 |     Critical,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/detectors/complexity.rs:229:1
[INFO] [stderr]     |
[INFO] [stderr] 229 | pub enum ComplexityIssueType {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:230:5
[INFO] [stderr]     |
[INFO] [stderr] 230 |     HighCyclomaticComplexity,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:231:5
[INFO] [stderr]     |
[INFO] [stderr] 231 |     HighCognitiveComplexity,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:232:5
[INFO] [stderr]     |
[INFO] [stderr] 232 |     DeepNesting,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:233:5
[INFO] [stderr]     |
[INFO] [stderr] 233 |     TooManyParameters,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:234:5
[INFO] [stderr]     |
[INFO] [stderr] 234 |     LongFunction,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:235:5
[INFO] [stderr]     |
[INFO] [stderr] 235 |     LongFile,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:236:5
[INFO] [stderr]     |
[INFO] [stderr] 236 |     HighTechnicalDebt,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:237:5
[INFO] [stderr]     |
[INFO] [stderr] 237 |     LowMaintainability,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/detectors/complexity.rs:256:1
[INFO] [stderr]     |
[INFO] [stderr] 256 | pub enum RefactoringType {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:257:5
[INFO] [stderr]     |
[INFO] [stderr] 257 |     ExtractMethod,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:258:5
[INFO] [stderr]     |
[INFO] [stderr] 258 |     SimplifyConditions,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:259:5
[INFO] [stderr]     |
[INFO] [stderr] 259 |     ReduceNesting,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:260:5
[INFO] [stderr]     |
[INFO] [stderr] 260 |     SplitFunction,
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:261:5
[INFO] [stderr]     |
[INFO] [stderr] 261 |     ExtractClass,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:262:5
[INFO] [stderr]     |
[INFO] [stderr] 262 |     ReduceParameters,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:263:5
[INFO] [stderr]     |
[INFO] [stderr] 263 |     SimplifyExpressions,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/complexity.rs:264:5
[INFO] [stderr]     |
[INFO] [stderr] 264 |     RemoveDeadCode,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/lsh.rs:340:5
[INFO] [stderr]     |
[INFO] [stderr] 340 |     pub shingle_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/structure/mod.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub branch_reorg_packs: Vec<BranchReorgPack>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/structure/mod.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub file_split_packs: Vec<FileSplitPack>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/detectors/structure/mod.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub fn new() -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/detectors/structure/mod.rs:97:5
[INFO] [stderr]    |
[INFO] [stderr] 97 |     pub fn with_config(config: StructureConfig) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/structure/config.rs:22:1
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct StructureToggles {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/structure/config.rs:32:1
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub struct FsDirectoryConfig {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/structure/config.rs:48:1
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct FsFileConfig {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/structure/config.rs:60:1
[INFO] [stderr]    |
[INFO] [stderr] 60 | pub struct PartitioningConfig {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/structure/directory.rs:19:1
[INFO] [stderr]    |
[INFO] [stderr] 19 | pub struct DirectoryAnalyzer {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/detectors/structure/directory.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/structure/file.rs:15:1
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct FileAnalyzer {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/detectors/structure/file.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub fn new(config: StructureConfig) -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     CoveragePyXml,      // coverage.py XML format
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Lcov,               // LCOV .info format  
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     Cobertura,          // Cobertura XML format
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     JaCoCo,             // JaCoCo XML format
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     IstanbulJson,       // Istanbul JSON format
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     Unknown,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub line_number: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 |     pub hits: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:30:5
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub is_covered: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub path: PathBuf,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub start: usize,  // inclusive
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub end: usize,    // inclusive  
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub hits: Option<usize>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:45:5
[INFO] [stderr]    |
[INFO] [stderr] 45 |     pub gap_loc: usize,                    // Lines of code in gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:46:5
[INFO] [stderr]    |
[INFO] [stderr] 46 |     pub cyclomatic_in_gap: f64,           // Complexity within gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:47:5
[INFO] [stderr]    |
[INFO] [stderr] 47 |     pub cognitive_in_gap: f64,            // Cognitive complexity within gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:48:5
[INFO] [stderr]    |
[INFO] [stderr] 48 |     pub fan_in_gap: usize,                // Number of callsites
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:49:5
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub exports_touched: bool,            // Contains public APIs
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub dependency_centrality_file: f64,  // File's import graph centrality
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub interface_surface: usize,         // Parameters + return types
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub docstring_or_comment_present: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     pub exception_density_in_gap: f64,    // Exception handling per KLOC
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub path: PathBuf,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub span: UncoveredSpan,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub file_loc: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub language: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub score: f64,                       // 0-1 priority score
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub features: GapFeatures,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 65 |     pub symbols: Vec<GapSymbol>,          // Functions/classes in gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub preview: SnippetPreview,          // Context for agents
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:72:5
[INFO] [stderr]    |
[INFO] [stderr] 72 |     pub kind: SymbolKind,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:73:5
[INFO] [stderr]    |
[INFO] [stderr] 73 |     pub name: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 74 |     pub signature: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:75:5
[INFO] [stderr]    |
[INFO] [stderr] 75 |     pub line_start: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     pub line_end: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> src/detectors/coverage.rs:80:1
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub enum SymbolKind {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:81:5
[INFO] [stderr]    |
[INFO] [stderr] 81 |     Function,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:82:5
[INFO] [stderr]    |
[INFO] [stderr] 82 |     Method,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 |     Class,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/coverage.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 |     Module,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub language: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 91 |     pub pre: Vec<String>,      // Context lines before gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub head: Vec<String>,     // First few lines of gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub tail: Vec<String>,     // Last few lines of gap  
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:94:5
[INFO] [stderr]    |
[INFO] [stderr] 94 |     pub post: Vec<String>,     // Context lines after gap
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub markers: GapMarkers,   // Line number markers
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> src/detectors/coverage.rs:96:5
[INFO] [stderr]    |
[INFO] [stderr] 96 |     pub imports: Vec<String>,  // Imports used in gap (for mocking)
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/detectors/coverage.rs:100:1
[INFO] [stderr]     |
[INFO] [stderr] 100 | pub struct GapMarkers {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr] 101 |     pub start_line: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 102 |     pub end_line: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 |     pub file_cov_gain: f64,       // Expected file coverage increase
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     pub repo_cov_gain_est: f64,   // Expected repo coverage increase
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:115:5
[INFO] [stderr]     |
[INFO] [stderr] 115 |     pub tests_to_write_est: usize,  // Estimated number of tests needed
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:116:5
[INFO] [stderr]     |
[INFO] [stderr] 116 |     pub mocks_est: usize,           // Estimated mocks needed
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:122:5
[INFO] [stderr]     |
[INFO] [stderr] 122 |     pub kind: String,                    // Always "coverage"
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:123:5
[INFO] [stderr]     |
[INFO] [stderr] 123 |     pub pack_id: String,                 // e.g., "cov:src/lib.rs"
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 124 |     pub path: PathBuf,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:125:5
[INFO] [stderr]     |
[INFO] [stderr] 125 |     pub file_info: FileInfo,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:126:5
[INFO] [stderr]     |
[INFO] [stderr] 126 |     pub gaps: Vec<CoverageGap>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     pub value: PackValue,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 128 |     pub effort: PackEffort,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:134:5
[INFO] [stderr]     |
[INFO] [stderr] 134 |     pub loc: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 135 |     pub coverage_before: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:136:5
[INFO] [stderr]     |
[INFO] [stderr] 136 |     pub coverage_after_if_filled: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:142:5
[INFO] [stderr]     |
[INFO] [stderr] 142 |     pub total_gap_loc: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 143 |     pub avg_complexity: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:144:5
[INFO] [stderr]     |
[INFO] [stderr] 144 |     pub centrality: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:145:5
[INFO] [stderr]     |
[INFO] [stderr] 145 |     pub gap_count: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:151:5
[INFO] [stderr]     |
[INFO] [stderr] 151 |     pub enabled: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:152:5
[INFO] [stderr]     |
[INFO] [stderr] 152 |     pub report_paths: Vec<PathBuf>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:153:5
[INFO] [stderr]     |
[INFO] [stderr] 153 |     pub max_gaps_per_file: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:154:5
[INFO] [stderr]     |
[INFO] [stderr] 154 |     pub min_gap_loc: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:155:5
[INFO] [stderr]     |
[INFO] [stderr] 155 |     pub snippet_context_lines: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:156:5
[INFO] [stderr]     |
[INFO] [stderr] 156 |     pub long_gap_head_tail: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:157:5
[INFO] [stderr]     |
[INFO] [stderr] 157 |     pub group_cross_file: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:158:5
[INFO] [stderr]     |
[INFO] [stderr] 158 |     pub target_repo_gain: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:159:5
[INFO] [stderr]     |
[INFO] [stderr] 159 |     pub weights: ScoringWeights,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:160:5
[INFO] [stderr]     |
[INFO] [stderr] 160 |     pub exclude_patterns: Vec<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:166:5
[INFO] [stderr]     |
[INFO] [stderr] 166 |     pub size: f64,          // 0.40
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:167:5
[INFO] [stderr]     |
[INFO] [stderr] 167 |     pub complexity: f64,    // 0.20
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:168:5
[INFO] [stderr]     |
[INFO] [stderr] 168 |     pub fan_in: f64,        // 0.15
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:169:5
[INFO] [stderr]     |
[INFO] [stderr] 169 |     pub exports: f64,       // 0.10
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:170:5
[INFO] [stderr]     |
[INFO] [stderr] 170 |     pub centrality: f64,    // 0.10
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:171:5
[INFO] [stderr]     |
[INFO] [stderr] 171 |     pub docs: f64,          // 0.05
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/coverage.rs:215:5
[INFO] [stderr]     |
[INFO] [stderr] 215 |     pub config: CoverageConfig,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]    --> src/detectors/coverage.rs:219:5
[INFO] [stderr]     |
[INFO] [stderr] 219 |     pub fn new(config: CoverageConfig) -> Self {
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     ExtractMethod,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     ExtractClass,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     ReduceComplexity,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     EliminateDuplication,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     ImproveNaming,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     SimplifyConditionals,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/refactoring.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     RemoveDeadCode,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]    --> src/detectors/refactoring.rs:402:1
[INFO] [stderr]     |
[INFO] [stderr] 402 | pub struct RefactoringExtractor;
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/names_simple.rs:76:1
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub struct SideEffects {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/detectors/names_simple.rs:88:1
[INFO] [stderr]    |
[INFO] [stderr] 88 | pub struct ReturnTypeInfo {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> src/detectors/names_simple.rs:98:1
[INFO] [stderr]    |
[INFO] [stderr] 98 | pub enum TypeCategory {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/detectors/names_simple.rs:99:5
[INFO] [stderr]    |
[INFO] [stderr] 99 |     Scalar,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:100:5
[INFO] [stderr]     |
[INFO] [stderr] 100 |     Object,
[INFO] [stderr]     |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:101:5
[INFO] [stderr]     |
[INFO] [stderr] 101 |     Collection,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:102:5
[INFO] [stderr]     |
[INFO] [stderr] 102 |     Unit,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/detectors/names_simple.rs:106:1
[INFO] [stderr]     |
[INFO] [stderr] 106 | pub enum ExecutionPattern {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:107:5
[INFO] [stderr]     |
[INFO] [stderr] 107 |     Synchronous,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:108:5
[INFO] [stderr]     |
[INFO] [stderr] 108 |     Asynchronous,
[INFO] [stderr]     |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:109:5
[INFO] [stderr]     |
[INFO] [stderr] 109 |     Ambiguous,
[INFO] [stderr]     |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]    --> src/detectors/names_simple.rs:126:1
[INFO] [stderr]     |
[INFO] [stderr] 126 | pub enum MismatchType {
[INFO] [stderr]     | ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:127:5
[INFO] [stderr]     |
[INFO] [stderr] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:127:22
[INFO] [stderr]     |
[INFO] [stderr] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stderr]     |                      ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:127:40
[INFO] [stderr]     |
[INFO] [stderr] 127 |     EffectMismatch { expected: String, actual: String },
[INFO] [stderr]     |                                        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:128:5
[INFO] [stderr]     |
[INFO] [stderr] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:128:27
[INFO] [stderr]     |
[INFO] [stderr] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:128:45
[INFO] [stderr]     |
[INFO] [stderr] 128 |     CardinalityMismatch { expected: String, actual: String },
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:129:5
[INFO] [stderr]     |
[INFO] [stderr] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:129:27
[INFO] [stderr]     |
[INFO] [stderr] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stderr]     |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:129:45
[INFO] [stderr]     |
[INFO] [stderr] 129 |     OptionalityMismatch { expected: String, actual: String },
[INFO] [stderr]     |                                             ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:130:5
[INFO] [stderr]     |
[INFO] [stderr] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:130:21
[INFO] [stderr]     |
[INFO] [stderr] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stderr]     |                     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:130:39
[INFO] [stderr]     |
[INFO] [stderr] 130 |     AsyncMismatch { expected: String, actual: String },
[INFO] [stderr]     |                                       ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> src/detectors/names_simple.rs:131:5
[INFO] [stderr]     |
[INFO] [stderr] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:131:25
[INFO] [stderr]     |
[INFO] [stderr] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stderr]     |                         ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]    --> src/detectors/names_simple.rs:131:43
[INFO] [stderr]     |
[INFO] [stderr] 131 |     OperationMismatch { expected: String, actual: String },
[INFO] [stderr]     |                                           ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]  --> src/lang/common.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 |     Function,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]  --> src/lang/common.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     Method,
[INFO] [stderr]   |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Class,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Interface,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     Module,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Variable,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     Constant,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     Enum,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/lang/common.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Struct,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]  --> src/io/cache.rs:4:1
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct Cache;
[INFO] [stderr]   | ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]  --> src/io/cache.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     pub fn new() -> Self {
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an enum
[INFO] [stderr]   --> src/io/reports.rs:14:1
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub enum ReportError {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/io/reports.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Template(#[from] handlebars::TemplateError),
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/io/reports.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     Render(#[from] handlebars::RenderError),
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/io/reports.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     Io(#[from] std::io::Error),
[INFO] [stderr]    |     ^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> src/io/reports.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 22 |     Serialization(#[from] serde_json::Error),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct
[INFO] [stderr]   --> src/io/reports.rs:26:1
[INFO] [stderr]    |
[INFO] [stderr] 26 | pub struct ReportGenerator {
[INFO] [stderr]    | ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for an associated function
[INFO] [stderr]   --> src/io/reports.rs:56:5
[INFO] [stderr]    |
[INFO] [stderr] 56 |     pub fn new() -> Self {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]   --> src/io/reports.rs:60:5
[INFO] [stderr]    |
[INFO] [stderr] 60 |     pub fn with_templates_dir<P: AsRef<Path>>(mut self, templates_dir: P) -> Result<Self, ReportError> {
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a method
[INFO] [stderr]    --> src/io/reports.rs:95:5
[INFO] [stderr]     |
[INFO] [stderr]  95 | /     pub fn generate_report<P: AsRef<Path>>(
[INFO] [stderr]  96 | |         &self,
[INFO] [stderr]  97 | |         results: &AnalysisResults,
[INFO] [stderr]  98 | |         output_path: P,
[INFO] [stderr]  99 | |         format: ReportFormat,
[INFO] [stderr] 100 | |     ) -> Result<(), ReportError> {
[INFO] [stderr]     | |________________________________^
[INFO] [stderr] 
[INFO] [stderr] warning: `valknut-rs` (lib) generated 203 warnings (run `cargo fix --lib -p valknut-rs` to apply 8 suggestions)
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/bin/mcp/protocol.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `protocol::*`
[INFO] [stderr]   --> src/bin/mcp/mod.rs:10:9
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub use protocol::*;
[INFO] [stderr]    |         ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tools::*`
[INFO] [stderr]   --> src/bin/mcp/mod.rs:11:9
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub use tools::*;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `server::*`
[INFO] [stderr]   --> src/bin/mcp/mod.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub use server::*;
[INFO] [stderr]    |         ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `survey`
[INFO] [stderr]   --> src/bin/cli/commands.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     survey: bool,
[INFO] [stderr]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `survey_verbosity`
[INFO] [stderr]   --> src/bin/cli/commands.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     survey_verbosity: SurveyVerbosity
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_survey_verbosity`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `args`
[INFO] [stderr]    --> src/bin/cli/commands.rs:665:36
[INFO] [stderr]     |
[INFO] [stderr] 665 | pub async fn analyze_impact_legacy(args: ImpactArgs) -> anyhow::Result<()> {
[INFO] [stderr]     |                                    ^^^^ help: if this is intentional, prefix it with an underscore: `_args`
[INFO] [stderr] 
[INFO] [stderr] warning: constant `TOOL_EXECUTION_ERROR` is never used
[INFO] [stderr]    --> src/bin/mcp/protocol.rs:118:15
[INFO] [stderr]     |
[INFO] [stderr] 118 |     pub const TOOL_EXECUTION_ERROR: i32 = -32002;
[INFO] [stderr]     |               ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `valknut-rs` (bin "valknut") generated 8 warnings (run `cargo fix --bin "valknut" -p valknut-rs` to apply 7 suggestions)
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]   --> src/core/pipeline/mod.rs:21:9
[INFO] [stderr]    |
[INFO] [stderr] 21 |     use std::path::PathBuf;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::lang::common::EntityKind`
[INFO] [stderr]    --> src/core/featureset.rs:611:9
[INFO] [stderr]     |
[INFO] [stderr] 611 |     use crate::lang::common::EntityKind;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ParseFloatError` and `ParseIntError`
[INFO] [stderr]    --> src/core/errors.rs:423:20
[INFO] [stderr]     |
[INFO] [stderr] 423 |     use std::num::{ParseIntError, ParseFloatError};
[INFO] [stderr]     |                    ^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]    --> src/detectors/complexity.rs:270:9
[INFO] [stderr]     |
[INFO] [stderr] 270 |     use std::path::PathBuf;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]    --> src/detectors/complexity.rs:272:9
[INFO] [stderr]     |
[INFO] [stderr] 272 |     use std::io::Write;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]    --> src/detectors/names_simple.rs:546:9
[INFO] [stderr]     |
[INFO] [stderr] 546 |     use std::path::PathBuf;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `ScoringResult`
[INFO] [stderr]    --> src/io/reports.rs:432:32
[INFO] [stderr]     |
[INFO] [stderr] 432 |     use crate::core::scoring::{ScoringResult, Priority};
[INFO] [stderr]     |                                ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::core::featureset::FeatureVector`
[INFO] [stderr]    --> src/io/reports.rs:433:9
[INFO] [stderr]     |
[INFO] [stderr] 433 |     use crate::core::featureset::FeatureVector;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stats`
[INFO] [stderr]    --> src/core/scoring.rs:836:13
[INFO] [stderr]     |
[INFO] [stderr] 836 |         let stats = NormalizationStatistics::from_values(values);
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stats`
[INFO] [stderr]    --> src/core/bayesian.rs:785:13
[INFO] [stderr]     |
[INFO] [stderr] 785 |         let stats = FeatureStatistics {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]    --> src/core/bayesian.rs:854:13
[INFO] [stderr]     |
[INFO] [stderr] 854 |         let mut normalizer = BayesianNormalizer::new("z_score");
[INFO] [stderr]     |             ----^^^^^^^^^^
[INFO] [stderr]     |             |
[INFO] [stderr]     |             help: remove this `mut`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stats`
[INFO] [stderr]    --> src/core/bayesian.rs:857:13
[INFO] [stderr]     |
[INFO] [stderr] 857 |         let stats = FeatureStatistics {
[INFO] [stderr]     |             ^^^^^ help: if this is intentional, prefix it with an underscore: `_stats`
[INFO] [stderr] 
[INFO] [stderr] warning: variable does not need to be mutable
[INFO] [stderr]     --> src/detectors/coverage.rs:2474:13
[INFO] [stderr]      |
[INFO] [stderr] 2474 |         let mut extractor = CoverageExtractor::new(config);
[INFO] [stderr]      |             ----^^^^^^^^^
[INFO] [stderr]      |             |
[INFO] [stderr]      |             help: remove this `mut`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]     --> src/detectors/structure/directory.rs:1763:17
[INFO] [stderr]      |
[INFO] [stderr] 1763 |         assert!(graph.edge_count() >= 0); // May have edges if imports are resolved
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]     --> src/detectors/structure/directory.rs:1815:17
[INFO] [stderr]      |
[INFO] [stderr] 1815 |         assert!(gain.cross_edges_reduced >= 0);
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]     --> src/detectors/structure/directory.rs:1964:17
[INFO] [stderr]      |
[INFO] [stderr] 1964 |         assert!(result >= 0);
[INFO] [stderr]      |                 ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]     --> src/detectors/structure/file.rs:1511:17
[INFO] [stderr]      |
[INFO] [stderr] 1511 |         assert!(graph.node_count() >= 0);
[INFO] [stderr]      |                 ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/api/engine.rs:397:17
[INFO] [stderr]     |
[INFO] [stderr] 397 |         assert!(results.summary.entities_analyzed >= 0); // At least no crash
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/api/engine.rs:527:17
[INFO] [stderr]     |
[INFO] [stderr] 527 |         assert!(results.summary.entities_analyzed >= 0);
[INFO] [stderr]     |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Command as StdCommand`
[INFO] [stderr]   --> tests/mcp_integration_tests.rs:11:20
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::process::{Command as StdCommand, Stdio};
[INFO] [stderr]    |                    ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NamedTempFile`
[INFO] [stderr]   --> tests/mcp_integration_tests.rs:12:25
[INFO] [stderr]    |
[INFO] [stderr] 12 | use tempfile::{tempdir, NamedTempFile};
[INFO] [stderr]    |                         ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::io::Write`
[INFO] [stderr]   --> tests/mcp_integration_tests.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use std::io::Write;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `NamedTempFile`
[INFO] [stderr]     --> src/bin/cli/output.rs:1232:29
[INFO] [stderr]      |
[INFO] [stderr] 1232 |     use tempfile::{TempDir, NamedTempFile};
[INFO] [stderr]      |                             ^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> src/bin/mcp/protocol.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::env`
[INFO] [stderr]   --> src/bin/valknut.rs:72:9
[INFO] [stderr]    |
[INFO] [stderr] 72 |     use std::env;
[INFO] [stderr]    |         ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `AnalyzeArgs`, `ImpactArgs`, `InitConfigArgs`, `McpManifestArgs`, `McpStdioArgs`, `StructureArgs`, and `ValidateConfigArgs`
[INFO] [stderr]   --> src/bin/valknut.rs:74:21
[INFO] [stderr]    |
[INFO] [stderr] 74 |     use cli::args::{AnalyzeArgs, InitConfigArgs, ValidateConfigArgs, McpStdioArgs, McpManifestArgs, StructureArgs, ImpactArgs, Outpu...
[INFO] [stderr]    |                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^  ^^^^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::process::Stdio`
[INFO] [stderr]   --> tests/mcp_integration_tests_fixed.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | use std::process::Stdio;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::process::Command as TokioCommand`
[INFO] [stderr]   --> tests/mcp_integration_tests_fixed.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 | use tokio::process::Command as TokioCommand;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> tests/mcp_integration_tests_fixed.rs:1074:9
[INFO] [stderr]      |
[INFO] [stderr] 1074 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr]      = note: `#[warn(unused_must_use)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1074 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> tests/mcp_integration_tests_fixed.rs:1091:9
[INFO] [stderr]      |
[INFO] [stderr] 1091 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1091 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> tests/mcp_integration_tests_fixed.rs:1115:9
[INFO] [stderr]      |
[INFO] [stderr] 1115 |         timeout(Duration::from_secs(10), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1115 |         let _ = timeout(Duration::from_secs(10), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> tests/mcp_integration_tests_fixed.rs:1137:9
[INFO] [stderr]      |
[INFO] [stderr] 1137 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1137 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> tests/mcp_integration_tests_fixed.rs:1166:9
[INFO] [stderr]      |
[INFO] [stderr] 1166 |         timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1166 |         let _ = timeout(Duration::from_secs(5), reader.read_line(&mut response)).await.unwrap();
[INFO] [stderr]      |         +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: unused `Result` that must be used
[INFO] [stderr]     --> tests/mcp_integration_tests_fixed.rs:1212:13
[INFO] [stderr]      |
[INFO] [stderr] 1212 | /             timeout(Duration::from_secs(30), reader.read_line(&mut response)).await
[INFO] [stderr] 1213 | |                 .expect("Should receive response within timeout");
[INFO] [stderr]      | |_________________________________________________________________^
[INFO] [stderr]      |
[INFO] [stderr]      = note: this `Result` may be an `Err` variant, which should be handled
[INFO] [stderr] help: use `let _ = ...` to ignore the resulting value
[INFO] [stderr]      |
[INFO] [stderr] 1212 |             let _ = timeout(Duration::from_secs(30), reader.read_line(&mut response)).await
[INFO] [stderr]      |             +++++++
[INFO] [stderr] 
[INFO] [stderr] warning: `valknut-rs` (lib test) generated 222 warnings (203 duplicates) (run `cargo fix --lib -p valknut-rs --tests` to apply 13 suggestions)
[INFO] [stderr] warning: `valknut-rs` (test "mcp_integration_tests") generated 3 warnings (run `cargo fix --test "mcp_integration_tests" -p valknut-rs` to apply 2 suggestions)
[INFO] [stderr] warning: `valknut-rs` (bin "valknut" test) generated 11 warnings (7 duplicates) (run `cargo fix --bin "valknut" -p valknut-rs --tests` to apply 4 suggestions)
[INFO] [stderr] warning: `valknut-rs` (test "mcp_integration_tests_fixed") generated 8 warnings (run `cargo fix --test "mcp_integration_tests_fixed" -p valknut-rs` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.65s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/valknut_rs-54b87d581d9c6e4d)
[INFO] [stdout] 
[INFO] [stdout] running 359 tests
[INFO] [stdout] test api::config_types::tests::test_builder_pattern_immutability ... ok
[INFO] [stdout] test api::config_types::tests::test_analysis_config_new ... ok
[INFO] [stdout] test api::config_types::tests::test_max_files_none_conversion ... ok
[INFO] [stdout] test api::config_types::tests::test_pattern_string_conversion ... ok
[INFO] [stdout] test api::config_types::tests::test_to_valknut_config ... ok
[INFO] [stdout] test api::config_types::tests::test_serialization ... ok
[INFO] [stdout] test api::config_types::tests::test_exclude_pattern ... ok
[INFO] [stdout] test api::config_types::tests::test_with_graph_analysis ... ok
[INFO] [stdout] test api::config_types::tests::test_with_language ... ok
[INFO] [stdout] test api::config_types::tests::test_with_languages ... ok
[INFO] [stdout] test api::config_types::tests::test_with_max_files ... ok
[INFO] [stdout] test api::config_types::tests::test_with_lsh_analysis ... ok
[INFO] [stdout] test api::config_types::tests::test_with_confidence_threshold ... ok
[INFO] [stdout] test api::config_types::tests::test_with_refactoring_analysis ... ok
[INFO] [stdout] test api::config_types::tests::test_with_scoring_enabled ... ok
[INFO] [stdout] test api::config_types::tests::test_empty_languages_list ... ok
[INFO] [stdout] test api::config_types::tests::test_include_pattern ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_file_not_directory ... ok
[INFO] [stdout] test api::config_types::tests::test_method_chaining ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_files_empty_list ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_files_no_parent_directory ... ok
[INFO] [stdout] test api::config_types::tests::test_analysis_config_default ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_nonexistent_directory ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_empty_directory ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_vectors ... ok
[INFO] [stdout] test api::engine::tests::test_engine_status ... ok
[INFO] [stdout] test api::engine::tests::test_config_access ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_vectors_empty ... ok
[INFO] [stdout] test api::engine::tests::test_engine_creation ... ok
[INFO] [stdout] test api::engine::tests::test_engine_status_debug ... ok
[INFO] [stdout] test api::engine::tests::test_get_supported_languages ... ok
[INFO] [stdout] test api::engine::tests::test_health_check_result_debug ... ok
[INFO] [stdout] test api::engine::tests::test_health_check ... ok
[INFO] [stdout] test api::engine::tests::test_health_check_debug ... ok
[INFO] [stdout] test api::results::tests::test_analysis_results_critical_candidates ... ok
[INFO] [stdout] test api::results::tests::test_analysis_results_files_analyzed ... ok
[INFO] [stdout] test api::engine::tests::test_health_check_no_message ... ok
[INFO] [stdout] test api::results::tests::test_analysis_results_is_healthy ... ok
[INFO] [stdout] test api::results::tests::test_analysis_results_top_issues ... ok
[INFO] [stdout] test api::results::tests::test_calculate_code_health_score_edge_cases ... ok
[INFO] [stdout] test api::results::tests::test_code_health_calculation ... ok
[INFO] [stdout] test api::results::tests::test_analysis_statistics_creation ... ok
[INFO] [stdout] test api::results::tests::test_feature_belongs_to_category ... ok
[INFO] [stdout] test api::results::tests::test_analysis_summary_default ... ok
[INFO] [stdout] test api::engine::tests::test_health_check_comprehensive ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_vectors_with_multiple_features ... ok
[INFO] [stdout] test api::results::tests::test_generate_suggestions ... ok
[INFO] [stdout] test api::engine::tests::test_health_check_status_equality ... ok
[INFO] [stdout] test api::engine::tests::test_is_ready ... ok
[INFO] [stdout] test api::results::tests::test_feature_contribution_creation ... ok
[INFO] [stdout] test api::results::tests::test_generate_issue_description ... ok
[INFO] [stdout] test api::results::tests::test_memory_stats_fields ... ok
[INFO] [stdout] test api::results::tests::test_refactoring_suggestion_creation ... ok
[INFO] [stdout] test api::results::tests::test_refactoring_candidate_creation ... ok
[INFO] [stdout] test api::results::tests::test_refactoring_issue_creation ... ok
[INFO] [stdout] test api::results::tests::test_serialization_deserialization ... ok
[INFO] [stdout] test api::results::tests::test_refactoring_candidate_fields ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer_confidence_methods ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer_create_generic_prior ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer_add_prior ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer_batch_normalization ... ok
[INFO] [stdout] test api::engine::tests::test_analyze_files_with_parent_directory ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer_get_all_statistics ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_prior ... ok
[INFO] [stdout] test core::bayesian::tests::test_bayesian_normalizer_normalize_value ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_prior_with_range ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_prior_with_type ... ok
[INFO] [stdout] test core::bayesian::tests::test_posterior_calculation ... ok
[INFO] [stdout] test core::bayesian::tests::test_variance_confidence_score ... ok
[INFO] [stdout] test core::errors::tests::test_config_field_error ... ok
[INFO] [stdout] test core::errors::tests::test_error_creation ... ok
[INFO] [stdout] test core::errors::tests::test_error_debug_formatting ... ok
[INFO] [stdout] test core::errors::tests::test_error_display_formatting ... ok
[INFO] [stdout] test core::errors::tests::test_error_with_context ... ok
[INFO] [stdout] test core::errors::tests::test_feature_unavailable ... ok
[INFO] [stdout] test core::errors::tests::test_from_json_error ... ok
[INFO] [stdout] test core::errors::tests::test_from_parse_float_error ... ok
[INFO] [stdout] test core::errors::tests::test_from_parse_int_error ... ok
[INFO] [stdout] test core::errors::tests::test_from_utf8_error ... ok
[INFO] [stdout] test core::errors::tests::test_from_yaml_error ... ok
[INFO] [stdout] test core::errors::tests::test_graph_error ... ok
[INFO] [stdout] test core::errors::tests::test_lsh_error ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_prior_effective_sample_size ... ok
[INFO] [stdout] test core::errors::tests::test_from_io_error ... ok
[INFO] [stdout] test core::errors::tests::test_pipeline_error ... ok
[INFO] [stdout] test core::errors::tests::test_result_ext_with_context ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_prior_prior_variance ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_prior_type_variants ... ok
[INFO] [stdout] test core::bayesian::tests::test_feature_statistics_from_values ... ok
[INFO] [stdout] test core::bayesian::tests::test_variance_confidence ... ok
[INFO] [stdout] test core::errors::tests::test_with_context_math_error ... ok
[INFO] [stdout] test core::errors::tests::test_io_error_creation ... ok
[INFO] [stdout] test core::errors::tests::test_unsupported_error ... ok
[INFO] [stdout] test core::errors::tests::test_math_with_context ... ok
[INFO] [stdout] test core::featureset::tests::test_code_entity_add_property ... ok
[INFO] [stdout] test core::errors::tests::test_validation_error ... ok
[INFO] [stdout] test core::featureset::tests::test_code_entity_line_count ... ok
[INFO] [stdout] test core::featureset::tests::test_cosine_similarity_empty_vectors ... ok
[INFO] [stdout] test core::featureset::tests::test_code_entity_with_source_code ... ok
[INFO] [stdout] test core::featureset::tests::test_cosine_similarity ... ok
[INFO] [stdout] test core::featureset::tests::test_extraction_context ... ok
[INFO] [stdout] test core::featureset::tests::test_cosine_similarity_orthogonal ... ok
[INFO] [stdout] test core::errors::tests::test_parse_with_location ... ok
[INFO] [stdout] test core::errors::tests::test_result_extension ... ok
[INFO] [stdout] test core::errors::tests::test_with_context_non_contextual_error ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_definition ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_definition_with_polarity ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_definition_clamp_value ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_extractor_registry_get_all_feature_definitions ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_polarity_variants ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_vector ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_vector_feature_names ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_vector_suggestions ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_extractor_registry_get_compatible_extractors ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_vector_metadata ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_vector_l2_norm ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_vector_normalized_features ... ok
[INFO] [stdout] test core::featureset::tests::test_refactoring_suggestion ... ok
[INFO] [stdout] test core::featureset::tests::test_refactoring_suggestion_with_location ... ok
[INFO] [stdout] test core::featureset::tests::test_refactoring_suggestion_with_context ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_validation ... ok
[INFO] [stdout] test core::file_utils::tests::test_binary_detection_by_extension ... ok
[INFO] [stdout] test core::file_utils::tests::test_code_file_detection ... ok
[INFO] [stdout] test core::file_utils::tests::test_read_valid_utf8 ... ok
[INFO] [stdout] test core::file_utils::tests::test_count_lines_of_code ... ok
[INFO] [stdout] test core::pipeline::tests::test_quality_gates_evaluation ... ok
[INFO] [stdout] test core::pipeline::tests::test_pipeline_analyze_vectors_legacy ... ok
[INFO] [stdout] test core::pipeline::tests::test_pipeline_extractor_registry ... ok
[INFO] [stdout] test core::pipeline::tests::test_pipeline_fit_legacy_api ... ok
[INFO] [stdout] test core::pipeline::tests::test_pipeline_status ... ok
[INFO] [stdout] test core::pipeline::tests::test_analyze_paths_with_progress ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_normalizer_get_statistics ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_normalizer_normalize_value ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_scorer_compute_scores ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_normalizer_get_all_statistics ... ok
[INFO] [stdout] test core::scoring::tests::test_normalization_statistics ... ok
[INFO] [stdout] test core::scoring::tests::test_normalization_statistics_empty ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_scorer_get_category_weight ... ok
[INFO] [stdout] test core::scoring::tests::test_scoring_result ... ok
[INFO] [stdout] test core::scoring::tests::test_priority_calculation ... ok
[INFO] [stdout] test core::scoring::tests::test_normalization_statistics_percentile ... ok
[INFO] [stdout] test core::scoring::tests::test_scoring_result_needs_refactoring ... ok
[INFO] [stdout] test core::scoring::tests::test_scoring_result_is_high_priority ... ok
[INFO] [stdout] test detectors::complexity::tests::test_analyze_file_disabled ... ok
[INFO] [stdout] test core::scoring::tests::test_priority_value ... ok
[INFO] [stdout] test detectors::complexity::tests::test_analyze_file_integration ... ok
[INFO] [stdout] test detectors::complexity::tests::test_calculate_cyclomatic_complexity ... ok
[INFO] [stdout] test detectors::complexity::tests::test_calculate_cognitive_complexity ... ok
[INFO] [stdout] test core::pipeline::tests::test_analyze_directory_integration ... ok
[INFO] [stdout] test detectors::complexity::tests::test_analyze_python_simple ... ok
[INFO] [stdout] test detectors::complexity::tests::test_complexity_config_default ... ok
[INFO] [stdout] test detectors::complexity::tests::test_complexity_metrics_default ... ok
[INFO] [stdout] test detectors::complexity::tests::test_count_lines_of_code ... ok
[INFO] [stdout] test detectors::complexity::tests::test_count_parameters ... ok
[INFO] [stdout] test detectors::complexity::tests::test_detect_language ... ok
[INFO] [stdout] test detectors::complexity::tests::test_determine_severity ... ok
[INFO] [stdout] test detectors::complexity::tests::test_generate_recommendations ... ok
[INFO] [stdout] test detectors::complexity::tests::test_generate_issues ... ok
[INFO] [stdout] test detectors::complexity::tests::test_calculate_nesting_depth ... ok
[INFO] [stdout] test detectors::complexity::tests::test_complexity_analyzer_creation ... ok
[INFO] [stdout] test detectors::complexity::tests::test_halstead_metrics_default ... ok
[INFO] [stdout] test detectors::coverage::tests::test_build_coverage_packs_integration ... ok
[INFO] [stdout] test detectors::coverage::tests::test_chunk_spans_python_large_span ... ok
[INFO] [stdout] test detectors::coverage::tests::test_chunk_spans_python_small_span ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coalesce_spans_for_file ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_config_default ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_extractor_debug ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_extractor_default ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_extractor_extract ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_extractor_features ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_extractor_name ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_extractor_new_with_config ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_format_variants ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coverage_pack_creation ... ok
[INFO] [stdout] test detectors::coverage::tests::test_detect_format_coverage_py_xml ... ok
[INFO] [stdout] test detectors::coverage::tests::test_detect_format_istanbul_json ... ok
[INFO] [stdout] test detectors::coverage::tests::test_detect_format_lcov ... ok
[INFO] [stdout] test detectors::coverage::tests::test_detect_format_unknown ... ok
[INFO] [stdout] test detectors::coverage::tests::test_detect_language ... ok
[INFO] [stdout] test detectors::coverage::tests::test_estimate_file_centrality ... ok
[INFO] [stdout] test detectors::coverage::tests::test_extract_imports_python ... ok
[INFO] [stdout] test detectors::coverage::tests::test_extract_imports_rust ... ok
[INFO] [stdout] test detectors::coverage::tests::test_coalesce_gaps_basic ... ok
[INFO] [stdout] test detectors::coverage::tests::test_extract_imports_typescript ... ok
[INFO] [stdout] test detectors::coverage::tests::test_extract_lines ... ok
[INFO] [stdout] test detectors::coverage::tests::test_extract_symbol_from_line ... ok
[INFO] [stdout] test detectors::coverage::tests::test_gap_features_creation ... ok
[INFO] [stdout] test detectors::coverage::tests::test_gap_symbol_kinds ... ok
[INFO] [stdout] test detectors::coverage::tests::test_generate_preview_long_gap ... ok
[INFO] [stdout] test detectors::coverage::tests::test_generate_preview_with_real_file ... ok
[INFO] [stdout] test detectors::coverage::tests::test_chunk_spans_by_language_unknown ... ok
[INFO] [stdout] test detectors::coverage::tests::test_line_coverage_creation ... ok
[INFO] [stdout] test detectors::coverage::tests::test_lines_to_spans_adjacent_lines ... ok
[INFO] [stdout] test detectors::coverage::tests::test_normalize_complexity_score ... ok
[INFO] [stdout] test detectors::coverage::tests::test_lines_to_spans_empty ... ok
[INFO] [stdout] test detectors::coverage::tests::test_lines_to_spans_multiple_gaps ... ok
[INFO] [stdout] test detectors::coverage::tests::test_lines_to_spans_single_line ... ok
[INFO] [stdout] test detectors::coverage::tests::test_normalize_fan_in_score ... ok
[INFO] [stdout] test detectors::coverage::tests::test_normalize_size_score ... ok
[INFO] [stdout] test detectors::coverage::tests::test_parse_coverage_py_xml ... ok
[INFO] [stdout] test detectors::coverage::tests::test_parse_coverage_report_integration ... ok
[INFO] [stdout] test detectors::complexity::tests::test_analyze_javascript_simple ... ok
[INFO] [stdout] test detectors::coverage::tests::test_parse_istanbul_json ... ok
[INFO] [stdout] test detectors::coverage::tests::test_snippet_preview_structure ... ok
[INFO] [stdout] test detectors::coverage::tests::test_parse_lcov ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_normalizer ... ok
[INFO] [stdout] test detectors::coverage::tests::test_parse_unknown_format_error ... ok
[INFO] [stdout] test detectors::coverage::tests::test_score_gaps_basic ... ok
[INFO] [stdout] test detectors::coverage::tests::test_scoring_weights_default ... ok
[INFO] [stdout] test detectors::graph::tests::test_dependency_graph ... ok
[INFO] [stdout] test detectors::graph::tests::test_entity_support ... ok
[INFO] [stdout] test detectors::graph::tests::test_graph_extractor ... ok
[INFO] [stdout] test detectors::lsh::tests::test_jaccard_similarity ... ok
[INFO] [stdout] test detectors::lsh::tests::test_lsh_index ... ok
[INFO] [stdout] test detectors::lsh::tests::test_shingle_creation ... ok
[INFO] [stdout] test detectors::lsh::tests::test_lsh_extractor ... ok
[INFO] [stdout] test detectors::lsh::tests::test_minhash_signature ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_check_semantic_mismatch ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_detect_language ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_execution_pattern_variants ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_analyze_files_disabled ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_calculate_impact_score ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_extract_behavior_signature ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_mismatch_type_variants ... ok
[INFO] [stdout] test core::scoring::tests::test_feature_scorer ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_generate_name_proposals ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_names_config_default ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_simple_name_analyzer_creation ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_analyze_file_integration ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_calculate_refactoring_score ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_analyze_files_disabled ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_detect_complex_conditionals ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_detect_dead_code ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_detect_duplicate_code ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_detect_large_classes ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_detect_long_methods ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_feature_extractor_implementation ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_feature_extractor_extract ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_is_class_start ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_extract_function_from_line_rust ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_is_method_start ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_refactoring_analyzer_creation ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_refactoring_type_variants ... ok
[INFO] [stdout] test detectors::refactoring::tests::test_refactoring_config_default ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_analyze_directory_for_reorg_small_directory_skipped ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_brute_force_partition ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_analyze_directory_for_reorg_low_imbalance ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_cut_size ... ok
[INFO] [stdout] test detectors::coverage::tests::test_uncovered_span_creation ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_build_dependency_graph_basic ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_entropy_empty ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_entropy_equal_values ... ok
[INFO] [stdout] test core::featureset::tests::test_feature_extractor_validate_features ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_entropy_single_value ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_entropy_total_zero ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_gini_coefficient_empty ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_gini_coefficient_equal_values ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_directory_metrics ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_gini_coefficient_single_value ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_entropy_large_array_parallel ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_gini_coefficient_sum_zero ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_gini_coefficient_unequal_values ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_reorganization_effort ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_size_normalization_factor ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_analyze_directory_for_reorg_meets_conditions ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_communities_to_partitions ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_directory_analyzer_new ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_reorganization_gain ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_count_lines_of_code ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_extract_imports_by_extension ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_discover_directories ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_extract_javascript_imports_basic ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_extract_python_imports_basic ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_extract_python_imports_star_import ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_extract_rust_imports_basic ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_find_optimal_bipartition ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_generate_file_moves ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_generate_partition_name_fallback ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_estimate_cross_edges_reduced ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_gini_coefficient_large_array_parallel ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_generate_partition_name_with_common_tokens ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_is_code_file ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_label_propagation_partition_empty ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_gather_directory_stats ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_calculate_directory_metrics_caching ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_type_category_variants ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_partition_directory_basic ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_should_skip_directory ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_analyze_entity_names_api_focused ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_analyze_entity_names_core_fallback ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_analyze_entity_names_io_focused ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_analyze_file_for_split_large_file ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_analyze_entity_names_util_focused ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_analyze_file_for_split_small_file ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_resolve_import_relative_import_skipped ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_build_entity_cohesion_graph_empty ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_resolve_import_to_local_file ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_calculate_jaccard_similarity_empty_sets ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_calculate_jaccard_similarity_identical_sets ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_resolve_import_to_local_file_not_found ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_calculate_jaccard_similarity_no_overlap ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_calculate_jaccard_similarity_partial_overlap ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_calculate_split_value ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_discover_large_files ... ok
[INFO] [stdout] test detectors::structure::directory::tests::test_random_partition ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_imports_by_extension ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_collect_large_files_recursive_skips_directories ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_build_entity_cohesion_graph_with_entities ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_javascript_entities ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_python_imports ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_python_entities ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_javascript_imports ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_count_lines_of_code ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_rust_imports ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_file_analyzer_new ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_rust_entities ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_extract_symbols_from_line ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_find_cohesion_communities_empty_graph ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_is_keyword ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_generate_split_name ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_resolve_import_to_local_file ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_resolve_import_to_local_file_not_found ... ok
[INFO] [stdout] test io::cache::tests::test_cache_default ... ok
[INFO] [stdout] test io::cache::tests::test_cache_debug ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_generate_split_suggestions_empty_communities ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_is_code_file ... ok
[INFO] [stdout] test io::cache::tests::test_cache_new ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_should_skip_directory ... ok
[INFO] [stdout] test io::reports::tests::test_generate_json_report ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_extract_function_from_line_python ... ok
[INFO] [stdout] test io::reports::tests::test_calculate_summary ... ok
[INFO] [stdout] test io::reports::tests::test_generate_csv_report ... ok
[INFO] [stdout] test io::reports::tests::test_generate_html_report_default_template ... ok
[INFO] [stdout] test io::reports::tests::test_report_error_debug ... ok
[INFO] [stdout] test io::reports::tests::test_report_error_display ... ok
[INFO] [stdout] test detectors::names_simple::tests::test_analyze_file_integration ... ok
[INFO] [stdout] test io::reports::tests::test_report_generator_debug ... ok
[INFO] [stdout] test io::reports::tests::test_report_generator_default ... ok
[INFO] [stdout] test io::reports::tests::test_load_templates_from_dir_invalid_filename ... ok
[INFO] [stdout] test io::reports::tests::test_prepare_template_data ... ok
[INFO] [stdout] test io::reports::tests::test_load_templates_from_dir_non_hbs_files ... ok
[INFO] [stdout] test lang::common::tests::test_entity_kind_variants ... ok
[INFO] [stdout] test io::reports::tests::test_with_templates_dir_existing ... ok
[INFO] [stdout] test io::reports::tests::test_generate_yaml_report ... ok
[INFO] [stdout] test lang::common::tests::test_parse_index_add_entity ... ok
[INFO] [stdout] test lang::common::tests::test_parse_index_default ... ok
[INFO] [stdout] test lang::common::tests::test_parse_index_get_entities_in_file ... ok
[INFO] [stdout] test io::reports::tests::test_with_templates_dir_nonexistent ... ok
[INFO] [stdout] test lang::common::tests::test_source_location ... ok
[INFO] [stdout] test lang::python_simple::tests::test_simple_class_parsing ... ok
[INFO] [stdout] test lang::python_simple::tests::test_simple_function_parsing ... ok
[INFO] [stdout] test lang::python_simple::tests::test_simple_python_adapter_creation ... ok
[INFO] [stdout] test lang::common::tests::test_parse_index_new ... ok
[INFO] [stdout] test lang::common::tests::test_parsed_entity ... ok
[INFO] [stdout] test io::reports::tests::test_report_generator_new ... ok
[INFO] [stdout] test lang::common::tests::test_parse_index_get_entity ... ok
[INFO] [stdout] test io::reports::tests::test_generate_html_report_custom_template ... ok
[INFO] [stdout] test detectors::structure::file::tests::test_calculate_split_effort ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 359 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.34s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/valknut.rs (/opt/rustwide/target/debug/deps/valknut-9c8e202610140bda)
[INFO] [stdout] 
[INFO] [stdout] running 73 tests
[INFO] [stdout] test cli::commands::tests::test_analyze_structure_legacy ... ok
[INFO] [stdout] test cli::commands::tests::test_analyze_structure_legacy_file_split_only ... ok
[INFO] [stdout] test cli::commands::tests::test_analyze_impact_legacy ... ok
[INFO] [stdout] test cli::commands::tests::test_build_quality_gate_config_defaults ... ok
[INFO] [stdout] test cli::commands::tests::test_display_quality_gate_violations_with_violations ... ok
[INFO] [stdout] test cli::commands::tests::test_build_quality_gate_config_fail_on_issues ... ok
[INFO] [stdout] test cli::commands::tests::test_build_quality_gate_config_quality_gate_enabled ... ok
[INFO] [stdout] test cli::commands::tests::test_display_config_summary ... ok
[INFO] [stdout] test cli::commands::tests::test_display_quality_gate_violations_no_violations ... ok
[INFO] [stdout] test cli::commands::tests::test_analyze_structure_legacy_branch_only ... ok
[INFO] [stdout] test cli::commands::tests::test_format_to_string ... ok
[INFO] [stdout] test cli::commands::tests::test_display_quality_gate_violations_blocker_severity ... ok
[INFO] [stdout] test cli::commands::tests::test_handle_quality_gates_missing_summary ... ok
[INFO] [stdout] test cli::commands::tests::test_handle_quality_gates_basic ... ok
[INFO] [stdout] test cli::commands::tests::test_handle_quality_gates_violations ... ok
[INFO] [stdout] test cli::commands::tests::test_load_configuration_default ... ok
[INFO] [stdout] test cli::commands::tests::test_list_languages ... ok
[INFO] [stdout] test cli::commands::tests::test_mcp_manifest_command_file_output ... ok
[INFO] [stdout] test cli::commands::tests::test_init_config_new_file ... ok
[INFO] [stdout] test cli::commands::tests::test_init_config_force_overwrite ... ok
[INFO] [stdout] test cli::commands::tests::test_mcp_manifest_command_stdout ... ok
[INFO] [stdout] test cli::commands::tests::test_mcp_stdio_command ... ok
[INFO] [stdout] test cli::commands::tests::test_load_configuration_invalid_file ... ok
[INFO] [stdout] test cli::output::tests::test_display_analysis_results ... ok
[INFO] [stdout] test cli::output::tests::test_display_analysis_results_minimal ... ok
[INFO] [stdout] test cli::output::tests::test_display_completion_summary ... ok
[INFO] [stdout] test cli::output::tests::test_display_complexity_recommendations ... ok
[INFO] [stdout] test cli::output::tests::test_display_complexity_recommendations_empty ... ok
[INFO] [stdout] test cli::output::tests::test_display_refactoring_suggestions ... ok
[INFO] [stdout] test cli::output::tests::test_display_refactoring_suggestions_empty ... ok
[INFO] [stdout] test cli::commands::tests::test_validate_config_valid_file ... ok
[INFO] [stdout] test cli::output::tests::test_generate_ci_summary_report ... ok
[INFO] [stdout] test cli::output::tests::test_generate_ci_summary_report_fail ... ok
[INFO] [stdout] test cli::commands::tests::test_load_configuration_json_file ... ok
[INFO] [stdout] test cli::output::tests::test_generate_csv_report_empty ... ok
[INFO] [stdout] test cli::output::tests::test_generate_csv_report ... ok
[INFO] [stdout] test cli::output::tests::test_generate_html_report ... ok
[INFO] [stdout] test cli::output::tests::test_format_to_string ... ok
[INFO] [stdout] test cli::commands::tests::test_validate_config_verbose ... ok
[INFO] [stdout] test cli::commands::tests::test_load_configuration_yaml_file ... ok
[INFO] [stdout] test cli::output::tests::test_generate_markdown_report ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_ci_summary ... ok
[INFO] [stdout] test cli::commands::tests::test_print_header ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_jsonl ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_html ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_csv ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_json ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_missing_fields ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_markdown ... ok
[INFO] [stdout] test cli::output::tests::test_generate_sonar_report ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_sonar ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_with_feedback_quiet ... ok
[INFO] [stdout] test cli::output::tests::test_print_comprehensive_results_pretty ... ok
[INFO] [stdout] test cli::output::tests::test_print_human_readable_results ... ok
[INFO] [stdout] test tests::test_cli_parsing_analyze_default ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_pretty ... ok
[INFO] [stdout] test cli::commands::tests::test_print_default_config ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_with_feedback_not_quiet ... ok
[INFO] [stdout] test tests::test_cli_parsing_impact_legacy ... ok
[INFO] [stdout] test tests::test_cli_parsing_init_config ... ok
[INFO] [stdout] test tests::test_cli_parsing_list_languages ... ok
[INFO] [stdout] test tests::test_cli_parsing_mcp_manifest ... ok
[INFO] [stdout] test tests::test_cli_parsing_mcp_stdio ... ok
[INFO] [stdout] test tests::test_cli_global_flags ... ok
[INFO] [stdout] test tests::test_cli_parsing_structure_legacy ... ok
[INFO] [stdout] test tests::test_cli_parsing_output_format_variants ... ok
[INFO] [stdout] test tests::test_cli_parsing_print_default_config ... ok
[INFO] [stdout] test tests::test_cli_parsing_survey_verbosity_variants ... ok
[INFO] [stdout] test tests::test_cli_parsing_validate_config ... ok
[INFO] [stdout] test cli::output::tests::test_generate_outputs_yaml ... ok
[INFO] [stdout] test tests::test_cli_parsing_quality_gate_options ... ok
[INFO] [stdout] test tests::test_cli_parsing_analyze_with_options ... ok
[INFO] [stdout] test cli::commands::tests::test_mcp_stdio_command_with_config ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 73 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.29s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_tests.rs (/opt/rustwide/target/debug/deps/cli_tests-d7a6f505af28e4aa)
[INFO] [stdout] 
[INFO] [stdout] running 11 tests
[INFO] [stdout] test analyze_help_command ... ok
[INFO] [stdout] test analyze_nonexistent_path ... ok
[INFO] [stdout] test cli_help_command ... ok
[INFO] [stdout] test analyze_empty_directory ... FAILED
[INFO] [stdout] test cli_version_command ... ok
[INFO] [stdout] test analyze_quality_gate_flag ... FAILED
[INFO] [stdout] test analyze_quiet_flag ... FAILED
[INFO] [stdout] test analyze_with_config_file ... FAILED
[INFO] [stdout] test analyze_verbose_flag ... FAILED
[INFO] [stdout] test analyze_yaml_output ... FAILED
[INFO] [stdout] test analyze_pretty_output ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_empty_directory stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_empty_directory' (487) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpOwhbwW" "--format" "json"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] \x1b[1m\x1b[36m┌\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┐\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m│\x1b[39m\x1b[0m \x1b[1m\x1b[96m⚙\u{fe0f}  Valknut v1.2.1 - AI-Powered Code Analysis\x1b[39m\x1b[0m \x1b[1m\x1b[36m│\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m└\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┘\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout] \x1b[32m✅ Using default configuration\x1b[39m
[INFO] [stdout] ╭───────────────┬────────────────────╮
[INFO] [stdout] │ setting       │ value              │
[INFO] [stdout] ├───────────────┼────────────────────┤
[INFO] [stdout] │ Languages     │ Auto-detected      │
[INFO] [stdout] │ Top-K Results │ 20                 │
[INFO] [stdout] │ Granularity   │ File and Directory │
[INFO] [stdout] │ Analysis Mode │ Full Analysis      │
[INFO] [stdout] ╰───────────────┴────────────────────╯
[INFO] [stdout] 
[INFO] [stdout] \x1b[1m\x1b[94m📂 Validating Input Paths\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout]   📁 Directory: \x1b[32m/tmp/.tmpOwhbwW\x1b[39m
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a44dcc - cli_tests::analyze_empty_directory::h5e3b22b4d143936c
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:67:10
[INFO] [stdout]   25:     0x5d7dc2a44e37 - cli_tests::analyze_empty_directory::{{closure}}::h0f53bf574b3323bd
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:59:29
[INFO] [stdout]   26:     0x5d7dc2a41ee6 - core::ops::function::FnOnce::call_once::h9ee4202a7c7ca9a9
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_quality_gate_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_quality_gate_flag' (491) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpoy0dEi" "--quality-gate" "--format" "json"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] \x1b[1m\x1b[36m┌\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┐\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m│\x1b[39m\x1b[0m \x1b[1m\x1b[96m⚙\u{fe0f}  Valknut v1.2.1 - AI-Powered Code Analysis\x1b[39m\x1b[0m \x1b[1m\x1b[36m│\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m└\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┘\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout] \x1b[32m✅ Using default configuration\x1b[39m
[INFO] [stdout] ╭───────────────┬────────────────────╮
[INFO] [stdout] │ setting       │ value              │
[INFO] [stdout] ├───────────────┼────────────────────┤
[INFO] [stdout] │ Languages     │ Auto-detected      │
[INFO] [stdout] │ Top-K Results │ 20                 │
[INFO] [stdout] │ Granularity   │ File and Directory │
[INFO] [stdout] │ Analysis Mode │ Full Analysis      │
[INFO] [stdout] ╰───────────────┴────────────────────╯
[INFO] [stdout] 
[INFO] [stdout] \x1b[1m\x1b[94m📂 Validating Input Paths\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout]   📁 Directory: \x1b[32m/tmp/.tmpoy0dEi\x1b[39m
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a45b07 - cli_tests::analyze_quality_gate_flag::h58a536ca356e74a1
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:173:10
[INFO] [stdout]   25:     0x5d7dc2a45b77 - cli_tests::analyze_quality_gate_flag::{{closure}}::hae70acd173f7a699
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:159:31
[INFO] [stdout]   26:     0x5d7dc2a41f66 - core::ops::function::FnOnce::call_once::hc97a6e53c0382a12
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_quiet_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_quiet_flag' (492) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpvWYpcH" "--quiet" "--format" "json"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=""
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a43ba7 - cli_tests::analyze_quiet_flag::h737773e5553a7ba0
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:137:10
[INFO] [stdout]   25:     0x5d7dc2a43c17 - cli_tests::analyze_quiet_flag::{{closure}}::hb85b09cc9d04b50b
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:123:24
[INFO] [stdout]   26:     0x5d7dc2a41e16 - core::ops::function::FnOnce::call_once::h620306afc1c810b5
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_with_config_file stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_with_config_file' (519) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpjXRQ7B/test-code" "--config" "/tmp/.tmpjXRQ7B/valknut.yml" "--format" "json"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] \x1b[1m\x1b[36m┌\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┐\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m│\x1b[39m\x1b[0m \x1b[1m\x1b[96m⚙\u{fe0f}  Valknut v1.2.1 - AI-Powered Code Analysis\x1b[39m\x1b[0m \x1b[1m\x1b[36m│\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m└\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┘\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout] \x1b[32m✅ Loading configuration from\x1b[39m \x1b[36m/tmp/.tmpjXRQ7B/valknut.yml\x1b[39m
[INFO] [stdout] ╭───────────────┬────────────────────╮
[INFO] [stdout] │ setting       │ value              │
[INFO] [stdout] ├───────────────┼────────────────────┤
[INFO] [stdout] │ Languages     │ Auto-detected      │
[INFO] [stdout] │ Top-K Results │ 5                  │
[INFO] [stdout] │ Granularity   │ File and Directory │
[INFO] [stdout] │ Analysis Mode │ Directory Analysis │
[INFO] [stdout] ╰───────────────┴────────────────────╯
[INFO] [stdout] 
[INFO] [stdout] \x1b[1m\x1b[94m📂 Validating Input Paths\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout]   📁 Directory: \x1b[32m/tmp/.tmpjXRQ7B/test-code\x1b[39m
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a45776 - cli_tests::analyze_with_config_file::hb3e133966b6c0b36
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:119:10
[INFO] [stdout]   25:     0x5d7dc2a45827 - cli_tests::analyze_with_config_file::{{closure}}::h55b791e77d354785
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:71:30
[INFO] [stdout]   26:     0x5d7dc2a41f26 - core::ops::function::FnOnce::call_once::ha04e709e22930588
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_verbose_flag stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_verbose_flag' (508) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpQXxE0t" "--verbose" "--format" "json"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] \x1b[1m\x1b[36m┌\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┐\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m│\x1b[39m\x1b[0m \x1b[1m\x1b[96m⚙\u{fe0f}  Valknut v1.2.1 - AI-Powered Code Analysis\x1b[39m\x1b[0m \x1b[1m\x1b[36m│\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m└\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┘\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout] \x1b[32m✅ Using default configuration\x1b[39m
[INFO] [stdout] ╭───────────────┬────────────────────╮
[INFO] [stdout] │ setting       │ value              │
[INFO] [stdout] ├───────────────┼────────────────────┤
[INFO] [stdout] │ Languages     │ Auto-detected      │
[INFO] [stdout] │ Top-K Results │ 20                 │
[INFO] [stdout] │ Granularity   │ File and Directory │
[INFO] [stdout] │ Analysis Mode │ Full Analysis      │
[INFO] [stdout] ╰───────────────┴────────────────────╯
[INFO] [stdout] 
[INFO] [stdout] \x1b[1m\x1b[94m📂 Validating Input Paths\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout]   📁 Directory: \x1b[32m/tmp/.tmpQXxE0t\x1b[39m
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a44767 - cli_tests::analyze_verbose_flag::h435fb6eaeb02909a
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:155:10
[INFO] [stdout]   25:     0x5d7dc2a447d7 - cli_tests::analyze_verbose_flag::{{closure}}::hbe83b8270b6d7eac
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:141:26
[INFO] [stdout]   26:     0x5d7dc2a41d96 - core::ops::function::FnOnce::call_once::h326ccfab166f42bd
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_yaml_output stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_yaml_output' (580) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpvAZR75" "--format" "yaml"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] \x1b[1m\x1b[36m┌\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┐\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m│\x1b[39m\x1b[0m \x1b[1m\x1b[96m⚙\u{fe0f}  Valknut v1.2.1 - AI-Powered Code Analysis\x1b[39m\x1b[0m \x1b[1m\x1b[36m│\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m└\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┘\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout] \x1b[32m✅ Using default configuration\x1b[39m
[INFO] [stdout] ╭───────────────┬────────────────────╮
[INFO] [stdout] │ setting       │ value              │
[INFO] [stdout] ├───────────────┼────────────────────┤
[INFO] [stdout] │ Languages     │ Auto-detected      │
[INFO] [stdout] │ Top-K Results │ 20                 │
[INFO] [stdout] │ Granularity   │ File and Directory │
[INFO] [stdout] │ Analysis Mode │ Full Analysis      │
[INFO] [stdout] ╰───────────────┴────────────────────╯
[INFO] [stdout] 
[INFO] [stdout] \x1b[1m\x1b[94m📂 Validating Input Paths\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout]   📁 Directory: \x1b[32m/tmp/.tmpvAZR75\x1b[39m
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a43edc - cli_tests::analyze_yaml_output::headdc5e0d76b85e2
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:190:10
[INFO] [stdout]   25:     0x5d7dc2a43f47 - cli_tests::analyze_yaml_output::{{closure}}::haaae278bec93d2f4
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:177:25
[INFO] [stdout]   26:     0x5d7dc2a41fe6 - core::ops::function::FnOnce::call_once::hf0f2d8a744b2e6e0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- analyze_pretty_output stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'analyze_pretty_output' (490) panicked at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5:
[INFO] [stdout] Unexpected failure.
[INFO] [stdout] code=1
[INFO] [stdout] stderr=``````
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] ```
[INFO] [stdout] command=`"/opt/rustwide/target/debug/valknut" "analyze" "/tmp/.tmpUA5T47" "--format" "pretty"`
[INFO] [stdout] code=1
[INFO] [stdout] stdout=```
[INFO] [stdout] \x1b[1m\x1b[36m┌\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┐\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m│\x1b[39m\x1b[0m \x1b[1m\x1b[96m⚙\u{fe0f}  Valknut v1.2.1 - AI-Powered Code Analysis\x1b[39m\x1b[0m \x1b[1m\x1b[36m│\x1b[39m\x1b[0m
[INFO] [stdout] \x1b[1m\x1b[36m└\x1b[39m\x1b[0m\x1b[36m────────────────────────────────────────────────────────────\x1b[39m\x1b[1m\x1b[36m┘\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout] \x1b[32m✅ Using default configuration\x1b[39m
[INFO] [stdout] ╭───────────────┬────────────────────╮
[INFO] [stdout] │ setting       │ value              │
[INFO] [stdout] ├───────────────┼────────────────────┤
[INFO] [stdout] │ Languages     │ Auto-detected      │
[INFO] [stdout] │ Top-K Results │ 20                 │
[INFO] [stdout] │ Granularity   │ File and Directory │
[INFO] [stdout] │ Analysis Mode │ Full Analysis      │
[INFO] [stdout] ╰───────────────┴────────────────────╯
[INFO] [stdout] 
[INFO] [stdout] \x1b[1m\x1b[94m📂 Validating Input Paths\x1b[39m\x1b[0m
[INFO] [stdout] 
[INFO] [stdout]   📁 Directory: \x1b[32m/tmp/.tmpUA5T47\x1b[39m
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] stderr=```
[INFO] [stdout] Error: Read-only file system (os error 30)
[INFO] [stdout] 
[INFO] [stdout] Stack backtrace:
[INFO] [stdout]    0: anyhow::error::<impl core::convert::From<E> for anyhow::Error>::from
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/anyhow-1.0.99/src/backtrace.rs:27:14
[INFO] [stdout]    1: <core::result::Result<T,F> as core::ops::try_trait::FromResidual<core::result::Result<core::convert::Infallible,E>>>::from_residual
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:2184:27
[INFO] [stdout]    2: valknut::cli::commands::analyze_command::{{closure}}
[INFO] [stdout]              at ./src/bin/cli/commands.rs:78:5
[INFO] [stdout]    3: valknut::main::{{closure}}
[INFO] [stdout]              at ./src/bin/valknut.rs:35:74
[INFO] [stdout]    4: <core::pin::Pin<P> as core::future::future::Future>::poll
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/future/future.rs:133:9
[INFO] [stdout]    5: tokio::runtime::park::CachedParkThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:71
[INFO] [stdout]    6: tokio::task::coop::with_budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]    7: tokio::task::coop::budget
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]    8: tokio::runtime::park::CachedParkThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/park.rs:285:31
[INFO] [stdout]    9: tokio::runtime::context::blocking::BlockingRegionGuard::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   10: tokio::runtime::scheduler::multi_thread::MultiThread::block_on::{{closure}}
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   11: tokio::runtime::context::runtime::enter_runtime
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   12: tokio::runtime::scheduler::multi_thread::MultiThread::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   13: tokio::runtime::runtime::Runtime::block_on_inner
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   14: tokio::runtime::runtime::Runtime::block_on
[INFO] [stdout]              at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.47.1/src/runtime/runtime.rs:328:18
[INFO] [stdout]   15: valknut::main
[INFO] [stdout]              at ./src/bin/valknut.rs:65:7
[INFO] [stdout]   16: core::ops::function::FnOnce::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   17: std::sys::backtrace::__rust_begin_short_backtrace
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   18: std::rt::lang_start::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:206:18
[INFO] [stdout]   19: core::ops::function::impls::<impl core::ops::function::FnOnce<A> for &F>::call_once
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:287:21
[INFO] [stdout]   20: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   21: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   22: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   23: std::rt::lang_start_internal::{{closure}}
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:175:24
[INFO] [stdout]   24: std::panicking::catch_unwind::do_call
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   25: std::panicking::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   26: std::panic::catch_unwind
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   27: std::rt::lang_start_internal
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:171:5
[INFO] [stdout]   28: std::rt::lang_start
[INFO] [stdout]              at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/rt.rs:205:5
[INFO] [stdout]   29: main
[INFO] [stdout]   30: <unknown>
[INFO] [stdout]   31: __libc_start_main
[INFO] [stdout]   32: _start
[INFO] [stdout] ```
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::libunwind::trace::h9ea1e07ac77a25d7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5d7dc2b179b2 - std::backtrace_rs::backtrace::trace_unsynchronized::h72b75eb83b53d15a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5d7dc2b179b2 - std::sys::backtrace::_print_fmt::h255777b7ec902439
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:66:9
[INFO] [stdout]    3:     0x5d7dc2b179b2 - <std::sys::backtrace::BacktraceLock::print::DisplayBacktrace as core::fmt::Display>::fmt::h8a1ac49fcd7ee8ce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:39:26
[INFO] [stdout]    4:     0x5d7dc2b28aef - core::fmt::rt::Argument::fmt::h635cbf3c6754cc90
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/rt.rs:173:76
[INFO] [stdout]    5:     0x5d7dc2b28aef - core::fmt::write::hbdcc0ec4f1bab1db
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/fmt/mod.rs:1469:25
[INFO] [stdout]    6:     0x5d7dc2ae2833 - std::io::default_write_fmt::h2580ece0d4b58e51
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5d7dc2ae2833 - std::io::Write::write_fmt::hac9e42858f273b87
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/io/mod.rs:1954:13
[INFO] [stdout]    8:     0x5d7dc2aef232 - std::sys::backtrace::BacktraceLock::print::h052febbd86f7bf07
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:42:9
[INFO] [stdout]    9:     0x5d7dc2af42ff - std::panicking::default_hook::{{closure}}::h66aeee20dd470abb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:301:27
[INFO] [stdout]   10:     0x5d7dc2af4191 - std::panicking::default_hook::h9d66b9642014ce48
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:325:9
[INFO] [stdout]   11:     0x5d7dc2a6635e - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::h8c698701e444e564
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   12:     0x5d7dc2a6635e - test::test_main_with_exit_callback::{{closure}}::ha1c98e7b69c4defb
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5d7dc2af490f - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hc4f222a8a57c637a
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2099:9
[INFO] [stdout]   14:     0x5d7dc2af490f - std::panicking::panic_with_hook::h6d5921a1a1fa5a8e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:842:13
[INFO] [stdout]   15:     0x5d7dc2af476a - std::panicking::panic_handler::{{closure}}::hafeef6f707d43542
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:707:13
[INFO] [stdout]   16:     0x5d7dc2aef369 - std::sys::backtrace::__rust_end_short_backtrace::h08cbc3319a3d0120
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:174:18
[INFO] [stdout]   17:     0x5d7dc2ad6a6d - __rustc[ce5c411ff86ab1b2]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:698:5
[INFO] [stdout]   18:     0x5d7dc2b30b70 - core::panicking::panic_fmt::h774fb860369a0f7b
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5d7dc2a9a670 - core::panicking::panic_display::hb3366a7d63b2dd64
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panicking.rs:264:5
[INFO] [stdout]   20:     0x5d7dc2a91c87 - assert_cmd::assert::AssertError::panic::h6470e6c31a642737
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:1033:9
[INFO] [stdout]   21:     0x5d7dc2a98337 - core::ops::function::FnOnce::call_once::h510cf43a6e7be97e
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   22:     0x5d7dc2a9faa4 - core::result::Result<T,E>::unwrap_or_else::hc5476c4c58c1b1b1
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/result.rs:1622:23
[INFO] [stdout]   23:     0x5d7dc2a92766 - assert_cmd::assert::Assert::success::h6022cdd413940540
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/assert_cmd-2.0.17/src/assert.rs:158:28
[INFO] [stdout]   24:     0x5d7dc2a44a9c - cli_tests::analyze_pretty_output::h7a98997a0617982a
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:207:10
[INFO] [stdout]   25:     0x5d7dc2a44b07 - cli_tests::analyze_pretty_output::{{closure}}::h82cda330caf79701
[INFO] [stdout]                                at /opt/rustwide/workdir/tests/cli_tests.rs:194:27
[INFO] [stdout]   26:     0x5d7dc2a41ea6 - core::ops::function::FnOnce::call_once::h97d7107fa1f4ca69
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   27:     0x5d7dc2a661ab - core::ops::function::FnOnce::call_once::h4f6eabe90cccb47d
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   28:     0x5d7dc2a661ab - test::__rust_begin_short_backtrace::h94208530f2b4c8c7
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:663:18
[INFO] [stdout]   29:     0x5d7dc2a7a1bd - test::run_test_in_process::{{closure}}::hbdc6a45a78c46404
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:74
[INFO] [stdout]   30:     0x5d7dc2a7a1bd - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h7f9d8efc7eedd165
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   31:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::do_call::he5edbaf126c13b99
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   32:     0x5d7dc2a7a1bd - std::panicking::catch_unwind::h3d6a8652eceeabce
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   33:     0x5d7dc2a7a1bd - std::panic::catch_unwind::hbef0c501dd7bb498
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   34:     0x5d7dc2a7a1bd - test::run_test_in_process::h400008a46a5006a0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:686:27
[INFO] [stdout]   35:     0x5d7dc2a7a1bd - test::run_test::{{closure}}::h9a131655b31d9427
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:607:43
[INFO] [stdout]   36:     0x5d7dc2a53704 - test::run_test::{{closure}}::he4a7177c216308c0
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/test/src/lib.rs:637:41
[INFO] [stdout]   37:     0x5d7dc2a53704 - std::sys::backtrace::__rust_begin_short_backtrace::hd3980e9c55d6c539
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/backtrace.rs:158:18
[INFO] [stdout]   38:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::{{closure}}::h18552df67c7aa9b8
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:562:17
[INFO] [stdout]   39:     0x5d7dc2a5703a - <core::panic::unwind_safe::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once::h3d7b285234641a08
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   40:     0x5d7dc2a5703a - std::panicking::catch_unwind::do_call::h5a2b5cf36528a5b2
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:590:40
[INFO] [stdout]   41:     0x5d7dc2a5703a - std::panicking::catch_unwind::h7e8b531bbda77d20
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panicking.rs:553:19
[INFO] [stdout]   42:     0x5d7dc2a5703a - std::panic::catch_unwind::hf9bbb2040b4f1e6c
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/panic.rs:359:14
[INFO] [stdout]   43:     0x5d7dc2a5703a - std::thread::Builder::spawn_unchecked_::{{closure}}::h600f92cf68549574
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/thread/mod.rs:560:30
[INFO] [stdout]   44:     0x5d7dc2a5703a - core::ops::function::FnOnce::call_once{{vtable.shim}}::hb6607307df8a1847
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5d7dc2aea64f - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h6891ad53a5ed6f52
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/alloc/src/boxed.rs:2085:9
[INFO] [stdout]   46:     0x5d7dc2aea64f - std::sys::thread::unix::Thread::new::thread_start::h7f3e77fa86df70af
[INFO] [stdout]                                at /rustc/c2e32f1c9652b13ed99608599c1e855462f421f3/library/std/src/sys/thread/unix.rs:124:17
[INFO] [stdout]   47:     0x7313ffec1aa4 - <unknown>
[INFO] [stdout]   48:     0x7313fff4ea64 - clone
[INFO] [stdout]   49:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     analyze_empty_directory
[INFO] [stdout]     analyze_pretty_output
[INFO] [stdout]     analyze_quality_gate_flag
[INFO] [stdout]     analyze_quiet_flag
[INFO] [stdout]     analyze_verbose_flag
[INFO] [stdout]     analyze_with_config_file
[INFO] [stdout]     analyze_yaml_output
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 4 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s
[INFO] [stdout] 
[INFO] [stderr] error: test failed, to rerun pass `--test cli_tests`
[INFO] running `Command { std: "docker" "inspect" "aa576f95e5791de454f6f49300253979ce7272bd56499f036a4ce9b371b94508", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "aa576f95e5791de454f6f49300253979ce7272bd56499f036a4ce9b371b94508", kill_on_drop: false }`
[INFO] [stdout] aa576f95e5791de454f6f49300253979ce7272bd56499f036a4ce9b371b94508
