[INFO] fetching crate ktme 0.2.0...
[INFO] testing ktme-0.2.0 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate ktme 0.2.0 into /workspace/builds/worker-4-tc1/source
[INFO] started tweaking crates.io crate ktme 0.2.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate ktme 0.2.0
[INFO] tweaked toml for crates.io crate ktme 0.2.0 written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate ktme 0.2.0 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate ktme 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded predicates v3.1.3
[INFO] [stderr]   Downloaded difflib v0.4.0
[INFO] [stderr]   Downloaded normalize-line-endings v0.3.0
[INFO] [stderr]   Downloaded predicates-core v1.0.9
[INFO] [stderr]   Downloaded pulldown-cmark-escape v0.10.1
[INFO] [stderr]   Downloaded predicates-tree v1.0.12
[INFO] [stderr]   Downloaded termtree v0.5.1
[INFO] [stderr]   Downloaded slug v0.1.6
[INFO] [stderr]   Downloaded xdg v2.5.2
[INFO] [stderr]   Downloaded assert_cmd v2.1.1
[INFO] [stderr]   Downloaded entities v1.0.1
[INFO] [stderr]   Downloaded typed-arena v2.0.2
[INFO] [stderr]   Downloaded pulldown-cmark v0.10.3
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded comrak v0.21.0
[INFO] [stderr]   Downloaded git2 v0.18.3
[INFO] [stderr]   Downloaded libgit2-sys v0.16.2+1.7.2
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] c2088624b313addc2beea17106f78cd6a4745ffb7781b5faa1c27e40e5cd6ec8
[INFO] running `Command { std: "docker" "start" "-a" "c2088624b313addc2beea17106f78cd6a4745ffb7781b5faa1c27e40e5cd6ec8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c2088624b313addc2beea17106f78cd6a4745ffb7781b5faa1c27e40e5cd6ec8", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c2088624b313addc2beea17106f78cd6a4745ffb7781b5faa1c27e40e5cd6ec8", kill_on_drop: false }`
[INFO] [stdout] c2088624b313addc2beea17106f78cd6a4745ffb7781b5faa1c27e40e5cd6ec8
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] c4bda155f38d29c3615ac33ddd0e63ff4291bcbfdc9886db67d6a71c275dcb5c
[INFO] running `Command { std: "docker" "start" "-a" "c4bda155f38d29c3615ac33ddd0e63ff4291bcbfdc9886db67d6a71c275dcb5c", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.178
[INFO] [stderr]    Compiling find-msvc-tools v0.1.5
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling tracing-core v0.1.35
[INFO] [stderr]    Compiling icu_properties_data v2.1.1
[INFO] [stderr]    Compiling syn v2.0.111
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling strsim v0.10.0
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling zerocopy v0.8.31
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling regex-automata v0.4.13
[INFO] [stderr]    Compiling simd-adler32 v0.3.7
[INFO] [stderr]    Compiling clap_lex v0.7.6
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling pulldown-cmark v0.10.3
[INFO] [stderr]    Compiling iri-string v0.7.9
[INFO] [stderr]    Compiling deunicode v1.6.2
[INFO] [stderr]    Compiling winnow v0.7.14
[INFO] [stderr]    Compiling rustls-pki-types v1.13.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling slug v0.1.6
[INFO] [stderr]    Compiling flate2 v1.1.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling mio v1.1.0
[INFO] [stderr]    Compiling socket2 v0.6.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.7
[INFO] [stderr]    Compiling cc v1.2.48
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling entities v1.0.1
[INFO] [stderr]    Compiling xdg v2.5.2
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling shell-words v1.1.0
[INFO] [stderr]    Compiling unicase v2.8.1
[INFO] [stderr]    Compiling utf8-width v0.1.8
[INFO] [stderr]    Compiling pulldown-cmark-escape v0.10.1
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling typed-arena v2.0.2
[INFO] [stderr]    Compiling html-escape v0.2.13
[INFO] [stderr]    Compiling directories v5.0.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling uuid v1.19.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling urlencoding v2.1.3
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling libz-sys v1.1.23
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling libssh2-sys v0.3.1
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling libgit2-sys v0.16.2+1.7.2
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling regex v1.12.2
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling darling_core v0.14.4
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.17
[INFO] [stderr]    Compiling clap_derive v4.5.49
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling darling_macro v0.14.4
[INFO] [stderr]    Compiling darling v0.14.4
[INFO] [stderr]    Compiling tokio v1.48.0
[INFO] [stderr]    Compiling derive_builder_core v0.12.0
[INFO] [stderr]    Compiling tracing v0.1.43
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling thiserror v2.0.17
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling derive_builder_macro v0.12.0
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling derive_builder v0.12.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling chrono v0.4.42
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling syntect v5.3.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.7
[INFO] [stderr]    Compiling comrak v0.21.0
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tokio-util v0.7.17
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling h2 v0.4.12
[INFO] [stderr]    Compiling git2 v0.18.3
[INFO] [stderr]    Compiling tower-http v0.6.7
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.19
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.24
[INFO] [stderr]    Compiling ktme v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: struct `GitHubFile` is never constructed
[INFO] [stdout]   --> src/git/providers/github.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct GitHubFile {
[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 import: `std::path::PathBuf`
[INFO] [stdout]  --> src/bin/test_search_only.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | 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: `ktme::storage::database::Database`
[INFO] [stdout]  --> src/bin/test_db_simple.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ktme::storage::database::Database;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_fallback` and `test_connection` are never used
[INFO] [stdout]   --> src/ai/client.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AIClient {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn new_with_fallback() -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub async fn test_connection(&self) -> Result<bool> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentGenerator` is never constructed
[INFO] [stdout]  --> src/doc/generator.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DocumentGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/doc/generator.rs:12:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl DocumentGenerator {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  12 |     pub fn new(template: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  20 |     pub fn with_templates(template: Option<String>) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn generate(&self, content: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn update(&self, existing: &str, new_content: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn parse_sections(content: &str) -> HashMap<String, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn reconstruct_document(sections: &HashMap<String, String>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn default_format(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Document` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Document {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentMetadata` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct DocumentMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PublishResult` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct PublishResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PublishStatus` is never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum PublishStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DocumentProvider` is never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub trait DocumentProvider: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderFactory` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct ProviderFactory;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl ProviderFactory {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 88 |     pub fn create(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]  --> src/doc/providers/config.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ProviderConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stdout]   --> src/doc/providers/config.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ConfluenceConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]   --> src/doc/providers/config.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn default_true() -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownConfig` is never constructed
[INFO] [stdout]   --> src/doc/providers/config.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct MarkdownConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_extension` is never used
[INFO] [stdout]   --> src/doc/providers/config.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn default_extension() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderRegistry` is never constructed
[INFO] [stdout]   --> src/doc/providers/config.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ProviderRegistry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_provider`, `get_provider`, `get_default_provider`, and `list_providers` are never used
[INFO] [stdout]   --> src/doc/providers/config.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ProviderRegistry {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 70 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn add_provider(&mut self, config: ProviderConfig) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_provider(&self, provider_type: &str) -> Option<&ProviderConfig> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn get_default_provider(&self) -> Option<&ProviderConfig> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn list_providers(&self) -> Vec<&ProviderConfig> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceProvider` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ConfluenceProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluencePage` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct ConfluencePage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceVersion` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct ConfluenceVersion {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageContent` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct PageContent {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceSpace` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct ConfluenceSpace {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageBody` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct PageBody {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Storage {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageUpdate` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct PageUpdate {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResponse` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct SearchResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct SearchResult {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/doc/providers/confluence.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl ConfluenceProvider {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  90 |     pub fn new(config: ConfluenceConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn api_url(&self, path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     async fn make_request<T: for<'de> Deserialize<'de>>(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     async fn get_page_by_id(&self, page_id: &str) -> Result<Option<PageContent>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn search_page_by_title(&self, title: &str) -> Result<Option<ConfluencePage>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     async fn create_page(&self, doc: &Document) -> Result<PageContent> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     async fn update_page(&self, page_id: &str, doc: &Document) -> Result<PageContent> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn convert_to_document(&self, page: PageContent) -> Document {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownProvider` is never constructed
[INFO] [stdout]   --> src/doc/providers/markdown.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MarkdownProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `resolve_path`, `read_file`, `write_file`, and `file_metadata` are never used
[INFO] [stdout]   --> src/doc/providers/markdown.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MarkdownProvider {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(config: MarkdownConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn resolve_path(&self, location: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn read_file(&self, path: &Path) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn write_file(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn file_metadata(&self, path: &Path) -> Result<DocumentMetadata> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TemplateEngine` is never constructed
[INFO] [stdout]  --> src/doc/templates.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TemplateEngine {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/doc/templates.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl TemplateEngine {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  18 |     pub fn load_template(&mut self, name: &str, content: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn load_template_from_file(&mut self, name: &str, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     pub fn load_templates_from_directory(&mut self, dir: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn render(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn render_content(content: &str, variables: &HashMap<String, String>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn remove_empty_placeholders(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn list_templates(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn has_template(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn default_template_directory() -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `space_key` is never read
[INFO] [stdout]  --> src/doc/writers/confluence.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ConfluenceWriter {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     space_key: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_page` is never used
[INFO] [stdout]   --> src/doc/writers/confluence.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ConfluenceWriter {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub async fn create_page(&self, title: &str, content: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePageRequest` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 267 | struct CreatePageRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpaceKey` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | struct SpaceKey {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePageResponse` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct CreatePageResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownWriter` is never constructed
[INFO] [stdout]  --> src/doc/writers/markdown.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MarkdownWriter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `write`, `update`, and `update_specific_section` are never used
[INFO] [stdout]   --> src/doc/writers/markdown.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl MarkdownWriter {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(_base_path: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn write(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub async fn update(&self, path: &Path, content: &str, section: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn update_specific_section(existing: &str, section_name: &str, new_content: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mcp`, `Documentation`, `ConfigError`, `SerializationError`, `DocumentExists`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum KtmeError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Mcp(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     Documentation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     ConfigError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     SerializationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     DocumentExists(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     Unknown(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KtmeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_range` and `get_repository_info` are never used
[INFO] [stdout]   --> src/git/diff.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl DiffExtractor {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn extract_range(&self, range: &str) -> Result<Vec<ExtractedDiff>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn get_repository_info(&self) -> Result<RepositoryInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepositoryInfo` is never constructed
[INFO] [stdout]   --> src/git/diff.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct RepositoryInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStatus` is never constructed
[INFO] [stdout]   --> src/git/diff.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct FileStatus {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubFile` is never constructed
[INFO] [stdout]   --> src/git/providers/github.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct GitHubFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/git/providers/gitlab.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl GitLabProvider {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 49 |     pub fn new(api_token: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_repository_path`, `get_current_branch`, and `get_status` are never used
[INFO] [stdout]    --> src/git/reader.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl GitReader {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn get_repository_path(&self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn get_current_branch(&self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn get_status(&self) -> Result<Vec<(String, Status)>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpClient` is never constructed
[INFO] [stdout]  --> src/mcp/client.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct McpClient {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `send_request` are never used
[INFO] [stdout]   --> src/mcp/client.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl McpClient {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(model: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub async fn send_request(&self, _prompt: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/mcp/server.rs:855:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl McpServer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 855 |     pub async fn stop(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_directory` is never used
[INFO] [stdout]   --> src/service_detector.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ServiceDetector {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_directory(dir: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `in_memory`, `path`, `health_check`, and `stats` are never used
[INFO] [stdout]    --> src/storage/database.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Database {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn in_memory() -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn health_check(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn stats(&self) -> Result<DatabaseStats> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseStats` is never constructed
[INFO] [stdout]    --> src/storage/database.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct DatabaseStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `docs` is never read
[INFO] [stdout]   --> src/storage/discovery.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct DiscoveredService {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub docs: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiscoveredService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/mapping.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn initialize_database(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn get_database_stats(&self) -> Result<crate::storage::database::DatabaseStats> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn create_feature(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn get_service_features(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub fn search_features(&self, query: &SearchQuery) -> Result<Vec<SearchResult>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 491 |     pub fn search_features_by_text(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     pub fn update_feature_relevance(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ProviderConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptTemplate` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct PromptTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptVariable` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct PromptVariable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentTemplate` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DocumentTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationRecord` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct GenerationRecord {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffCache` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct DiffCache {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct ConfluenceConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/storage/models.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn default_true() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownConfig` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct MarkdownConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_extension` is never used
[INFO] [stdout]    --> src/storage/models.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn default_extension() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenerationAction` is never used
[INFO] [stdout]    --> src/storage/models.rs:153:10
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum GenerationAction {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenerationStatus` is never used
[INFO] [stdout]    --> src/storage/models.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum GenerationStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SourceType` is never used
[INFO] [stdout]    --> src/storage/models.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub enum SourceType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Feature` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub struct Feature {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FeatureType` is never used
[INFO] [stdout]    --> src/storage/models.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub enum FeatureType {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeatureRelation` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub struct FeatureRelation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelationType` is never used
[INFO] [stdout]    --> src/storage/models.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub enum RelationType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchIndex` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct SearchIndex {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchContentType` is never used
[INFO] [stdout]    --> src/storage/models.rs:313:10
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub enum SearchContentType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct SearchResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeNode` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct KnowledgeNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KnowledgeNodeType` is never used
[INFO] [stdout]    --> src/storage/models.rs:367:10
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub enum KnowledgeNodeType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeEdge` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct KnowledgeEdge {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchQuery` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct SearchQuery {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryContext` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:402:12
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub struct QueryContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryIntent` is never used
[INFO] [stdout]    --> src/storage/models.rs:415:10
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum QueryIntent {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeGraph` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct KnowledgeGraph {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_id`, `update`, and `delete` are never used
[INFO] [stdout]    --> src/storage/repository.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ServiceRepository {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn get_by_id(&self, id: i64) -> Result<Option<Service>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn update(&self, id: i64, path: Option<&str>, description: Option<&str>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn delete(&self, name: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_provider`, `get_primary`, `delete`, and `set_primary` are never used
[INFO] [stdout]    --> src/storage/repository.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DocumentMappingRepository {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_by_provider(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn get_primary(&self, service_id: i64) -> Result<Option<DocumentMapping>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn delete(&self, id: i64) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_primary(&self, id: i64, service_id: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfigRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct ProviderConfigRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/repository.rs:355:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | impl ProviderConfigRepository {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 355 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn save(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn get(&self, provider_type: &str) -> Result<Option<ProviderConfig>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn get_default(&self) -> Result<Option<ProviderConfig>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub fn list(&self) -> Result<Vec<ProviderConfig>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn set_default(&self, provider_type: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn delete(&self, provider_type: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationHistoryRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub struct GenerationHistoryRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `get_recent`, and `get_for_service` are never used
[INFO] [stdout]    --> src/storage/repository.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 510 | impl GenerationHistoryRepository {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 511 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     pub fn get_recent(&self, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_for_service(&self, service_id: i64, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffCacheRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:633:12
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub struct DiffCacheRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, `get`, `clear_expired`, and `clear_all` are never used
[INFO] [stdout]    --> src/storage/repository.rs:638:12
[INFO] [stdout]     |
[INFO] [stdout] 637 | impl DiffCacheRepository {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 638 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub fn set(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 666 |     pub fn get(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 701 |     pub fn clear_expired(&self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     pub fn clear_all(&self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeatureRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:729:12
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub struct FeatureRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create`, `get_by_id`, `list_by_service`, `search`, and `update_relevance_score` are never used
[INFO] [stdout]     --> src/storage/repository.rs:734:12
[INFO] [stdout]      |
[INFO] [stdout]  733 | impl FeatureRepository {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout]  734 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  738 |     pub fn create(
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  772 |     pub fn get_by_id(&self, id: &str) -> Result<Option<Feature>> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  821 |     pub fn list_by_service(&self, service_id: i64) -> Result<Vec<Feature>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  873 |     pub fn search(&self, query: &SearchQuery) -> Result<Vec<SearchResult>> {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1003 |     pub fn update_relevance_score(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 45s
[INFO] running `Command { std: "docker" "inspect" "c4bda155f38d29c3615ac33ddd0e63ff4291bcbfdc9886db67d6a71c275dcb5c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4bda155f38d29c3615ac33ddd0e63ff4291bcbfdc9886db67d6a71c275dcb5c", kill_on_drop: false }`
[INFO] [stdout] c4bda155f38d29c3615ac33ddd0e63ff4291bcbfdc9886db67d6a71c275dcb5c
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d67a8c574ab45ff3e2cc110e2461f459367fc5b4387e28cf7b8fd53f20ce13d4
[INFO] running `Command { std: "docker" "start" "-a" "d67a8c574ab45ff3e2cc110e2461f459367fc5b4387e28cf7b8fd53f20ce13d4", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.2
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling float-cmp v0.10.0
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.1.1
[INFO] [stderr]    Compiling normalize-line-endings v0.3.0
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling terminal_size v0.4.3
[INFO] [stderr]    Compiling tempfile v3.23.0
[INFO] [stderr]    Compiling clap_builder v4.5.53
[INFO] [stderr]    Compiling clap v4.5.53
[INFO] [stderr]    Compiling comrak v0.21.0
[INFO] [stderr]    Compiling ktme v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/doc/templates.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let engine = TemplateEngine::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/doc/templates.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let engine = TemplateEngine::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubFile` is never constructed
[INFO] [stdout]   --> src/git/providers/github.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct GitHubFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubFile` is never constructed
[INFO] [stdout]   --> src/git/providers/github.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct GitHubFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/storage/database.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |             stats.feature_count >= 0,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::path::PathBuf`
[INFO] [stdout]  --> src/bin/test_search_only.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | 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: `ktme::storage::database::Database`
[INFO] [stdout]  --> src/bin/test_db_simple.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ktme::storage::database::Database;
[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::path::PathBuf`
[INFO] [stdout]  --> src/bin/test_search_only.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | 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: `ktme::storage::database::Database`
[INFO] [stdout]  --> src/bin/test_db_simple.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use ktme::storage::database::Database;
[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 variable: `engine`
[INFO] [stdout]    --> src/doc/templates.rs:133:13
[INFO] [stdout]     |
[INFO] [stdout] 133 |         let engine = TemplateEngine::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `engine`
[INFO] [stdout]    --> src/doc/templates.rs:146:13
[INFO] [stdout]     |
[INFO] [stdout] 146 |         let engine = TemplateEngine::new();
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_fallback` and `test_connection` are never used
[INFO] [stdout]   --> src/ai/client.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AIClient {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn new_with_fallback() -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub async fn test_connection(&self) -> Result<bool> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentGenerator` is never constructed
[INFO] [stdout]  --> src/doc/generator.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct DocumentGenerator {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/doc/generator.rs:12:12
[INFO] [stdout]     |
[INFO] [stdout]  11 | impl DocumentGenerator {
[INFO] [stdout]     | ---------------------- associated items in this implementation
[INFO] [stdout]  12 |     pub fn new(template: Option<String>) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  20 |     pub fn with_templates(template: Option<String>) -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub async fn generate(&self, content: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  64 |     pub async fn update(&self, existing: &str, new_content: &str) -> Result<String> {
[INFO] [stdout]     |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn parse_sections(content: &str) -> HashMap<String, String> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 135 |     fn reconstruct_document(sections: &HashMap<String, String>) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 160 |     fn default_format(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Document` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:11:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub struct Document {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentMetadata` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:21:12
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct DocumentMetadata {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PublishResult` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct PublishResult {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `PublishStatus` is never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:39:10
[INFO] [stdout]    |
[INFO] [stdout] 39 | pub enum PublishStatus {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `DocumentProvider` is never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:48:11
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub trait DocumentProvider: Send + Sync {
[INFO] [stdout]    |           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderFactory` is never constructed
[INFO] [stdout]   --> src/doc/providers/mod.rs:85:12
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct ProviderFactory;
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `create` is never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:88:12
[INFO] [stdout]    |
[INFO] [stdout] 87 | impl ProviderFactory {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] 88 |     pub fn create(
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]  --> src/doc/providers/config.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct ProviderConfig {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stdout]   --> src/doc/providers/config.rs:30:12
[INFO] [stdout]    |
[INFO] [stdout] 30 | pub struct ConfluenceConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]   --> src/doc/providers/config.rs:44:4
[INFO] [stdout]    |
[INFO] [stdout] 44 | fn default_true() -> bool {
[INFO] [stdout]    |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownConfig` is never constructed
[INFO] [stdout]   --> src/doc/providers/config.rs:50:12
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct MarkdownConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_extension` is never used
[INFO] [stdout]   --> src/doc/providers/config.rs:58:4
[INFO] [stdout]    |
[INFO] [stdout] 58 | fn default_extension() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderRegistry` is never constructed
[INFO] [stdout]   --> src/doc/providers/config.rs:64:12
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ProviderRegistry {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `add_provider`, `get_provider`, `get_default_provider`, and `list_providers` are never used
[INFO] [stdout]   --> src/doc/providers/config.rs:70:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | impl ProviderRegistry {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 70 |     pub fn new() -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn add_provider(&mut self, config: ProviderConfig) {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn get_provider(&self, provider_type: &str) -> Option<&ProviderConfig> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 89 |     pub fn get_default_provider(&self) -> Option<&ProviderConfig> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 95 |     pub fn list_providers(&self) -> Vec<&ProviderConfig> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceProvider` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:12:12
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub struct ConfluenceProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluencePage` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:19:8
[INFO] [stdout]    |
[INFO] [stdout] 19 | struct ConfluencePage {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceVersion` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:30:8
[INFO] [stdout]    |
[INFO] [stdout] 30 | struct ConfluenceVersion {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageContent` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:35:8
[INFO] [stdout]    |
[INFO] [stdout] 35 | struct PageContent {
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceSpace` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:48:8
[INFO] [stdout]    |
[INFO] [stdout] 48 | struct ConfluenceSpace {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageBody` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 | struct PageBody {
[INFO] [stdout]    |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Storage` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:58:8
[INFO] [stdout]    |
[INFO] [stdout] 58 | struct Storage {
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PageUpdate` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | struct PageUpdate {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResponse` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct SearchResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct SearchResult {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/doc/providers/confluence.rs:90:12
[INFO] [stdout]     |
[INFO] [stdout]  89 | impl ConfluenceProvider {
[INFO] [stdout]     | ----------------------- associated items in this implementation
[INFO] [stdout]  90 |     pub fn new(config: ConfluenceConfig) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 121 |     fn api_url(&self, path: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 126 |     async fn make_request<T: for<'de> Deserialize<'de>>(
[INFO] [stdout]     |              ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     async fn get_page_by_id(&self, page_id: &str) -> Result<Option<PageContent>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 177 |     async fn search_page_by_title(&self, title: &str) -> Result<Option<ConfluencePage>> {
[INFO] [stdout]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 197 |     async fn create_page(&self, doc: &Document) -> Result<PageContent> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 247 |     async fn update_page(&self, page_id: &str, doc: &Document) -> Result<PageContent> {
[INFO] [stdout]     |              ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 280 |     fn convert_to_document(&self, page: PageContent) -> Document {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownProvider` is never constructed
[INFO] [stdout]   --> src/doc/providers/markdown.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct MarkdownProvider {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `resolve_path`, `read_file`, `write_file`, and `file_metadata` are never used
[INFO] [stdout]   --> src/doc/providers/markdown.rs:16:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl MarkdownProvider {
[INFO] [stdout]    | --------------------- associated items in this implementation
[INFO] [stdout] 16 |     pub fn new(config: MarkdownConfig) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 21 |     fn resolve_path(&self, location: &str) -> PathBuf {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 40 |     fn read_file(&self, path: &Path) -> Result<String> {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 44 |     fn write_file(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 54 |     fn file_metadata(&self, path: &Path) -> Result<DocumentMetadata> {
[INFO] [stdout]    |        ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `TemplateEngine` is never constructed
[INFO] [stdout]  --> src/doc/templates.rs:6:12
[INFO] [stdout]   |
[INFO] [stdout] 6 | pub struct TemplateEngine {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/doc/templates.rs:11:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl TemplateEngine {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout]  11 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  18 |     pub fn load_template(&mut self, name: &str, content: String) {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn load_template_from_file(&mut self, name: &str, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     pub fn load_templates_from_directory(&mut self, dir: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  60 |     pub fn render(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  87 |     pub fn render_content(content: &str, variables: &HashMap<String, String>) -> String {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  99 |     fn remove_empty_placeholders(content: &str) -> String {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 106 |     pub fn list_templates(&self) -> Vec<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 111 |     pub fn has_template(&self, name: &str) -> bool {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn default_template_directory() -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `space_key` is never read
[INFO] [stdout]  --> src/doc/writers/confluence.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ConfluenceWriter {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     space_key: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_page` is never used
[INFO] [stdout]   --> src/doc/writers/confluence.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ConfluenceWriter {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub async fn create_page(&self, title: &str, content: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePageRequest` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 267 | struct CreatePageRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpaceKey` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | struct SpaceKey {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePageResponse` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct CreatePageResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownWriter` is never constructed
[INFO] [stdout]  --> src/doc/writers/markdown.rs:5:12
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MarkdownWriter {
[INFO] [stdout]   |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `write`, `update`, and `update_specific_section` are never used
[INFO] [stdout]   --> src/doc/writers/markdown.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl MarkdownWriter {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(_base_path: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn write(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub async fn update(&self, path: &Path, content: &str, section: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     fn update_specific_section(existing: &str, section_name: &str, new_content: &str) -> String {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mcp`, `Documentation`, `ConfigError`, `SerializationError`, `DocumentExists`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum KtmeError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Mcp(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     Documentation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     ConfigError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 59 |     SerializationError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 68 |     DocumentExists(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     Unknown(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KtmeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_range` and `get_repository_info` are never used
[INFO] [stdout]   --> src/git/diff.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl DiffExtractor {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn extract_range(&self, range: &str) -> Result<Vec<ExtractedDiff>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn get_repository_info(&self) -> Result<RepositoryInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepositoryInfo` is never constructed
[INFO] [stdout]   --> src/git/diff.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct RepositoryInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStatus` is never constructed
[INFO] [stdout]   --> src/git/diff.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct FileStatus {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubFile` is never constructed
[INFO] [stdout]   --> src/git/providers/github.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct GitHubFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `new` is never used
[INFO] [stdout]   --> src/git/providers/gitlab.rs:49:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | impl GitLabProvider {
[INFO] [stdout]    | ------------------- associated function in this implementation
[INFO] [stdout] 49 |     pub fn new(api_token: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_repository_path`, `get_current_branch`, and `get_status` are never used
[INFO] [stdout]    --> src/git/reader.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl GitReader {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn get_repository_path(&self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn get_current_branch(&self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn get_status(&self) -> Result<Vec<(String, Status)>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpClient` is never constructed
[INFO] [stdout]  --> src/mcp/client.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct McpClient {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `send_request` are never used
[INFO] [stdout]   --> src/mcp/client.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl McpClient {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(model: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub async fn send_request(&self, _prompt: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/mcp/server.rs:855:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl McpServer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 855 |     pub async fn stop(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_directory` is never used
[INFO] [stdout]   --> src/service_detector.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ServiceDetector {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_directory(dir: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `in_memory`, `path`, `health_check`, and `stats` are never used
[INFO] [stdout]    --> src/storage/database.rs:55:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Database {
[INFO] [stdout]     | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  55 |     pub fn in_memory() -> Result<Self> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 191 |     pub fn health_check(&self) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 199 |     pub fn stats(&self) -> Result<DatabaseStats> {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DatabaseStats` is never constructed
[INFO] [stdout]    --> src/storage/database.rs:250:12
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct DatabaseStats {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `docs` is never read
[INFO] [stdout]   --> src/storage/discovery.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct DiscoveredService {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub docs: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiscoveredService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple methods are never used
[INFO] [stdout]    --> src/storage/mapping.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn initialize_database(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn get_database_stats(&self) -> Result<crate::storage::database::DatabaseStats> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 403 |     pub fn create_feature(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 449 |     pub fn get_service_features(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 474 |     pub fn search_features(&self, query: &SearchQuery) -> Result<Vec<SearchResult>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 491 |     pub fn search_features_by_text(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     pub fn update_feature_relevance(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfig` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:31:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | pub struct ProviderConfig {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptTemplate` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct PromptTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptVariable` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct PromptVariable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentTemplate` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DocumentTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationRecord` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct GenerationRecord {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffCache` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct DiffCache {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct ConfluenceConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/storage/models.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn default_true() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownConfig` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct MarkdownConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_extension` is never used
[INFO] [stdout]    --> src/storage/models.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn default_extension() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenerationAction` is never used
[INFO] [stdout]    --> src/storage/models.rs:153:10
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum GenerationAction {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenerationStatus` is never used
[INFO] [stdout]    --> src/storage/models.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum GenerationStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SourceType` is never used
[INFO] [stdout]    --> src/storage/models.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub enum SourceType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Feature` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:211:12
[INFO] [stdout]     |
[INFO] [stdout] 211 | pub struct Feature {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `FeatureType` is never used
[INFO] [stdout]    --> src/storage/models.rs:228:10
[INFO] [stdout]     |
[INFO] [stdout] 228 | pub enum FeatureType {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeatureRelation` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub struct FeatureRelation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelationType` is never used
[INFO] [stdout]    --> src/storage/models.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub enum RelationType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchIndex` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct SearchIndex {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SearchContentType` is never used
[INFO] [stdout]    --> src/storage/models.rs:313:10
[INFO] [stdout]     |
[INFO] [stdout] 313 | pub enum SearchContentType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:339:12
[INFO] [stdout]     |
[INFO] [stdout] 339 | pub struct SearchResult {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeNode` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct KnowledgeNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KnowledgeNodeType` is never used
[INFO] [stdout]    --> src/storage/models.rs:367:10
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub enum KnowledgeNodeType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeEdge` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct KnowledgeEdge {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchQuery` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:389:12
[INFO] [stdout]     |
[INFO] [stdout] 389 | pub struct SearchQuery {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryContext` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:402:12
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub struct QueryContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryIntent` is never used
[INFO] [stdout]    --> src/storage/models.rs:415:10
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum QueryIntent {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeGraph` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct KnowledgeGraph {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_id`, `update`, and `delete` are never used
[INFO] [stdout]    --> src/storage/repository.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ServiceRepository {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn get_by_id(&self, id: i64) -> Result<Option<Service>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn update(&self, id: i64, path: Option<&str>, description: Option<&str>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 131 |     pub fn delete(&self, name: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_provider`, `get_primary`, `delete`, and `set_primary` are never used
[INFO] [stdout]    --> src/storage/repository.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DocumentMappingRepository {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_by_provider(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 286 |     pub fn get_primary(&self, service_id: i64) -> Result<Option<DocumentMapping>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn delete(&self, id: i64) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_primary(&self, id: i64, service_id: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ProviderConfigRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:350:12
[INFO] [stdout]     |
[INFO] [stdout] 350 | pub struct ProviderConfigRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/storage/repository.rs:355:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | impl ProviderConfigRepository {
[INFO] [stdout]     | ----------------------------- associated items in this implementation
[INFO] [stdout] 355 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 359 |     pub fn save(
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 381 |     pub fn get(&self, provider_type: &str) -> Result<Option<ProviderConfig>> {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 411 |     pub fn get_default(&self) -> Result<Option<ProviderConfig>> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub fn list(&self) -> Result<Vec<ProviderConfig>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn set_default(&self, provider_type: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn delete(&self, provider_type: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationHistoryRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub struct GenerationHistoryRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `get_recent`, and `get_for_service` are never used
[INFO] [stdout]    --> src/storage/repository.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 510 | impl GenerationHistoryRepository {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 511 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     pub fn get_recent(&self, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_for_service(&self, service_id: i64, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffCacheRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:633:12
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub struct DiffCacheRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, `get`, `clear_expired`, and `clear_all` are never used
[INFO] [stdout]    --> src/storage/repository.rs:638:12
[INFO] [stdout]     |
[INFO] [stdout] 637 | impl DiffCacheRepository {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 638 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub fn set(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 666 |     pub fn get(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 701 |     pub fn clear_expired(&self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     pub fn clear_all(&self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeatureRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:729:12
[INFO] [stdout]     |
[INFO] [stdout] 729 | pub struct FeatureRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `create`, `get_by_id`, `list_by_service`, `search`, and `update_relevance_score` are never used
[INFO] [stdout]     --> src/storage/repository.rs:734:12
[INFO] [stdout]      |
[INFO] [stdout]  733 | impl FeatureRepository {
[INFO] [stdout]      | ---------------------- associated items in this implementation
[INFO] [stdout]  734 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]      |            ^^^
[INFO] [stdout] ...
[INFO] [stdout]  738 |     pub fn create(
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  772 |     pub fn get_by_id(&self, id: &str) -> Result<Option<Feature>> {
[INFO] [stdout]      |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  821 |     pub fn list_by_service(&self, service_id: i64) -> Result<Vec<Feature>> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  873 |     pub fn search(&self, query: &SearchQuery) -> Result<Vec<SearchResult>> {
[INFO] [stdout]      |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 1003 |     pub fn update_relevance_score(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stdout]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_with_fallback` and `test_connection` are never used
[INFO] [stdout]   --> src/ai/client.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl AIClient {
[INFO] [stdout]    | ------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 53 |     pub fn new_with_fallback() -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 80 |     pub async fn test_connection(&self) -> Result<bool> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `with_templates` is never used
[INFO] [stdout]   --> src/doc/generator.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl DocumentGenerator {
[INFO] [stdout]    | ---------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 20 |     pub fn with_templates(template: Option<String>) -> Result<Self> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list_documents`, `search_documents`, and `config` are never used
[INFO] [stdout]   --> src/doc/providers/mod.rs:75:14
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub trait DocumentProvider: Send + Sync {
[INFO] [stdout]    |           ---------------- methods in this trait
[INFO] [stdout] ...
[INFO] [stdout] 75 |     async fn list_documents(&self, container: &str) -> Result<Vec<Document>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 78 |     async fn search_documents(&self, query: &str) -> Result<Vec<Document>>;
[INFO] [stdout]    |              ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 81 |     fn config(&self) -> &config::ProviderConfig;
[INFO] [stdout]    |        ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResponse` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:74:8
[INFO] [stdout]    |
[INFO] [stdout] 74 | struct SearchResponse {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchResult` is never constructed
[INFO] [stdout]   --> src/doc/providers/confluence.rs:82:8
[INFO] [stdout]    |
[INFO] [stdout] 82 | struct SearchResult {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `load_template_from_file`, `load_templates_from_directory`, and `default_template_directory` are never used
[INFO] [stdout]    --> src/doc/templates.rs:23:12
[INFO] [stdout]     |
[INFO] [stdout]  10 | impl TemplateEngine {
[INFO] [stdout]     | ------------------- associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  23 |     pub fn load_template_from_file(&mut self, name: &str, path: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout]  30 |     pub fn load_templates_from_directory(&mut self, dir: &Path) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 116 |     pub fn default_template_directory() -> PathBuf {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `space_key` is never read
[INFO] [stdout]  --> src/doc/writers/confluence.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | pub struct ConfluenceWriter {
[INFO] [stdout]   |            ---------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 7 |     space_key: String,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `create_page` is never used
[INFO] [stdout]   --> src/doc/writers/confluence.rs:26:18
[INFO] [stdout]    |
[INFO] [stdout] 11 | impl ConfluenceWriter {
[INFO] [stdout]    | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub async fn create_page(&self, title: &str, content: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePageRequest` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:267:8
[INFO] [stdout]     |
[INFO] [stdout] 267 | struct CreatePageRequest {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SpaceKey` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:275:8
[INFO] [stdout]     |
[INFO] [stdout] 275 | struct SpaceKey {
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CreatePageResponse` is never constructed
[INFO] [stdout]    --> src/doc/writers/confluence.rs:291:8
[INFO] [stdout]     |
[INFO] [stdout] 291 | struct CreatePageResponse {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `generator` is never read
[INFO] [stdout]  --> src/doc/writers/markdown.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | pub struct MarkdownWriter {
[INFO] [stdout]   |            -------------- field in this struct
[INFO] [stdout] 6 |     generator: DocumentGenerator,
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `write`, and `update` are never used
[INFO] [stdout]   --> src/doc/writers/markdown.rs:10:12
[INFO] [stdout]    |
[INFO] [stdout]  9 | impl MarkdownWriter {
[INFO] [stdout]    | ------------------- associated items in this implementation
[INFO] [stdout] 10 |     pub fn new(_base_path: Option<String>) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |     pub async fn write(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 26 |     pub async fn update(&self, path: &Path, content: &str, section: Option<&str>) -> Result<()> {
[INFO] [stdout]    |                  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variants `Mcp`, `Documentation`, `ConfigError`, and `Unknown` are never constructed
[INFO] [stdout]   --> src/error.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout]  6 | pub enum KtmeError {
[INFO] [stdout]    |          --------- variants in this enum
[INFO] [stdout] ...
[INFO] [stdout] 11 |     Mcp(String),
[INFO] [stdout]    |     ^^^
[INFO] [stdout] ...
[INFO] [stdout] 14 |     Documentation(String),
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 56 |     ConfigError(String),
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 71 |     Unknown(String),
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `KtmeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `extract_range` and `get_repository_info` are never used
[INFO] [stdout]   --> src/git/diff.rs:37:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl DiffExtractor {
[INFO] [stdout]    | ------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 37 |     pub fn extract_range(&self, range: &str) -> Result<Vec<ExtractedDiff>> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 49 |     pub fn get_repository_info(&self) -> Result<RepositoryInfo> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RepositoryInfo` is never constructed
[INFO] [stdout]   --> src/git/diff.rs:69:12
[INFO] [stdout]    |
[INFO] [stdout] 69 | pub struct RepositoryInfo {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FileStatus` is never constructed
[INFO] [stdout]   --> src/git/diff.rs:76:12
[INFO] [stdout]    |
[INFO] [stdout] 76 | pub struct FileStatus {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GitHubFile` is never constructed
[INFO] [stdout]   --> src/git/providers/github.rs:20:8
[INFO] [stdout]    |
[INFO] [stdout] 20 | struct GitHubFile {
[INFO] [stdout]    |        ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_repository_path`, `get_current_branch`, and `get_status` are never used
[INFO] [stdout]    --> src/git/reader.rs:46:12
[INFO] [stdout]     |
[INFO] [stdout]  35 | impl GitReader {
[INFO] [stdout]     | -------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  46 |     pub fn get_repository_path(&self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 119 |     pub fn get_current_branch(&self) -> Result<String> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 132 |     pub fn get_status(&self) -> Result<Vec<(String, Status)>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `McpClient` is never constructed
[INFO] [stdout]  --> src/mcp/client.rs:3:12
[INFO] [stdout]   |
[INFO] [stdout] 3 | pub struct McpClient {
[INFO] [stdout]   |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new` and `send_request` are never used
[INFO] [stdout]   --> src/mcp/client.rs:8:12
[INFO] [stdout]    |
[INFO] [stdout]  7 | impl McpClient {
[INFO] [stdout]    | -------------- associated items in this implementation
[INFO] [stdout]  8 |     pub fn new(model: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 12 |     pub async fn send_request(&self, _prompt: &str) -> Result<String> {
[INFO] [stdout]    |                  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `stop` is never used
[INFO] [stdout]    --> src/mcp/server.rs:855:18
[INFO] [stdout]     |
[INFO] [stdout]  31 | impl McpServer {
[INFO] [stdout]     | -------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 855 |     pub async fn stop(&self) -> Result<()> {
[INFO] [stdout]     |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `from_directory` is never used
[INFO] [stdout]   --> src/service_detector.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 10 | impl ServiceDetector {
[INFO] [stdout]    | -------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 17 |     pub fn from_directory(dir: PathBuf) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `path` is never used
[INFO] [stdout]    --> src/storage/database.rs:186:12
[INFO] [stdout]     |
[INFO] [stdout]  12 | impl Database {
[INFO] [stdout]     | ------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 186 |     pub fn path(&self) -> &PathBuf {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path`, `history_count`, and `provider_count` are never read
[INFO] [stdout]    --> src/storage/database.rs:251:9
[INFO] [stdout]     |
[INFO] [stdout] 250 | pub struct DatabaseStats {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 251 |     pub path: PathBuf,
[INFO] [stdout]     |         ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 254 |     pub history_count: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^
[INFO] [stdout] 255 |     pub provider_count: u64,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `DatabaseStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `docs` is never read
[INFO] [stdout]   --> src/storage/discovery.rs:47:9
[INFO] [stdout]    |
[INFO] [stdout] 44 | pub struct DiscoveredService {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 47 |     pub docs: Vec<String>,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `DiscoveredService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `initialize_database`, `get_database_stats`, and `update_feature_relevance` are never used
[INFO] [stdout]    --> src/storage/mapping.rs:373:12
[INFO] [stdout]     |
[INFO] [stdout]  57 | impl StorageManager {
[INFO] [stdout]     | ------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 373 |     pub fn initialize_database(&self) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 390 |     pub fn get_database_stats(&self) -> Result<crate::storage::database::DatabaseStats> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 511 |     pub fn update_feature_relevance(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptTemplate` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:42:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | pub struct PromptTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `PromptVariable` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:56:12
[INFO] [stdout]    |
[INFO] [stdout] 56 | pub struct PromptVariable {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DocumentTemplate` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:66:12
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct DocumentTemplate {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationRecord` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:79:12
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct GenerationRecord {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffCache` is never constructed
[INFO] [stdout]   --> src/storage/models.rs:96:12
[INFO] [stdout]    |
[INFO] [stdout] 96 | pub struct DiffCache {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:108:12
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub struct ConfluenceConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_true` is never used
[INFO] [stdout]    --> src/storage/models.rs:122:4
[INFO] [stdout]     |
[INFO] [stdout] 122 | fn default_true() -> bool {
[INFO] [stdout]     |    ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `MarkdownConfig` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:128:12
[INFO] [stdout]     |
[INFO] [stdout] 128 | pub struct MarkdownConfig {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_extension` is never used
[INFO] [stdout]    --> src/storage/models.rs:136:4
[INFO] [stdout]     |
[INFO] [stdout] 136 | fn default_extension() -> String {
[INFO] [stdout]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenerationAction` is never used
[INFO] [stdout]    --> src/storage/models.rs:153:10
[INFO] [stdout]     |
[INFO] [stdout] 153 | pub enum GenerationAction {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `GenerationStatus` is never used
[INFO] [stdout]    --> src/storage/models.rs:172:10
[INFO] [stdout]     |
[INFO] [stdout] 172 | pub enum GenerationStatus {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `SourceType` is never used
[INFO] [stdout]    --> src/storage/models.rs:191:10
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub enum SourceType {
[INFO] [stdout]     |          ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `FeatureRelation` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:260:12
[INFO] [stdout]     |
[INFO] [stdout] 260 | pub struct FeatureRelation {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `RelationType` is never used
[INFO] [stdout]    --> src/storage/models.rs:273:10
[INFO] [stdout]     |
[INFO] [stdout] 273 | pub enum RelationType {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SearchIndex` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:301:12
[INFO] [stdout]     |
[INFO] [stdout] 301 | pub struct SearchIndex {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeNode` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:354:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | pub struct KnowledgeNode {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `KnowledgeNodeType` is never used
[INFO] [stdout]    --> src/storage/models.rs:367:10
[INFO] [stdout]     |
[INFO] [stdout] 367 | pub enum KnowledgeNodeType {
[INFO] [stdout]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeEdge` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:378:12
[INFO] [stdout]     |
[INFO] [stdout] 378 | pub struct KnowledgeEdge {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `QueryContext` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:402:12
[INFO] [stdout]     |
[INFO] [stdout] 402 | pub struct QueryContext {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `QueryIntent` is never used
[INFO] [stdout]    --> src/storage/models.rs:415:10
[INFO] [stdout]     |
[INFO] [stdout] 415 | pub enum QueryIntent {
[INFO] [stdout]     |          ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `KnowledgeGraph` is never constructed
[INFO] [stdout]    --> src/storage/models.rs:428:12
[INFO] [stdout]     |
[INFO] [stdout] 428 | pub struct KnowledgeGraph {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_id` and `update` are never used
[INFO] [stdout]    --> src/storage/repository.rs:38:12
[INFO] [stdout]     |
[INFO] [stdout]  15 | impl ServiceRepository {
[INFO] [stdout]     | ---------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout]  38 |     pub fn get_by_id(&self, id: i64) -> Result<Option<Service>> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 118 |     pub fn update(&self, id: i64, path: Option<&str>, description: Option<&str>) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `get_by_provider`, `delete`, and `set_primary` are never used
[INFO] [stdout]    --> src/storage/repository.rs:253:12
[INFO] [stdout]     |
[INFO] [stdout] 165 | impl DocumentMappingRepository {
[INFO] [stdout]     | ------------------------------ methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 253 |     pub fn get_by_provider(
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 315 |     pub fn delete(&self, id: i64) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 325 |     pub fn set_primary(&self, id: i64, service_id: i64) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `list`, `set_default`, and `delete` are never used
[INFO] [stdout]    --> src/storage/repository.rs:441:12
[INFO] [stdout]     |
[INFO] [stdout] 354 | impl ProviderConfigRepository {
[INFO] [stdout]     | ----------------------------- methods in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 441 |     pub fn list(&self) -> Result<Vec<ProviderConfig>> {
[INFO] [stdout]     |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 470 |     pub fn set_default(&self, provider_type: &str) -> Result<()> {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 488 |     pub fn delete(&self, provider_type: &str) -> Result<bool> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `GenerationHistoryRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:506:12
[INFO] [stdout]     |
[INFO] [stdout] 506 | pub struct GenerationHistoryRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `record`, `get_recent`, and `get_for_service` are never used
[INFO] [stdout]    --> src/storage/repository.rs:511:12
[INFO] [stdout]     |
[INFO] [stdout] 510 | impl GenerationHistoryRepository {
[INFO] [stdout]     | -------------------------------- associated items in this implementation
[INFO] [stdout] 511 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 515 |     pub fn record(
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 553 |     pub fn get_recent(&self, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stdout]     |            ^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 590 |     pub fn get_for_service(&self, service_id: i64, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `DiffCacheRepository` is never constructed
[INFO] [stdout]    --> src/storage/repository.rs:633:12
[INFO] [stdout]     |
[INFO] [stdout] 633 | pub struct DiffCacheRepository {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `set`, `get`, `clear_expired`, and `clear_all` are never used
[INFO] [stdout]    --> src/storage/repository.rs:638:12
[INFO] [stdout]     |
[INFO] [stdout] 637 | impl DiffCacheRepository {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] 638 |     pub fn new(db: Database) -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 642 |     pub fn set(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 666 |     pub fn get(
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 701 |     pub fn clear_expired(&self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 714 |     pub fn clear_all(&self) -> Result<u64> {
[INFO] [stdout]     |            ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> src/storage/database.rs:327:13
[INFO] [stdout]     |
[INFO] [stdout] 327 |             stats.feature_count >= 0,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 41.09s
[INFO] running `Command { std: "docker" "inspect" "d67a8c574ab45ff3e2cc110e2461f459367fc5b4387e28cf7b8fd53f20ce13d4", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d67a8c574ab45ff3e2cc110e2461f459367fc5b4387e28cf7b8fd53f20ce13d4", kill_on_drop: false }`
[INFO] [stdout] d67a8c574ab45ff3e2cc110e2461f459367fc5b4387e28cf7b8fd53f20ce13d4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=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:98afbf2d16093dec2546ff8915fddc74e65664aa03fc460b3712b1c2c54a33e4" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 25929dadab81183cc7cb9eaf0ebcd915ec5971878de9917eb132a4c3f37b8f79
[INFO] running `Command { std: "docker" "start" "-a" "25929dadab81183cc7cb9eaf0ebcd915ec5971878de9917eb132a4c3f37b8f79", kill_on_drop: false }`
[INFO] [stderr] warning: struct `GitHubFile` is never constructed
[INFO] [stderr]   --> src/git/providers/github.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct GitHubFile {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ktme` (lib) generated 1 warning
[INFO] [stderr] warning: unused variable: `engine`
[INFO] [stderr]    --> src/doc/templates.rs:133:13
[INFO] [stderr]     |
[INFO] [stderr] 133 |         let engine = TemplateEngine::new();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `engine`
[INFO] [stderr]    --> src/doc/templates.rs:146:13
[INFO] [stderr]     |
[INFO] [stderr] 146 |         let engine = TemplateEngine::new();
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_engine`
[INFO] [stderr] 
[INFO] [stderr] warning: comparison is useless due to type limits
[INFO] [stderr]    --> src/storage/database.rs:327:13
[INFO] [stderr]     |
[INFO] [stderr] 327 |             stats.feature_count >= 0,
[INFO] [stderr]     |             ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ktme` (lib test) generated 4 warnings (1 duplicate) (run `cargo fix --lib -p ktme --tests` to apply 2 suggestions)
[INFO] [stderr] warning: unused import: `ktme::storage::database::Database`
[INFO] [stderr]  --> src/bin/test_db_simple.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use ktme::storage::database::Database;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `ktme` (bin "test_db_simple" test) generated 1 warning (run `cargo fix --bin "test_db_simple" -p ktme --tests` to apply 1 suggestion)
[INFO] [stderr] warning: associated items `new_with_fallback` and `test_connection` are never used
[INFO] [stderr]   --> src/ai/client.rs:53:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl AIClient {
[INFO] [stderr]    | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 53 |     pub fn new_with_fallback() -> Result<Self> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 80 |     pub async fn test_connection(&self) -> Result<bool> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `with_templates` is never used
[INFO] [stderr]   --> src/doc/generator.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl DocumentGenerator {
[INFO] [stderr]    | ---------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 20 |     pub fn with_templates(template: Option<String>) -> Result<Self> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `list_documents`, `search_documents`, and `config` are never used
[INFO] [stderr]   --> src/doc/providers/mod.rs:75:14
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub trait DocumentProvider: Send + Sync {
[INFO] [stderr]    |           ---------------- methods in this trait
[INFO] [stderr] ...
[INFO] [stderr] 75 |     async fn list_documents(&self, container: &str) -> Result<Vec<Document>>;
[INFO] [stderr]    |              ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 78 |     async fn search_documents(&self, query: &str) -> Result<Vec<Document>>;
[INFO] [stderr]    |              ^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 81 |     fn config(&self) -> &config::ProviderConfig;
[INFO] [stderr]    |        ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SearchResponse` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:74:8
[INFO] [stderr]    |
[INFO] [stderr] 74 | struct SearchResponse {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SearchResult` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:82:8
[INFO] [stderr]    |
[INFO] [stderr] 82 | struct SearchResult {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `load_template_from_file`, `load_templates_from_directory`, and `default_template_directory` are never used
[INFO] [stderr]    --> src/doc/templates.rs:23:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl TemplateEngine {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  23 |     pub fn load_template_from_file(&mut self, name: &str, path: &Path) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  30 |     pub fn load_templates_from_directory(&mut self, dir: &Path) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn default_template_directory() -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `space_key` is never read
[INFO] [stderr]  --> src/doc/writers/confluence.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | pub struct ConfluenceWriter {
[INFO] [stderr]   |            ---------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 7 |     space_key: String,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `create_page` is never used
[INFO] [stderr]   --> src/doc/writers/confluence.rs:26:18
[INFO] [stderr]    |
[INFO] [stderr] 11 | impl ConfluenceWriter {
[INFO] [stderr]    | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub async fn create_page(&self, title: &str, content: &str) -> Result<String> {
[INFO] [stderr]    |                  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CreatePageRequest` is never constructed
[INFO] [stderr]    --> src/doc/writers/confluence.rs:267:8
[INFO] [stderr]     |
[INFO] [stderr] 267 | struct CreatePageRequest {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SpaceKey` is never constructed
[INFO] [stderr]    --> src/doc/writers/confluence.rs:275:8
[INFO] [stderr]     |
[INFO] [stderr] 275 | struct SpaceKey {
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CreatePageResponse` is never constructed
[INFO] [stderr]    --> src/doc/writers/confluence.rs:291:8
[INFO] [stderr]     |
[INFO] [stderr] 291 | struct CreatePageResponse {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `generator` is never read
[INFO] [stderr]  --> src/doc/writers/markdown.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct MarkdownWriter {
[INFO] [stderr]   |            -------------- field in this struct
[INFO] [stderr] 6 |     generator: DocumentGenerator,
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `write`, and `update` are never used
[INFO] [stderr]   --> src/doc/writers/markdown.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl MarkdownWriter {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 10 |     pub fn new(_base_path: Option<String>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub async fn write(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub async fn update(&self, path: &Path, content: &str, section: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Mcp`, `Documentation`, `ConfigError`, and `Unknown` are never constructed
[INFO] [stderr]   --> src/error.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub enum KtmeError {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 11 |     Mcp(String),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     Documentation(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     ConfigError(String),
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     Unknown(String),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `KtmeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `extract_range` and `get_repository_info` are never used
[INFO] [stderr]   --> src/git/diff.rs:37:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl DiffExtractor {
[INFO] [stderr]    | ------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 37 |     pub fn extract_range(&self, range: &str) -> Result<Vec<ExtractedDiff>> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 49 |     pub fn get_repository_info(&self) -> Result<RepositoryInfo> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RepositoryInfo` is never constructed
[INFO] [stderr]   --> src/git/diff.rs:69:12
[INFO] [stderr]    |
[INFO] [stderr] 69 | pub struct RepositoryInfo {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FileStatus` is never constructed
[INFO] [stderr]   --> src/git/diff.rs:76:12
[INFO] [stderr]    |
[INFO] [stderr] 76 | pub struct FileStatus {
[INFO] [stderr]    |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GitHubFile` is never constructed
[INFO] [stderr]   --> src/git/providers/github.rs:20:8
[INFO] [stderr]    |
[INFO] [stderr] 20 | struct GitHubFile {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_repository_path`, `get_current_branch`, and `get_status` are never used
[INFO] [stderr]    --> src/git/reader.rs:46:12
[INFO] [stderr]     |
[INFO] [stderr]  35 | impl GitReader {
[INFO] [stderr]     | -------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  46 |     pub fn get_repository_path(&self) -> Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 119 |     pub fn get_current_branch(&self) -> Result<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 132 |     pub fn get_status(&self) -> Result<Vec<(String, Status)>> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `McpClient` is never constructed
[INFO] [stderr]  --> src/mcp/client.rs:3:12
[INFO] [stderr]   |
[INFO] [stderr] 3 | pub struct McpClient {
[INFO] [stderr]   |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new` and `send_request` are never used
[INFO] [stderr]   --> src/mcp/client.rs:8:12
[INFO] [stderr]    |
[INFO] [stderr]  7 | impl McpClient {
[INFO] [stderr]    | -------------- associated items in this implementation
[INFO] [stderr]  8 |     pub fn new(model: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 12 |     pub async fn send_request(&self, _prompt: &str) -> Result<String> {
[INFO] [stderr]    |                  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `stop` is never used
[INFO] [stderr]    --> src/mcp/server.rs:855:18
[INFO] [stderr]     |
[INFO] [stderr]  31 | impl McpServer {
[INFO] [stderr]     | -------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 855 |     pub async fn stop(&self) -> Result<()> {
[INFO] [stderr]     |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `from_directory` is never used
[INFO] [stderr]   --> src/service_detector.rs:17:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | impl ServiceDetector {
[INFO] [stderr]    | -------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 17 |     pub fn from_directory(dir: PathBuf) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `path` is never used
[INFO] [stderr]    --> src/storage/database.rs:186:12
[INFO] [stderr]     |
[INFO] [stderr]  12 | impl Database {
[INFO] [stderr]     | ------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 186 |     pub fn path(&self) -> &PathBuf {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path`, `history_count`, and `provider_count` are never read
[INFO] [stderr]    --> src/storage/database.rs:251:9
[INFO] [stderr]     |
[INFO] [stderr] 250 | pub struct DatabaseStats {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 251 |     pub path: PathBuf,
[INFO] [stderr]     |         ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 254 |     pub history_count: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^
[INFO] [stderr] 255 |     pub provider_count: u64,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `DatabaseStats` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `docs` is never read
[INFO] [stderr]   --> src/storage/discovery.rs:47:9
[INFO] [stderr]    |
[INFO] [stderr] 44 | pub struct DiscoveredService {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 47 |     pub docs: Vec<String>,
[INFO] [stderr]    |         ^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `DiscoveredService` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: methods `initialize_database`, `get_database_stats`, and `update_feature_relevance` are never used
[INFO] [stderr]    --> src/storage/mapping.rs:373:12
[INFO] [stderr]     |
[INFO] [stderr]  57 | impl StorageManager {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub fn initialize_database(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 390 |     pub fn get_database_stats(&self) -> Result<crate::storage::database::DatabaseStats> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 511 |     pub fn update_feature_relevance(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PromptTemplate` is never constructed
[INFO] [stderr]   --> src/storage/models.rs:42:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | pub struct PromptTemplate {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PromptVariable` is never constructed
[INFO] [stderr]   --> src/storage/models.rs:56:12
[INFO] [stderr]    |
[INFO] [stderr] 56 | pub struct PromptVariable {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DocumentTemplate` is never constructed
[INFO] [stderr]   --> src/storage/models.rs:66:12
[INFO] [stderr]    |
[INFO] [stderr] 66 | pub struct DocumentTemplate {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GenerationRecord` is never constructed
[INFO] [stderr]   --> src/storage/models.rs:79:12
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub struct GenerationRecord {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DiffCache` is never constructed
[INFO] [stderr]   --> src/storage/models.rs:96:12
[INFO] [stderr]    |
[INFO] [stderr] 96 | pub struct DiffCache {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:108:12
[INFO] [stderr]     |
[INFO] [stderr] 108 | pub struct ConfluenceConfig {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_true` is never used
[INFO] [stderr]    --> src/storage/models.rs:122:4
[INFO] [stderr]     |
[INFO] [stderr] 122 | fn default_true() -> bool {
[INFO] [stderr]     |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MarkdownConfig` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:128:12
[INFO] [stderr]     |
[INFO] [stderr] 128 | pub struct MarkdownConfig {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_extension` is never used
[INFO] [stderr]    --> src/storage/models.rs:136:4
[INFO] [stderr]     |
[INFO] [stderr] 136 | fn default_extension() -> String {
[INFO] [stderr]     |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `GenerationAction` is never used
[INFO] [stderr]    --> src/storage/models.rs:153:10
[INFO] [stderr]     |
[INFO] [stderr] 153 | pub enum GenerationAction {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `GenerationStatus` is never used
[INFO] [stderr]    --> src/storage/models.rs:172:10
[INFO] [stderr]     |
[INFO] [stderr] 172 | pub enum GenerationStatus {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SourceType` is never used
[INFO] [stderr]    --> src/storage/models.rs:191:10
[INFO] [stderr]     |
[INFO] [stderr] 191 | pub enum SourceType {
[INFO] [stderr]     |          ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FeatureRelation` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:260:12
[INFO] [stderr]     |
[INFO] [stderr] 260 | pub struct FeatureRelation {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `RelationType` is never used
[INFO] [stderr]    --> src/storage/models.rs:273:10
[INFO] [stderr]     |
[INFO] [stderr] 273 | pub enum RelationType {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SearchIndex` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:301:12
[INFO] [stderr]     |
[INFO] [stderr] 301 | pub struct SearchIndex {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KnowledgeNode` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:354:12
[INFO] [stderr]     |
[INFO] [stderr] 354 | pub struct KnowledgeNode {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `KnowledgeNodeType` is never used
[INFO] [stderr]    --> src/storage/models.rs:367:10
[INFO] [stderr]     |
[INFO] [stderr] 367 | pub enum KnowledgeNodeType {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KnowledgeEdge` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:378:12
[INFO] [stderr]     |
[INFO] [stderr] 378 | pub struct KnowledgeEdge {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `QueryContext` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:402:12
[INFO] [stderr]     |
[INFO] [stderr] 402 | pub struct QueryContext {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `QueryIntent` is never used
[INFO] [stderr]    --> src/storage/models.rs:415:10
[INFO] [stderr]     |
[INFO] [stderr] 415 | pub enum QueryIntent {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `KnowledgeGraph` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:428:12
[INFO] [stderr]     |
[INFO] [stderr] 428 | pub struct KnowledgeGraph {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_by_id` and `update` are never used
[INFO] [stderr]    --> src/storage/repository.rs:38:12
[INFO] [stderr]     |
[INFO] [stderr]  15 | impl ServiceRepository {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub fn get_by_id(&self, id: i64) -> Result<Option<Service>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn update(&self, id: i64, path: Option<&str>, description: Option<&str>) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_by_provider`, `delete`, and `set_primary` are never used
[INFO] [stderr]    --> src/storage/repository.rs:253:12
[INFO] [stderr]     |
[INFO] [stderr] 165 | impl DocumentMappingRepository {
[INFO] [stderr]     | ------------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 253 |     pub fn get_by_provider(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 315 |     pub fn delete(&self, id: i64) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     pub fn set_primary(&self, id: i64, service_id: i64) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `list`, `set_default`, and `delete` are never used
[INFO] [stderr]    --> src/storage/repository.rs:441:12
[INFO] [stderr]     |
[INFO] [stderr] 354 | impl ProviderConfigRepository {
[INFO] [stderr]     | ----------------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 441 |     pub fn list(&self) -> Result<Vec<ProviderConfig>> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 470 |     pub fn set_default(&self, provider_type: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 488 |     pub fn delete(&self, provider_type: &str) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `GenerationHistoryRepository` is never constructed
[INFO] [stderr]    --> src/storage/repository.rs:506:12
[INFO] [stderr]     |
[INFO] [stderr] 506 | pub struct GenerationHistoryRepository {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `record`, `get_recent`, and `get_for_service` are never used
[INFO] [stderr]    --> src/storage/repository.rs:511:12
[INFO] [stderr]     |
[INFO] [stderr] 510 | impl GenerationHistoryRepository {
[INFO] [stderr]     | -------------------------------- associated items in this implementation
[INFO] [stderr] 511 |     pub fn new(db: Database) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 515 |     pub fn record(
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 553 |     pub fn get_recent(&self, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stderr]     |            ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 590 |     pub fn get_for_service(&self, service_id: i64, limit: usize) -> Result<Vec<GenerationRecord>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DiffCacheRepository` is never constructed
[INFO] [stderr]    --> src/storage/repository.rs:633:12
[INFO] [stderr]     |
[INFO] [stderr] 633 | pub struct DiffCacheRepository {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `set`, `get`, `clear_expired`, and `clear_all` are never used
[INFO] [stderr]    --> src/storage/repository.rs:638:12
[INFO] [stderr]     |
[INFO] [stderr] 637 | impl DiffCacheRepository {
[INFO] [stderr]     | ------------------------ associated items in this implementation
[INFO] [stderr] 638 |     pub fn new(db: Database) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 642 |     pub fn set(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 666 |     pub fn get(
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 701 |     pub fn clear_expired(&self) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 714 |     pub fn clear_all(&self) -> Result<u64> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ktme` (bin "ktme" test) generated 58 warnings (3 duplicates)
[INFO] [stderr] warning: unused import: `std::path::PathBuf`
[INFO] [stderr]  --> src/bin/test_search_only.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | 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: `ktme` (bin "test_search_only" test) generated 1 warning (run `cargo fix --bin "test_search_only" -p ktme --tests` to apply 1 suggestion)
[INFO] [stderr] warning: `ktme` (bin "test_db_simple") generated 1 warning (1 duplicate)
[INFO] [stderr] warning: struct `DocumentGenerator` is never constructed
[INFO] [stderr]  --> src/doc/generator.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct DocumentGenerator {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/doc/generator.rs:12:12
[INFO] [stderr]     |
[INFO] [stderr]  11 | impl DocumentGenerator {
[INFO] [stderr]     | ---------------------- associated items in this implementation
[INFO] [stderr]  12 |     pub fn new(template: Option<String>) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  20 |     pub fn with_templates(template: Option<String>) -> Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub async fn generate(&self, content: &str) -> Result<String> {
[INFO] [stderr]     |                  ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  64 |     pub async fn update(&self, existing: &str, new_content: &str) -> Result<String> {
[INFO] [stderr]     |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     fn parse_sections(content: &str) -> HashMap<String, String> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 135 |     fn reconstruct_document(sections: &HashMap<String, String>) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 160 |     fn default_format(content: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Document` is never constructed
[INFO] [stderr]   --> src/doc/providers/mod.rs:11:12
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub struct Document {
[INFO] [stderr]    |            ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DocumentMetadata` is never constructed
[INFO] [stderr]   --> src/doc/providers/mod.rs:21:12
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct DocumentMetadata {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PublishResult` is never constructed
[INFO] [stderr]   --> src/doc/providers/mod.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct PublishResult {
[INFO] [stderr]    |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `PublishStatus` is never used
[INFO] [stderr]   --> src/doc/providers/mod.rs:39:10
[INFO] [stderr]    |
[INFO] [stderr] 39 | pub enum PublishStatus {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: trait `DocumentProvider` is never used
[INFO] [stderr]   --> src/doc/providers/mod.rs:48:11
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub trait DocumentProvider: Send + Sync {
[INFO] [stderr]    |           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProviderFactory` is never constructed
[INFO] [stderr]   --> src/doc/providers/mod.rs:85:12
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub struct ProviderFactory;
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `create` is never used
[INFO] [stderr]   --> src/doc/providers/mod.rs:88:12
[INFO] [stderr]    |
[INFO] [stderr] 87 | impl ProviderFactory {
[INFO] [stderr]    | -------------------- associated function in this implementation
[INFO] [stderr] 88 |     pub fn create(
[INFO] [stderr]    |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProviderConfig` is never constructed
[INFO] [stderr]  --> src/doc/providers/config.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct ProviderConfig {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConfluenceConfig` is never constructed
[INFO] [stderr]   --> src/doc/providers/config.rs:30:12
[INFO] [stderr]    |
[INFO] [stderr] 30 | pub struct ConfluenceConfig {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_true` is never used
[INFO] [stderr]   --> src/doc/providers/config.rs:44:4
[INFO] [stderr]    |
[INFO] [stderr] 44 | fn default_true() -> bool {
[INFO] [stderr]    |    ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MarkdownConfig` is never constructed
[INFO] [stderr]   --> src/doc/providers/config.rs:50:12
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct MarkdownConfig {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_extension` is never used
[INFO] [stderr]   --> src/doc/providers/config.rs:58:4
[INFO] [stderr]    |
[INFO] [stderr] 58 | fn default_extension() -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProviderRegistry` is never constructed
[INFO] [stderr]   --> src/doc/providers/config.rs:64:12
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct ProviderRegistry {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `add_provider`, `get_provider`, `get_default_provider`, and `list_providers` are never used
[INFO] [stderr]   --> src/doc/providers/config.rs:70:12
[INFO] [stderr]    |
[INFO] [stderr] 69 | impl ProviderRegistry {
[INFO] [stderr]    | --------------------- associated items in this implementation
[INFO] [stderr] 70 |     pub fn new() -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 77 |     pub fn add_provider(&mut self, config: ProviderConfig) {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 85 |     pub fn get_provider(&self, provider_type: &str) -> Option<&ProviderConfig> {
[INFO] [stderr]    |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 89 |     pub fn get_default_provider(&self) -> Option<&ProviderConfig> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 95 |     pub fn list_providers(&self) -> Vec<&ProviderConfig> {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConfluenceProvider` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:12:12
[INFO] [stderr]    |
[INFO] [stderr] 12 | pub struct ConfluenceProvider {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConfluencePage` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:19:8
[INFO] [stderr]    |
[INFO] [stderr] 19 | struct ConfluencePage {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConfluenceVersion` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:30:8
[INFO] [stderr]    |
[INFO] [stderr] 30 | struct ConfluenceVersion {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PageContent` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:35:8
[INFO] [stderr]    |
[INFO] [stderr] 35 | struct PageContent {
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ConfluenceSpace` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:48:8
[INFO] [stderr]    |
[INFO] [stderr] 48 | struct ConfluenceSpace {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PageBody` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 53 | struct PageBody {
[INFO] [stderr]    |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Storage` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:58:8
[INFO] [stderr]    |
[INFO] [stderr] 58 | struct Storage {
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `PageUpdate` is never constructed
[INFO] [stderr]   --> src/doc/providers/confluence.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | struct PageUpdate {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/doc/providers/confluence.rs:90:12
[INFO] [stderr]     |
[INFO] [stderr]  89 | impl ConfluenceProvider {
[INFO] [stderr]     | ----------------------- associated items in this implementation
[INFO] [stderr]  90 |     pub fn new(config: ConfluenceConfig) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 121 |     fn api_url(&self, path: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 126 |     async fn make_request<T: for<'de> Deserialize<'de>>(
[INFO] [stderr]     |              ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 164 |     async fn get_page_by_id(&self, page_id: &str) -> Result<Option<PageContent>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 177 |     async fn search_page_by_title(&self, title: &str) -> Result<Option<ConfluencePage>> {
[INFO] [stderr]     |              ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 197 |     async fn create_page(&self, doc: &Document) -> Result<PageContent> {
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 247 |     async fn update_page(&self, page_id: &str, doc: &Document) -> Result<PageContent> {
[INFO] [stderr]     |              ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 280 |     fn convert_to_document(&self, page: PageContent) -> Document {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MarkdownProvider` is never constructed
[INFO] [stderr]   --> src/doc/providers/markdown.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct MarkdownProvider {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `resolve_path`, `read_file`, `write_file`, and `file_metadata` are never used
[INFO] [stderr]   --> src/doc/providers/markdown.rs:16:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl MarkdownProvider {
[INFO] [stderr]    | --------------------- associated items in this implementation
[INFO] [stderr] 16 |     pub fn new(config: MarkdownConfig) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 21 |     fn resolve_path(&self, location: &str) -> PathBuf {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 40 |     fn read_file(&self, path: &Path) -> Result<String> {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 44 |     fn write_file(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stderr]    |        ^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 54 |     fn file_metadata(&self, path: &Path) -> Result<DocumentMetadata> {
[INFO] [stderr]    |        ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `TemplateEngine` is never constructed
[INFO] [stderr]  --> src/doc/templates.rs:6:12
[INFO] [stderr]   |
[INFO] [stderr] 6 | pub struct TemplateEngine {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/doc/templates.rs:11:12
[INFO] [stderr]     |
[INFO] [stderr]  10 | impl TemplateEngine {
[INFO] [stderr]     | ------------------- associated items in this implementation
[INFO] [stderr]  11 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  18 |     pub fn load_template(&mut self, name: &str, content: String) {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  23 |     pub fn load_template_from_file(&mut self, name: &str, path: &Path) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  30 |     pub fn load_templates_from_directory(&mut self, dir: &Path) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  60 |     pub fn render(
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  87 |     pub fn render_content(content: &str, variables: &HashMap<String, String>) -> String {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  99 |     fn remove_empty_placeholders(content: &str) -> String {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 106 |     pub fn list_templates(&self) -> Vec<String> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 111 |     pub fn has_template(&self, name: &str) -> bool {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 116 |     pub fn default_template_directory() -> PathBuf {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `MarkdownWriter` is never constructed
[INFO] [stderr]  --> src/doc/writers/markdown.rs:5:12
[INFO] [stderr]   |
[INFO] [stderr] 5 | pub struct MarkdownWriter {
[INFO] [stderr]   |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `write`, `update`, and `update_specific_section` are never used
[INFO] [stderr]   --> src/doc/writers/markdown.rs:10:12
[INFO] [stderr]    |
[INFO] [stderr]  9 | impl MarkdownWriter {
[INFO] [stderr]    | ------------------- associated items in this implementation
[INFO] [stderr] 10 |     pub fn new(_base_path: Option<String>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |     pub async fn write(&self, path: &Path, content: &str) -> Result<()> {
[INFO] [stderr]    |                  ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 26 |     pub async fn update(&self, path: &Path, content: &str, section: Option<&str>) -> Result<()> {
[INFO] [stderr]    |                  ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     fn update_specific_section(existing: &str, section_name: &str, new_content: &str) -> String {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: variants `Mcp`, `Documentation`, `ConfigError`, `SerializationError`, `DocumentExists`, and `Unknown` are never constructed
[INFO] [stderr]   --> src/error.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr]  6 | pub enum KtmeError {
[INFO] [stderr]    |          --------- variants in this enum
[INFO] [stderr] ...
[INFO] [stderr] 11 |     Mcp(String),
[INFO] [stderr]    |     ^^^
[INFO] [stderr] ...
[INFO] [stderr] 14 |     Documentation(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 56 |     ConfigError(String),
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 59 |     SerializationError(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 68 |     DocumentExists(String),
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 71 |     Unknown(String),
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `KtmeError` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `new` is never used
[INFO] [stderr]   --> src/git/providers/gitlab.rs:49:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | impl GitLabProvider {
[INFO] [stderr]    | ------------------- associated function in this implementation
[INFO] [stderr] 49 |     pub fn new(api_token: Option<String>) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `in_memory`, `path`, `health_check`, and `stats` are never used
[INFO] [stderr]    --> src/storage/database.rs:55:12
[INFO] [stderr]     |
[INFO] [stderr]  12 | impl Database {
[INFO] [stderr]     | ------------- associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  55 |     pub fn in_memory() -> Result<Self> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 186 |     pub fn path(&self) -> &PathBuf {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 191 |     pub fn health_check(&self) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 199 |     pub fn stats(&self) -> Result<DatabaseStats> {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `DatabaseStats` is never constructed
[INFO] [stderr]    --> src/storage/database.rs:250:12
[INFO] [stderr]     |
[INFO] [stderr] 250 | pub struct DatabaseStats {
[INFO] [stderr]     |            ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple methods are never used
[INFO] [stderr]    --> src/storage/mapping.rs:373:12
[INFO] [stderr]     |
[INFO] [stderr]  57 | impl StorageManager {
[INFO] [stderr]     | ------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 373 |     pub fn initialize_database(&self) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 390 |     pub fn get_database_stats(&self) -> Result<crate::storage::database::DatabaseStats> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 403 |     pub fn create_feature(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 449 |     pub fn get_service_features(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 474 |     pub fn search_features(&self, query: &SearchQuery) -> Result<Vec<SearchResult>> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 491 |     pub fn search_features_by_text(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 511 |     pub fn update_feature_relevance(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProviderConfig` is never constructed
[INFO] [stderr]   --> src/storage/models.rs:31:12
[INFO] [stderr]    |
[INFO] [stderr] 31 | pub struct ProviderConfig {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Feature` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:211:12
[INFO] [stderr]     |
[INFO] [stderr] 211 | pub struct Feature {
[INFO] [stderr]     |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `FeatureType` is never used
[INFO] [stderr]    --> src/storage/models.rs:228:10
[INFO] [stderr]     |
[INFO] [stderr] 228 | pub enum FeatureType {
[INFO] [stderr]     |          ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `SearchContentType` is never used
[INFO] [stderr]    --> src/storage/models.rs:313:10
[INFO] [stderr]     |
[INFO] [stderr] 313 | pub enum SearchContentType {
[INFO] [stderr]     |          ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SearchResult` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:339:12
[INFO] [stderr]     |
[INFO] [stderr] 339 | pub struct SearchResult {
[INFO] [stderr]     |            ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `SearchQuery` is never constructed
[INFO] [stderr]    --> src/storage/models.rs:389:12
[INFO] [stderr]     |
[INFO] [stderr] 389 | pub struct SearchQuery {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_by_id`, `update`, and `delete` are never used
[INFO] [stderr]    --> src/storage/repository.rs:38:12
[INFO] [stderr]     |
[INFO] [stderr]  15 | impl ServiceRepository {
[INFO] [stderr]     | ---------------------- methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr]  38 |     pub fn get_by_id(&self, id: i64) -> Result<Option<Service>> {
[INFO] [stderr]     |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 118 |     pub fn update(&self, id: i64, path: Option<&str>, description: Option<&str>) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 131 |     pub fn delete(&self, name: &str) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: methods `get_by_provider`, `get_primary`, `delete`, and `set_primary` are never used
[INFO] [stderr]    --> src/storage/repository.rs:253:12
[INFO] [stderr]     |
[INFO] [stderr] 165 | impl DocumentMappingRepository {
[INFO] [stderr]     | ------------------------------ methods in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 253 |     pub fn get_by_provider(
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 286 |     pub fn get_primary(&self, service_id: i64) -> Result<Option<DocumentMapping>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 315 |     pub fn delete(&self, id: i64) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 325 |     pub fn set_primary(&self, id: i64, service_id: i64) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ProviderConfigRepository` is never constructed
[INFO] [stderr]    --> src/storage/repository.rs:350:12
[INFO] [stderr]     |
[INFO] [stderr] 350 | pub struct ProviderConfigRepository {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: multiple associated items are never used
[INFO] [stderr]    --> src/storage/repository.rs:355:12
[INFO] [stderr]     |
[INFO] [stderr] 354 | impl ProviderConfigRepository {
[INFO] [stderr]     | ----------------------------- associated items in this implementation
[INFO] [stderr] 355 |     pub fn new(db: Database) -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 359 |     pub fn save(
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 381 |     pub fn get(&self, provider_type: &str) -> Result<Option<ProviderConfig>> {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 411 |     pub fn get_default(&self) -> Result<Option<ProviderConfig>> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 441 |     pub fn list(&self) -> Result<Vec<ProviderConfig>> {
[INFO] [stderr]     |            ^^^^
[INFO] [stderr] ...
[INFO] [stderr] 470 |     pub fn set_default(&self, provider_type: &str) -> Result<()> {
[INFO] [stderr]     |            ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 488 |     pub fn delete(&self, provider_type: &str) -> Result<bool> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `FeatureRepository` is never constructed
[INFO] [stderr]    --> src/storage/repository.rs:729:12
[INFO] [stderr]     |
[INFO] [stderr] 729 | pub struct FeatureRepository {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `create`, `get_by_id`, `list_by_service`, `search`, and `update_relevance_score` are never used
[INFO] [stderr]     --> src/storage/repository.rs:734:12
[INFO] [stderr]      |
[INFO] [stderr]  733 | impl FeatureRepository {
[INFO] [stderr]      | ---------------------- associated items in this implementation
[INFO] [stderr]  734 |     pub fn new(db: Database) -> Self {
[INFO] [stderr]      |            ^^^
[INFO] [stderr] ...
[INFO] [stderr]  738 |     pub fn create(
[INFO] [stderr]      |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  772 |     pub fn get_by_id(&self, id: &str) -> Result<Option<Feature>> {
[INFO] [stderr]      |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  821 |     pub fn list_by_service(&self, service_id: i64) -> Result<Vec<Feature>> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr]  873 |     pub fn search(&self, query: &SearchQuery) -> Result<Vec<SearchResult>> {
[INFO] [stderr]      |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 1003 |     pub fn update_relevance_score(&self, feature_id: &str, score: f64) -> Result<()> {
[INFO] [stderr]      |            ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `ktme` (bin "ktme") generated 91 warnings (43 duplicates)
[INFO] [stderr] warning: `ktme` (bin "test_search_only") generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/ktme-4d62e385f973b14e)
[INFO] [stdout] running 59 tests
[INFO] [stdout] test ai::tests::tests::test_claude_config_creation ... ok
[INFO] [stdout] test ai::tests::tests::test_openai_config_defaults ... ok
[INFO] [stdout] test doc::generator::tests::test_generate_default_format ... ok
[INFO] [stdout] test doc::providers::tests::test_provider_factory_unsupported ... ok
[INFO] [stdout] test doc::generator::tests::test_reconstruct_document ... ok
[INFO] [stdout] test doc::providers::config::tests::test_provider_registry ... ok
[INFO] [stdout] test doc::templates::tests::test_template_not_found ... ok
[INFO] [stdout] test doc::writers::confluence::tests::test_markdown_to_storage_basic ... ok
[INFO] [stdout] test doc::writers::confluence::tests::test_markdown_to_storage_bold_italic ... ok
[INFO] [stdout] test doc::writers::confluence::tests::test_markdown_to_storage_code_block ... ok
[INFO] [stdout] test doc::writers::confluence::tests::test_markdown_to_storage_inline_code ... ok
[INFO] [stdout] test doc::writers::confluence::tests::test_markdown_to_storage_list ... ok
[INFO] [stdout] test doc::writers::confluence::tests::test_markdown_to_storage_ordered_list ... ok
[INFO] [stdout] test doc::templates::tests::test_load_and_render_template ... ok
[INFO] [stdout] test doc::writers::markdown::tests::test_update_specific_section ... ok
[INFO] [stdout] test doc::writers::markdown::tests::test_update_specific_section_not_found ... ok
[INFO] [stdout] test git::providers::github::tests::test_normalize_status ... ok
[INFO] [stdout] test doc::templates::tests::test_list_templates ... ok
[INFO] [stdout] test doc::templates::tests::test_simple_variable_substitution ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_count_diff_lines ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_determine_status_deleted_file ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_determine_status_modified_file ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_determine_status_new_file ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_determine_status_renamed_file ... ok
[INFO] [stdout] test doc::generator::tests::test_parse_sections_simple ... ok
[INFO] [stdout] test doc::templates::tests::test_missing_variables_removed ... ok
[INFO] [stdout] test doc::generator::tests::test_parse_sections_with_preamble ... ok
[INFO] [stdout] test service_detector::tests::test_service_detector_creation ... ok
[INFO] [stdout] test service_detector::tests::test_valid_service_name ... ok
[INFO] [stdout] test doc::templates::tests::test_has_template ... ok
[INFO] [stdout] test doc::providers::markdown::tests::test_markdown_provider ... ok
[INFO] [stdout] test storage::database::tests::test_database_stats ... ok
[INFO] [stdout] test storage::database::tests::test_feature_stats_field ... ok
[INFO] [stdout] test storage::database::tests::test_in_memory_database ... ok
[INFO] [stdout] test storage::mapping::tests::test_storage_manager_feature_creation ... ok
[INFO] [stdout] test storage::mapping::tests::test_storage_manager_feature_list ... ok
[INFO] [stdout] test storage::mapping::tests::test_storage_manager_feature_search ... ok
[INFO] [stdout] test storage::database::tests::test_new_tables_exist ... ok
[INFO] [stdout] test storage::database::tests::test_migration_system ... ok
[INFO] [stdout] test doc::generator::tests::test_update_merges_sections ... ok
[INFO] [stdout] test ai::tests::tests::test_ai_client_fails_without_key ... FAILED
[INFO] [stdout] test ai::tests::tests::test_openai_provider_no_network ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_provider_creation_with_custom_url ... ok
[INFO] [stdout] test git::providers::github::tests::test_provider_creation ... ok
[INFO] [stdout] test storage::repository::tests::test_provider_config ... ok
[INFO] [stdout] test ai::tests::tests::test_openai_provider_creation ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_provider_creation ... ok
[INFO] [stdout] test doc::providers::confluence::tests::test_api_url_construction ... ok
[INFO] [stdout] test git::providers::gitlab::tests::test_provider_creation_without_token ... ok
[INFO] [stdout] test doc::providers::tests::test_provider_factory_confluence ... ok
[INFO] [stdout] test git::providers::github::tests::test_invalid_repo_format ... ok
[INFO] [stdout] test doc::providers::confluence::tests::test_confluence_provider_creation ... ok
[INFO] [stdout] test git::providers::github::tests::test_provider_creation_without_token ... ok
[INFO] [stdout] test storage::repository::tests::test_database_stats_with_features has been running for over 60 seconds
[INFO] [stdout] test storage::repository::tests::test_document_mapping has been running for over 60 seconds
[INFO] [stdout] test storage::repository::tests::test_feature_crud has been running for over 60 seconds
[INFO] [stdout] test storage::repository::tests::test_feature_search has been running for over 60 seconds
[INFO] [stdout] test storage::repository::tests::test_multiple_feature_types has been running for over 60 seconds
[INFO] [stdout] test storage::repository::tests::test_service_crud has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "25929dadab81183cc7cb9eaf0ebcd915ec5971878de9917eb132a4c3f37b8f79", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "25929dadab81183cc7cb9eaf0ebcd915ec5971878de9917eb132a4c3f37b8f79", kill_on_drop: false }`
[INFO] [stdout] 25929dadab81183cc7cb9eaf0ebcd915ec5971878de9917eb132a4c3f37b8f79
