[INFO] fetching crate saasexpress-core 0.2.0...
[INFO] testing saasexpress-core-0.2.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate saasexpress-core 0.2.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate saasexpress-core 0.2.0
[INFO] finished tweaking crates.io crate saasexpress-core 0.2.0
[INFO] tweaked toml for crates.io crate saasexpress-core 0.2.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate saasexpress-core 0.2.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate saasexpress-core 0.2.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded fastant v0.1.10
[INFO] [stderr]   Downloaded fastrace v0.7.9
[INFO] [stderr]   Downloaded rtrb v0.3.2
[INFO] [stderr]   Downloaded small_ctor v0.1.2
[INFO] [stderr]   Downloaded fastrace-macro v0.7.9
[INFO] [stderr]   Downloaded console-api v0.8.1
[INFO] [stderr]   Downloaded hyper-util v0.1.15
[INFO] [stderr]   Downloaded console-subscriber v0.4.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/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:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35
[INFO] running `Command { std: "docker" "start" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", 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" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling miniz_oxide v0.8.8
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling small_ctor v0.1.2
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling rtrb v0.3.2
[INFO] [stderr]    Compiling fastant v0.1.10
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling regex v1.11.1
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tokio-macros v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.219
[INFO] [stderr]    Compiling tracing-attributes v0.1.28
[INFO] [stderr]    Compiling pin-project-internal v1.1.10
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling prost-derive v0.13.5
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling fastrace-macro v0.7.9
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling tower v0.5.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling fastrace v0.7.9
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling chrono v0.4.41
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling h2 v0.4.11
[INFO] [stderr]    Compiling tower v0.4.13
[INFO] [stderr]    Compiling hyper v1.6.0
[INFO] [stderr]    Compiling hyper-util v0.1.15
[INFO] [stderr]    Compiling hyper-timeout v0.5.2
[INFO] [stderr]    Compiling tonic v0.12.3
[INFO] [stderr]    Compiling console-api v0.8.1
[INFO] [stderr]    Compiling console-subscriber v0.4.1
[INFO] [stderr]    Compiling saasexpress-core v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused import: `crate::graph::graph::GraphMod`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::graph::graph::GraphMod;
[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::graph::graph_run::GraphRun`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::graph::graph_run::GraphRun;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `broadcast_event`
[INFO] [stdout]  --> src/lib.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use my_reg::{ControlEvent, ControlEventType, broadcast_event, deregister, register};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, and `mpsc`
[INFO] [stdout]   --> src/lib.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     broadcast::{Receiver, Sender},
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^
[INFO] [stdout] 12 |     mpsc,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/graph/graph.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stdout]  --> src/graph/graph.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fastrace::prelude::SpanContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/graph/graph.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]  --> src/graph/graph.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{Value, json};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]   --> src/graph/graph.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::broadcast::{Receiver, Sender};
[INFO] [stdout]    |                              ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/graph/graph.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/graph/graph.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::canonical_model::CanonicalModel`
[INFO] [stdout]   --> src/graph/graph.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::graph::operator_types::canonical_model::CanonicalModel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `register`
[INFO] [stdout]   --> src/graph/graph.rs:20:70
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::my_reg::{ControlEvent, ControlEventType, broadcast_event, register};
[INFO] [stdout]    |                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedService`
[INFO] [stdout]   --> src/graph/graph.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::shared_resource::{SharedService, SharedServiceRef};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DebuggableSpan`, `OriginMessage`, and `self`
[INFO] [stdout]   --> src/graph/graph.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | use super::message::{self, DebuggableSpan, Message, OriginMessage};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::canonical_model::CanonicalModelService`
[INFO] [stdout]   --> src/graph/graph.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use super::operator_types::canonical_model::CanonicalModelService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::processors::port::Port`
[INFO] [stdout]   --> src/graph/graph.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use super::processors::port::Port;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/graph/graph.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]  --> src/graph/graph_run.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::graph::{Graph, GraphRunner};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, `OperatorRuntime`, and `Operator`
[INFO] [stdout]   --> src/graph/message.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stdout]    |     ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/graph/operator.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stdout]    |                                  ^                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 - pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stdout] 14 + pub type OperatorRef = Arc<Mutex<dyn Operator + 'static>>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::Span`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fastrace::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Canceled`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::channel::oneshot::{self, Canceled};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Error, Value, json};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mpsc` and `oneshot::Receiver`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::{mpsc, oneshot::Receiver};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GraphStatus`, `OperatorRef`, `my_reg::register`, `registry::GraphRegistry`, and `settings::settings::env_settings`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:9:42
[INFO] [stdout]    |
[INFO] [stdout]  9 |         graph::{AsyncHandleTrait, Graph, GraphStatus},
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         registry::GraphRegistry,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     my_reg::register,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     settings::settings::env_settings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::panic;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `Mutex`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 24 |     fmt::Debug,
[INFO] [stdout] 25 |     sync::{Arc, Mutex},
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/graph/operator_types/ai_tool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_yaml::{Error, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stdout]  --> src/graph/operator_types/ai_tool.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                         ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/graph/operator_types/ai_tool.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/graph/operator_types/canonical_model.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/graph/operator_types/canonical_model.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::spawn`
[INFO] [stdout]  --> src/graph/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     thread::spawn,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/graph/registry.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{error, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphMod`
[INFO] [stdout]  --> src/graph/registry.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::graph::{Graph, GraphMod};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::graph::Graph`
[INFO] [stdout]  --> src/graph/serde.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::graph::Graph;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph::graph::GraphStatus`
[INFO] [stdout]  --> src/graph/watcher.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     graph::graph::GraphStatus,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/graph/watcher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/graph/watcher.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]  --> src/my_reg.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::task::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event`
[INFO] [stdout]  --> src/my_reg.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, error, event, info};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]   --> src/operators/buffer_to_json.rs:13:54
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                                      ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/operators/factory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]  --> src/operators/factory.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::graph::{AsyncHandleTrait, Graph};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, `OperatorState`, `OperatorType`, and `Operator`
[INFO] [stdout]  --> src/operators/factory.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graph::operator::{Operator, OperatorRef, OperatorRole, OperatorState, OperatorType};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/json_to_buffer.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/json_to_buffer.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/callout.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/callout.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Duration`
[INFO] [stdout]  --> src/operators/callout.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `broadcast`
[INFO] [stdout]  --> src/operators/callout.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::{broadcast, mpsc};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]  --> src/operators/callout.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::time::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/operators/callout.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/callout.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphMod`
[INFO] [stdout]   --> src/operators/callout.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::graph::graph::{AsyncHandleTrait, Graph, GraphMod, GraphRunner, GraphStatus};
[INFO] [stdout]    |                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/callout.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     operator::{OperatorRef, OperatorRole},
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:9:54
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stdout]  --> src/operators/fan_out/fan_out.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fastrace::local::LocalSpan;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/fan_out/fan_out.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `span`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, span, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRuntimeType`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:15:71
[INFO] [stdout]    |
[INFO] [stdout] 15 |     GraphOperatorContext, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 9 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OnceLock` and `collections::HashMap`
[INFO] [stdout]  --> src/operators/global_space/resource.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     sync::{Arc, Mutex, OnceLock},
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/noop.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/noop.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/operators/noop.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]   --> src/operators/noop.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `thread::sleep`
[INFO] [stdout]  --> src/operators/op_actor.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 |     sync::{Arc, Mutex},
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 3 |     thread::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `local::LocalSpan`
[INFO] [stdout]   --> src/operators/op_actor.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use fastrace::{Span, local::LocalSpan, prelude::SpanContext};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info_span`, `instrument`, `span`, and `warn`
[INFO] [stdout]   --> src/operators/op_actor.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, error, info, info_span, instrument, span, warn};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Instrument`
[INFO] [stdout]   --> src/operators/op_actor.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::Instrument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fastrace::local::LocalSpan;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use fastrace::prelude::SpanContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use fastrace::{Span, trace};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::spawn_blocking`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::task::spawn_blocking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info_span`, `info`, `instrument`, and `warn`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, info_span, instrument, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 17 |     OperatorRuntimeType, OperatorType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlEvent` and `register`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::my_reg::{ControlEvent, register};
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::future::FutureExt`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use fastrace::future::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Instrument`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tracing::Instrument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::graph;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 7 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::de;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]    --> src/operators/op_wrapper.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 |         elided_named_lifetimes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]    --> src/operators/op_wrapper.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         elided_named_lifetimes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/passthrough.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/passthrough.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/operators/passthrough.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]  --> src/operators/passthrough.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/settings.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/settings.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/operators/settings.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/operators/settings.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/operators/settings.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/settings.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stdout]   --> src/operators/settings.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]    |                                     ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlCommand` and `OriginMessage`
[INFO] [stdout]   --> src/operators/settings.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::graph::message::{ControlCommand, Message, OriginMessage};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operators::shell::resources::get_instance`
[INFO] [stdout]  --> src/operators/shell/process.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::operators::shell::resources::get_instance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/operators/shell/process.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io`
[INFO] [stdout]   --> src/operators/shell/process.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::io;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/operators/shell/process.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]  --> src/operators/shell/resources.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::warn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/shell/shell.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/shell/shell.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/operators/shell/shell.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/shell/shell.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/stub.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/stub.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/operators/stub.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/operators/stub.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, warn};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/stub.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/template.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/template.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/template.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/terminate.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/terminate.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/terminate.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/timer.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/operators/timer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/timer.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, and `OperatorState`
[INFO] [stdout]   --> src/operators/timer.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:286:7
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[must_use]
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:325:7
[INFO] [stdout]     |
[INFO] [stdout] 325 |     #[must_use]
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/processors/mod.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             ProcessorType::Basic { processor } => processor.req_reply().await,
[INFO] [stdout]    |             ---------------------------------- matches all the relevant values
[INFO] [stdout] 34 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/graph.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node`
[INFO] [stdout]    --> src/graph/graph.rs:761:9
[INFO] [stdout]     |
[INFO] [stdout] 761 |         start_node: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/graph/operator.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/graph/operator.rs:105:43
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         values: serde_yaml::Value,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     ControlEventType::Notice => {
[INFO] [stdout]    |                     ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/noop.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_name`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/passthrough.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/stub.rs:48:39
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/template.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/terminate.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeDestination` is never constructed
[INFO] [stdout]   --> src/graph/experimental.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct EdgeDestination {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stdout]   --> src/graph/hooks.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 11 |     /// Called when the graph is initialized.
[INFO] [stdout] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session`, `span`, and `context` are never read
[INFO] [stdout]   --> src/graph/message.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OriginMessageV2<T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 41 |     session: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     span: Option<DebuggableSpan>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     context: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XProcessor` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessorType` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ProcessorType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProcessorType {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/graph/processors/port.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Port {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     end: Receiver<Message>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stdout]   --> src/graph/processors/port.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Port {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawGraph` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(super) struct RawGraph {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNode {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Edge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stdout]   --> src/graph/serde.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl RawGraph {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn load_yaml_from_value(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ThisModel {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ThisModel` 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 `default_empty` is never used
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn default_empty() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn default_empty() -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setup_routes` is never used
[INFO] [stdout]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl FanOut {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `drop_instance` is never used
[INFO] [stdout]   --> src/operators/global_space/resource.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WidgetsSharedService {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn drop_instance() {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `graph_name` and `id` are never read
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stdout]    |                   ------------------- fields in this struct
[INFO] [stdout] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stdout] 34 |     graph_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorActorHandle` 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 `id` is never read
[INFO] [stdout]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct OperatorWrapper {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/operators/shell/process.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ShellProcess {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 24 |     child: Option<tokio::process::Child>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShellProcess` 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 `batching` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | async fn batching(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_batch` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Template` is never constructed
[INFO] [stdout]   --> src/operators/template.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct Template;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 for line in err_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:193:29
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 for line in out_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 44s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stdout] warning: unused import: `crate::graph::graph::GraphMod`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::graph::graph::GraphMod;
[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::graph::graph_run::GraphRun`
[INFO] [stdout]  --> src/lib.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use crate::graph::graph_run::GraphRun;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `broadcast_event`
[INFO] [stdout]  --> src/lib.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use my_reg::{ControlEvent, ControlEventType, broadcast_event, deregister, register};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver`, `Sender`, and `mpsc`
[INFO] [stdout]   --> src/lib.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     broadcast::{Receiver, Sender},
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^
[INFO] [stdout] 12 |     mpsc,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/graph/graph.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stdout]  --> src/graph/graph.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fastrace::prelude::SpanContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/graph/graph.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]  --> src/graph/graph.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{Value, json};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]   --> src/graph/graph.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::broadcast::{Receiver, Sender};
[INFO] [stdout]    |                              ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/graph/graph.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/graph/graph.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::canonical_model::CanonicalModel`
[INFO] [stdout]   --> src/graph/graph.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::graph::operator_types::canonical_model::CanonicalModel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `register`
[INFO] [stdout]   --> src/graph/graph.rs:20:70
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::my_reg::{ControlEvent, ControlEventType, broadcast_event, register};
[INFO] [stdout]    |                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedService`
[INFO] [stdout]   --> src/graph/graph.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::shared_resource::{SharedService, SharedServiceRef};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DebuggableSpan`, `OriginMessage`, and `self`
[INFO] [stdout]   --> src/graph/graph.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | use super::message::{self, DebuggableSpan, Message, OriginMessage};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::canonical_model::CanonicalModelService`
[INFO] [stdout]   --> src/graph/graph.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use super::operator_types::canonical_model::CanonicalModelService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::processors::port::Port`
[INFO] [stdout]   --> src/graph/graph.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use super::processors::port::Port;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/graph/graph.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]  --> src/graph/graph_run.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::graph::{Graph, GraphRunner};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, `OperatorRuntime`, and `Operator`
[INFO] [stdout]   --> src/graph/message.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stdout]    |     ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/graph/operator.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stdout]    |                                  ^                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 - pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stdout] 14 + pub type OperatorRef = Arc<Mutex<dyn Operator + 'static>>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::Span`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fastrace::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Canceled`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::channel::oneshot::{self, Canceled};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Error, Value, json};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mpsc` and `oneshot::Receiver`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::{mpsc, oneshot::Receiver};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GraphStatus`, `OperatorRef`, `my_reg::register`, `registry::GraphRegistry`, and `settings::settings::env_settings`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:9:42
[INFO] [stdout]    |
[INFO] [stdout]  9 |         graph::{AsyncHandleTrait, Graph, GraphStatus},
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         registry::GraphRegistry,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     my_reg::register,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     settings::settings::env_settings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::panic;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `Mutex`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 24 |     fmt::Debug,
[INFO] [stdout] 25 |     sync::{Arc, Mutex},
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/graph/operator_types/ai_tool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_yaml::{Error, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stdout]  --> src/graph/operator_types/ai_tool.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                         ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/graph/operator_types/ai_tool.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/graph/operator_types/canonical_model.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/graph/operator_types/canonical_model.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::spawn`
[INFO] [stdout]  --> src/graph/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     thread::spawn,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/graph/registry.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{error, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphMod`
[INFO] [stdout]  --> src/graph/registry.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::graph::{Graph, GraphMod};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::graph::Graph`
[INFO] [stdout]  --> src/graph/serde.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::graph::Graph;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph::graph::GraphStatus`
[INFO] [stdout]  --> src/graph/watcher.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     graph::graph::GraphStatus,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/graph/watcher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/graph/watcher.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]  --> src/my_reg.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::task::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event`
[INFO] [stdout]  --> src/my_reg.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, error, event, info};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]   --> src/operators/buffer_to_json.rs:13:54
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                                      ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/operators/factory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]  --> src/operators/factory.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::graph::{AsyncHandleTrait, Graph};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, `OperatorState`, `OperatorType`, and `Operator`
[INFO] [stdout]  --> src/operators/factory.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graph::operator::{Operator, OperatorRef, OperatorRole, OperatorState, OperatorType};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/json_to_buffer.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/json_to_buffer.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/callout.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/callout.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Duration`
[INFO] [stdout]  --> src/operators/callout.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `broadcast`
[INFO] [stdout]  --> src/operators/callout.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::{broadcast, mpsc};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]  --> src/operators/callout.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::time::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/operators/callout.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/callout.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphMod`
[INFO] [stdout]   --> src/operators/callout.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::graph::graph::{AsyncHandleTrait, Graph, GraphMod, GraphRunner, GraphStatus};
[INFO] [stdout]    |                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/callout.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     operator::{OperatorRef, OperatorRole},
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:9:54
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stdout]  --> src/operators/fan_out/fan_out.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fastrace::local::LocalSpan;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/fan_out/fan_out.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `span`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, span, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRuntimeType`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:15:71
[INFO] [stdout]    |
[INFO] [stdout] 15 |     GraphOperatorContext, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 9 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OnceLock` and `collections::HashMap`
[INFO] [stdout]  --> src/operators/global_space/resource.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     sync::{Arc, Mutex, OnceLock},
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/noop.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/noop.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/operators/noop.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]   --> src/operators/noop.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `thread::sleep`
[INFO] [stdout]  --> src/operators/op_actor.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 |     sync::{Arc, Mutex},
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 3 |     thread::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `local::LocalSpan`
[INFO] [stdout]   --> src/operators/op_actor.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use fastrace::{Span, local::LocalSpan, prelude::SpanContext};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info_span`, `instrument`, `span`, and `warn`
[INFO] [stdout]   --> src/operators/op_actor.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, error, info, info_span, instrument, span, warn};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Instrument`
[INFO] [stdout]   --> src/operators/op_actor.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::Instrument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fastrace::local::LocalSpan;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use fastrace::prelude::SpanContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use fastrace::{Span, trace};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::spawn_blocking`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::task::spawn_blocking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info_span`, `info`, `instrument`, and `warn`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, info_span, instrument, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 17 |     OperatorRuntimeType, OperatorType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlEvent` and `register`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::my_reg::{ControlEvent, register};
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::future::FutureExt`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use fastrace::future::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Instrument`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tracing::Instrument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::graph;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 7 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::de;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]    --> src/operators/op_wrapper.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 |         elided_named_lifetimes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]    --> src/operators/op_wrapper.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         elided_named_lifetimes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/passthrough.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/passthrough.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/operators/passthrough.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]  --> src/operators/passthrough.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/settings.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/settings.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/operators/settings.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/operators/settings.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/operators/settings.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/settings.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stdout]   --> src/operators/settings.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]    |                                     ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlCommand` and `OriginMessage`
[INFO] [stdout]   --> src/operators/settings.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::graph::message::{ControlCommand, Message, OriginMessage};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operators::shell::resources::get_instance`
[INFO] [stdout]  --> src/operators/shell/process.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::operators::shell::resources::get_instance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/operators/shell/process.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io`
[INFO] [stdout]   --> src/operators/shell/process.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::io;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/operators/shell/process.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]  --> src/operators/shell/resources.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::warn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/shell/shell.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/shell/shell.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/operators/shell/shell.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/shell/shell.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/stub.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/stub.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/operators/stub.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/operators/stub.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, warn};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/stub.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/template.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/template.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/template.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/terminate.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/terminate.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/terminate.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/timer.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/operators/timer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/timer.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, and `OperatorState`
[INFO] [stdout]   --> src/operators/timer.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:286:7
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[must_use]
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:325:7
[INFO] [stdout]     |
[INFO] [stdout] 325 |     #[must_use]
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/processors/mod.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             ProcessorType::Basic { processor } => processor.req_reply().await,
[INFO] [stdout]    |             ---------------------------------- matches all the relevant values
[INFO] [stdout] 34 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/graph.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node`
[INFO] [stdout]    --> src/graph/graph.rs:761:9
[INFO] [stdout]     |
[INFO] [stdout] 761 |         start_node: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/graph/operator.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/graph/operator.rs:105:43
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         values: serde_yaml::Value,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     ControlEventType::Notice => {
[INFO] [stdout]    |                     ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling saasexpress-core v0.2.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/noop.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_name`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/passthrough.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/stub.rs:48:39
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/template.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/terminate.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeDestination` is never constructed
[INFO] [stdout]   --> src/graph/experimental.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct EdgeDestination {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stdout]   --> src/graph/hooks.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 11 |     /// Called when the graph is initialized.
[INFO] [stdout] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session`, `span`, and `context` are never read
[INFO] [stdout]   --> src/graph/message.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OriginMessageV2<T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 41 |     session: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     span: Option<DebuggableSpan>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     context: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XProcessor` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessorType` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ProcessorType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProcessorType {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/graph/processors/port.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Port {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     end: Receiver<Message>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stdout]   --> src/graph/processors/port.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Port {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawGraph` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(super) struct RawGraph {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNode {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Edge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stdout]   --> src/graph/serde.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl RawGraph {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn load_yaml_from_value(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ThisModel {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ThisModel` 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 `default_empty` is never used
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn default_empty() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn default_empty() -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setup_routes` is never used
[INFO] [stdout]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl FanOut {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `drop_instance` is never used
[INFO] [stdout]   --> src/operators/global_space/resource.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WidgetsSharedService {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn drop_instance() {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `graph_name` and `id` are never read
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stdout]    |                   ------------------- fields in this struct
[INFO] [stdout] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stdout] 34 |     graph_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorActorHandle` 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 `id` is never read
[INFO] [stdout]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct OperatorWrapper {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/operators/shell/process.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ShellProcess {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 24 |     child: Option<tokio::process::Child>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShellProcess` 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 `batching` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | async fn batching(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_batch` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Template` is never constructed
[INFO] [stdout]   --> src/operators/template.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct Template;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 for line in err_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:193:29
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 for line in out_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::graph::GraphMod`
[INFO] [stdout]  --> src/lib.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::graph::graph::GraphMod;
[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: `broadcast_event`
[INFO] [stdout]  --> src/lib.rs:7:46
[INFO] [stdout]   |
[INFO] [stdout] 7 | use my_reg::{ControlEvent, ControlEventType, broadcast_event, deregister, register};
[INFO] [stdout]   |                                              ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]   --> src/lib.rs:11:17
[INFO] [stdout]    |
[INFO] [stdout] 11 |     broadcast::{Receiver, Sender},
[INFO] [stdout]    |                 ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Display`
[INFO] [stdout]  --> src/graph/graph.rs:2:23
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::fmt::{Debug, Display};
[INFO] [stdout]   |                       ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stdout]  --> src/graph/graph.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fastrace::prelude::SpanContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/graph/graph.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `json`
[INFO] [stdout]  --> src/graph/graph.rs:9:25
[INFO] [stdout]   |
[INFO] [stdout] 9 | use serde_json::{Value, json};
[INFO] [stdout]   |                         ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Receiver` and `Sender`
[INFO] [stdout]   --> src/graph/graph.rs:10:30
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::sync::broadcast::{Receiver, Sender};
[INFO] [stdout]    |                              ^^^^^^^^  ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::sync::mpsc`
[INFO] [stdout]   --> src/graph/graph.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tokio::sync::mpsc;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/graph/graph.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::canonical_model::CanonicalModel`
[INFO] [stdout]   --> src/graph/graph.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::graph::operator_types::canonical_model::CanonicalModel;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `register`
[INFO] [stdout]   --> src/graph/graph.rs:20:70
[INFO] [stdout]    |
[INFO] [stdout] 20 | use crate::my_reg::{ControlEvent, ControlEventType, broadcast_event, register};
[INFO] [stdout]    |                                                                      ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `SharedService`
[INFO] [stdout]   --> src/graph/graph.rs:24:30
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::shared_resource::{SharedService, SharedServiceRef};
[INFO] [stdout]    |                              ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `DebuggableSpan`, `OriginMessage`, and `self`
[INFO] [stdout]   --> src/graph/graph.rs:29:22
[INFO] [stdout]    |
[INFO] [stdout] 29 | use super::message::{self, DebuggableSpan, Message, OriginMessage};
[INFO] [stdout]    |                      ^^^^  ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::canonical_model::CanonicalModelService`
[INFO] [stdout]   --> src/graph/graph.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 | use super::operator_types::canonical_model::CanonicalModelService;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::processors::port::Port`
[INFO] [stdout]   --> src/graph/graph.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 | use super::processors::port::Port;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::ops::Deref`
[INFO] [stdout]   --> src/graph/graph.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 | use std::ops::Deref;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]  --> src/graph/graph_run.rs:9:20
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::graph::{Graph, GraphRunner};
[INFO] [stdout]   |                    ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, `OperatorRuntime`, and `Operator`
[INFO] [stdout]   --> src/graph/message.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stdout]    |     ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unnecessary parentheses around type
[INFO] [stdout]   --> src/graph/operator.rs:14:34
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stdout]    |                                  ^                      ^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] help: remove these parentheses
[INFO] [stdout]    |
[INFO] [stdout] 14 - pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stdout] 14 + pub type OperatorRef = Arc<Mutex<dyn Operator + 'static>>;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::Span`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use fastrace::Span;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Canceled`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:2:39
[INFO] [stdout]   |
[INFO] [stdout] 2 | use futures::channel::oneshot::{self, Canceled};
[INFO] [stdout]   |                                       ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Error`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:3:18
[INFO] [stdout]   |
[INFO] [stdout] 3 | use serde_json::{Error, Value, json};
[INFO] [stdout]   |                  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `mpsc` and `oneshot::Receiver`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:4:19
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tokio::sync::{mpsc, oneshot::Receiver};
[INFO] [stdout]   |                   ^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/graph/operator_types/ai_agent.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `GraphStatus`, `OperatorRef`, `my_reg::register`, `registry::GraphRegistry`, and `settings::settings::env_settings`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:9:42
[INFO] [stdout]    |
[INFO] [stdout]  9 |         graph::{AsyncHandleTrait, Graph, GraphStatus},
[INFO] [stdout]    |                                          ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 13 |             GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                             ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 16 |         registry::GraphRegistry,
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     },
[INFO] [stdout] 18 |     my_reg::register,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 19 |     settings::settings::env_settings,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `core::panic`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | use core::panic;
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashSet` and `Mutex`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:23:28
[INFO] [stdout]    |
[INFO] [stdout] 23 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                            ^^^^^^^
[INFO] [stdout] 24 |     fmt::Debug,
[INFO] [stdout] 25 |     sync::{Arc, Mutex},
[INFO] [stdout]    |                 ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Value`
[INFO] [stdout]  --> src/graph/operator_types/ai_tool.rs:1:25
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_yaml::{Error, Value};
[INFO] [stdout]   |                         ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stdout]  --> src/graph/operator_types/ai_tool.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                         ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/graph/operator_types/ai_tool.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/graph/operator_types/canonical_model.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/graph/operator_types/canonical_model.rs:15:19
[INFO] [stdout]    |
[INFO] [stdout] 15 |     collections::{HashMap, HashSet},
[INFO] [stdout]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `thread::spawn`
[INFO] [stdout]  --> src/graph/registry.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 |     thread::spawn,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/graph/registry.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tracing::{error, info, warn};
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphMod`
[INFO] [stdout]  --> src/graph/registry.rs:9:27
[INFO] [stdout]   |
[INFO] [stdout] 9 | use super::graph::{Graph, GraphMod};
[INFO] [stdout]   |                           ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::graph::Graph`
[INFO] [stdout]  --> src/graph/serde.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use super::graph::Graph;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `graph::graph::GraphStatus`
[INFO] [stdout]  --> src/graph/watcher.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     graph::graph::GraphStatus,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::Serialize`
[INFO] [stdout]  --> src/graph/watcher.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use serde::Serialize;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Arc` and `Mutex`
[INFO] [stdout]  --> src/graph/watcher.rs:6:17
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                 ^^^  ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stdout]  --> src/my_reg.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tokio::task::JoinHandle;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `event`
[INFO] [stdout]  --> src/my_reg.rs:8:29
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tracing::{debug, error, event, info};
[INFO] [stdout]   |                             ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:3:24
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/buffer_to_json.rs:5:22
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]   --> src/operators/buffer_to_json.rs:13:54
[INFO] [stdout]    |
[INFO] [stdout] 13 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                                      ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> src/operators/factory.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]  --> src/operators/factory.rs:4:27
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::graph::{AsyncHandleTrait, Graph};
[INFO] [stdout]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, `OperatorState`, `OperatorType`, and `Operator`
[INFO] [stdout]  --> src/operators/factory.rs:5:30
[INFO] [stdout]   |
[INFO] [stdout] 5 | use crate::graph::operator::{Operator, OperatorRef, OperatorRole, OperatorState, OperatorType};
[INFO] [stdout]   |                              ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/json_to_buffer.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/json_to_buffer.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:12:37
[INFO] [stdout]    |
[INFO] [stdout] 12 |     GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/callout.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/callout.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `chrono::Duration`
[INFO] [stdout]  --> src/operators/callout.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use chrono::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `broadcast`
[INFO] [stdout]  --> src/operators/callout.rs:8:19
[INFO] [stdout]   |
[INFO] [stdout] 8 | use tokio::sync::{broadcast, mpsc};
[INFO] [stdout]   |                   ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::time::sleep`
[INFO] [stdout]  --> src/operators/callout.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tokio::time::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `error`
[INFO] [stdout]   --> src/operators/callout.rs:10:22
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/callout.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `GraphMod`
[INFO] [stdout]   --> src/operators/callout.rs:13:52
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::graph::graph::{AsyncHandleTrait, Graph, GraphMod, GraphRunner, GraphStatus};
[INFO] [stdout]    |                                                    ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/callout.rs:15:37
[INFO] [stdout]    |
[INFO] [stdout] 15 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:7:16
[INFO] [stdout]   |
[INFO] [stdout] 7 |     operator::{OperatorRef, OperatorRole},
[INFO] [stdout]   |                ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::json`
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use serde_json::json;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/claim_check/claim_check.rs:9:54
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stdout]   |                                                      ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stdout]  --> src/operators/fan_out/fan_out.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use fastrace::local::LocalSpan;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/fan_out/fan_out.rs:4:24
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info` and `span`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:10:29
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tracing::{debug, error, info, span, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRuntimeType`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:15:71
[INFO] [stdout]    |
[INFO] [stdout] 15 |     GraphOperatorContext, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stdout]    |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]   --> src/operators/fan_out/fan_out.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/global_space/global_space.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 9 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]   |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OnceLock` and `collections::HashMap`
[INFO] [stdout]  --> src/operators/global_space/resource.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 |     collections::HashMap,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |     sync::{Arc, Mutex, OnceLock},
[INFO] [stdout]   |                        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/noop.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/noop.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/operators/noop.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]   --> src/operators/noop.rs:10:37
[INFO] [stdout]    |
[INFO] [stdout] 10 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Mutex` and `thread::sleep`
[INFO] [stdout]  --> src/operators/op_actor.rs:2:17
[INFO] [stdout]   |
[INFO] [stdout] 2 |     sync::{Arc, Mutex},
[INFO] [stdout]   |                 ^^^^^
[INFO] [stdout] 3 |     thread::sleep,
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:15
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |               ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Graph`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:31
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |                               ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `local::LocalSpan`
[INFO] [stdout]   --> src/operators/op_actor.rs:14:22
[INFO] [stdout]    |
[INFO] [stdout] 14 | use fastrace::{Span, local::LocalSpan, prelude::SpanContext};
[INFO] [stdout]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info_span`, `instrument`, `span`, and `warn`
[INFO] [stdout]   --> src/operators/op_actor.rs:16:35
[INFO] [stdout]    |
[INFO] [stdout] 16 | use tracing::{debug, error, info, info_span, instrument, span, warn};
[INFO] [stdout]    |                                   ^^^^^^^^^  ^^^^^^^^^^  ^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Instrument`
[INFO] [stdout]   --> src/operators/op_actor.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::Instrument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::time::Duration`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::time::Duration;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use fastrace::local::LocalSpan;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use fastrace::prelude::SpanContext;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Span`
[INFO] [stdout]  --> src/operators/op_actor_handle.rs:8:16
[INFO] [stdout]   |
[INFO] [stdout] 8 | use fastrace::{Span, trace};
[INFO] [stdout]   |                ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::task::spawn_blocking`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | use tokio::task::spawn_blocking;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `info_span`, `info`, `instrument`, and `warn`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:11:29
[INFO] [stdout]    |
[INFO] [stdout] 11 | use tracing::{debug, error, info, info_span, instrument, warn};
[INFO] [stdout]    |                             ^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 17 |     OperatorRuntimeType, OperatorType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlEvent` and `register`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:24:21
[INFO] [stdout]    |
[INFO] [stdout] 24 | use crate::my_reg::{ControlEvent, register};
[INFO] [stdout]    |                     ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `fastrace::future::FutureExt`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use fastrace::future::FutureExt;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::Instrument`
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 29 | use tracing::Instrument;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:1:5
[INFO] [stdout]   |
[INFO] [stdout] 1 | use crate::graph;
[INFO] [stdout]   |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:6:37
[INFO] [stdout]   |
[INFO] [stdout] 6 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 7 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stdout]  --> src/operators/op_wrapper.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use crate::graph::registry::GraphRegistry;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | use serde::de;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::any::Any`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 | use std::any::Any;
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:16:24
[INFO] [stdout]    |
[INFO] [stdout] 16 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]    --> src/operators/op_wrapper.rs:288:9
[INFO] [stdout]     |
[INFO] [stdout] 288 |         elided_named_lifetimes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stdout]    --> src/operators/op_wrapper.rs:327:9
[INFO] [stdout]     |
[INFO] [stdout] 327 |         elided_named_lifetimes,
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/passthrough.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/passthrough.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `info`
[INFO] [stdout]  --> src/operators/passthrough.rs:4:22
[INFO] [stdout]   |
[INFO] [stdout] 4 | use tracing::{debug, info};
[INFO] [stdout]   |                      ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stdout]  --> src/operators/passthrough.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/settings.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/settings.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]  --> src/operators/settings.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::thread::sleep;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `futures::channel::oneshot`
[INFO] [stdout]  --> src/operators/settings.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | use futures::channel::oneshot;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde_json::Value`
[INFO] [stdout]  --> src/operators/settings.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 8 | use serde_json::Value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph`
[INFO] [stdout]   --> src/operators/settings.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use crate::graph;
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stdout]   --> src/operators/settings.rs:14:37
[INFO] [stdout]    |
[INFO] [stdout] 14 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]    |                                     ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `ControlCommand` and `OriginMessage`
[INFO] [stdout]   --> src/operators/settings.rs:18:29
[INFO] [stdout]    |
[INFO] [stdout] 18 | use crate::graph::message::{ControlCommand, Message, OriginMessage};
[INFO] [stdout]    |                             ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::operators::shell::resources::get_instance`
[INFO] [stdout]  --> src/operators/shell/process.rs:3:5
[INFO] [stdout]   |
[INFO] [stdout] 3 | use crate::operators::shell::resources::get_instance;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]   --> src/operators/shell/process.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 | use std::thread::sleep;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tokio::io`
[INFO] [stdout]   --> src/operators/shell/process.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 | use tokio::io;
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `debug` and `warn`
[INFO] [stdout]   --> src/operators/shell/process.rs:20:15
[INFO] [stdout]    |
[INFO] [stdout] 20 | use tracing::{debug, error, info, warn};
[INFO] [stdout]    |               ^^^^^               ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]  --> src/operators/shell/resources.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use tracing::warn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/shell/shell.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/shell/shell.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/operators/shell/shell.rs:5:35
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, info, warn};
[INFO] [stdout]   |                                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `OperatorRef`
[INFO] [stdout]   --> src/operators/shell/shell.rs:11:37
[INFO] [stdout]    |
[INFO] [stdout] 11 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stdout]    |                                     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/stub.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/stub.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `serde::de::value`
[INFO] [stdout]  --> src/operators/stub.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use serde::de::value;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `warn`
[INFO] [stdout]  --> src/operators/stub.rs:5:29
[INFO] [stdout]   |
[INFO] [stdout] 5 | use tracing::{debug, error, warn};
[INFO] [stdout]   |                             ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/stub.rs:9:37
[INFO] [stdout]   |
[INFO] [stdout] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/template.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/template.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/template.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/terminate.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/terminate.rs:2:22
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stdout]  --> src/operators/terminate.rs:8:37
[INFO] [stdout]   |
[INFO] [stdout] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stdout]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stdout]  --> src/operators/timer.rs:1:24
[INFO] [stdout]   |
[INFO] [stdout] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::iter`
[INFO] [stdout]  --> src/operators/timer.rs:2:5
[INFO] [stdout]   |
[INFO] [stdout] 2 | use std::iter;
[INFO] [stdout]   |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Mutex`
[INFO] [stdout]  --> src/operators/timer.rs:3:22
[INFO] [stdout]   |
[INFO] [stdout] 3 | use std::sync::{Arc, Mutex};
[INFO] [stdout]   |                      ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `OperatorRefRead`, `OperatorRef`, and `OperatorState`
[INFO] [stdout]   --> src/operators/timer.rs:16:37
[INFO] [stdout]    |
[INFO] [stdout] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stdout]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stdout] 17 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stdout]    |                          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::thread::sleep`
[INFO] [stdout]    --> src/lib.rs:173:9
[INFO] [stdout]     |
[INFO] [stdout] 173 |     use std::thread::sleep;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Level`
[INFO] [stdout]    --> src/lib.rs:176:19
[INFO] [stdout]     |
[INFO] [stdout] 176 |     use tracing::{Level, debug, info, instrument};
[INFO] [stdout]     |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:286:7
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[must_use]
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:325:7
[INFO] [stdout]     |
[INFO] [stdout] 325 |     #[must_use]
[INFO] [stdout]     |       ^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/processors/mod.rs:34:13
[INFO] [stdout]    |
[INFO] [stdout] 33 |             ProcessorType::Basic { processor } => processor.req_reply().await,
[INFO] [stdout]    |             ---------------------------------- matches all the relevant values
[INFO] [stdout] 34 |             _ => {
[INFO] [stdout]    |             ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/graph.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node`
[INFO] [stdout]    --> src/graph/graph.rs:761:9
[INFO] [stdout]     |
[INFO] [stdout] 761 |         start_node: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/graph/operator.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/graph/operator.rs:105:43
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         values: serde_yaml::Value,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     ControlEventType::Notice => {
[INFO] [stdout]    |                     ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/noop.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_name`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/passthrough.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/stub.rs:48:39
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/template.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/terminate.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeDestination` is never constructed
[INFO] [stdout]   --> src/graph/experimental.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct EdgeDestination {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stdout]   --> src/graph/hooks.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 11 |     /// Called when the graph is initialized.
[INFO] [stdout] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session`, `span`, and `context` are never read
[INFO] [stdout]   --> src/graph/message.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OriginMessageV2<T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 41 |     session: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     span: Option<DebuggableSpan>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     context: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XProcessor` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessorType` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ProcessorType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProcessorType {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/graph/processors/port.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Port {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     end: Receiver<Message>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stdout]   --> src/graph/processors/port.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Port {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawGraph` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(super) struct RawGraph {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNode {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Edge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stdout]   --> src/graph/serde.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl RawGraph {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn load_yaml_from_value(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ThisModel {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ThisModel` 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 `default_empty` is never used
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn default_empty() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn default_empty() -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setup_routes` is never used
[INFO] [stdout]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl FanOut {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `graph_name` and `id` are never read
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stdout]    |                   ------------------- fields in this struct
[INFO] [stdout] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stdout] 34 |     graph_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorActorHandle` 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 `id` is never read
[INFO] [stdout]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct OperatorWrapper {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/operators/shell/process.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ShellProcess {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 24 |     child: Option<tokio::process::Child>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShellProcess` 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 `batching` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | async fn batching(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_batch` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Template` is never constructed
[INFO] [stdout]   --> src/operators/template.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct Template;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup` is never used
[INFO] [stdout]    --> src/lib.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn setup() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_test` is never used
[INFO] [stdout]    --> src/lib.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn run_test<T>(test: T) -> ()
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 for line in err_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:193:29
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 for line in out_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 18.04s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] running `Command { std: "docker" "inspect" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", 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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `crate::graph::graph::GraphMod`
[INFO] [stderr]  --> src/lib.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::graph::graph::GraphMod;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::graph_run::GraphRun`
[INFO] [stderr]  --> src/lib.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use crate::graph::graph_run::GraphRun;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `broadcast_event`
[INFO] [stderr]  --> src/lib.rs:7:46
[INFO] [stderr]   |
[INFO] [stderr] 7 | use my_reg::{ControlEvent, ControlEventType, broadcast_event, deregister, register};
[INFO] [stderr]   |                                              ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver`, `Sender`, and `mpsc`
[INFO] [stderr]   --> src/lib.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |     broadcast::{Receiver, Sender},
[INFO] [stderr]    |                 ^^^^^^^^  ^^^^^^
[INFO] [stderr] 12 |     mpsc,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Display`
[INFO] [stderr]  --> src/graph/graph.rs:2:23
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::fmt::{Debug, Display};
[INFO] [stderr]   |                       ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stderr]  --> src/graph/graph.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use fastrace::prelude::SpanContext;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::channel::oneshot`
[INFO] [stderr]  --> src/graph/graph.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::channel::oneshot;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `json`
[INFO] [stderr]  --> src/graph/graph.rs:9:25
[INFO] [stderr]   |
[INFO] [stderr] 9 | use serde_json::{Value, json};
[INFO] [stderr]   |                         ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver` and `Sender`
[INFO] [stderr]   --> src/graph/graph.rs:10:30
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::sync::broadcast::{Receiver, Sender};
[INFO] [stderr]    |                              ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::sync::mpsc`
[INFO] [stderr]   --> src/graph/graph.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tokio::sync::mpsc;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph`
[INFO] [stderr]   --> src/graph/graph.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use crate::graph;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::operator_types::canonical_model::CanonicalModel`
[INFO] [stderr]   --> src/graph/graph.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::graph::operator_types::canonical_model::CanonicalModel;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `register`
[INFO] [stderr]   --> src/graph/graph.rs:20:70
[INFO] [stderr]    |
[INFO] [stderr] 20 | use crate::my_reg::{ControlEvent, ControlEventType, broadcast_event, register};
[INFO] [stderr]    |                                                                      ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `SharedService`
[INFO] [stderr]   --> src/graph/graph.rs:24:30
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::shared_resource::{SharedService, SharedServiceRef};
[INFO] [stderr]    |                              ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `DebuggableSpan`, `OriginMessage`, and `self`
[INFO] [stderr]   --> src/graph/graph.rs:29:22
[INFO] [stderr]    |
[INFO] [stderr] 29 | use super::message::{self, DebuggableSpan, Message, OriginMessage};
[INFO] [stderr]    |                      ^^^^  ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::operator_types::canonical_model::CanonicalModelService`
[INFO] [stderr]   --> src/graph/graph.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 | use super::operator_types::canonical_model::CanonicalModelService;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::processors::port::Port`
[INFO] [stderr]   --> src/graph/graph.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 | use super::processors::port::Port;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::ops::Deref`
[INFO] [stderr]   --> src/graph/graph.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 | use std::ops::Deref;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Graph`
[INFO] [stderr]  --> src/graph/graph_run.rs:9:20
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::graph::{Graph, GraphRunner};
[INFO] [stderr]   |                    ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, `OperatorRuntime`, and `Operator`
[INFO] [stderr]   --> src/graph/message.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stderr]    |     ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unnecessary parentheses around type
[INFO] [stderr]   --> src/graph/operator.rs:14:34
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stderr]    |                                  ^                      ^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_parens)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] help: remove these parentheses
[INFO] [stderr]    |
[INFO] [stderr] 14 - pub type OperatorRef = Arc<Mutex<(dyn Operator + 'static)>>;
[INFO] [stderr] 14 + pub type OperatorRef = Arc<Mutex<dyn Operator + 'static>>;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fastrace::Span`
[INFO] [stderr]  --> src/graph/operator_types/ai_agent.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use fastrace::Span;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Canceled`
[INFO] [stderr]  --> src/graph/operator_types/ai_agent.rs:2:39
[INFO] [stderr]   |
[INFO] [stderr] 2 | use futures::channel::oneshot::{self, Canceled};
[INFO] [stderr]   |                                       ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Error`
[INFO] [stderr]  --> src/graph/operator_types/ai_agent.rs:3:18
[INFO] [stderr]   |
[INFO] [stderr] 3 | use serde_json::{Error, Value, json};
[INFO] [stderr]   |                  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `mpsc` and `oneshot::Receiver`
[INFO] [stderr]  --> src/graph/operator_types/ai_agent.rs:4:19
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tokio::sync::{mpsc, oneshot::Receiver};
[INFO] [stderr]   |                   ^^^^  ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/graph/operator_types/ai_agent.rs:5:35
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tracing::{debug, error, info, warn};
[INFO] [stderr]   |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `GraphStatus`, `OperatorRef`, `my_reg::register`, `registry::GraphRegistry`, and `settings::settings::env_settings`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:9:42
[INFO] [stderr]    |
[INFO] [stderr]  9 |         graph::{AsyncHandleTrait, Graph, GraphStatus},
[INFO] [stderr]    |                                          ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 13 |             GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stderr]    |                                             ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 16 |         registry::GraphRegistry,
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     },
[INFO] [stderr] 18 |     my_reg::register,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 19 |     settings::settings::env_settings,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `core::panic`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | use core::panic;
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashSet` and `Mutex`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:23:28
[INFO] [stderr]    |
[INFO] [stderr] 23 |     collections::{HashMap, HashSet},
[INFO] [stderr]    |                            ^^^^^^^
[INFO] [stderr] 24 |     fmt::Debug,
[INFO] [stderr] 25 |     sync::{Arc, Mutex},
[INFO] [stderr]    |                 ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Value`
[INFO] [stderr]  --> src/graph/operator_types/ai_tool.rs:1:25
[INFO] [stderr]   |
[INFO] [stderr] 1 | use serde_yaml::{Error, Value};
[INFO] [stderr]   |                         ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stderr]  --> src/graph/operator_types/ai_tool.rs:9:41
[INFO] [stderr]   |
[INFO] [stderr] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]   |                                         ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]   --> src/graph/operator_types/ai_tool.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 |     collections::{HashMap, HashSet},
[INFO] [stderr]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stderr]  --> src/graph/operator_types/canonical_model.rs:9:41
[INFO] [stderr]   |
[INFO] [stderr] 9 |         GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]   |                                         ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]   --> src/graph/operator_types/canonical_model.rs:15:19
[INFO] [stderr]    |
[INFO] [stderr] 15 |     collections::{HashMap, HashSet},
[INFO] [stderr]    |                   ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `thread::spawn`
[INFO] [stderr]  --> src/graph/registry.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 |     thread::spawn,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/graph/registry.rs:7:28
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tracing::{error, info, warn};
[INFO] [stderr]   |                            ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GraphMod`
[INFO] [stderr]  --> src/graph/registry.rs:9:27
[INFO] [stderr]   |
[INFO] [stderr] 9 | use super::graph::{Graph, GraphMod};
[INFO] [stderr]   |                           ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::graph::Graph`
[INFO] [stderr]  --> src/graph/serde.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use super::graph::Graph;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `graph::graph::GraphStatus`
[INFO] [stderr]  --> src/graph/watcher.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     graph::graph::GraphStatus,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::Serialize`
[INFO] [stderr]  --> src/graph/watcher.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use serde::Serialize;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Arc` and `Mutex`
[INFO] [stderr]  --> src/graph/watcher.rs:6:17
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                 ^^^  ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::task::JoinHandle`
[INFO] [stderr]  --> src/my_reg.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use tokio::task::JoinHandle;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `event`
[INFO] [stderr]  --> src/my_reg.rs:8:29
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tracing::{debug, error, event, info};
[INFO] [stderr]   |                             ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/buffer_to_json.rs:3:24
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> src/operators/buffer_to_json.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/buffer_to_json.rs:5:22
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stderr]   --> src/operators/buffer_to_json.rs:13:54
[INFO] [stderr]    |
[INFO] [stderr] 13 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stderr]    |                                                      ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> src/operators/factory.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncHandleTrait`
[INFO] [stderr]  --> src/operators/factory.rs:4:27
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::graph::graph::{AsyncHandleTrait, Graph};
[INFO] [stderr]   |                           ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, `OperatorState`, `OperatorType`, and `Operator`
[INFO] [stderr]  --> src/operators/factory.rs:5:30
[INFO] [stderr]   |
[INFO] [stderr] 5 | use crate::graph::operator::{Operator, OperatorRef, OperatorRole, OperatorState, OperatorType};
[INFO] [stderr]   |                              ^^^^^^^^  ^^^^^^^^^^^  ^^^^^^^^^^^^  ^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/json_to_buffer.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/json_to_buffer.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRef`
[INFO] [stderr]   --> src/operators/json_to_buffer.rs:12:37
[INFO] [stderr]    |
[INFO] [stderr] 12 |     GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/callout.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/callout.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `chrono::Duration`
[INFO] [stderr]  --> src/operators/callout.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use chrono::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `broadcast`
[INFO] [stderr]  --> src/operators/callout.rs:8:19
[INFO] [stderr]   |
[INFO] [stderr] 8 | use tokio::sync::{broadcast, mpsc};
[INFO] [stderr]   |                   ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::time::sleep`
[INFO] [stderr]  --> src/operators/callout.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tokio::time::sleep;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `error`
[INFO] [stderr]   --> src/operators/callout.rs:10:22
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tracing::{debug, error, info, warn};
[INFO] [stderr]    |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph`
[INFO] [stderr]   --> src/operators/callout.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::graph;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `GraphMod`
[INFO] [stderr]   --> src/operators/callout.rs:13:52
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::graph::graph::{AsyncHandleTrait, Graph, GraphMod, GraphRunner, GraphStatus};
[INFO] [stderr]    |                                                    ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRef`
[INFO] [stderr]   --> src/operators/callout.rs:15:37
[INFO] [stderr]    |
[INFO] [stderr] 15 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRef`
[INFO] [stderr]  --> src/operators/ai_agent/mod.rs:7:16
[INFO] [stderr]   |
[INFO] [stderr] 7 |     operator::{OperatorRef, OperatorRole},
[INFO] [stderr]   |                ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::json`
[INFO] [stderr]  --> src/operators/ai_tool/mod.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use serde_json::json;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/claim_check/claim_check.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/claim_check/claim_check.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRef`
[INFO] [stderr]  --> src/operators/claim_check/claim_check.rs:9:54
[INFO] [stderr]   |
[INFO] [stderr] 9 |     Filter2Operator, GraphOperatorContext, Operator, OperatorRef, OperatorRuntime, OperatorType,
[INFO] [stderr]   |                                                      ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stderr]  --> src/operators/fan_out/fan_out.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use fastrace::local::LocalSpan;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/fan_out/fan_out.rs:4:24
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `info` and `span`
[INFO] [stderr]   --> src/operators/fan_out/fan_out.rs:10:29
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tracing::{debug, error, info, span, warn};
[INFO] [stderr]    |                             ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph`
[INFO] [stderr]   --> src/operators/fan_out/fan_out.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 | use crate::graph;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRuntimeType`
[INFO] [stderr]   --> src/operators/fan_out/fan_out.rs:15:71
[INFO] [stderr]    |
[INFO] [stderr] 15 |     GraphOperatorContext, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType,
[INFO] [stderr]    |                                                                       ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stderr]   --> src/operators/fan_out/fan_out.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::graph::registry::GraphRegistry;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/global_space/global_space.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/global_space/global_space.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stderr]  --> src/operators/global_space/global_space.rs:8:37
[INFO] [stderr]   |
[INFO] [stderr] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stderr]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 9 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stderr]   |                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OnceLock` and `collections::HashMap`
[INFO] [stderr]  --> src/operators/global_space/resource.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 |     collections::HashMap,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 3 |     sync::{Arc, Mutex, OnceLock},
[INFO] [stderr]   |                        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/noop.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/noop.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::channel::oneshot`
[INFO] [stderr]  --> src/operators/noop.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use futures::channel::oneshot;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stderr]   --> src/operators/noop.rs:10:37
[INFO] [stderr]    |
[INFO] [stderr] 10 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stderr]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Mutex` and `thread::sleep`
[INFO] [stderr]  --> src/operators/op_actor.rs:2:17
[INFO] [stderr]   |
[INFO] [stderr] 2 |     sync::{Arc, Mutex},
[INFO] [stderr]   |                 ^^^^^
[INFO] [stderr] 3 |     thread::sleep,
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRef`
[INFO] [stderr]  --> src/operators/op_actor.rs:7:15
[INFO] [stderr]   |
[INFO] [stderr] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stderr]   |               ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Graph`
[INFO] [stderr]   --> src/operators/op_actor.rs:10:31
[INFO] [stderr]    |
[INFO] [stderr] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stderr]    |                               ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `local::LocalSpan`
[INFO] [stderr]   --> src/operators/op_actor.rs:14:22
[INFO] [stderr]    |
[INFO] [stderr] 14 | use fastrace::{Span, local::LocalSpan, prelude::SpanContext};
[INFO] [stderr]    |                      ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `info_span`, `instrument`, `span`, and `warn`
[INFO] [stderr]   --> src/operators/op_actor.rs:16:35
[INFO] [stderr]    |
[INFO] [stderr] 16 | use tracing::{debug, error, info, info_span, instrument, span, warn};
[INFO] [stderr]    |                                   ^^^^^^^^^  ^^^^^^^^^^  ^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::Instrument`
[INFO] [stderr]   --> src/operators/op_actor.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tracing::Instrument;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::thread::sleep;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::time::Duration`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::time::Duration;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fastrace::local::LocalSpan`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use fastrace::local::LocalSpan;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fastrace::prelude::SpanContext`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use fastrace::prelude::SpanContext;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Span`
[INFO] [stderr]  --> src/operators/op_actor_handle.rs:8:16
[INFO] [stderr]   |
[INFO] [stderr] 8 | use fastrace::{Span, trace};
[INFO] [stderr]   |                ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::task::spawn_blocking`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | use tokio::task::spawn_blocking;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `info_span`, `info`, `instrument`, and `warn`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:11:29
[INFO] [stderr]    |
[INFO] [stderr] 11 | use tracing::{debug, error, info, info_span, instrument, warn};
[INFO] [stderr]    |                             ^^^^  ^^^^^^^^^  ^^^^^^^^^^  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use crate::graph;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:16:37
[INFO] [stderr]    |
[INFO] [stderr] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime,
[INFO] [stderr]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 17 |     OperatorRuntimeType, OperatorType,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | use crate::graph::registry::GraphRegistry;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ControlEvent` and `register`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:24:21
[INFO] [stderr]    |
[INFO] [stderr] 24 | use crate::my_reg::{ControlEvent, register};
[INFO] [stderr]    |                     ^^^^^^^^^^^^  ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `fastrace::future::FutureExt`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use fastrace::future::FutureExt;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::Instrument`
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 29 | use tracing::Instrument;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph`
[INFO] [stderr]  --> src/operators/op_wrapper.rs:1:5
[INFO] [stderr]   |
[INFO] [stderr] 1 | use crate::graph;
[INFO] [stderr]   |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRefRead`, `OperatorRef`, `OperatorRole`, and `OperatorRuntimeType`
[INFO] [stderr]  --> src/operators/op_wrapper.rs:6:37
[INFO] [stderr]   |
[INFO] [stderr] 6 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stderr]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 7 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::registry::GraphRegistry`
[INFO] [stderr]  --> src/operators/op_wrapper.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use crate::graph::registry::GraphRegistry;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | use serde::de;
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::any::Any`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 | use std::any::Any;
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:16:24
[INFO] [stderr]    |
[INFO] [stderr] 16 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]    |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:18:29
[INFO] [stderr]    |
[INFO] [stderr] 18 | use tracing::{debug, error, info, warn};
[INFO] [stderr]    |                             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stderr]    --> src/operators/op_wrapper.rs:288:9
[INFO] [stderr]     |
[INFO] [stderr] 288 |         elided_named_lifetimes,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(renamed_and_removed_lints)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: lint `elided_named_lifetimes` has been renamed to `mismatched_lifetime_syntaxes`
[INFO] [stderr]    --> src/operators/op_wrapper.rs:327:9
[INFO] [stderr]     |
[INFO] [stderr] 327 |         elided_named_lifetimes,
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^ help: use the new name: `mismatched_lifetime_syntaxes`
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/passthrough.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/passthrough.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `info`
[INFO] [stderr]  --> src/operators/passthrough.rs:4:22
[INFO] [stderr]   |
[INFO] [stderr] 4 | use tracing::{debug, info};
[INFO] [stderr]   |                      ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef` and `OperatorRole`
[INFO] [stderr]  --> src/operators/passthrough.rs:9:37
[INFO] [stderr]   |
[INFO] [stderr] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stderr]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/settings.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/settings.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]  --> src/operators/settings.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::thread::sleep;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `futures::channel::oneshot`
[INFO] [stderr]  --> src/operators/settings.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | use futures::channel::oneshot;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde_json::Value`
[INFO] [stderr]  --> src/operators/settings.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 8 | use serde_json::Value;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph`
[INFO] [stderr]   --> src/operators/settings.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use crate::graph;
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef` and `OperatorState`
[INFO] [stderr]   --> src/operators/settings.rs:14:37
[INFO] [stderr]    |
[INFO] [stderr] 14 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]    |                                     ^^^^^^^^^^^                                 ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `ControlCommand` and `OriginMessage`
[INFO] [stderr]   --> src/operators/settings.rs:18:29
[INFO] [stderr]    |
[INFO] [stderr] 18 | use crate::graph::message::{ControlCommand, Message, OriginMessage};
[INFO] [stderr]    |                             ^^^^^^^^^^^^^^           ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::operators::shell::resources::get_instance`
[INFO] [stderr]  --> src/operators/shell/process.rs:3:5
[INFO] [stderr]   |
[INFO] [stderr] 3 | use crate::operators::shell::resources::get_instance;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]   --> src/operators/shell/process.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 | use std::thread::sleep;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tokio::io`
[INFO] [stderr]   --> src/operators/shell/process.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 | use tokio::io;
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `debug` and `warn`
[INFO] [stderr]   --> src/operators/shell/process.rs:20:15
[INFO] [stderr]    |
[INFO] [stderr] 20 | use tracing::{debug, error, info, warn};
[INFO] [stderr]    |               ^^^^^               ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::warn`
[INFO] [stderr]  --> src/operators/shell/resources.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use tracing::warn;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/shell/shell.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/shell/shell.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/operators/shell/shell.rs:5:35
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tracing::{debug, error, info, warn};
[INFO] [stderr]   |                                   ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `OperatorRef`
[INFO] [stderr]   --> src/operators/shell/shell.rs:11:37
[INFO] [stderr]    |
[INFO] [stderr] 11 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorType,
[INFO] [stderr]    |                                     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/stub.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/stub.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `serde::de::value`
[INFO] [stderr]  --> src/operators/stub.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use serde::de::value;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `warn`
[INFO] [stderr]  --> src/operators/stub.rs:5:29
[INFO] [stderr]   |
[INFO] [stderr] 5 | use tracing::{debug, error, warn};
[INFO] [stderr]   |                             ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stderr]  --> src/operators/stub.rs:9:37
[INFO] [stderr]   |
[INFO] [stderr] 9 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/template.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/template.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stderr]  --> src/operators/template.rs:8:37
[INFO] [stderr]   |
[INFO] [stderr] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/terminate.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/terminate.rs:2:22
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRef`, `OperatorRole`, and `OperatorState`
[INFO] [stderr]  --> src/operators/terminate.rs:8:37
[INFO] [stderr]   |
[INFO] [stderr] 8 |     GraphOperatorContext, Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorState,
[INFO] [stderr]   |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `HashMap` and `HashSet`
[INFO] [stderr]  --> src/operators/timer.rs:1:24
[INFO] [stderr]   |
[INFO] [stderr] 1 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                        ^^^^^^^  ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::iter`
[INFO] [stderr]  --> src/operators/timer.rs:2:5
[INFO] [stderr]   |
[INFO] [stderr] 2 | use std::iter;
[INFO] [stderr]   |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Mutex`
[INFO] [stderr]  --> src/operators/timer.rs:3:22
[INFO] [stderr]   |
[INFO] [stderr] 3 | use std::sync::{Arc, Mutex};
[INFO] [stderr]   |                      ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `OperatorRefRead`, `OperatorRef`, and `OperatorState`
[INFO] [stderr]   --> src/operators/timer.rs:16:37
[INFO] [stderr]    |
[INFO] [stderr] 16 |     GraphOperatorContext, Operator, OperatorRef, OperatorRefRead, OperatorRole, OperatorRuntime,
[INFO] [stderr]    |                                     ^^^^^^^^^^^  ^^^^^^^^^^^^^^^
[INFO] [stderr] 17 |     OperatorRuntimeType, OperatorState, OperatorType,
[INFO] [stderr]    |                          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stderr]    --> src/operators/op_wrapper.rs:286:7
[INFO] [stderr]     |
[INFO] [stderr] 286 |     #[must_use]
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: the `must_use` attribute cannot be used on trait methods in impl blocks
[INFO] [stderr]    --> src/operators/op_wrapper.rs:325:7
[INFO] [stderr]     |
[INFO] [stderr] 325 |     #[must_use]
[INFO] [stderr]     |       ^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = help: the `must_use` attribute can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, and traits
[INFO] [stderr]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/graph/processors/mod.rs:34:13
[INFO] [stderr]    |
[INFO] [stderr] 33 |             ProcessorType::Basic { processor } => processor.req_reply().await,
[INFO] [stderr]    |             ---------------------------------- matches all the relevant values
[INFO] [stderr] 34 |             _ => {
[INFO] [stderr]    |             ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stderr]   --> src/graph/graph.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stderr]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Operator`
[INFO] [stderr]  --> src/operators/op_actor.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncHandleTrait`
[INFO] [stderr]   --> src/operators/op_actor.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> src/operators/shell/process.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::{BufRead, Write};
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/operators/shell/process.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::{BufRead, Write};
[INFO] [stderr]   |                        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_node`
[INFO] [stderr]    --> src/graph/graph.rs:761:9
[INFO] [stderr]     |
[INFO] [stderr] 761 |         start_node: String,
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph`
[INFO] [stderr]    --> src/graph/operator.rs:105:24
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]    --> src/graph/operator.rs:105:43
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `values`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         values: serde_yaml::Value,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/graph/watcher.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 53 |                     _ => {
[INFO] [stderr]    |                     ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/graph/watcher.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 32 |                     ControlEventType::Notice => {
[INFO] [stderr]    |                     ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stderr]    |                     --------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stderr]    |                     ------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 53 |                     _ => {
[INFO] [stderr]    |                     ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stderr]     |
[INFO] [stderr] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stderr]     |
[INFO] [stderr] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/noop.rs:47:39
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stderr]     |
[INFO] [stderr] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph_name`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stderr]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/passthrough.rs:39:39
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/stub.rs:48:39
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/template.rs:41:39
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/terminate.rs:41:39
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EdgeDestination` is never constructed
[INFO] [stderr]   --> src/graph/experimental.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct EdgeDestination {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stderr]   --> src/graph/hooks.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stderr]    |           --------- methods in this trait
[INFO] [stderr] 11 |     /// Called when the graph is initialized.
[INFO] [stderr] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `session`, `span`, and `context` are never read
[INFO] [stderr]   --> src/graph/message.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub struct OriginMessageV2<T> {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 41 |     session: Option<String>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 42 |     span: Option<DebuggableSpan>,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 43 |     context: T,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: trait `XProcessor` is never used
[INFO] [stderr]   --> src/graph/processors/mod.rs:10:18
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ProcessorType` is never used
[INFO] [stderr]   --> src/graph/processors/mod.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum ProcessorType {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stderr]   --> src/graph/processors/mod.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl ProcessorType {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `end` is never read
[INFO] [stderr]   --> src/graph/processors/port.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Port {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] 11 |     end: Receiver<Message>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stderr]   --> src/graph/processors/port.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Port {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawGraph` is never constructed
[INFO] [stderr]   --> src/graph/serde.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub(super) struct RawGraph {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawNode` is never constructed
[INFO] [stderr]   --> src/graph/serde.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct RawNode {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Edge` is never constructed
[INFO] [stderr]   --> src/graph/serde.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct Edge {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stderr]   --> src/graph/serde.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl RawGraph {
[INFO] [stderr]    | ------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn load_yaml_from_value(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct ThisModel {
[INFO] [stderr]   |        --------- field in this struct
[INFO] [stderr] 8 |     name: String,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ThisModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_empty` is never used
[INFO] [stderr]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn default_empty() -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ThisModel` is never constructed
[INFO] [stderr]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | struct ThisModel {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_empty` is never used
[INFO] [stderr]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn default_empty() -> String {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ThisModel` is never constructed
[INFO] [stderr]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | struct ThisModel {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `setup_routes` is never used
[INFO] [stderr]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stderr]     |
[INFO] [stderr]  91 | impl FanOut {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `drop_instance` is never used
[INFO] [stderr]   --> src/operators/global_space/resource.rs:41:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl WidgetsSharedService {
[INFO] [stderr]    | ------------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub(crate) fn drop_instance() {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `graph_name` and `id` are never read
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stderr]    |                   ------------------- fields in this struct
[INFO] [stderr] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stderr] 34 |     graph_name: String,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 35 |     id: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OperatorActorHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct OperatorWrapper {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 22 |     id: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `child` is never read
[INFO] [stderr]   --> src/operators/shell/process.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ShellProcess {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 24 |     child: Option<tokio::process::Child>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ShellProcess` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `batching` is never used
[INFO] [stderr]    --> src/operators/shell/process.rs:301:10
[INFO] [stderr]     |
[INFO] [stderr] 301 | async fn batching(
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_batch` is never used
[INFO] [stderr]    --> src/operators/shell/process.rs:380:10
[INFO] [stderr]     |
[INFO] [stderr] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Template` is never constructed
[INFO] [stderr]   --> src/operators/template.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub(crate) struct Template;
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stderr] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stderr] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stderr] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stderr] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stderr]    --> src/operators/shell/process.rs:155:29
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 for line in err_reader.next_line().await {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]     |
[INFO] [stderr] 155 -                 for line in err_reader.next_line().await {
[INFO] [stderr] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]     |
[INFO] [stderr] 155 -                 for line in err_reader.next_line().await {
[INFO] [stderr] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stderr]    --> src/operators/shell/process.rs:193:29
[INFO] [stderr]     |
[INFO] [stderr] 193 |                 for line in out_reader.next_line().await {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]     |
[INFO] [stderr] 193 -                 for line in out_reader.next_line().await {
[INFO] [stderr] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]     |
[INFO] [stderr] 193 -                 for line in out_reader.next_line().await {
[INFO] [stderr] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver` and `Sender`
[INFO] [stderr]   --> src/lib.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |     broadcast::{Receiver, Sender},
[INFO] [stderr]    |                 ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]    --> src/lib.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |     use std::thread::sleep;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Level`
[INFO] [stderr]    --> src/lib.rs:176:19
[INFO] [stderr]     |
[INFO] [stderr] 176 |     use tracing::{Level, debug, info, instrument};
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `setup` is never used
[INFO] [stderr]    --> src/lib.rs:214:8
[INFO] [stderr]     |
[INFO] [stderr] 214 |     fn setup() {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_test` is never used
[INFO] [stderr]    --> src/lib.rs:223:8
[INFO] [stderr]     |
[INFO] [stderr] 223 |     fn run_test<T>(test: T) -> ()
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `saasexpress-core` (lib) generated 206 warnings (run `cargo fix --lib -p saasexpress-core` to apply 166 suggestions)
[INFO] [stderr] warning: `saasexpress-core` (lib test) generated 208 warnings (203 duplicates) (run `cargo fix --lib -p saasexpress-core --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.38s
[INFO] [stderr] warning: the following packages contain code that will be rejected by a future version of Rust: proc-macro-error2 v2.0.1
[INFO] [stderr] note: to see what the problems were, use the option `--future-incompat-report`, or run `cargo report future-incompatibilities --id 2`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/saasexpress_core-c47ae622c73cbef4)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] [2m2026-10-18T16:21:05.640275Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: BufferToJSON(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.640319Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [buffer_to_json] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.640327Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph buffer_to_json is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.640331Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph buffer_to_json TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.640335Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: buffer_to_json
[INFO] [stdout] [2m2026-10-18T16:21:05.640355Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.640361Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["buffer_to_json"]
[INFO] [stdout] [2m2026-10-18T16:21:05.640366Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["buffer_to_json"]
[INFO] [stdout] [2m2026-10-18T16:21:05.640378Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: buffer_to_json (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.640414Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for buffer_to_json.start(BufferToJSON)
[INFO] [stdout] [2m2026-10-18T16:21:05.640431Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.640436Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=buffer_to_json] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.640441Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: buffer_to_json : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.640473Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"MGAA3\",\"graph_name\":\"buffer_to_json\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.640482Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.640486Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: buffer_to_json
[INFO] [stdout] [2m2026-10-18T16:21:05.640491Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.640500Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.640635Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: BufferToJSON(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.640658Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::shell::shell[0m[2m:[0m Initializing shell operator with command: bash 
[INFO] [stdout] [2m2026-10-18T16:21:05.640663Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Shell(shell)
[INFO] [stdout] [2m2026-10-18T16:21:05.640673Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [shell] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.640677Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.640680Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.640683Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: shell
[INFO] [stdout] [2m2026-10-18T16:21:05.640698Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.640702Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["shell"]
[INFO] [stdout] [2m2026-10-18T16:21:05.640706Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["shell"]
[INFO] [stdout] [2m2026-10-18T16:21:05.640714Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: shell (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.640729Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for shell.start(BufferToJSON)
[INFO] [stdout] [2m2026-10-18T16:21:05.640737Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [shell] Getting next nodes for shell.shell(Shell)
[INFO] [stdout] [2m2026-10-18T16:21:05.640769Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [shell] Getting next nodes for shell.shell(Shell)
[INFO] [stdout] [2m2026-10-18T16:21:05.640782Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.640786Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=shell] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.640790Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: shell : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.640809Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"LWKXY\",\"graph_name\":\"shell\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.640815Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.640819Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: shell
[INFO] [stdout] [2m2026-10-18T16:21:05.640823Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.640832Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.640837Z[0m [31mERROR[0m ThreadId(06) [2msaasexpress_core::operators::op_actor[0m[2m:[0m No span found op_actor_handler (BufferToJSON)
[INFO] [stdout] [2m2026-10-18T16:21:05.640843Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::shell::shell[0m[2m:[0m Message for session ID "0"
[INFO] [stdout] test saasexpress_core_tests::it_works ... ok
[INFO] [stdout] test saasexpress_core_tests::env_settings_works ... ok
[INFO] [stdout] test saasexpress_core_tests::buffertojson_works ... ok
[INFO] [stdout] [2m2026-10-18T16:21:05.641525Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: canonical_model_err
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: start
[INFO] [stdout]           operator: CanonicalModelSample
[INFO] [stdout]         edges: []
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.641566Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: AITool(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.641579Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [ai_tool] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.641577Z[0m [32m INFO[0m ThreadId(09) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: g_callout
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: n_callout
[INFO] [stdout]           operator: Callout
[INFO] [stdout]           config:
[INFO] [stdout]             graph_name: worker
[INFO] [stdout]         edges: []
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.641584Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.641586Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: CanonicalModelSample(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.641588Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.641593Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: ai_tool
[INFO] [stdout] [2m2026-10-18T16:21:05.641602Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.641606Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["ai_tool"]
[INFO] [stdout] [2m2026-10-18T16:21:05.641610Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["ai_tool"]
[INFO] [stdout] [2m2026-10-18T16:21:05.641610Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m [canonical_model_err] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.641616Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model_err is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.641618Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: ai_tool (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.641619Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model_err TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.641623Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: canonical_model_err
[INFO] [stdout] [2m2026-10-18T16:21:05.641626Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for ai_tool.start(AITool)
[INFO] [stdout] [2m2026-10-18T16:21:05.641637Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.641637Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] [2m2026-10-18T16:21:05.641641Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=ai_tool] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.641644Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: ai_tool : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.641645Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.641650Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["canonical_model_err", "ai_tool"]
[INFO] [stdout] [2m2026-10-18T16:21:05.641654Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["canonical_model_err"]
[INFO] [stdout] [2m2026-10-18T16:21:05.641660Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"8REKX\",\"graph_name\":\"ai_tool\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=1)
[INFO] [stdout] [2m2026-10-18T16:21:05.641665Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["canonical_model_err", "ai_tool"]
[INFO] [stdout] [2m2026-10-18T16:21:05.641670Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["canonical_model_err"]
[INFO] [stdout] [2m2026-10-18T16:21:05.641676Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: canonical_model_err (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.641688Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for canonical_model_err.start(CanonicalModelSample)
[INFO] [stdout] [2m2026-10-18T16:21:05.641705Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.641708Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=canonical_model_err] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.641712Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: canonical_model_err : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.641728Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"VGWEU\",\"graph_name\":\"canonical_model_err\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.641734Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.641737Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: canonical_model_err
[INFO] [stdout] [2m2026-10-18T16:21:05.641741Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: ai_tool
[INFO] [stdout] [2m2026-10-18T16:21:05.641746Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::operator_types::ai_tool[0m[2m:[0m Starting AITool with runtime: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(AITool))", upstream_runtime: AITool { id: "", node_fqn: Some("ai_tool.start(AITool)"), name: "AITool", operator: AITool { tool: AIToolV1 { schema: None } }, next_nodes: [OperatorRole { role: "default", operator: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(NOOP))", upstream_runtime: NOOP { sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x78347402dc00, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 8 }, bound: 8 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } } } }] } }
[INFO] [stdout] [2m2026-10-18T16:21:05.641764Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.641772Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.641781Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::graph::operator_types::canonical_model[0m[2m:[0m Error deserializing JSON to CanonicalModel: missing field `name`
[INFO] [stdout] [2m2026-10-18T16:21:05.641787Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m Error in operator RuntimeWrapper(Wrapper(NOOP)): Canonical Model Validation Error - missing field `name`
[INFO] [stdout] [2m2026-10-18T16:21:05.641786Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::my_reg[0m[2m:[0m [my_channel] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.641796Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Response : Error { error: "Canonical Model Validation Error - missing field `name`", origin: None }
[INFO] [stdout] test saasexpress_core_tests::test_reg_example ... ok
[INFO] [stdout] test saasexpress_core_tests::test_canodamo_sample_error ... ok
[INFO] [stdout] [2m2026-10-18T16:21:05.643512Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: settings
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: settings
[INFO] [stdout]           operator: Settings
[INFO] [stdout]         edges: []
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.643578Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: g_callout
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: n_callout
[INFO] [stdout]           operator: Callout
[INFO] [stdout]           config:
[INFO] [stdout]             graph_name: worker
[INFO] [stdout]         edges: []
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.643596Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Settings(settings)
[INFO] [stdout] [2m2026-10-18T16:21:05.643607Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m [settings] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.643612Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.643615Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.643618Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: settings
[INFO] [stdout] [2m2026-10-18T16:21:05.643628Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.643633Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["settings"]
[INFO] [stdout] [2m2026-10-18T16:21:05.643637Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["settings"]
[INFO] [stdout] [2m2026-10-18T16:21:05.643646Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: settings (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.643658Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m [settings] Getting next nodes for settings.settings(Settings)
[INFO] [stdout] [2m2026-10-18T16:21:05.643672Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.643676Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=settings] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.643680Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: settings : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.643690Z[0m [31mERROR[0m ThreadId(15) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:21:05.643706Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"LUU9H\",\"graph_name\":\"settings\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.643713Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.643717Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: settings
[INFO] [stdout] [2m2026-10-18T16:21:05.643722Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.643730Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::operators::settings[0m[2m:[0m Handling! 1
[INFO] [stdout] [2m2026-10-18T16:21:05.643735Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.643738Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: settings
[INFO] [stdout] [2m2026-10-18T16:21:05.643747Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Response : JSON { message: Object {"name": String("Joe")}, origin: None }
[INFO] [stdout] [2m2026-10-18T16:21:05.644886Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: canonical_model
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: start
[INFO] [stdout]           operator: CanonicalModelSample
[INFO] [stdout]         edges: []
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.644949Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: CanonicalModelSample(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.644964Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m [canonical_model] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.644969Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.644972Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.644974Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: canonical_model
[INFO] [stdout] [2m2026-10-18T16:21:05.644994Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.644998Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["canonical_model"]
[INFO] [stdout] [2m2026-10-18T16:21:05.645003Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["canonical_model"]
[INFO] [stdout] [2m2026-10-18T16:21:05.645011Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: canonical_model (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.645023Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for canonical_model.start(CanonicalModelSample)
[INFO] [stdout] [2m2026-10-18T16:21:05.645044Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.645049Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=canonical_model] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.645053Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: canonical_model : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.645064Z[0m [31mERROR[0m ThreadId(11) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:21:05.645077Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"OK0ZS\",\"graph_name\":\"canonical_model\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.645084Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.645087Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: canonical_model
[INFO] [stdout] [2m2026-10-18T16:21:05.645091Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.645098Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.645112Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Response : JSON { message: Object {"name": String("Joe")}, origin: None }
[INFO] [stdout] test saasexpress_core_tests::test_settings ... ok
[INFO] [stdout] test saasexpress_core_tests::test_callout ... FAILED
[INFO] [stdout] [2m2026-10-18T16:21:05.645321Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: ClaimCheck(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.645338Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m [claim_check] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.645342Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.645345Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.645349Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: claim_check
[INFO] [stdout] [2m2026-10-18T16:21:05.645359Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.645363Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["claim_check"]
[INFO] [stdout] [2m2026-10-18T16:21:05.645366Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["claim_check"]
[INFO] [stdout] [2m2026-10-18T16:21:05.645373Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: claim_check (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.645384Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for claim_check.start(ClaimCheck)
[INFO] [stdout] [2m2026-10-18T16:21:05.643512Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: fan_out
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: fanout
[INFO] [stdout]           operator: FanOut
[INFO] [stdout]         - id: fanout_1
[INFO] [stdout]           operator: Passthrough
[INFO] [stdout]         - id: fanout_2
[INFO] [stdout]           operator: Passthrough
[INFO] [stdout]         edges:
[INFO] [stdout]         - from: fanout
[INFO] [stdout]           to: fanout_1
[INFO] [stdout]         - from: fanout
[INFO] [stdout]           to: fanout_2
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.645423Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.645427Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=claim_check] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.645431Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: claim_check : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.645440Z[0m [31mERROR[0m ThreadId(03) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:21:05.645452Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"EWVU9\",\"graph_name\":\"claim_check\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.645465Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.645469Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: claim_check
[INFO] [stdout] [2m2026-10-18T16:21:05.645474Z[0m [33m WARN[0m ThreadId(03) [2msaasexpress_core::operators::claim_check::claim_check[0m[2m:[0m Control Not implemented
[INFO] [stdout] [2m2026-10-18T16:21:05.645479Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.645486Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.645489Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: FanOut(fanout)
[INFO] [stdout] [2m2026-10-18T16:21:05.645491Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::operators::claim_check::claim_check[0m[2m:[0m ClaimCheck: Put - Standard { message: [123, 125], origin: Some(OriginMessage { respond_to: Some(Sender { complete: false }), session: Some("0"), mpsc_respond_to: None, span: Some(Span(Debug not implemented)), temp: Mutex { data: Null, poisoned: false, .. } }) }
[INFO] [stdout] [2m2026-10-18T16:21:05.645498Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Passthrough(fanout_1)
[INFO] [stdout] [2m2026-10-18T16:21:05.645504Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Passthrough(fanout_2)
[INFO] [stdout] [2m2026-10-18T16:21:05.645518Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [fan_out] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.645521Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph fan_out is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.645524Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph fan_out TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.645527Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: fan_out
[INFO] [stdout] [2m2026-10-18T16:21:05.645538Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.645542Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["claim_check", "fan_out"]
[INFO] [stdout] [2m2026-10-18T16:21:05.645545Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["fan_out"]
[INFO] [stdout] [2m2026-10-18T16:21:05.645553Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: fan_out (rev.1)
[INFO] [stdout] [2m2026-10-18T16:21:05.645564Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_1] Getting next nodes for fan_out.fanout_1(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:21:05.645599Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout] Getting next nodes for fan_out.fanout(FanOut)
[INFO] [stdout] [2m2026-10-18T16:21:05.645611Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_2] Getting next nodes for fan_out.fanout_2(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:21:05.645619Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::operators::claim_check::claim_check[0m[2m:[0m ClaimCheck: ClaimCheckReference { claim_type: "filesystem", claim_value: "116235dd-f5cd-4ee6-a8c1-58943370bb00" }
[INFO] [stdout] [2m2026-10-18T16:21:05.645635Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_1] Getting next nodes for fan_out.fanout_1(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:21:05.645664Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_2] Getting next nodes for fan_out.fanout_2(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:21:05.645681Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:21:05.645685Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=fan_out] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:21:05.645688Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: fan_out : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:21:05.645697Z[0m [31mERROR[0m ThreadId(12) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:21:05.645709Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"6PAZ2\",\"graph_name\":\"fan_out\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-10-18T16:21:05.645714Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:21:05.645718Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: claim_check
[INFO] [stdout] [2m2026-10-18T16:21:05.645722Z[0m [33m WARN[0m ThreadId(12) [2msaasexpress_core::operators::claim_check::claim_check[0m[2m:[0m Control Not implemented
[INFO] [stdout] [2m2026-10-18T16:21:05.645727Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: fan_out
[INFO] [stdout] [2m2026-10-18T16:21:05.645730Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:21:05.645747Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.645759Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:21:05.646768Z[0m [32m INFO[0m ThreadId(07) [1mtest_ai_agent[0m[2m:[0m [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Graph: 
[INFO] [stdout]         name: ai_agent
[INFO] [stdout]         nodes:
[INFO] [stdout]         - id: start
[INFO] [stdout]           operator: AIAgent
[INFO] [stdout]         - id: tool_a
[INFO] [stdout]           operator: Callout
[INFO] [stdout]           config:
[INFO] [stdout]             graph_name: ai_tool
[INFO] [stdout] 
[INFO] [stdout]         - id: system_prompt
[INFO] [stdout]           operator: Stub
[INFO] [stdout]           config:
[INFO] [stdout]             content: |
[INFO] [stdout]                 You are a shopping assistant. Use these functions:
[INFO] [stdout]                 
[INFO] [stdout]                 1. search_products: When user wants to find products (e.g., 'show me shirts')
[INFO] [stdout]                 2. get_product_details: When user asks about a specific product ID (e.g., 'tell me about product p1')
[INFO] [stdout]                 3. clarify_request: When user's request is unclear
[INFO] [stdout]                 
[INFO] [stdout] 
[INFO] [stdout]         - id: chatgpt_llm
[INFO] [stdout]           operator: Stub
[INFO] [stdout]           config:
[INFO] [stdout]             choices:
[INFO] [stdout]             - index: 0
[INFO] [stdout]               message:
[INFO] [stdout]                 role: assistant
[INFO] [stdout]                 annotations: []
[INFO] [stdout]                 content: |
[INFO] [stdout]                   {"something": {"returned": true}}
[INFO] [stdout]               finish_reason: stop
[INFO] [stdout]             created: 0
[INFO] [stdout]             id: chatgpt-123
[INFO] [stdout]             model: gpt-3.5-turbo
[INFO] [stdout]             object: chat.completion
[INFO] [stdout]             service_tier: free
[INFO] [stdout]             system_fingerprint: "fingerprint-123"
[INFO] [stdout]             usage:
[INFO] [stdout]               completion_tokens: 0
[INFO] [stdout]               completion_tokens_details:
[INFO] [stdout]                 accepted_prediction_tokens: 0
[INFO] [stdout]                 audio_tokens: 0
[INFO] [stdout]                 reasoning_tokens: 0
[INFO] [stdout]                 rejected_prediction_tokens: 0
[INFO] [stdout]               prompt_tokens: 0
[INFO] [stdout]               prompt_tokens_details:
[INFO] [stdout]                 audio_tokens: 0
[INFO] [stdout]                 cached_tokens: 0
[INFO] [stdout]               total_tokens: 0
[INFO] [stdout] 
[INFO] [stdout]         edges:
[INFO] [stdout]         - from: start
[INFO] [stdout]           to: tool_a
[INFO] [stdout]           role: tool
[INFO] [stdout]         - from: start
[INFO] [stdout]           to: system_prompt
[INFO] [stdout]           role: prompt
[INFO] [stdout]         - from: start
[INFO] [stdout]           to: chatgpt_llm
[INFO] [stdout]           role: llm
[INFO] [stdout]         
[INFO] [stdout] [2m2026-10-18T16:21:05.646971Z[0m [32m INFO[0m ThreadId(07) [1mtest_ai_agent[0m[2m:[0m [2msaasexpress_core::graph::graph[0m[2m:[0m Node: AIAgent(start)
[INFO] [stdout] [2m2026-10-18T16:21:05.646985Z[0m [32m INFO[0m ThreadId(07) [1mtest_ai_agent[0m[2m:[0m [2msaasexpress_core::my_reg[0m[2m:[0m [ai_agent.tool_a(Callout)] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:21:05.647000Z[0m [32m INFO[0m ThreadId(07) [1mtest_ai_agent[0m[2m:[0m [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Callout(tool_a)
[INFO] [stdout] [2m2026-10-18T16:21:05.647005Z[0m [33m WARN[0m ThreadId(07) [1mtest_ai_agent[0m[2m:[0m [2msaasexpress_core::operators::callout[0m[2m:[0m Callout operator has no graph assigned yet
[INFO] [stdout] [2m2026-10-18T16:21:05.648503Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::shell::process[0m[2m:[0m PID = 1667
[INFO] [stdout] [2m2026-10-18T16:21:05.648541Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::shell::process[0m[2m:[0m Total handlers = 3
[INFO] [stdout] [2m2026-10-18T16:21:05.648560Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::shell::process[0m[2m:[0m Waiting for error lines
[INFO] [stdout] [2m2026-10-18T16:21:05.648619Z[0m [33m WARN[0m ThreadId(16) [2msaasexpress_core::operators::global_space::global_space[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-10-18T16:21:05.648632Z[0m [32m INFO[0m ThreadId(16) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: GlobalSpace(global)
[INFO] [stdout] [2m2026-10-18T16:21:05.648647Z[0m [32m INFO[0m ThreadId(16) [2msaasexpress_core::graph::graph[0m[2m:[0m [graph_1] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:21:05.648652Z[0m [32m INFO[0m ThreadId(16) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph graph_1 is now active
[INFO] [stdout] [2m2026-10-18T16:21:05.648656Z[0m [32m INFO[0m ThreadId(16) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph graph_1 TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:21:05.648659Z[0m [32m INFO[0m ThreadId(16) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: graph_1
[INFO] [stdout] test saasexpress_core_tests::test_ai_tool ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_graph_upgrade ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_canodamo_sample_ok ... ok
[INFO] [stdout] test saasexpress_core_tests::claimcheck_works ... ok[2m2026-10-18T16:21:05.648719Z[0m [33m WARN[0m ThreadId(16) [2msaasexpress_core::operators::global_space::global_space[0m[2m:[0m Init Not implemented
[INFO] [stdout] 
[INFO] [stdout] [2m2026-10-18T16:21:05.648725Z[0m [32m INFO[0m ThreadId(16) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: GlobalSpace(global)
[INFO] [stdout] test saasexpress_core_tests::test_fan_out ... ok
[INFO] [stdout] test saasexpress_core_tests::test_shared_resources ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_ai_agent ... FAILED
[INFO] [stdout] test saasexpress_core_tests::shell_works has been running for over 60 seconds
[ERROR] error running command: no output for 300 seconds
[INFO] running `Command { std: "docker" "inspect" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35", kill_on_drop: false }`
[INFO] [stdout] 1fe24f8f2b895c9e65fbaa0c12387e428593e9576463d295fc36310e30551f35
