[INFO] cloning repository https://github.com/c86j224s/liquid [INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/c86j224s/liquid" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fc86j224s%2Fliquid", kill_on_drop: false }` [INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fc86j224s%2Fliquid'... [INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }` [INFO] [stdout] 3c98288f8967053113ed6235c10f36b2a2f66cc2 [INFO] checking c86j224s/liquid against 65b20a97de33e9e59992793a144aef2950c48c76 for pr-154715 [INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fc86j224s%2Fliquid" "/workspace/builds/worker-6-tc2/source", kill_on_drop: false }` [INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc2/source'... [INFO] [stderr] done. [INFO] started tweaking git repo https://github.com/c86j224s/liquid [INFO] finished tweaking git repo https://github.com/c86j224s/liquid [INFO] tweaked toml for git repo https://github.com/c86j224s/liquid written to /workspace/builds/worker-6-tc2/source/Cargo.toml [INFO] validating manifest of git repo https://github.com/c86j224s/liquid on toolchain 65b20a97de33e9e59992793a144aef2950c48c76 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate git repo https://github.com/c86j224s/liquid 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" "+65b20a97de33e9e59992793a144aef2950c48c76" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc2/target:/opt/rustwide/target:rw,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" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:00c5645b54fe3ce5dae1417175e3c7fb6a6646c021d554ecd63a097b8b9f3602" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999 [INFO] running `Command { std: "docker" "start" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999" "/opt/rustwide/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999", kill_on_drop: false }` [INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-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" "-w" "/opt/rustwide/workdir" "--user" "0:0" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999" "/opt/rustwide/cargo-home/bin/cargo" "+65b20a97de33e9e59992793a144aef2950c48c76" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }` [INFO] [stderr] Compiling libc v0.2.186 [INFO] [stderr] Checking smallvec v1.15.1 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Checking stable_deref_trait v1.2.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Checking futures-channel v0.3.32 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling ahash v0.8.12 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling siphasher v1.0.2 [INFO] [stderr] Compiling crossbeam-utils v0.8.21 [INFO] [stderr] Compiling litemap v0.8.2 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling futures-core v0.3.32 [INFO] [stderr] Compiling pin-project-lite v0.2.17 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling icu_properties_data v2.2.0 [INFO] [stderr] Compiling icu_normalizer_data v2.2.0 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling syn v1.0.109 [INFO] [stderr] Compiling getrandom v0.4.2 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling futures-io v0.3.32 [INFO] [stderr] Compiling percent-encoding v2.3.2 [INFO] [stderr] Compiling allocator-api2 v0.2.21 [INFO] [stderr] Compiling phf_shared v0.11.3 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling bytes v1.11.1 [INFO] [stderr] Compiling futures-task v0.3.32 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling siphasher v0.3.11 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [INFO] [stderr] Compiling itoa v1.0.18 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling phf_shared v0.10.0 [INFO] [stderr] Compiling crc v3.4.0 [INFO] [stderr] Compiling crossbeam-queue v0.3.12 [INFO] [stderr] Compiling spin v0.9.8 [INFO] [stderr] Checking crypto-common v0.1.7 [INFO] [stderr] Checking parking_lot_core v0.9.12 [INFO] [stderr] Checking errno v0.3.14 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Checking socket2 v0.6.3 [INFO] [stderr] Checking mio v1.2.0 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Checking signal-hook-registry v1.4.8 [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Checking parking_lot v0.12.5 [INFO] [stderr] Compiling cc v1.2.61 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling chrono v0.4.44 [INFO] [stderr] Compiling atoi v2.0.0 [INFO] [stderr] Compiling hashbrown v0.14.5 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Checking mac v0.1.1 [INFO] [stderr] Compiling bitflags v2.11.1 [INFO] [stderr] Compiling linux-raw-sys v0.12.1 [INFO] [stderr] Checking precomputed-hash v0.1.1 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling tokio v1.52.1 [INFO] [stderr] Compiling futures-intrusive v0.5.0 [INFO] [stderr] Checking futf v0.1.5 [INFO] [stderr] Compiling flume v0.11.1 [INFO] [stderr] Compiling hashlink v0.8.4 [INFO] [stderr] Compiling urlencoding v2.1.3 [INFO] [stderr] Compiling unicode-segmentation v1.13.2 [INFO] [stderr] Compiling fastrand v2.4.1 [INFO] [stderr] Checking tendril v0.4.3 [INFO] [stderr] Compiling phf_generator v0.11.3 [INFO] [stderr] Compiling phf_generator v0.10.0 [INFO] [stderr] Compiling heck v0.4.1 [INFO] [stderr] Compiling string_cache_codegen v0.5.4 [INFO] [stderr] Compiling phf_codegen v0.10.0 [INFO] [stderr] Checking serde_json v1.0.149 [INFO] [stderr] Compiling sqlformat v0.2.6 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling phf_codegen v0.11.3 [INFO] [stderr] Checking phf v0.10.1 [INFO] [stderr] Checking dtoa v1.0.11 [INFO] [stderr] Checking rustls-pki-types v1.14.1 [INFO] [stderr] Compiling selectors v0.25.0 [INFO] [stderr] Compiling markup5ever v0.12.1 [INFO] [stderr] Checking getopts v0.2.24 [INFO] [stderr] Checking dtoa-short v0.3.5 [INFO] [stderr] Checking fxhash v0.2.1 [INFO] [stderr] Checking servo_arc v0.3.0 [INFO] [stderr] Compiling rustls v0.23.39 [INFO] [stderr] Checking ego-tree v0.6.3 [INFO] [stderr] Compiling openssl v0.10.78 [INFO] [stderr] Compiling markup5ever v0.11.0 [INFO] [stderr] Compiling libsqlite3-sys v0.27.0 [INFO] [stderr] Compiling aws-lc-sys v0.40.0 [INFO] [stderr] Compiling openssl-sys v0.9.114 [INFO] [stderr] Checking http v0.2.12 [INFO] [stderr] Checking liquid-research-artifacts v0.1.0 (/opt/rustwide/workdir/crates/liquid-research-artifacts) [INFO] [stderr] Compiling native-tls v0.2.18 [INFO] [stderr] Checking rustls-native-certs v0.8.3 [INFO] [stderr] Checking socket2 v0.5.10 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling multer v3.1.0 [INFO] [stderr] Compiling pulldown-cmark v0.10.3 [INFO] [stderr] Checking anstyle-parse v1.0.0 [INFO] [stderr] Checking serde_path_to_error v0.1.20 [INFO] [stderr] Checking http-range-header v0.4.2 [INFO] [stderr] Checking pulldown-cmark-escape v0.10.1 [INFO] [stderr] Checking colorchoice v1.0.5 [INFO] [stderr] Checking liquid-html-report v0.1.0 (/opt/rustwide/workdir/crates/liquid-html-report) [INFO] [stderr] Checking anstream v1.0.0 [INFO] [stderr] Checking http-body v0.4.6 [INFO] [stderr] Checking uuid v1.23.1 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Checking clap_builder v4.6.0 [INFO] [stderr] Compiling html5ever v0.26.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling thiserror-impl v1.0.69 [INFO] [stderr] Compiling tokio-stream v0.1.18 [INFO] [stderr] Compiling phf_macros v0.11.3 [INFO] [stderr] Compiling html5ever v0.27.0 [INFO] [stderr] Checking zerofrom v0.1.7 [INFO] [stderr] Compiling cssparser-macros v0.6.1 [INFO] [stderr] Compiling derive_more v0.99.20 [INFO] [stderr] Compiling openssl-macros v0.1.1 [INFO] [stderr] Checking yoke v0.8.2 [INFO] [stderr] Checking phf v0.11.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Checking zerovec v0.11.6 [INFO] [stderr] Checking zerotrie v0.2.4 [INFO] [stderr] Checking cssparser v0.31.2 [INFO] [stderr] Checking tinystr v0.8.3 [INFO] [stderr] Checking potential_utf v0.1.5 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Checking tracing v0.1.44 [INFO] [stderr] Checking icu_locale_core v2.2.0 [INFO] [stderr] Compiling thiserror v1.0.69 [INFO] [stderr] Checking icu_collections v2.2.0 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Checking async-stream v0.3.6 [INFO] [stderr] Checking axum-core v0.4.5 [INFO] [stderr] Checking futures v0.3.32 [INFO] [stderr] Checking icu_provider v2.2.0 [INFO] [stderr] Checking clap v4.6.1 [INFO] [stderr] Checking icu_properties v2.2.0 [INFO] [stderr] Checking icu_normalizer v2.2.0 [INFO] [stderr] Checking either v1.15.0 [INFO] [stderr] Checking string_cache v0.8.9 [INFO] [stderr] Checking serde_urlencoded v0.7.1 [INFO] [stderr] Checking idna_adapter v1.2.1 [INFO] [stderr] Checking idna v1.1.0 [INFO] [stderr] Checking xml5ever v0.18.1 [INFO] [stderr] Checking url v2.5.8 [INFO] [stderr] Checking xml5ever v0.17.0 [INFO] [stderr] Checking liquid-files v0.1.0 (/opt/rustwide/workdir/crates/liquid-files) [INFO] [stderr] Checking tokio-util v0.7.18 [INFO] [stderr] Checking tower v0.5.3 [INFO] [stderr] Checking scraper v0.19.1 [INFO] [stderr] Checking tokio-native-tls v0.3.1 [INFO] [stderr] Checking markup5ever_rcdom v0.3.0 [INFO] [stderr] Checking sqlx-core v0.7.4 [INFO] [stderr] Checking html2md v0.2.15 [INFO] [stderr] Checking h2 v0.4.13 [INFO] [stderr] Checking h2 v0.3.27 [INFO] [stderr] Checking tower-http v0.6.8 [INFO] [stderr] Checking tower-http v0.5.2 [INFO] [stderr] Checking markup5ever_rcdom v0.2.0 [INFO] [stderr] Checking sqlx-sqlite v0.7.4 [INFO] [stderr] Checking hyper v1.9.0 [INFO] [stderr] Compiling aws-lc-rs v1.16.3 [INFO] [stderr] Compiling sqlx-macros-core v0.7.4 [INFO] [stderr] Checking hyper v0.14.32 [INFO] [stderr] Checking hyper-util v0.1.20 [INFO] [stderr] Checking rustls-webpki v0.103.13 [INFO] [stderr] Compiling sqlx-macros v0.7.4 [INFO] [stderr] Checking axum v0.7.9 [INFO] [stderr] Checking sqlx v0.7.4 [INFO] [stderr] Checking liquid-protocol v0.1.0 (/opt/rustwide/workdir/crates/liquid-protocol) [INFO] [stderr] Checking hyper-tls v0.5.0 [INFO] [stderr] Checking reqwest v0.11.27 [INFO] [stderr] Checking readability v0.3.0 [INFO] [stderr] Checking tokio-rustls v0.26.4 [INFO] [stderr] Checking rustls-platform-verifier v0.6.2 [INFO] [stderr] Checking hyper-rustls v0.27.9 [INFO] [stderr] Checking reqwest v0.13.2 [INFO] [stderr] Checking liquid-research-core v0.1.0 (/opt/rustwide/workdir/crates/liquid-research-core) [INFO] [stderr] Checking liquid-workspace v0.1.0 (/opt/rustwide/workdir/crates/liquid-workspace) [INFO] [stderr] Checking liquid-acquisition v0.1.0 (/opt/rustwide/workdir/crates/liquid-acquisition) [INFO] [stderr] Checking liquid-runtime v0.1.0 (/opt/rustwide/workdir/crates/liquid-runtime) [INFO] [stderr] Checking liquid-storage-sqlite v0.1.0 (/opt/rustwide/workdir/crates/liquid-storage-sqlite) [INFO] [stdout] warning: function `configured_search_provider` is never used [INFO] [stdout] --> crates/liquid-acquisition/src/research_sources.rs:647:4 [INFO] [stdout] | [INFO] [stdout] 647 | fn configured_search_provider( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `dedupe_sources` is never used [INFO] [stdout] --> crates/liquid-acquisition/src/research_sources.rs:4180:4 [INFO] [stdout] | [INFO] [stdout] 4180 | fn dedupe_sources(sources: &mut Vec) { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `source_score` is never used [INFO] [stdout] --> crates/liquid-acquisition/src/research_sources.rs:4214:4 [INFO] [stdout] | [INFO] [stdout] 4214 | fn source_score(url: &str) -> i32 { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `source_quality` is never used [INFO] [stdout] --> crates/liquid-acquisition/src/research_sources.rs:4278:4 [INFO] [stdout] | [INFO] [stdout] 4278 | fn source_quality(url: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking liquid-server v0.1.0 (/opt/rustwide/workdir/crates/liquid-server) [INFO] [stderr] Checking liquid-research-classic v0.8.0 (/opt/rustwide/workdir/crates/liquid-research-classic) [INFO] [stderr] Checking liquid v0.8.0 (/opt/rustwide/workdir) [INFO] [stdout] warning: function `default_engine_presets` is never used [INFO] [stdout] --> src/application/engine_presets/catalog.rs:9:15 [INFO] [stdout] | [INFO] [stdout] 9 | pub(crate) fn default_engine_presets() -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_engine_preset_by_id` is never used [INFO] [stdout] --> src/application/engine_presets/catalog.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn default_engine_preset_by_id(id: i64) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_engine_preset_for_model` is never used [INFO] [stdout] --> src/application/engine_presets/catalog.rs:17:15 [INFO] [stdout] | [INFO] [stdout] 17 | pub(crate) fn default_engine_preset_for_model(model: Option<&str>) -> EnginePreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `default_engine_preset_to_engine_preset` is never used [INFO] [stdout] --> src/application/engine_presets/catalog.rs:21:15 [INFO] [stdout] | [INFO] [stdout] 21 | pub(crate) fn default_engine_preset_to_engine_preset(preset: DefaultEnginePreset) -> EnginePreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SqliteEnginePresetRepository` is never constructed [INFO] [stdout] --> src/application/engine_presets/repository.rs:7:19 [INFO] [stdout] | [INFO] [stdout] 7 | pub(crate) struct SqliteEnginePresetRepository<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple associated items are never used [INFO] [stdout] --> src/application/engine_presets/repository.rs:12:19 [INFO] [stdout] | [INFO] [stdout] 11 | impl<'a> SqliteEnginePresetRepository<'a> { [INFO] [stdout] | ----------------------------------------- associated items in this implementation [INFO] [stdout] 12 | pub(crate) fn new(db: &'a SqlitePool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] ... [INFO] [stdout] 18 | pub(crate) async fn list_custom_presets(&self) -> Result, sqlx::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 22 | pub(crate) async fn load_custom_preset_by_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 31 | pub(crate) async fn load_enabled_custom_preset_by_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 40 | pub(crate) async fn insert_custom_preset( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 47 | pub(crate) async fn update_custom_preset_name_and_model( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub(crate) async fn delete_custom_preset(&self, id: i64) -> Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 62 | pub(crate) async fn record_test_result( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `EngineResolutionError` is never used [INFO] [stdout] --> src/application/engine_presets/resolver.rs:10:17 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) enum EngineResolutionError { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_engine_for_research` is never used [INFO] [stdout] --> src/application/engine_presets/resolver.rs:16:21 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) async fn resolve_engine_for_research( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `compatibility_preset_for_model` is never used [INFO] [stdout] --> src/application/engine_presets/resolver.rs:102:15 [INFO] [stdout] | [INFO] [stdout] 102 | pub(crate) fn compatibility_preset_for_model(model: Option<&str>) -> EnginePreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_engine_preset_status` is never used [INFO] [stdout] --> src/application/engine_presets/status_check.rs:8:21 [INFO] [stdout] | [INFO] [stdout] 8 | pub(crate) async fn test_engine_preset_status( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `executable_exists` is never used [INFO] [stdout] --> src/application/engine_presets/status_check.rs:117:15 [INFO] [stdout] | [INFO] [stdout] 117 | pub(crate) fn executable_exists(command: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TaskRepository` is never used [INFO] [stdout] --> src/application/ports.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) trait TaskRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `id`, `normalize_research_mode`, `normalize_research_type`, `research_focus_section`, `build_document_research_user_prompt`, and `build_follow_up_research_user_prompt` are never used [INFO] [stdout] --> src/application/ports.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) trait ResearchImplementation: Send + Sync { [INFO] [stdout] | ---------------------- methods in this trait [INFO] [stdout] 127 | fn id(&self) -> &'static str; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 138 | fn normalize_research_mode(&self, mode: &str) -> &'static str; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 139 | fn normalize_research_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn research_focus_section(&self, instructions: Option<&str>) -> String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 151 | fn build_document_research_user_prompt(&self, instructions: Option<&str>) -> String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 152 | fn build_follow_up_research_user_prompt(&self, instructions: Option<&str>) -> String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_allows_web_search` is never used [INFO] [stdout] --> src/application/research_prompts.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) fn research_allows_web_search(file_prefix: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_provider_for` is never used [INFO] [stdout] --> src/application/research_prompts.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn web_search_provider_for( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_audit_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn web_search_audit_prompt(requested: bool, provider: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intensity_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn intensity_prompt(intensity: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_controller_contract_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub(crate) fn research_controller_contract_prompt(format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fallback_disclosure_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) fn fallback_disclosure_prompt(reason: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_research_type` is never used [INFO] [stdout] --> src/application/research_prompts.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) fn normalize_research_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_mode_lens` is never used [INFO] [stdout] --> src/application/research_prompts.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) fn research_mode_lens(mode: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_research_system_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub(crate) fn build_research_system_prompt(mode: &str, format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_focus_section` is never used [INFO] [stdout] --> src/application/research_prompts.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub(crate) fn research_focus_section(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_document_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn build_document_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_follow_up_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub(crate) fn build_follow_up_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_topic_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub(crate) fn build_topic_research_user_prompt(topic: &str, instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_smart_content` is never used [INFO] [stdout] --> src/application/scraping.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | pub(crate) fn get_smart_content(html: &str, url_str: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_smart_content_with_strategy` is never used [INFO] [stdout] --> src/application/scraping.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | pub(crate) fn get_smart_content_with_strategy( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extracted_content_is_sufficient` is never used [INFO] [stdout] --> src/application/scraping.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub(crate) fn extracted_content_is_sufficient(title: &str, content_html: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extracted_content_looks_noisy` is never used [INFO] [stdout] --> src/application/scraping.rs:250:15 [INFO] [stdout] | [INFO] [stdout] 250 | pub(crate) fn extracted_content_looks_noisy(content_html: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_plain_text` is never used [INFO] [stdout] --> src/application/scraping.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub(crate) fn markdown_plain_text(markdown: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_text_for_quality` is never used [INFO] [stdout] --> src/application/scraping.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | pub(crate) fn normalize_text_for_quality(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_scraped_title` is never used [INFO] [stdout] --> src/application/scraping.rs:266:15 [INFO] [stdout] | [INFO] [stdout] 266 | pub(crate) fn normalize_scraped_title(title: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_scraped_title` is never used [INFO] [stdout] --> src/application/scraping.rs:270:15 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) fn resolve_scraped_title(html: &str, extracted_title: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fallback_page_content` is never used [INFO] [stdout] --> src/application/scraping.rs:274:15 [INFO] [stdout] | [INFO] [stdout] 274 | pub(crate) fn fallback_page_content(html: &str, preferred_title: &str) -> Option<(String, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_document_title` is never used [INFO] [stdout] --> src/application/scraping.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn extract_document_title(document: &scraper::Html) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_scrape_failure_for_task` is never used [INFO] [stdout] --> src/application/scraping.rs:601:15 [INFO] [stdout] | [INFO] [stdout] 601 | pub(crate) fn format_scrape_failure_for_task(diagnostics: &ScrapeDiagnostics) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_geeknews_url` is never used [INFO] [stdout] --> src/application/scraping.rs:622:15 [INFO] [stdout] | [INFO] [stdout] 622 | pub(crate) fn is_geeknews_url(url: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_geeknews_original_url` is never used [INFO] [stdout] --> src/application/scraping.rs:639:15 [INFO] [stdout] | [INFO] [stdout] 639 | pub(crate) fn extract_geeknews_original_url(html: &str, geeknews_url: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `preserve_code_line_spans` is never used [INFO] [stdout] --> src/application/scraping.rs:905:15 [INFO] [stdout] | [INFO] [stdout] 905 | pub(crate) fn preserve_code_line_spans(html: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_line_span_pre` is never used [INFO] [stdout] --> src/application/scraping.rs:909:15 [INFO] [stdout] | [INFO] [stdout] 909 | pub(crate) fn normalize_line_span_pre(pre_html: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_pre_code_lines` is never used [INFO] [stdout] --> src/application/scraping.rs:913:15 [INFO] [stdout] | [INFO] [stdout] 913 | pub(crate) fn select_pre_code_lines(fragment: &scraper::Html) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_pandoc_line_span_id` is never used [INFO] [stdout] --> src/application/scraping.rs:917:15 [INFO] [stdout] | [INFO] [stdout] 917 | pub(crate) fn is_pandoc_line_span_id(id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_ascii_case_insensitive` is never used [INFO] [stdout] --> src/application/scraping.rs:921:15 [INFO] [stdout] | [INFO] [stdout] 921 | pub(crate) fn find_ascii_case_insensitive(haystack: &str, needle: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_markdown_text` is never used [INFO] [stdout] --> src/application/scraping.rs:929:15 [INFO] [stdout] | [INFO] [stdout] 929 | pub(crate) fn escape_markdown_text(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_multiline_linked_images` is never used [INFO] [stdout] --> src/application/scraping.rs:933:15 [INFO] [stdout] | [INFO] [stdout] 933 | pub(crate) fn normalize_multiline_linked_images(markdown: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_multiline_linked_image` is never used [INFO] [stdout] --> src/application/scraping.rs:937:15 [INFO] [stdout] | [INFO] [stdout] 937 | pub(crate) fn parse_multiline_linked_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_markdown_content_indent` is never used [INFO] [stdout] --> src/application/scraping.rs:944:15 [INFO] [stdout] | [INFO] [stdout] 944 | pub(crate) fn trim_markdown_content_indent(line: &str) -> Option<(usize, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_markdown_link_target_with_trailing_text` is never used [INFO] [stdout] --> src/application/scraping.rs:948:15 [INFO] [stdout] | [INFO] [stdout] 948 | pub(crate) fn parse_markdown_link_target_with_trailing_text(line: &str) -> Option<(String, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_markdown_link_target_close` is never used [INFO] [stdout] --> src/application/scraping.rs:952:15 [INFO] [stdout] | [INFO] [stdout] 952 | pub(crate) fn find_markdown_link_target_close(target_and_trailing: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `opens_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | pub(crate) fn opens_markdown_fence(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `closes_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | pub(crate) fn closes_markdown_fence(line: &str, marker: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_html_attribute` is never used [INFO] [stdout] --> src/application/scraping.rs:964:15 [INFO] [stdout] | [INFO] [stdout] 964 | pub(crate) fn escape_html_attribute(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_server_context` is never used [INFO] [stdout] --> src/application/server_adapters.rs:54:15 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) fn build_server_context(state: Arc) -> Arc { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RootServerAdapter` is never constructed [INFO] [stdout] --> src/application/server_adapters.rs:79:8 [INFO] [stdout] | [INFO] [stdout] 79 | struct RootServerAdapter { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `protocol_task_update_event` is never used [INFO] [stdout] --> src/application/server_adapters.rs:84:4 [INFO] [stdout] | [INFO] [stdout] 84 | fn protocol_task_update_event(event: &LegacyTaskUpdateEvent) -> TaskUpdateEvent { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `protocol_engine_preset` is never used [INFO] [stdout] --> src/application/server_adapters.rs:98:4 [INFO] [stdout] | [INFO] [stdout] 98 | fn protocol_engine_preset(preset: LegacyEnginePreset) -> EnginePreset { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `hydrate_file_tags`, `has_research_request`, `build_content_preview`, and `list_files_with_metadata` are never used [INFO] [stdout] --> src/application/server_adapters.rs:127:14 [INFO] [stdout] | [INFO] [stdout] 126 | impl RootServerAdapter { [INFO] [stdout] | ---------------------- methods in this implementation [INFO] [stdout] 127 | async fn hydrate_file_tags(&self, items: &mut [FileListItem]) -> Result<(), sqlx::Error> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 131 | async fn has_research_request(&self, file: &FileMetadata) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 137 | async fn build_content_preview(&self, file: &FileMetadata) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 148 | async fn list_files_with_metadata( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: enum `TagUpdateError` is never used [INFO] [stdout] --> src/application/server_adapters.rs:169:6 [INFO] [stdout] | [INFO] [stdout] 169 | enum TagUpdateError { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_tag_labels` is never used [INFO] [stdout] --> src/application/server_adapters.rs:174:4 [INFO] [stdout] | [INFO] [stdout] 174 | fn user_tag_labels(raw_tags: Vec) -> Result, TagUpdateError> { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `user_tag_ids` is never used [INFO] [stdout] --> src/application/server_adapters.rs:197:10 [INFO] [stdout] | [INFO] [stdout] 197 | async fn user_tag_ids( [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ensure_user_tag_id` is never used [INFO] [stdout] --> src/application/server_adapters.rs:211:10 [INFO] [stdout] | [INFO] [stdout] 211 | async fn ensure_user_tag_id( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replace_user_tag_ids` is never used [INFO] [stdout] --> src/application/server_adapters.rs:253:10 [INFO] [stdout] | [INFO] [stdout] 253 | async fn replace_user_tag_ids( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_time_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:847:4 [INFO] [stdout] | [INFO] [stdout] 847 | fn claim_has_time_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_region_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:851:4 [INFO] [stdout] | [INFO] [stdout] 851 | fn claim_has_region_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_actor_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:855:4 [INFO] [stdout] | [INFO] [stdout] 855 | fn claim_has_actor_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_handoff_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:859:4 [INFO] [stdout] | [INFO] [stdout] 859 | fn claim_has_handoff_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_is_phase_specific` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:865:4 [INFO] [stdout] | [INFO] [stdout] 865 | fn claim_is_phase_specific(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `infer_historical_claim_type` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:882:4 [INFO] [stdout] | [INFO] [stdout] 882 | fn infer_historical_claim_type(claim: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `TASK_CANCELLED_MESSAGE` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:1:18 [INFO] [stdout] | [INFO] [stdout] 1 | pub(crate) const TASK_CANCELLED_MESSAGE: &str = "Task was cancelled"; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELETE_CANCELLABLE_TASK_STATUSES` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:3:18 [INFO] [stdout] | [INFO] [stdout] 3 | pub(super) const DELETE_CANCELLABLE_TASK_STATUSES: &[&str] = &[ [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `DELETE_CANCELLABLE_TASK_STATUS_SQL_LIST` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:10:18 [INFO] [stdout] | [INFO] [stdout] 10 | pub(crate) const DELETE_CANCELLABLE_TASK_STATUS_SQL_LIST: &str = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ABORT_RECOVERY_TASK_STATUSES` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | pub(super) const ABORT_RECOVERY_TASK_STATUSES: &[&str] = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_delete_cancellable_task_status` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:16:15 [INFO] [stdout] | [INFO] [stdout] 16 | pub(crate) fn is_delete_cancellable_task_status(status: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_abort_recovery_task_status` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) fn is_abort_recovery_task_status(status: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_ai_queue_workers` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:158:15 [INFO] [stdout] | [INFO] [stdout] 158 | pub(crate) fn spawn_ai_queue_workers( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ai_queue_worker` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:177:10 [INFO] [stdout] | [INFO] [stdout] 177 | async fn ai_queue_worker(state: Arc, lane: QueueLane) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_claimed_task_with_cancellation` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:187:10 [INFO] [stdout] | [INFO] [stdout] 187 | async fn execute_claimed_task_with_cancellation(state: Arc, task: TaskInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `mark_task_interrupted_if_present` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:209:21 [INFO] [stdout] | [INFO] [stdout] 209 | pub(super) async fn mark_task_interrupted_if_present( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_repair_search_hints_block` is never used [INFO] [stdout] --> src/application/tasks/repair_helpers.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub(super) fn render_repair_search_hints_block(hints: &[RepairSearchHint]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_retryable_task` is never used [INFO] [stdout] --> src/application/tasks/retry_policy.rs:3:15 [INFO] [stdout] | [INFO] [stdout] 3 | pub(crate) fn is_retryable_task(task: &TaskInfo) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `retry_task_metadata` is never used [INFO] [stdout] --> src/application/tasks/retry_policy.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(crate) fn retry_task_metadata(task: &TaskInfo) -> TaskMetadata { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `merge_retry_engine_metadata` is never used [INFO] [stdout] --> src/application/tasks/retry_policy.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn merge_retry_engine_metadata(target: &mut TaskMetadata, engine: TaskMetadata) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SqliteTaskRepository` is never constructed [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | pub(super) struct SqliteTaskRepository<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 7 | impl<'a> SqliteTaskRepository<'a> { [INFO] [stdout] | --------------------------------- associated function in this implementation [INFO] [stdout] 8 | pub(super) fn new(db: &'a sqlx::SqlitePool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerInfo` is never constructed [INFO] [stdout] --> src/contracts.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | pub(crate) struct DrawerInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePreset` is never constructed [INFO] [stdout] --> src/contracts.rs:54:19 [INFO] [stdout] | [INFO] [stdout] 54 | pub(crate) struct EnginePreset { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/contracts.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) struct TaskInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 82 | pub(crate) id: i64, [INFO] [stdout] 83 | pub(crate) file_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub(crate) created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 89 | pub(crate) deleted_at: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 94 | pub(crate) source_file_ids: Option, // JSON array [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 99 | pub(crate) research_type: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 100 | pub(crate) research_mode: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 101 | pub(crate) research_format: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 104 | pub(crate) prompt_version: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 109 | pub(crate) engine_preset_id: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] 110 | pub(crate) engine_preset_name: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskInfo` 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: struct `TaskSummary` is never constructed [INFO] [stdout] --> src/contracts.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | pub(crate) struct TaskSummary { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatusUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | pub(crate) struct StatusUpdate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:175:19 [INFO] [stdout] | [INFO] [stdout] 175 | pub(crate) struct DrawerPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerAssignment` is never constructed [INFO] [stdout] --> src/contracts.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub(crate) struct DrawerAssignment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetCreatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) struct EnginePresetCreatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetUpdatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:193:19 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) struct EnginePresetUpdatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TitleUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:199:19 [INFO] [stdout] | [INFO] [stdout] 199 | pub(crate) struct TitleUpdate { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileMetadataUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | pub(crate) struct FileMetadataUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TagUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | pub(crate) struct TagUpdate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScrapRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | pub(crate) struct ScrapRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:224:19 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct ActionRequest { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MultiResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | pub(crate) struct MultiResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TopicResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:243:19 [INFO] [stdout] | [INFO] [stdout] 243 | pub(crate) struct TopicResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PushRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:257:19 [INFO] [stdout] | [INFO] [stdout] 257 | pub(crate) struct PushRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelOption` is never constructed [INFO] [stdout] --> src/contracts.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 284 | pub(crate) struct ModelOption { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RetryTaskPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:312:19 [INFO] [stdout] | [INFO] [stdout] 312 | pub(crate) struct RetryTaskPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EngineResolution` is never constructed [INFO] [stdout] --> src/contracts.rs:320:19 [INFO] [stdout] | [INFO] [stdout] 320 | pub(crate) struct EngineResolution { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppConfig` is never constructed [INFO] [stdout] --> src/contracts.rs:355:19 [INFO] [stdout] | [INFO] [stdout] 355 | pub(crate) struct AppConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchQuery` is never constructed [INFO] [stdout] --> src/contracts.rs:775:19 [INFO] [stdout] | [INFO] [stdout] 775 | pub(crate) struct SearchQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `install_panic_hook` is never used [INFO] [stdout] --> src/diagnostics.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn install_panic_hook(crash_dir: PathBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `log_lifecycle_event` is never used [INFO] [stdout] --> src/diagnostics.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub(crate) fn log_lifecycle_event(event: &str, detail: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shutdown_signal` is never used [INFO] [stdout] --> src/diagnostics.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) async fn shutdown_signal() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wait_for_shutdown_signal` is never used [INFO] [stdout] --> src/diagnostics.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | async fn wait_for_shutdown_signal() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_panic_report` is never used [INFO] [stdout] --> src/diagnostics.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn format_panic_report(info: &std::panic::PanicHookInfo<'_>, backtrace: &Backtrace) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_lifecycle_event` is never used [INFO] [stdout] --> src/diagnostics.rs:99:15 [INFO] [stdout] | [INFO] [stdout] 99 | pub(crate) fn format_lifecycle_event(event: &str, detail: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_panic_summary` is never used [INFO] [stdout] --> src/diagnostics.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn format_panic_summary(info: &std::panic::PanicHookInfo<'_>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `sanitize_log_field` is never used [INFO] [stdout] --> src/diagnostics.rs:117:4 [INFO] [stdout] | [INFO] [stdout] 117 | fn sanitize_log_field(value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_crash_report` is never used [INFO] [stdout] --> src/diagnostics.rs:133:15 [INFO] [stdout] | [INFO] [stdout] 133 | pub(crate) fn write_crash_report(crash_dir: &Path, report: &str) -> io::Result { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `create_private_crash_dir` is never used [INFO] [stdout] --> src/diagnostics.rs:145:4 [INFO] [stdout] | [INFO] [stdout] 145 | fn create_private_crash_dir(crash_dir: &Path) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_private_file` is never used [INFO] [stdout] --> src/diagnostics.rs:152:4 [INFO] [stdout] | [INFO] [stdout] 152 | fn write_private_file(path: &Path, report: &str) -> io::Result<()> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_html_design_prompt` is never used [INFO] [stdout] --> src/research_design.rs:5:15 [INFO] [stdout] | [INFO] [stdout] 5 | pub(crate) fn build_html_design_prompt() -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `active_tasks`, `ai_workers`, `local_ai_workers`, and `research_implementation_id` are never read [INFO] [stdout] --> src/state.rs:53:16 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) struct AppState { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 53 | pub(crate) active_tasks: Mutex>, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 54 | pub(crate) ai_workers: usize, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 55 | pub(crate) local_ai_workers: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 58 | pub(crate) research_implementation_id: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Checking liquid-bench v0.8.0 (/opt/rustwide/workdir/crates/liquid-bench) [INFO] [stdout] warning: field `title` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 455 | struct ParsedSourceCard { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 458 | title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourceCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `claim` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 463 | struct ParsedClaimLogEntry { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 464 | id: String, [INFO] [stdout] 465 | claim: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedClaimLogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `topic`, and `conflicting_claim_ids` are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 473 | struct ParsedConflictEntry { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 474 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 475 | topic: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 476 | #[serde(default)] [INFO] [stdout] 477 | conflicting_claim_ids: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedConflictEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `candidate_queries` are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:484:5 [INFO] [stdout] | [INFO] [stdout] 483 | struct ParsedDebtItem { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 484 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 488 | candidate_queries: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedDebtItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `subject` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 504 | struct ParsedSourceDiagnosticsEnvelope { [INFO] [stdout] | ------------------------------- field in this struct [INFO] [stdout] 505 | subject: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourceDiagnosticsEnvelope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `reason` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:515:5 [INFO] [stdout] | [INFO] [stdout] 513 | struct ParsedSourcePackReport { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 514 | status: String, [INFO] [stdout] 515 | reason: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourcePackReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `query`, `result_count`, `adopted_count`, `skipped_count`, and `error` are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:528:5 [INFO] [stdout] | [INFO] [stdout] 527 | struct ParsedSourceQueryReport { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 528 | query: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 532 | result_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 533 | adopted_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 534 | skipped_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 535 | error: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourceQueryReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 544 | struct ParsedContextPackingDiagnostics { [INFO] [stdout] | ------------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 550 | narrative_timeline_event_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 551 | #[serde(default)] [INFO] [stdout] 552 | narrative_section_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 553 | #[serde(default)] [INFO] [stdout] 554 | narrative_evidence_layer_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 555 | #[serde(default)] [INFO] [stdout] 556 | narrative_interpretive_tension_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 557 | #[serde(default)] [INFO] [stdout] 558 | narrative_impact_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 559 | #[serde(default)] [INFO] [stdout] 560 | narrative_reader_question_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | reader_argument_node_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 567 | #[serde(default)] [INFO] [stdout] 568 | reader_argument_edge_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 569 | #[serde(default)] [INFO] [stdout] 570 | reader_narrative_plan_present: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 574 | reader_critique_present: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | reader_critique_failed_metric_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedContextPackingDiagnostics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `read_bounded_text_file` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1048:4 [INFO] [stdout] | [INFO] [stdout] 1048 | fn read_bounded_text_file( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_replay_fixture_prompt` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1057:4 [INFO] [stdout] | [INFO] [stdout] 1057 | fn extract_replay_fixture_prompt(resolved_user_prompt: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_failure_markdown_artifact` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1215:4 [INFO] [stdout] | [INFO] [stdout] 1215 | fn render_failure_markdown_artifact( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_case_summary_json` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1222:4 [INFO] [stdout] | [INFO] [stdout] 1222 | fn write_case_summary_json( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `write_case_failure_fallback_artifacts_with_stem` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1244:4 [INFO] [stdout] | [INFO] [stdout] 1244 | fn write_case_failure_fallback_artifacts_with_stem( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_dimension_aggregates` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1326:4 [INFO] [stdout] | [INFO] [stdout] 1326 | fn build_dimension_aggregates(executions: &[RunExecution]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_by_key` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4171:4 [INFO] [stdout] | [INFO] [stdout] 4171 | fn count_by_key(values: I) -> BTreeMap [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_count_map` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4178:4 [INFO] [stdout] | [INFO] [stdout] 4178 | fn render_count_map(counts: &BTreeMap) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `average_f64` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4186:4 [INFO] [stdout] | [INFO] [stdout] 4186 | fn average_f64(scores: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min_f64` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4190:4 [INFO] [stdout] | [INFO] [stdout] 4190 | fn min_f64(scores: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_f64` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4194:4 [INFO] [stdout] | [INFO] [stdout] 4194 | fn max_f64(scores: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `csv_escape` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4198:4 [INFO] [stdout] | [INFO] [stdout] 4198 | fn csv_escape(value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `title` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:458:5 [INFO] [stdout] | [INFO] [stdout] 455 | struct ParsedSourceCard { [INFO] [stdout] | ---------------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 458 | title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourceCard` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `claim` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:465:5 [INFO] [stdout] | [INFO] [stdout] 463 | struct ParsedClaimLogEntry { [INFO] [stdout] | ------------------- field in this struct [INFO] [stdout] 464 | id: String, [INFO] [stdout] 465 | claim: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedClaimLogEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id`, `topic`, and `conflicting_claim_ids` are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:474:5 [INFO] [stdout] | [INFO] [stdout] 473 | struct ParsedConflictEntry { [INFO] [stdout] | ------------------- fields in this struct [INFO] [stdout] 474 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] 475 | topic: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 476 | #[serde(default)] [INFO] [stdout] 477 | conflicting_claim_ids: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedConflictEntry` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `id` and `candidate_queries` are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:484:5 [INFO] [stdout] | [INFO] [stdout] 483 | struct ParsedDebtItem { [INFO] [stdout] | -------------- fields in this struct [INFO] [stdout] 484 | id: String, [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 488 | candidate_queries: Vec, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedDebtItem` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `subject` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:505:5 [INFO] [stdout] | [INFO] [stdout] 504 | struct ParsedSourceDiagnosticsEnvelope { [INFO] [stdout] | ------------------------------- field in this struct [INFO] [stdout] 505 | subject: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourceDiagnosticsEnvelope` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `reason` is never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:515:5 [INFO] [stdout] | [INFO] [stdout] 513 | struct ParsedSourcePackReport { [INFO] [stdout] | ---------------------- field in this struct [INFO] [stdout] 514 | status: String, [INFO] [stdout] 515 | reason: Option, [INFO] [stdout] | ^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourcePackReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `query`, `result_count`, `adopted_count`, `skipped_count`, and `error` are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:528:5 [INFO] [stdout] | [INFO] [stdout] 527 | struct ParsedSourceQueryReport { [INFO] [stdout] | ----------------------- fields in this struct [INFO] [stdout] 528 | query: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] ... [INFO] [stdout] 532 | result_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] 533 | adopted_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 534 | skipped_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 535 | error: Option, [INFO] [stdout] | ^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedSourceQueryReport` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> crates/liquid-bench/src/main.rs:550:5 [INFO] [stdout] | [INFO] [stdout] 544 | struct ParsedContextPackingDiagnostics { [INFO] [stdout] | ------------------------------- fields in this struct [INFO] [stdout] ... [INFO] [stdout] 550 | narrative_timeline_event_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 551 | #[serde(default)] [INFO] [stdout] 552 | narrative_section_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 553 | #[serde(default)] [INFO] [stdout] 554 | narrative_evidence_layer_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 555 | #[serde(default)] [INFO] [stdout] 556 | narrative_interpretive_tension_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 557 | #[serde(default)] [INFO] [stdout] 558 | narrative_impact_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 559 | #[serde(default)] [INFO] [stdout] 560 | narrative_reader_question_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 566 | reader_argument_node_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 567 | #[serde(default)] [INFO] [stdout] 568 | reader_argument_edge_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 569 | #[serde(default)] [INFO] [stdout] 570 | reader_narrative_plan_present: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 574 | reader_critique_present: bool, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 578 | reader_critique_failed_metric_count: usize, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ParsedContextPackingDiagnostics` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_dimension_aggregates` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:1326:4 [INFO] [stdout] | [INFO] [stdout] 1326 | fn build_dimension_aggregates(executions: &[RunExecution]) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `count_by_key` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4171:4 [INFO] [stdout] | [INFO] [stdout] 4171 | fn count_by_key(values: I) -> BTreeMap [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_count_map` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4178:4 [INFO] [stdout] | [INFO] [stdout] 4178 | fn render_count_map(counts: &BTreeMap) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `average_f64` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4186:4 [INFO] [stdout] | [INFO] [stdout] 4186 | fn average_f64(scores: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `min_f64` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4190:4 [INFO] [stdout] | [INFO] [stdout] 4190 | fn min_f64(scores: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `max_f64` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4194:4 [INFO] [stdout] | [INFO] [stdout] 4194 | fn max_f64(scores: &[f64]) -> f64 { [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `csv_escape` is never used [INFO] [stdout] --> crates/liquid-bench/src/main.rs:4198:4 [INFO] [stdout] | [INFO] [stdout] 4198 | fn csv_escape(value: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assign_file_tags` is never used [INFO] [stdout] --> src/application/file_tags.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) async fn assign_file_tags( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TaskRepository` is never used [INFO] [stdout] --> src/application/ports.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) trait TaskRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: methods `id` and `research_focus_section` are never used [INFO] [stdout] --> src/application/ports.rs:127:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) trait ResearchImplementation: Send + Sync { [INFO] [stdout] | ---------------------- methods in this trait [INFO] [stdout] 127 | fn id(&self) -> &'static str; [INFO] [stdout] | ^^ [INFO] [stdout] ... [INFO] [stdout] 150 | fn research_focus_section(&self, instructions: Option<&str>) -> String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_allows_web_search` is never used [INFO] [stdout] --> src/application/research_prompts.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) fn research_allows_web_search(file_prefix: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_provider_for` is never used [INFO] [stdout] --> src/application/research_prompts.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn web_search_provider_for( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_audit_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn web_search_audit_prompt(requested: bool, provider: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intensity_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn intensity_prompt(intensity: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_controller_contract_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub(crate) fn research_controller_contract_prompt(format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fallback_disclosure_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) fn fallback_disclosure_prompt(reason: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_research_type` is never used [INFO] [stdout] --> src/application/research_prompts.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) fn normalize_research_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_mode_lens` is never used [INFO] [stdout] --> src/application/research_prompts.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) fn research_mode_lens(mode: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_research_system_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub(crate) fn build_research_system_prompt(mode: &str, format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_focus_section` is never used [INFO] [stdout] --> src/application/research_prompts.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub(crate) fn research_focus_section(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_document_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn build_document_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_follow_up_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub(crate) fn build_follow_up_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_topic_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub(crate) fn build_topic_research_user_prompt(topic: &str, instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_smart_content_with_strategy` is never used [INFO] [stdout] --> src/application/scraping.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | pub(crate) fn get_smart_content_with_strategy( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extracted_content_is_sufficient` is never used [INFO] [stdout] --> src/application/scraping.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub(crate) fn extracted_content_is_sufficient(title: &str, content_html: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_plain_text` is never used [INFO] [stdout] --> src/application/scraping.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub(crate) fn markdown_plain_text(markdown: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_text_for_quality` is never used [INFO] [stdout] --> src/application/scraping.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | pub(crate) fn normalize_text_for_quality(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_document_title` is never used [INFO] [stdout] --> src/application/scraping.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn extract_document_title(document: &scraper::Html) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_line_span_pre` is never used [INFO] [stdout] --> src/application/scraping.rs:909:15 [INFO] [stdout] | [INFO] [stdout] 909 | pub(crate) fn normalize_line_span_pre(pre_html: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_pre_code_lines` is never used [INFO] [stdout] --> src/application/scraping.rs:913:15 [INFO] [stdout] | [INFO] [stdout] 913 | pub(crate) fn select_pre_code_lines(fragment: &scraper::Html) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_pandoc_line_span_id` is never used [INFO] [stdout] --> src/application/scraping.rs:917:15 [INFO] [stdout] | [INFO] [stdout] 917 | pub(crate) fn is_pandoc_line_span_id(id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_ascii_case_insensitive` is never used [INFO] [stdout] --> src/application/scraping.rs:921:15 [INFO] [stdout] | [INFO] [stdout] 921 | pub(crate) fn find_ascii_case_insensitive(haystack: &str, needle: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_markdown_text` is never used [INFO] [stdout] --> src/application/scraping.rs:929:15 [INFO] [stdout] | [INFO] [stdout] 929 | pub(crate) fn escape_markdown_text(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_multiline_linked_image` is never used [INFO] [stdout] --> src/application/scraping.rs:937:15 [INFO] [stdout] | [INFO] [stdout] 937 | pub(crate) fn parse_multiline_linked_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_markdown_content_indent` is never used [INFO] [stdout] --> src/application/scraping.rs:944:15 [INFO] [stdout] | [INFO] [stdout] 944 | pub(crate) fn trim_markdown_content_indent(line: &str) -> Option<(usize, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_markdown_link_target_with_trailing_text` is never used [INFO] [stdout] --> src/application/scraping.rs:948:15 [INFO] [stdout] | [INFO] [stdout] 948 | pub(crate) fn parse_markdown_link_target_with_trailing_text(line: &str) -> Option<(String, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_markdown_link_target_close` is never used [INFO] [stdout] --> src/application/scraping.rs:952:15 [INFO] [stdout] | [INFO] [stdout] 952 | pub(crate) fn find_markdown_link_target_close(target_and_trailing: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `opens_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | pub(crate) fn opens_markdown_fence(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `closes_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | pub(crate) fn closes_markdown_fence(line: &str, marker: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_html_attribute` is never used [INFO] [stdout] --> src/application/scraping.rs:964:15 [INFO] [stdout] | [INFO] [stdout] 964 | pub(crate) fn escape_html_attribute(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `spawn_ai_queue_workers` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:158:15 [INFO] [stdout] | [INFO] [stdout] 158 | pub(crate) fn spawn_ai_queue_workers( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `ai_queue_worker` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:177:10 [INFO] [stdout] | [INFO] [stdout] 177 | async fn ai_queue_worker(state: Arc, lane: QueueLane) { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `execute_claimed_task_with_cancellation` is never used [INFO] [stdout] --> src/application/tasks/queue_workflow.rs:187:10 [INFO] [stdout] | [INFO] [stdout] 187 | async fn execute_claimed_task_with_cancellation(state: Arc, task: TaskInfo) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_repair_search_hints_block` is never used [INFO] [stdout] --> src/application/tasks/repair_helpers.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub(super) fn render_repair_search_hints_block(hints: &[RepairSearchHint]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SqliteTaskRepository` is never constructed [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | pub(super) struct SqliteTaskRepository<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 7 | impl<'a> SqliteTaskRepository<'a> { [INFO] [stdout] | --------------------------------- associated function in this implementation [INFO] [stdout] 8 | pub(super) fn new(db: &'a sqlx::SqlitePool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerInfo` is never constructed [INFO] [stdout] --> src/contracts.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | pub(crate) struct DrawerInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_id`, `created_at`, and `deleted_at` are never read [INFO] [stdout] --> src/contracts.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) struct TaskInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 82 | pub(crate) id: i64, [INFO] [stdout] 83 | pub(crate) file_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub(crate) created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 89 | pub(crate) deleted_at: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskInfo` 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: struct `TaskSummary` is never constructed [INFO] [stdout] --> src/contracts.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | pub(crate) struct TaskSummary { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatusUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | pub(crate) struct StatusUpdate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:175:19 [INFO] [stdout] | [INFO] [stdout] 175 | pub(crate) struct DrawerPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerAssignment` is never constructed [INFO] [stdout] --> src/contracts.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub(crate) struct DrawerAssignment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetCreatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) struct EnginePresetCreatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetUpdatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:193:19 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) struct EnginePresetUpdatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TitleUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:199:19 [INFO] [stdout] | [INFO] [stdout] 199 | pub(crate) struct TitleUpdate { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileMetadataUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | pub(crate) struct FileMetadataUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TagUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | pub(crate) struct TagUpdate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScrapRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | pub(crate) struct ScrapRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:224:19 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct ActionRequest { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MultiResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | pub(crate) struct MultiResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TopicResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:243:19 [INFO] [stdout] | [INFO] [stdout] 243 | pub(crate) struct TopicResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PushRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:257:19 [INFO] [stdout] | [INFO] [stdout] 257 | pub(crate) struct PushRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelOption` is never constructed [INFO] [stdout] --> src/contracts.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 284 | pub(crate) struct ModelOption { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RetryTaskPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:312:19 [INFO] [stdout] | [INFO] [stdout] 312 | pub(crate) struct RetryTaskPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppConfig` is never constructed [INFO] [stdout] --> src/contracts.rs:355:19 [INFO] [stdout] | [INFO] [stdout] 355 | pub(crate) struct AppConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchQuery` is never constructed [INFO] [stdout] --> src/contracts.rs:775:19 [INFO] [stdout] | [INFO] [stdout] 775 | pub(crate) struct SearchQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `install_panic_hook` is never used [INFO] [stdout] --> src/diagnostics.rs:13:15 [INFO] [stdout] | [INFO] [stdout] 13 | pub(crate) fn install_panic_hook(crash_dir: PathBuf) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `log_lifecycle_event` is never used [INFO] [stdout] --> src/diagnostics.rs:40:15 [INFO] [stdout] | [INFO] [stdout] 40 | pub(crate) fn log_lifecycle_event(event: &str, detail: &str) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `shutdown_signal` is never used [INFO] [stdout] --> src/diagnostics.rs:44:21 [INFO] [stdout] | [INFO] [stdout] 44 | pub(crate) async fn shutdown_signal() { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `wait_for_shutdown_signal` is never used [INFO] [stdout] --> src/diagnostics.rs:49:10 [INFO] [stdout] | [INFO] [stdout] 49 | async fn wait_for_shutdown_signal() -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_panic_report` is never used [INFO] [stdout] --> src/diagnostics.rs:74:4 [INFO] [stdout] | [INFO] [stdout] 74 | fn format_panic_report(info: &std::panic::PanicHookInfo<'_>, backtrace: &Backtrace) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_panic_summary` is never used [INFO] [stdout] --> src/diagnostics.rs:109:4 [INFO] [stdout] | [INFO] [stdout] 109 | fn format_panic_summary(info: &std::panic::PanicHookInfo<'_>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `research_implementation_id` is never read [INFO] [stdout] --> src/state.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 58 | pub(crate) research_implementation_id: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_state_with_historical_phase_engine` is never used [INFO] [stdout] --> src/test_support.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub(crate) fn test_state_with_historical_phase_engine( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `table_exists` is never used [INFO] [stdout] --> src/test_support.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | pub(crate) async fn table_exists(db: &SqlitePool, table: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `schema_snapshot` is never used [INFO] [stdout] --> src/test_support.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) async fn schema_snapshot(db: &SqlitePool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TaskRepository` is never used [INFO] [stdout] --> src/application/ports.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) trait TaskRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ArtifactFinalizer` is never used [INFO] [stdout] --> src/application/ports.rs:89:18 [INFO] [stdout] | [INFO] [stdout] 89 | pub(crate) trait ArtifactFinalizer { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `ArtifactValidator` is never used [INFO] [stdout] --> src/application/ports.rs:99:18 [INFO] [stdout] | [INFO] [stdout] 99 | pub(crate) trait ArtifactValidator { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `research_focus_section` is never used [INFO] [stdout] --> src/application/ports.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) trait ResearchImplementation: Send + Sync { [INFO] [stdout] | ---------------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 150 | fn research_focus_section(&self, instructions: Option<&str>) -> String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_allows_web_search` is never used [INFO] [stdout] --> src/application/research_prompts.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) fn research_allows_web_search(file_prefix: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_provider_for` is never used [INFO] [stdout] --> src/application/research_prompts.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn web_search_provider_for( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_audit_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn web_search_audit_prompt(requested: bool, provider: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intensity_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn intensity_prompt(intensity: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_controller_contract_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub(crate) fn research_controller_contract_prompt(format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fallback_disclosure_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) fn fallback_disclosure_prompt(reason: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_research_mode` is never used [INFO] [stdout] --> src/application/research_prompts.rs:47:15 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) fn normalize_research_mode(mode: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_research_type` is never used [INFO] [stdout] --> src/application/research_prompts.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) fn normalize_research_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_mode_lens` is never used [INFO] [stdout] --> src/application/research_prompts.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) fn research_mode_lens(mode: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_research_system_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub(crate) fn build_research_system_prompt(mode: &str, format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_focus_section` is never used [INFO] [stdout] --> src/application/research_prompts.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub(crate) fn research_focus_section(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_document_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn build_document_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_follow_up_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub(crate) fn build_follow_up_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_topic_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub(crate) fn build_topic_research_user_prompt(topic: &str, instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_smart_content` is never used [INFO] [stdout] --> src/application/scraping.rs:228:15 [INFO] [stdout] | [INFO] [stdout] 228 | pub(crate) fn get_smart_content(html: &str, url_str: &str) -> (String, String) { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_smart_content_with_strategy` is never used [INFO] [stdout] --> src/application/scraping.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | pub(crate) fn get_smart_content_with_strategy( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extracted_content_is_sufficient` is never used [INFO] [stdout] --> src/application/scraping.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub(crate) fn extracted_content_is_sufficient(title: &str, content_html: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extracted_content_looks_noisy` is never used [INFO] [stdout] --> src/application/scraping.rs:250:15 [INFO] [stdout] | [INFO] [stdout] 250 | pub(crate) fn extracted_content_looks_noisy(content_html: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_plain_text` is never used [INFO] [stdout] --> src/application/scraping.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub(crate) fn markdown_plain_text(markdown: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_text_for_quality` is never used [INFO] [stdout] --> src/application/scraping.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | pub(crate) fn normalize_text_for_quality(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_scraped_title` is never used [INFO] [stdout] --> src/application/scraping.rs:266:15 [INFO] [stdout] | [INFO] [stdout] 266 | pub(crate) fn normalize_scraped_title(title: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `resolve_scraped_title` is never used [INFO] [stdout] --> src/application/scraping.rs:270:15 [INFO] [stdout] | [INFO] [stdout] 270 | pub(crate) fn resolve_scraped_title(html: &str, extracted_title: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fallback_page_content` is never used [INFO] [stdout] --> src/application/scraping.rs:274:15 [INFO] [stdout] | [INFO] [stdout] 274 | pub(crate) fn fallback_page_content(html: &str, preferred_title: &str) -> Option<(String, String)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_document_title` is never used [INFO] [stdout] --> src/application/scraping.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn extract_document_title(document: &scraper::Html) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `format_scrape_failure_for_task` is never used [INFO] [stdout] --> src/application/scraping.rs:601:15 [INFO] [stdout] | [INFO] [stdout] 601 | pub(crate) fn format_scrape_failure_for_task(diagnostics: &ScrapeDiagnostics) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `preserve_code_line_spans` is never used [INFO] [stdout] --> src/application/scraping.rs:905:15 [INFO] [stdout] | [INFO] [stdout] 905 | pub(crate) fn preserve_code_line_spans(html: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_line_span_pre` is never used [INFO] [stdout] --> src/application/scraping.rs:909:15 [INFO] [stdout] | [INFO] [stdout] 909 | pub(crate) fn normalize_line_span_pre(pre_html: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_pre_code_lines` is never used [INFO] [stdout] --> src/application/scraping.rs:913:15 [INFO] [stdout] | [INFO] [stdout] 913 | pub(crate) fn select_pre_code_lines(fragment: &scraper::Html) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_pandoc_line_span_id` is never used [INFO] [stdout] --> src/application/scraping.rs:917:15 [INFO] [stdout] | [INFO] [stdout] 917 | pub(crate) fn is_pandoc_line_span_id(id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_ascii_case_insensitive` is never used [INFO] [stdout] --> src/application/scraping.rs:921:15 [INFO] [stdout] | [INFO] [stdout] 921 | pub(crate) fn find_ascii_case_insensitive(haystack: &str, needle: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_markdown_text` is never used [INFO] [stdout] --> src/application/scraping.rs:929:15 [INFO] [stdout] | [INFO] [stdout] 929 | pub(crate) fn escape_markdown_text(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_multiline_linked_image` is never used [INFO] [stdout] --> src/application/scraping.rs:937:15 [INFO] [stdout] | [INFO] [stdout] 937 | pub(crate) fn parse_multiline_linked_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_markdown_content_indent` is never used [INFO] [stdout] --> src/application/scraping.rs:944:15 [INFO] [stdout] | [INFO] [stdout] 944 | pub(crate) fn trim_markdown_content_indent(line: &str) -> Option<(usize, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_markdown_link_target_with_trailing_text` is never used [INFO] [stdout] --> src/application/scraping.rs:948:15 [INFO] [stdout] | [INFO] [stdout] 948 | pub(crate) fn parse_markdown_link_target_with_trailing_text(line: &str) -> Option<(String, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_markdown_link_target_close` is never used [INFO] [stdout] --> src/application/scraping.rs:952:15 [INFO] [stdout] | [INFO] [stdout] 952 | pub(crate) fn find_markdown_link_target_close(target_and_trailing: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `opens_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | pub(crate) fn opens_markdown_fence(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `closes_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | pub(crate) fn closes_markdown_fence(line: &str, marker: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_html_attribute` is never used [INFO] [stdout] --> src/application/scraping.rs:964:15 [INFO] [stdout] | [INFO] [stdout] 964 | pub(crate) fn escape_html_attribute(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_queue_lane` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:12:15 [INFO] [stdout] | [INFO] [stdout] 12 | pub(super) fn benchmark_queue_lane(model_input: &str) -> QueueLane { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_engine_kind` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) fn benchmark_engine_kind(model_input: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_model_name` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:30:15 [INFO] [stdout] | [INFO] [stdout] 30 | pub(super) fn benchmark_model_name(model_input: &str) -> &str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_research_mode` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:37:15 [INFO] [stdout] | [INFO] [stdout] 37 | pub(super) fn benchmark_research_mode(category: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_benchmark_fixture` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub(super) fn build_benchmark_fixture(input: &ResearchBenchmarkCaseInput) -> BenchmarkFixture { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_benchmark_fixture_output` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:62:4 [INFO] [stdout] | [INFO] [stdout] 62 | fn render_benchmark_fixture_output( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_fixture_narrative_state` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:256:4 [INFO] [stdout] | [INFO] [stdout] 256 | fn benchmark_fixture_narrative_state( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fixture_source_pack_report` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:531:4 [INFO] [stdout] | [INFO] [stdout] 531 | fn fixture_source_pack_report(input: &ResearchBenchmarkCaseInput) -> ResearchSourcePackReport { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_fixture_urls` is never used [INFO] [stdout] --> src/application/tasks/benchmark_fixture.rs:583:4 [INFO] [stdout] | [INFO] [stdout] 583 | fn benchmark_fixture_urls() -> &'static [(&'static str, &'static str)] { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ResearchBenchmarkDebugCaseResult` is never constructed [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:5:12 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ResearchBenchmarkDebugCaseResult { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `safe_result` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl ResearchBenchmarkDebugCaseResult { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 29 | pub fn safe_result(&self) -> ResearchBenchmarkCaseResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `benchmark_ai_task_timeout_secs` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:50:15 [INFO] [stdout] | [INFO] [stdout] 50 | pub(super) fn benchmark_ai_task_timeout_secs(timeout_secs: u64) -> u64 { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_research_benchmark_case` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | pub async fn run_research_benchmark_case( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_research_benchmark_case_debug` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:62:14 [INFO] [stdout] | [INFO] [stdout] 62 | pub async fn run_research_benchmark_case_debug( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay_research_benchmark_case` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn replay_research_benchmark_case( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay_research_benchmark_case_debug` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:218:8 [INFO] [stdout] | [INFO] [stdout] 218 | pub fn replay_research_benchmark_case_debug( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_time_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:847:4 [INFO] [stdout] | [INFO] [stdout] 847 | fn claim_has_time_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_region_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:851:4 [INFO] [stdout] | [INFO] [stdout] 851 | fn claim_has_region_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_actor_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:855:4 [INFO] [stdout] | [INFO] [stdout] 855 | fn claim_has_actor_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_has_handoff_anchor` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:859:4 [INFO] [stdout] | [INFO] [stdout] 859 | fn claim_has_handoff_anchor(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `claim_is_phase_specific` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:865:4 [INFO] [stdout] | [INFO] [stdout] 865 | fn claim_is_phase_specific(claim: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `infer_historical_claim_type` is never used [INFO] [stdout] --> src/application/tasks/historical_phase_engine.rs:882:4 [INFO] [stdout] | [INFO] [stdout] 882 | fn infer_historical_claim_type(claim: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: constant `ABORT_RECOVERY_TASK_STATUSES` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:13:18 [INFO] [stdout] | [INFO] [stdout] 13 | pub(super) const ABORT_RECOVERY_TASK_STATUSES: &[&str] = [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_abort_recovery_task_status` is never used [INFO] [stdout] --> src/application/tasks/lifecycle_policy.rs:20:15 [INFO] [stdout] | [INFO] [stdout] 20 | pub(super) fn is_abort_recovery_task_status(status: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_repair_search_hints_block` is never used [INFO] [stdout] --> src/application/tasks/repair_helpers.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub(super) fn render_repair_search_hints_block(hints: &[RepairSearchHint]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SqliteTaskRepository` is never constructed [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | pub(super) struct SqliteTaskRepository<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 7 | impl<'a> SqliteTaskRepository<'a> { [INFO] [stdout] | --------------------------------- associated function in this implementation [INFO] [stdout] 8 | pub(super) fn new(db: &'a sqlx::SqlitePool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DefaultArtifactProcessor` is never constructed [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:77:19 [INFO] [stdout] | [INFO] [stdout] 77 | pub(super) struct DefaultArtifactProcessor; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerInfo` is never constructed [INFO] [stdout] --> src/contracts.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | pub(crate) struct DrawerInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/contracts.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) struct TaskInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 82 | pub(crate) id: i64, [INFO] [stdout] 83 | pub(crate) file_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 84 | pub(crate) filename: Option, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 87 | pub(crate) error_message: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] 88 | pub(crate) created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 89 | pub(crate) deleted_at: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 105 | pub(crate) resolved_system_prompt: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] 106 | pub(crate) resolved_user_prompt: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 120 | pub(crate) quality_last_failure: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskInfo` 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: struct `TaskSummary` is never constructed [INFO] [stdout] --> src/contracts.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | pub(crate) struct TaskSummary { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatusUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | pub(crate) struct StatusUpdate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:175:19 [INFO] [stdout] | [INFO] [stdout] 175 | pub(crate) struct DrawerPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerAssignment` is never constructed [INFO] [stdout] --> src/contracts.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub(crate) struct DrawerAssignment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetCreatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) struct EnginePresetCreatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetUpdatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:193:19 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) struct EnginePresetUpdatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TitleUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:199:19 [INFO] [stdout] | [INFO] [stdout] 199 | pub(crate) struct TitleUpdate { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileMetadataUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | pub(crate) struct FileMetadataUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TagUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | pub(crate) struct TagUpdate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScrapRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | pub(crate) struct ScrapRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:224:19 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct ActionRequest { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MultiResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | pub(crate) struct MultiResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TopicResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:243:19 [INFO] [stdout] | [INFO] [stdout] 243 | pub(crate) struct TopicResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PushRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:257:19 [INFO] [stdout] | [INFO] [stdout] 257 | pub(crate) struct PushRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelOption` is never constructed [INFO] [stdout] --> src/contracts.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 284 | pub(crate) struct ModelOption { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RetryTaskPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:312:19 [INFO] [stdout] | [INFO] [stdout] 312 | pub(crate) struct RetryTaskPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppConfig` is never constructed [INFO] [stdout] --> src/contracts.rs:355:19 [INFO] [stdout] | [INFO] [stdout] 355 | pub(crate) struct AppConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchQuery` is never constructed [INFO] [stdout] --> src/contracts.rs:775:19 [INFO] [stdout] | [INFO] [stdout] 775 | pub(crate) struct SearchQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `research_implementation_id` is never read [INFO] [stdout] --> src/state.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 58 | pub(crate) research_implementation_id: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `assign_file_tags` is never used [INFO] [stdout] --> src/application/file_tags.rs:6:21 [INFO] [stdout] | [INFO] [stdout] 6 | pub(crate) async fn assign_file_tags( [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: trait `TaskRepository` is never used [INFO] [stdout] --> src/application/ports.rs:28:18 [INFO] [stdout] | [INFO] [stdout] 28 | pub(crate) trait TaskRepository { [INFO] [stdout] | ^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: method `research_focus_section` is never used [INFO] [stdout] --> src/application/ports.rs:150:8 [INFO] [stdout] | [INFO] [stdout] 126 | pub(crate) trait ResearchImplementation: Send + Sync { [INFO] [stdout] | ---------------------- method in this trait [INFO] [stdout] ... [INFO] [stdout] 150 | fn research_focus_section(&self, instructions: Option<&str>) -> String; [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_allows_web_search` is never used [INFO] [stdout] --> src/application/research_prompts.rs:19:15 [INFO] [stdout] | [INFO] [stdout] 19 | pub(crate) fn research_allows_web_search(file_prefix: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_provider_for` is never used [INFO] [stdout] --> src/application/research_prompts.rs:23:15 [INFO] [stdout] | [INFO] [stdout] 23 | pub(crate) fn web_search_provider_for( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `web_search_audit_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:31:15 [INFO] [stdout] | [INFO] [stdout] 31 | pub(crate) fn web_search_audit_prompt(requested: bool, provider: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `intensity_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:35:15 [INFO] [stdout] | [INFO] [stdout] 35 | pub(crate) fn intensity_prompt(intensity: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_controller_contract_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:39:15 [INFO] [stdout] | [INFO] [stdout] 39 | pub(crate) fn research_controller_contract_prompt(format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `fallback_disclosure_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:43:15 [INFO] [stdout] | [INFO] [stdout] 43 | pub(crate) fn fallback_disclosure_prompt(reason: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_research_type` is never used [INFO] [stdout] --> src/application/research_prompts.rs:51:15 [INFO] [stdout] | [INFO] [stdout] 51 | pub(crate) fn normalize_research_type( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_mode_lens` is never used [INFO] [stdout] --> src/application/research_prompts.rs:58:15 [INFO] [stdout] | [INFO] [stdout] 58 | pub(crate) fn research_mode_lens(mode: &str) -> &'static str { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_research_system_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:62:15 [INFO] [stdout] | [INFO] [stdout] 62 | pub(crate) fn build_research_system_prompt(mode: &str, format: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `research_focus_section` is never used [INFO] [stdout] --> src/application/research_prompts.rs:67:15 [INFO] [stdout] | [INFO] [stdout] 67 | pub(crate) fn research_focus_section(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_document_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:71:15 [INFO] [stdout] | [INFO] [stdout] 71 | pub(crate) fn build_document_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_follow_up_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:75:15 [INFO] [stdout] | [INFO] [stdout] 75 | pub(crate) fn build_follow_up_research_user_prompt(instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `build_topic_research_user_prompt` is never used [INFO] [stdout] --> src/application/research_prompts.rs:79:15 [INFO] [stdout] | [INFO] [stdout] 79 | pub(crate) fn build_topic_research_user_prompt(topic: &str, instructions: Option<&str>) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `get_smart_content_with_strategy` is never used [INFO] [stdout] --> src/application/scraping.rs:232:15 [INFO] [stdout] | [INFO] [stdout] 232 | pub(crate) fn get_smart_content_with_strategy( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extracted_content_is_sufficient` is never used [INFO] [stdout] --> src/application/scraping.rs:246:15 [INFO] [stdout] | [INFO] [stdout] 246 | pub(crate) fn extracted_content_is_sufficient(title: &str, content_html: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `markdown_plain_text` is never used [INFO] [stdout] --> src/application/scraping.rs:258:15 [INFO] [stdout] | [INFO] [stdout] 258 | pub(crate) fn markdown_plain_text(markdown: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_text_for_quality` is never used [INFO] [stdout] --> src/application/scraping.rs:262:15 [INFO] [stdout] | [INFO] [stdout] 262 | pub(crate) fn normalize_text_for_quality(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `extract_document_title` is never used [INFO] [stdout] --> src/application/scraping.rs:278:15 [INFO] [stdout] | [INFO] [stdout] 278 | pub(crate) fn extract_document_title(document: &scraper::Html) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `normalize_line_span_pre` is never used [INFO] [stdout] --> src/application/scraping.rs:909:15 [INFO] [stdout] | [INFO] [stdout] 909 | pub(crate) fn normalize_line_span_pre(pre_html: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `select_pre_code_lines` is never used [INFO] [stdout] --> src/application/scraping.rs:913:15 [INFO] [stdout] | [INFO] [stdout] 913 | pub(crate) fn select_pre_code_lines(fragment: &scraper::Html) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `is_pandoc_line_span_id` is never used [INFO] [stdout] --> src/application/scraping.rs:917:15 [INFO] [stdout] | [INFO] [stdout] 917 | pub(crate) fn is_pandoc_line_span_id(id: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_ascii_case_insensitive` is never used [INFO] [stdout] --> src/application/scraping.rs:921:15 [INFO] [stdout] | [INFO] [stdout] 921 | pub(crate) fn find_ascii_case_insensitive(haystack: &str, needle: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_markdown_text` is never used [INFO] [stdout] --> src/application/scraping.rs:929:15 [INFO] [stdout] | [INFO] [stdout] 929 | pub(crate) fn escape_markdown_text(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_multiline_linked_image` is never used [INFO] [stdout] --> src/application/scraping.rs:937:15 [INFO] [stdout] | [INFO] [stdout] 937 | pub(crate) fn parse_multiline_linked_image( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `trim_markdown_content_indent` is never used [INFO] [stdout] --> src/application/scraping.rs:944:15 [INFO] [stdout] | [INFO] [stdout] 944 | pub(crate) fn trim_markdown_content_indent(line: &str) -> Option<(usize, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `parse_markdown_link_target_with_trailing_text` is never used [INFO] [stdout] --> src/application/scraping.rs:948:15 [INFO] [stdout] | [INFO] [stdout] 948 | pub(crate) fn parse_markdown_link_target_with_trailing_text(line: &str) -> Option<(String, &str)> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `find_markdown_link_target_close` is never used [INFO] [stdout] --> src/application/scraping.rs:952:15 [INFO] [stdout] | [INFO] [stdout] 952 | pub(crate) fn find_markdown_link_target_close(target_and_trailing: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `opens_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:956:15 [INFO] [stdout] | [INFO] [stdout] 956 | pub(crate) fn opens_markdown_fence(line: &str) -> Option { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `closes_markdown_fence` is never used [INFO] [stdout] --> src/application/scraping.rs:960:15 [INFO] [stdout] | [INFO] [stdout] 960 | pub(crate) fn closes_markdown_fence(line: &str, marker: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `escape_html_attribute` is never used [INFO] [stdout] --> src/application/scraping.rs:964:15 [INFO] [stdout] | [INFO] [stdout] 964 | pub(crate) fn escape_html_attribute(text: &str) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: multiple fields are never read [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:6:9 [INFO] [stdout] | [INFO] [stdout] 5 | pub struct ResearchBenchmarkDebugCaseResult { [INFO] [stdout] | -------------------------------- fields in this struct [INFO] [stdout] 6 | pub case_id: String, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 7 | pub title: String, [INFO] [stdout] | ^^^^^ [INFO] [stdout] 8 | pub category: String, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 9 | pub mode: ResearchBenchmarkMode, [INFO] [stdout] | ^^^^ [INFO] [stdout] 10 | pub data_dir: PathBuf, [INFO] [stdout] | ^^^^^^^^ [INFO] [stdout] 11 | pub task_id: i64, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] 12 | pub status: String, [INFO] [stdout] 13 | pub error_message: Option, [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 19 | pub output_filename: Option, [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 25 | pub model_input: String, [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `ResearchBenchmarkDebugCaseResult` 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: method `safe_result` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:29:12 [INFO] [stdout] | [INFO] [stdout] 28 | impl ResearchBenchmarkDebugCaseResult { [INFO] [stdout] | ------------------------------------- method in this implementation [INFO] [stdout] 29 | pub fn safe_result(&self) -> ResearchBenchmarkCaseResult { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `run_research_benchmark_case` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:54:14 [INFO] [stdout] | [INFO] [stdout] 54 | pub async fn run_research_benchmark_case( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `replay_research_benchmark_case` is never used [INFO] [stdout] --> src/application/tasks/benchmark_runtime.rs:212:8 [INFO] [stdout] | [INFO] [stdout] 212 | pub fn replay_research_benchmark_case( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `render_repair_search_hints_block` is never used [INFO] [stdout] --> src/application/tasks/repair_helpers.rs:38:15 [INFO] [stdout] | [INFO] [stdout] 38 | pub(super) fn render_repair_search_hints_block(hints: &[RepairSearchHint]) -> String { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SqliteTaskRepository` is never constructed [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:3:19 [INFO] [stdout] | [INFO] [stdout] 3 | pub(super) struct SqliteTaskRepository<'a> { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: associated function `new` is never used [INFO] [stdout] --> src/application/tasks/runtime_adapters.rs:8:19 [INFO] [stdout] | [INFO] [stdout] 7 | impl<'a> SqliteTaskRepository<'a> { [INFO] [stdout] | --------------------------------- associated function in this implementation [INFO] [stdout] 8 | pub(super) fn new(db: &'a sqlx::SqlitePool) -> Self { [INFO] [stdout] | ^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerInfo` is never constructed [INFO] [stdout] --> src/contracts.rs:45:19 [INFO] [stdout] | [INFO] [stdout] 45 | pub(crate) struct DrawerInfo { [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: fields `file_id`, `created_at`, and `deleted_at` are never read [INFO] [stdout] --> src/contracts.rs:83:16 [INFO] [stdout] | [INFO] [stdout] 81 | pub(crate) struct TaskInfo { [INFO] [stdout] | -------- fields in this struct [INFO] [stdout] 82 | pub(crate) id: i64, [INFO] [stdout] 83 | pub(crate) file_id: Option, [INFO] [stdout] | ^^^^^^^ [INFO] [stdout] ... [INFO] [stdout] 88 | pub(crate) created_at: DateTime, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] 89 | pub(crate) deleted_at: Option>, [INFO] [stdout] | ^^^^^^^^^^ [INFO] [stdout] | [INFO] [stdout] = note: `TaskInfo` 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: struct `TaskSummary` is never constructed [INFO] [stdout] --> src/contracts.rs:131:19 [INFO] [stdout] | [INFO] [stdout] 131 | pub(crate) struct TaskSummary { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `StatusUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:170:19 [INFO] [stdout] | [INFO] [stdout] 170 | pub(crate) struct StatusUpdate { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:175:19 [INFO] [stdout] | [INFO] [stdout] 175 | pub(crate) struct DrawerPayload { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `DrawerAssignment` is never constructed [INFO] [stdout] --> src/contracts.rs:181:19 [INFO] [stdout] | [INFO] [stdout] 181 | pub(crate) struct DrawerAssignment { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetCreatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:186:19 [INFO] [stdout] | [INFO] [stdout] 186 | pub(crate) struct EnginePresetCreatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `EnginePresetUpdatePayload` is never constructed [INFO] [stdout] --> src/contracts.rs:193:19 [INFO] [stdout] | [INFO] [stdout] 193 | pub(crate) struct EnginePresetUpdatePayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TitleUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:199:19 [INFO] [stdout] | [INFO] [stdout] 199 | pub(crate) struct TitleUpdate { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `FileMetadataUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:204:19 [INFO] [stdout] | [INFO] [stdout] 204 | pub(crate) struct FileMetadataUpdate { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TagUpdate` is never constructed [INFO] [stdout] --> src/contracts.rs:210:19 [INFO] [stdout] | [INFO] [stdout] 210 | pub(crate) struct TagUpdate { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ScrapRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:215:19 [INFO] [stdout] | [INFO] [stdout] 215 | pub(crate) struct ScrapRequest { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ActionRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:224:19 [INFO] [stdout] | [INFO] [stdout] 224 | pub(crate) struct ActionRequest { [INFO] [stdout] | ^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `MultiResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:229:19 [INFO] [stdout] | [INFO] [stdout] 229 | pub(crate) struct MultiResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `TopicResearchRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:243:19 [INFO] [stdout] | [INFO] [stdout] 243 | pub(crate) struct TopicResearchRequest { [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `PushRequest` is never constructed [INFO] [stdout] --> src/contracts.rs:257:19 [INFO] [stdout] | [INFO] [stdout] 257 | pub(crate) struct PushRequest { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `ModelOption` is never constructed [INFO] [stdout] --> src/contracts.rs:284:19 [INFO] [stdout] | [INFO] [stdout] 284 | pub(crate) struct ModelOption { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `RetryTaskPayload` is never constructed [INFO] [stdout] --> src/contracts.rs:312:19 [INFO] [stdout] | [INFO] [stdout] 312 | pub(crate) struct RetryTaskPayload { [INFO] [stdout] | ^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `AppConfig` is never constructed [INFO] [stdout] --> src/contracts.rs:355:19 [INFO] [stdout] | [INFO] [stdout] 355 | pub(crate) struct AppConfig { [INFO] [stdout] | ^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: struct `SearchQuery` is never constructed [INFO] [stdout] --> src/contracts.rs:775:19 [INFO] [stdout] | [INFO] [stdout] 775 | pub(crate) struct SearchQuery { [INFO] [stdout] | ^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: field `research_implementation_id` is never read [INFO] [stdout] --> src/state.rs:58:16 [INFO] [stdout] | [INFO] [stdout] 47 | pub(crate) struct AppState { [INFO] [stdout] | -------- field in this struct [INFO] [stdout] ... [INFO] [stdout] 58 | pub(crate) research_implementation_id: &'static str, [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `test_state_with_historical_phase_engine` is never used [INFO] [stdout] --> src/test_support.rs:73:15 [INFO] [stdout] | [INFO] [stdout] 73 | pub(crate) fn test_state_with_historical_phase_engine( [INFO] [stdout] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `table_exists` is never used [INFO] [stdout] --> src/test_support.rs:96:21 [INFO] [stdout] | [INFO] [stdout] 96 | pub(crate) async fn table_exists(db: &SqlitePool, table: &str) -> bool { [INFO] [stdout] | ^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stdout] warning: function `schema_snapshot` is never used [INFO] [stdout] --> src/test_support.rs:107:21 [INFO] [stdout] | [INFO] [stdout] 107 | pub(crate) async fn schema_snapshot(db: &SqlitePool) -> Vec { [INFO] [stdout] | ^^^^^^^^^^^^^^^ [INFO] [stdout] [INFO] [stdout] [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 21s [INFO] running `Command { std: "docker" "inspect" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999", kill_on_drop: false }` [INFO] [stdout] 7e9daddc54ece090edf61f40939916acbe91af4f70338934f683ef94c0d29999