[INFO] cloning repository https://github.com/Fangpeng2025/chenyi-kernel
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Fangpeng2025/chenyi-kernel" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFangpeng2025%2Fchenyi-kernel", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFangpeng2025%2Fchenyi-kernel'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] eefdbc2635644e4a4f197189dec9dd763ff6b4f6
[INFO] checking Fangpeng2025/chenyi-kernel against 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6 for pr-160581
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FFangpeng2025%2Fchenyi-kernel" "/workspace/builds/worker-0-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc2/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/Fangpeng2025/chenyi-kernel
[INFO] finished tweaking git repo https://github.com/Fangpeng2025/chenyi-kernel
[INFO] tweaked toml for git repo https://github.com/Fangpeng2025/chenyi-kernel written to /workspace/builds/worker-0-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Fangpeng2025/chenyi-kernel on toolchain 36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Fangpeng2025/chenyi-kernel 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" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:8683fc1fc2eb5c9ac98e0d076ab094b2ffac7f99da555d2b6a2e27f346de2ec7" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14
[INFO] running `Command { std: "docker" "start" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14", 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" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14", 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" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14" "/opt/rustwide/cargo-home/bin/cargo" "+36e0a7eac2392bdd51fab6e7ff1d8c0e42d33bf6" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]     Checking serde v1.0.228
[INFO] [stderr]     Checking http v0.2.12
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling crunchy v0.2.4
[INFO] [stderr]     Checking ahash v0.8.12
[INFO] [stderr]    Compiling tiny-keccak v2.0.2
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling adler2 v2.0.1
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]    Compiling syn v1.0.109
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]     Checking hashbrown v0.14.5
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]     Checking walkdir v2.5.0
[INFO] [stderr]     Checking generic-array v0.14.7
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking idna_adapter v1.2.2
[INFO] [stderr]    Compiling axum-core v0.3.4
[INFO] [stderr]    Compiling pin-project-internal v1.1.12
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling pest v2.8.6
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]     Checking http-body v0.4.6
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling num-conv v0.2.1
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]    Compiling dirs v6.0.0
[INFO] [stderr]    Compiling time-core v0.1.8
[INFO] [stderr]    Compiling zip v0.6.6
[INFO] [stderr]    Compiling shellexpand v3.1.2
[INFO] [stderr]     Checking deranged v0.5.8
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]    Compiling const-random-macro v0.1.16
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]     Checking idna v1.1.0
[INFO] [stderr]     Checking toml_datetime v0.6.11
[INFO] [stderr]     Checking parking_lot_core v0.9.12
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking socket2 v0.5.10
[INFO] [stderr]     Checking const-random v0.1.18
[INFO] [stderr]     Checking dlv-list v0.5.2
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking serde_spanned v0.6.9
[INFO] [stderr]     Checking num-integer v0.1.46
[INFO] [stderr]    Compiling axum v0.6.20
[INFO] [stderr]     Checking pin-project v1.1.12
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking tokio v1.52.1
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking toml_edit v0.22.27
[INFO] [stderr]     Checking ordered-multimap v0.7.3
[INFO] [stderr]     Checking num-bigint v0.4.6
[INFO] [stderr]     Checking url v2.5.8
[INFO] [stderr]     Checking rust-embed-utils v8.11.0
[INFO] [stderr]    Compiling utoipa-gen v4.3.1
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]     Checking getrandom v0.4.2
[INFO] [stderr]     Checking rayon v1.12.0
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling pest_meta v2.8.6
[INFO] [stderr]     Checking time v0.3.47
[INFO] [stderr]    Compiling rust-embed-impl v8.11.0
[INFO] [stderr]     Checking hashlink v0.8.4
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]     Checking pem v3.0.6
[INFO] [stderr]     Checking convert_case v0.6.0
[INFO] [stderr]     Checking rust-embed v8.11.0
[INFO] [stderr]     Checking rand v0.8.6
[INFO] [stderr]     Checking rust-ini v0.20.0
[INFO] [stderr]     Checking yaml-rust2 v0.8.1
[INFO] [stderr]     Checking axum-core v0.4.5
[INFO] [stderr]     Checking num_cpus v1.17.0
[INFO] [stderr]     Checking eventsource-stream v0.2.3
[INFO] [stderr]     Checking toml v0.8.23
[INFO] [stderr]     Checking hashlink v0.9.1
[INFO] [stderr]    Compiling pest_generator v2.8.6
[INFO] [stderr]     Checking ron v0.8.1
[INFO] [stderr]     Checking crossbeam-queue v0.3.12
[INFO] [stderr]     Checking ordered-float v3.9.2
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]     Checking half v2.7.1
[INFO] [stderr]     Checking pathdiff v0.2.3
[INFO] [stderr]     Checking plotters-backend v0.3.7
[INFO] [stderr]     Checking unsafe-libyaml v0.2.11
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking ciborium-io v0.2.2
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking futures-timer v3.0.3
[INFO] [stderr]     Checking ciborium-ll v0.2.2
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling rustls v0.21.12
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking crossbeam v0.8.4
[INFO] [stderr]     Checking plotters-svg v0.3.7
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking tower-http v0.5.2
[INFO] [stderr]     Checking serde_yaml v0.9.34+deprecated
[INFO] [stderr]     Checking itertools v0.10.5
[INFO] [stderr]     Checking cast v0.3.0
[INFO] [stderr]    Compiling pest_derive v2.8.6
[INFO] [stderr]     Checking simple_asn1 v0.6.4
[INFO] [stderr]     Checking rustix v1.1.4
[INFO] [stderr]     Checking json5 v0.4.1
[INFO] [stderr]     Checking plotters v0.3.7
[INFO] [stderr]     Checking instant-distance v0.6.1
[INFO] [stderr]     Checking config v0.14.1
[INFO] [stderr]     Checking ciborium v0.2.2
[INFO] [stderr]     Checking is-terminal v0.4.17
[INFO] [stderr]     Checking tinytemplate v1.2.1
[INFO] [stderr]     Checking oorandom v11.1.5
[INFO] [stderr]     Checking sct v0.7.1
[INFO] [stderr]     Checking rustls-webpki v0.101.7
[INFO] [stderr]     Checking jsonwebtoken v9.3.1
[INFO] [stderr]     Checking anes v0.1.6
[INFO] [stderr]     Checking utoipa v4.2.3
[INFO] [stderr]    Compiling utoipa-swagger-ui v4.0.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking criterion-plot v0.5.0
[INFO] [stderr]     Checking criterion v0.5.1
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tower v0.4.13
[INFO] [stderr]     Checking hyper v1.9.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-stream v0.1.18
[INFO] [stderr]     Checking tokio-test v0.4.5
[INFO] [stderr]     Checking tokio-rustls v0.24.1
[INFO] [stderr]     Checking h2 v0.3.27
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stderr]     Checking axum v0.7.9
[INFO] [stderr]     Checking hyper v0.14.32
[INFO] [stderr]     Checking rusqlite v0.31.0
[INFO] [stderr]     Checking hyper-rustls v0.24.2
[INFO] [stderr]     Checking reqwest v0.11.27
[INFO] [stderr]     Checking reqwest-eventsource v0.5.0
[INFO] [stderr]     Checking chenyi-kernel v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]  --> src/memory/vector.rs:5:45
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::vectors::{HnswIndex, HnswConfig, SearchResult};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `MessageEntry` and `SessionMeta`
[INFO] [stdout]   --> src/context/mod.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::session::{Session, Role, MessageEntry, SessionMeta};
[INFO] [stdout]    |                                     ^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/scheduler/registry.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FlowStep`
[INFO] [stdout]   --> src/scheduler/executor.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::{TaskType, TaskFlow, FlowStep};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/vectors/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]   --> src/storage/sqlite.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rusqlite::{Connection, params, OpenFlags, OptionalExtension};
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/registry.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{Tool, ToolError, ToolInfo};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SearchResult`
[INFO] [stdout]  --> src/memory/vector.rs:5:45
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::vectors::{HnswIndex, HnswConfig, SearchResult};
[INFO] [stdout]   |                                             ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SessionMeta`
[INFO] [stdout]   --> src/context/mod.rs:12:51
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::session::{Session, Role, MessageEntry, SessionMeta};
[INFO] [stdout]    |                                                   ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `uuid::Uuid`
[INFO] [stdout]   --> src/scheduler/registry.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use uuid::Uuid;
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `FlowStep`
[INFO] [stdout]   --> src/scheduler/executor.rs:13:33
[INFO] [stdout]    |
[INFO] [stdout] 13 | use super::{TaskType, TaskFlow, FlowStep};
[INFO] [stdout]    |                                 ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> src/vectors/mod.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use std::collections::HashMap;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `params`
[INFO] [stdout]   --> src/storage/sqlite.rs:12:28
[INFO] [stdout]    |
[INFO] [stdout] 12 | use rusqlite::{Connection, params, OpenFlags, OptionalExtension};
[INFO] [stdout]    |                            ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ToolError`
[INFO] [stdout]  --> src/tools/registry.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use super::{Tool, ToolError, ToolInfo};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `placeholders`
[INFO] [stdout]    --> src/storage/sqlite.rs:386:13
[INFO] [stdout]     |
[INFO] [stdout] 386 |         let placeholders: Vec<String> = (0..values.len()).map(|i| format!("?{}", i + 1)).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_placeholders`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `placeholders`
[INFO] [stdout]    --> src/storage/sqlite.rs:386:13
[INFO] [stdout]     |
[INFO] [stdout] 386 |         let placeholders: Vec<String> = (0..values.len()).map(|i| format!("?{}", i + 1)).collect();
[INFO] [stdout]     |             ^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_placeholders`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scheduler`, `sandbox`, `permissions`, `vectors`, `storage`, and `plugins` are never read
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AgentKernel {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     scheduler: Arc<Mutex<scheduler::TaskScheduler>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     sandbox: Arc<Mutex<sandbox::Sandbox>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     /// 权限管理
[INFO] [stdout] 48 |     permissions: Arc<permissions::PermissionManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     vectors: Arc<Mutex<vectors::VectorEngine>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 53 |     /// 存储引擎
[INFO] [stdout] 54 |     storage: Arc<storage::StorageEngine>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 55 |     /// 插件加载器
[INFO] [stdout] 56 |     plugins: Arc<Mutex<plugins::PluginLoader>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `worker_count` and `config` are never read
[INFO] [stdout]   --> src/scheduler/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TaskScheduler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     worker_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 30 |     /// 配置
[INFO] [stdout] 31 |     config: SchedulerConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]    --> src/llm/mod.rs:297:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct ChatChoice {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 296 |     message: ChatMessage,
[INFO] [stdout] 297 |     finish_reason: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatChoice` 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 `role` is never read
[INFO] [stdout]    --> src/llm/mod.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 301 | struct ChatMessage {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 302 |     role: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatMessage` 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 `config` is never read
[INFO] [stdout]   --> src/vectors/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct VectorEngine {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     config: VectorConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/storage/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StorageEngine {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     config: StorageConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/storage/sqlite.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SqliteStorage {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 91 |     conn: Arc<Mutex<Connection>>,
[INFO] [stdout] 92 |     config: SqliteConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `scheduler`, `sandbox`, `permissions`, `vectors`, `storage`, and `plugins` are never read
[INFO] [stdout]   --> src/lib.rs:42:5
[INFO] [stdout]    |
[INFO] [stdout] 34 | pub struct AgentKernel {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 42 |     scheduler: Arc<Mutex<scheduler::TaskScheduler>>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     sandbox: Arc<Mutex<sandbox::Sandbox>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 47 |     /// 权限管理
[INFO] [stdout] 48 |     permissions: Arc<permissions::PermissionManager>,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 52 |     vectors: Arc<Mutex<vectors::VectorEngine>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 53 |     /// 存储引擎
[INFO] [stdout] 54 |     storage: Arc<storage::StorageEngine>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 55 |     /// 插件加载器
[INFO] [stdout] 56 |     plugins: Arc<Mutex<plugins::PluginLoader>>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `worker_count` and `config` are never read
[INFO] [stdout]   --> src/scheduler/mod.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct TaskScheduler {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 29 |     worker_count: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 30 |     /// 配置
[INFO] [stdout] 31 |     config: SchedulerConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `finish_reason` is never read
[INFO] [stdout]    --> src/llm/mod.rs:297:5
[INFO] [stdout]     |
[INFO] [stdout] 295 | struct ChatChoice {
[INFO] [stdout]     |        ---------- field in this struct
[INFO] [stdout] 296 |     message: ChatMessage,
[INFO] [stdout] 297 |     finish_reason: String,
[INFO] [stdout]     |     ^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatChoice` 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 `role` is never read
[INFO] [stdout]    --> src/llm/mod.rs:302:5
[INFO] [stdout]     |
[INFO] [stdout] 301 | struct ChatMessage {
[INFO] [stdout]     |        ----------- field in this struct
[INFO] [stdout] 302 |     role: String,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `ChatMessage` 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 `config` is never read
[INFO] [stdout]   --> src/vectors/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct VectorEngine {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     config: VectorConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/storage/mod.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct StorageEngine {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 24 |     config: StorageConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/storage/sqlite.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 90 | pub struct SqliteStorage {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] 91 |     conn: Arc<Mutex<Connection>>,
[INFO] [stdout] 92 |     config: SqliteConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::Router`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::Router;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::error::ApiResult`
[INFO] [stdout]  --> src/api/handlers/session.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::api::error::ApiResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApiError` and `ApiResult`
[INFO] [stdout]   --> src/api/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use error::{ApiError, ApiResult};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `axum::Router`
[INFO] [stdout]  --> src/main.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use axum::Router;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::api::error::ApiResult`
[INFO] [stdout]  --> src/api/handlers/session.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::api::error::ApiResult;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ApiError` and `ApiResult`
[INFO] [stdout]   --> src/api/mod.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub use error::{ApiError, ApiResult};
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: comparison is useless due to type limits
[INFO] [stdout]    --> tests/tools_integration_test.rs:236:13
[INFO] [stdout]     |
[INFO] [stdout] 236 |     assert!(stats.total_execution_time_ms >= 0);
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_comparisons)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]  --> src/api/error.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ApiError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ApiResult` is never used
[INFO] [stdout]   --> src/api/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ApiResult<T> = Result<T, ApiError>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code`, `status_code`, and `to_json` are never used
[INFO] [stdout]   --> src/api/error.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ApiError {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 32 |     /// 获取错误码
[INFO] [stdout] 33 |     pub fn code(&self) -> u16 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn status_code(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn to_json(&self) -> serde_json::Value {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/api/dto.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CreateSessionRequest {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub config: Option<SessionConfigDto>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CreateSessionRequest` 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 `max_tokens` and `compression_threshold` are never read
[INFO] [stdout]   --> src/api/dto.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SessionConfigDto {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 19 |     pub max_tokens: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 20 |     pub compression_threshold: Option<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionConfigDto` 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 `role` and `content` are never read
[INFO] [stdout]   --> src/api/dto.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct SendMessageRequest {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 34 |     pub role: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SendMessageRequest` 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 `content` and `metadata` are never read
[INFO] [stdout]   --> src/api/dto.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct StoreMemoryRequest {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 67 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 68 |     pub metadata: Option<serde_json::Value>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoreMemoryRequest` 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`, `mode`, `limit`, and `threshold` are never read
[INFO] [stdout]   --> src/api/dto.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SearchMemoryRequest {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 82 |     pub query: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 83 |     #[serde(default = "default_search_mode")]
[INFO] [stdout] 84 |     pub mode: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 85 |     #[serde(default = "default_limit")]
[INFO] [stdout] 86 |     pub limit: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 87 |     #[serde(default = "default_threshold")]
[INFO] [stdout] 88 |     pub threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchMemoryRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecuteToolRequest` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct ExecuteToolRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecuteToolResponse` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ExecuteToolResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolDto` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct ToolDto {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillDto` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct SkillDto {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Claims` is never constructed
[INFO] [stdout]  --> src/api/auth.rs:8:12
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub struct Claims {
[INFO] [stdout]   |            ^^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `AuthConfig` is never constructed
[INFO] [stdout]   --> src/api/auth.rs:17:12
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub struct AuthConfig {
[INFO] [stdout]    |            ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `generate_token`, and `verify_token` are never used
[INFO] [stdout]   --> src/api/auth.rs:23:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | impl AuthConfig {
[INFO] [stdout]    | --------------- associated items in this implementation
[INFO] [stdout] 23 |     pub fn new(jwt_secret: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub fn generate_token(&self, user_id: &str, role: &str, permissions: Vec<String>) -> Result<String, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn verify_token(&self, token: &str) -> Result<Claims, String> {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ApiError` is never used
[INFO] [stdout]  --> src/api/error.rs:8:10
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub enum ApiError {
[INFO] [stdout]   |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: type alias `ApiResult` is never used
[INFO] [stdout]   --> src/api/error.rs:29:10
[INFO] [stdout]    |
[INFO] [stdout] 29 | pub type ApiResult<T> = Result<T, ApiError>;
[INFO] [stdout]    |          ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `code`, `status_code`, and `to_json` are never used
[INFO] [stdout]   --> src/api/error.rs:33:12
[INFO] [stdout]    |
[INFO] [stdout] 31 | impl ApiError {
[INFO] [stdout]    | ------------- methods in this implementation
[INFO] [stdout] 32 |     /// 获取错误码
[INFO] [stdout] 33 |     pub fn code(&self) -> u16 {
[INFO] [stdout]    |            ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 45 |     pub fn status_code(&self) -> u16 {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 57 |     pub fn to_json(&self) -> serde_json::Value {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `config` is never read
[INFO] [stdout]   --> src/api/dto.rs:13:9
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct CreateSessionRequest {
[INFO] [stdout]    |            -------------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 13 |     pub config: Option<SessionConfigDto>,
[INFO] [stdout]    |         ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `CreateSessionRequest` 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 `max_tokens` and `compression_threshold` are never read
[INFO] [stdout]   --> src/api/dto.rs:19:9
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub struct SessionConfigDto {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 19 |     pub max_tokens: Option<usize>,
[INFO] [stdout]    |         ^^^^^^^^^^
[INFO] [stdout] 20 |     pub compression_threshold: Option<f32>,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SessionConfigDto` 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 `role` and `content` are never read
[INFO] [stdout]   --> src/api/dto.rs:34:9
[INFO] [stdout]    |
[INFO] [stdout] 33 | pub struct SendMessageRequest {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 34 |     pub role: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 35 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SendMessageRequest` 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 `content` and `metadata` are never read
[INFO] [stdout]   --> src/api/dto.rs:67:9
[INFO] [stdout]    |
[INFO] [stdout] 66 | pub struct StoreMemoryRequest {
[INFO] [stdout]    |            ------------------ fields in this struct
[INFO] [stdout] 67 |     pub content: String,
[INFO] [stdout]    |         ^^^^^^^
[INFO] [stdout] 68 |     pub metadata: Option<serde_json::Value>,
[INFO] [stdout]    |         ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `StoreMemoryRequest` 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`, `mode`, `limit`, and `threshold` are never read
[INFO] [stdout]   --> src/api/dto.rs:82:9
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub struct SearchMemoryRequest {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 82 |     pub query: String,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 83 |     #[serde(default = "default_search_mode")]
[INFO] [stdout] 84 |     pub mode: String,
[INFO] [stdout]    |         ^^^^
[INFO] [stdout] 85 |     #[serde(default = "default_limit")]
[INFO] [stdout] 86 |     pub limit: usize,
[INFO] [stdout]    |         ^^^^^
[INFO] [stdout] 87 |     #[serde(default = "default_threshold")]
[INFO] [stdout] 88 |     pub threshold: f32,
[INFO] [stdout]    |         ^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `SearchMemoryRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecuteToolRequest` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:116:12
[INFO] [stdout]     |
[INFO] [stdout] 116 | pub struct ExecuteToolRequest {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ExecuteToolResponse` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:122:12
[INFO] [stdout]     |
[INFO] [stdout] 122 | pub struct ExecuteToolResponse {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ToolDto` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:130:12
[INFO] [stdout]     |
[INFO] [stdout] 130 | pub struct ToolDto {
[INFO] [stdout]     |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `SkillDto` is never constructed
[INFO] [stdout]    --> src/api/dto.rs:140:12
[INFO] [stdout]     |
[INFO] [stdout] 140 | pub struct SkillDto {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 07s
[INFO] running `Command { std: "docker" "inspect" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14", kill_on_drop: false }`
[INFO] [stdout] 7adab1a28105fda05897f2a6eebe6068c85f6e5dbc05795d27377459a50bda14
