[INFO] fetching crate saasexpress-core 0.2.0...
[INFO] testing saasexpress-core-0.2.0 against 1.100.0-beta.1+cargoflags=--release for beta-release-1.100-2
[INFO] extracting crate saasexpress-core 0.2.0 into /workspace/builds/worker-1-tc2/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-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate saasexpress-core 0.2.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "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.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c
[INFO] running `Command { std: "docker" "start" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", 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" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", 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" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "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 nom v7.1.3
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling small_ctor v0.1.2
[INFO] [stderr]    Compiling rtrb v0.3.2
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling fastant v0.1.10
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling regex v1.11.1
[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 thiserror-impl v1.0.69
[INFO] [stderr]    Compiling fastrace-macro v0.7.9
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling tracing v0.1.41
[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 chrono v0.4.41
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling uuid v1.16.0
[INFO] [stderr]    Compiling fastrace v0.7.9
[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 axum v0.7.9
[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] warning: unused dependency `console-subscriber`
[INFO] [stderr]  --> Cargo.toml:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | [dependencies.console-subscriber]
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `console-subscriber`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> Cargo.toml:36:15
[INFO] [stderr]    |
[INFO] [stderr] 36 | [dependencies.thiserror]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: `saasexpress-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 1m 53s
[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 5`
[INFO] running `Command { std: "docker" "inspect" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", 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" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "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] [stderr]    Compiling saasexpress-core v0.2.0 (/opt/rustwide/workdir)
[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] [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] warning: unused dependency `console-subscriber`
[INFO] [stderr]  --> Cargo.toml:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | [dependencies.console-subscriber]
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `console-subscriber`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> Cargo.toml:36:15
[INFO] [stderr]    |
[INFO] [stderr] 36 | [dependencies.thiserror]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: `saasexpress-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 25.43s
[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 5`
[INFO] running `Command { std: "docker" "inspect" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", 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" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "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] warning: unused dependency `console-subscriber`
[INFO] [stderr]  --> Cargo.toml:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | [dependencies.console-subscriber]
[INFO] [stderr]   |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `cargo::unused_dependencies` is set to `warn` by default
[INFO] [stderr] help: consider removing the dependency on `console-subscriber`
[INFO] [stderr] warning: unused dependency `thiserror`
[INFO] [stderr]   --> Cargo.toml:36:15
[INFO] [stderr]    |
[INFO] [stderr] 36 | [dependencies.thiserror]
[INFO] [stderr]    |               ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] help: consider removing the dependency on `thiserror`
[INFO] [stderr] warning: `saasexpress-core` (manifest) generated 2 warnings
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.30s
[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 5`
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/build/saasexpress-core/c47ae622c73cbef4/out/saasexpress_core-c47ae622c73cbef4)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] [2m2026-10-18T16:29:28.454354Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: ClaimCheck(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.454412Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m [claim_check] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.454420Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.454424Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.454427Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: claim_check
[INFO] [stdout] [2m2026-10-18T16:29:28.454448Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.454454Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["claim_check"]
[INFO] [stdout] [2m2026-10-18T16:29:28.454459Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["claim_check"]
[INFO] [stdout] [2m2026-10-18T16:29:28.454477Z[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:29:28.454490Z[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:29:28.454505Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:29:28.454521Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found claim_check - might be fine
[INFO] [stdout] [2m2026-10-18T16:29:28.454526Z[0m [31mERROR[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check not found in registry
[INFO] [stdout] [2m2026-10-18T16:29:28.454524Z[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:29:28.454539Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: BufferToJSON(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.454557Z[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:29:28.454691Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: CanonicalModelSample(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.454791Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m [canonical_model_err] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.454822Z[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:29:28.454870Z[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:29:28.454920Z[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:29:28.454959Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] [2m2026-10-18T16:29:28.455058Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: BufferToJSON(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.455137Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [buffer_to_json] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.455171Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.455287Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=[]
[INFO] [stdout] [2m2026-10-18T16:29:28.455262Z[0m [32m INFO[0m ThreadId(07) [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:29:28.454543Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-10-18T16:29:28.455502Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Pending graphs: []
[INFO] [stdout] [2m2026-10-18T16:29:28.455184Z[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:29:28.455559Z[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:29:28.455626Z[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:29:28.455961Z[0m [31mERROR[0m ThreadId(02) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] [2m2026-10-18T16:29:28.456015Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.456042Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=[]
[INFO] [stdout] [2m2026-10-18T16:29:28.456305Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Pending graphs: []
[INFO] [stdout] [2m2026-10-18T16:29:28.456348Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m No pending graphs to start.
[INFO] [stdout] [2m2026-10-18T16:29:28.456376Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:29:28.456541Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:29:28.456815Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found buffer_to_json - might be fine
[INFO] [stdout] [2m2026-10-18T16:29:28.456860Z[0m [31mERROR[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph buffer_to_json not found in registry
[INFO] [stdout] [2m2026-10-18T16:29:28.455929Z[0m [32m INFO[0m ThreadId(07) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: AIAgent(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.457012Z[0m [32m INFO[0m ThreadId(07) [2msaasexpress_core::my_reg[0m[2m:[0m [ai_agent.tool_a(Callout)] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.457088Z[0m [32m INFO[0m ThreadId(07) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Callout(tool_a)
[INFO] [stdout] [2m2026-10-18T16:29:28.457310Z[0m [33m WARN[0m ThreadId(07) [2msaasexpress_core::operators::callout[0m[2m:[0m Callout operator has no graph assigned yet
[INFO] [stdout] [2m2026-10-18T16:29:28.456989Z[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:29:28.457469Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: CanonicalModelSample(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.457547Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m [canonical_model] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.455675Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m No pending graphs to start.
[INFO] [stdout] [2m2026-10-18T16:29:28.457717Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup does not exist
[INFO] [stdout] [2m2026-10-18T16:29:28.457752Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::my_reg[0m[2m:[0m Names ai_agent.tool_a(Callout)
[INFO] [stdout] [2m2026-10-18T16:29:28.457801Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:29:28.456287Z[0m [32m INFO[0m ThreadId(17) [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:29:28.457714Z[0m [32m INFO[0m ThreadId(04) [2msaasexpress_core::settings::settings[0m[2m:[0m Looking for env vars with prefix: TEST
[INFO] [stdout] [2m2026-10-18T16:29:28.456798Z[0m [32m INFO[0m ThreadId(18) [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:29:28.458258Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.458318Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.458353Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: canonical_model
[INFO] [stdout] [2m2026-10-18T16:29:28.458502Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: canonical_model
[INFO] [stdout] [2m2026-10-18T16:29:28.458546Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m No start node runtime found in graph canonical_model
[INFO] [stdout] [2m2026-10-18T16:29:28.458576Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:29:28.458599Z[0m [32m INFO[0m ThreadId(10) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found canonical_model_err - might be fine
[INFO] [stdout] [2m2026-10-18T16:29:28.458665Z[0m [31mERROR[0m ThreadId(10) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model_err not found in registry
[INFO] [stdout] [2m2026-10-18T16:29:28.458762Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.458842Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=[]
[INFO] [stdout] [2m2026-10-18T16:29:28.459137Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m Pending graphs: []
[INFO] [stdout] [2m2026-10-18T16:29:28.459185Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m No pending graphs to start.
[INFO] [stdout] [2m2026-10-18T16:29:28.459212Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-10-18T16:29:28.459234Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-10-18T16:29:28.459295Z[0m [32m INFO[0m ThreadId(11) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found canonical_model - might be fine
[INFO] [stdout] [2m2026-10-18T16:29:28.459328Z[0m [31mERROR[0m ThreadId(11) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model not found in registry
[INFO] [stdout] [2m2026-10-18T16:29:28.458902Z[0m [32m INFO[0m ThreadId(20) [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:29:28.459501Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Settings(settings)
[INFO] [stdout] [2m2026-10-18T16:29:28.458466Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: FanOut(fanout)
[INFO] [stdout] [2m2026-10-18T16:29:28.459591Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Passthrough(fanout_1)
[INFO] [stdout] [2m2026-10-18T16:29:28.459653Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Passthrough(fanout_2)
[INFO] [stdout] [2m2026-10-18T16:29:28.459496Z[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:29:28.459783Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Shell(shell)
[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::test_callout ... FAILED
[INFO] [stdout] test saasexpress_core_tests::claimcheck_works ... FAILED
[INFO] [stdout] [2m2026-10-18T16:29:28.458824Z[0m [32m INFO[0m ThreadId(19) [2msaasexpress_core::my_reg[0m[2m:[0m [my_channel] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.460414Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::operators::callout[0m[2m:[0m Received control event: ControlEvent { graph_id: "ai_agent", graph_name: "ai_agent", graph_status: Active, operator_names: [], event_type: Notice, reason: "Test event" }
[INFO] [stdout] [2m2026-10-18T16:29:28.460433Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: ai_agent
[INFO] [stdout] [2m2026-10-18T16:29:28.460438Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::operators::callout[0m[2m:[0m Control channel closed for ai_agent.tool_a(Callout)
[INFO] [stdout] [2m2026-10-18T16:29:28.459120Z[0m [33m WARN[0m ThreadId(21) [2msaasexpress_core::operators::global_space::global_space[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-10-18T16:29:28.460893Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: GlobalSpace(global)
[INFO] [stdout] [2m2026-10-18T16:29:28.459687Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m [settings] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.460932Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [shell] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.460942Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.460946Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.460950Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: shell
[INFO] [stdout] [2m2026-10-18T16:29:28.460971Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.460977Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.460982Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.460993Z[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:29:28.461006Z[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:29:28.461019Z[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:29:28.461047Z[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:29:28.461060Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:29:28.461065Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=shell] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:29:28.461069Z[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:29:28.461086Z[0m [31mERROR[0m ThreadId(06) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:29:28.461099Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"YGOZL\",\"graph_name\":\"shell\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=1)
[INFO] [stdout] [2m2026-10-18T16:29:28.461105Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461109Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["settings"]
[INFO] [stdout] test saasexpress_core_tests::buffertojson_works ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_reg_example ... ok
[INFO] [stdout] test saasexpress_core_tests::test_graph_upgrade ... FAILED
[INFO] [stdout] [2m2026-10-18T16:29:28.461169Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.461176Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.461179Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: settings
[INFO] [stdout] [2m2026-10-18T16:29:28.461196Z[0m [31mERROR[0m ThreadId(20) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] test saasexpress_core_tests::shell_works ... FAILED
[INFO] [stdout] [2m2026-10-18T16:29:28.461464Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m [graph_1] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.461471Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph graph_1 is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.461474Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph graph_1 TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.461477Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: graph_1
[INFO] [stdout] [2m2026-10-18T16:29:28.461556Z[0m [33m WARN[0m ThreadId(21) [2msaasexpress_core::operators::global_space::global_space[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-10-18T16:29:28.461562Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: GlobalSpace(global)
[INFO] [stdout] [2m2026-10-18T16:29:28.461765Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.461772Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["graph_1", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461777Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["graph_1", "settings"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461785Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: settings (rev.1)
[INFO] [stdout] [2m2026-10-18T16:29:28.461793Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m [settings] Getting next nodes for settings.settings(Settings)
[INFO] [stdout] [2m2026-10-18T16:29:28.461813Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:29:28.461817Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=settings] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:29:28.461820Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: settings : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:29:28.461830Z[0m [31mERROR[0m ThreadId(20) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:29:28.461840Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"5HV1K\",\"graph_name\":\"settings\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=1)
[INFO] [stdout] [2m2026-10-18T16:29:28.461846Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["graph_1", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461850Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["graph_1"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461879Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fan_out] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.461885Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph fan_out is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.461888Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph fan_out TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.461891Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: fan_out
[INFO] [stdout] [2m2026-10-18T16:29:28.461905Z[0m [31mERROR[0m ThreadId(17) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] [2m2026-10-18T16:29:28.461915Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.461919Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["fan_out", "graph_1", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461923Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["fan_out", "graph_1"]
[INFO] [stdout] [2m2026-10-18T16:29:28.461931Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: fan_out (rev.1)
[INFO] [stdout] [2m2026-10-18T16:29:28.461953Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_1] Getting next nodes for fan_out.fanout_1(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:29:28.461981Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_2] Getting next nodes for fan_out.fanout_2(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:29:28.462005Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout] Getting next nodes for fan_out.fanout(FanOut)
[INFO] [stdout] [2m2026-10-18T16:29:28.462018Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_1] Getting next nodes for fan_out.fanout_1(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:29:28.462042Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout_2] Getting next nodes for fan_out.fanout_2(Passthrough)
[INFO] [stdout] [2m2026-10-18T16:29:28.462075Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:29:28.462079Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=fan_out] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:29:28.462083Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: fan_out : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-10-18T16:29:28.462094Z[0m [31mERROR[0m ThreadId(17) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:29:28.462103Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"JRZXK\",\"graph_name\":\"fan_out\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=1)
[INFO] [stdout] [2m2026-10-18T16:29:28.462108Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["fan_out", "graph_1", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.462112Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["graph_1"]
[INFO] [stdout] test saasexpress_core_tests::test_shared_resources ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_settings ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_canodamo_sample_error ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_canodamo_sample_ok ... FAILED
[INFO] [stdout] [2m2026-10-18T16:29:28.458930Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: AITool(start)
[INFO] [stdout] [2m2026-10-18T16:29:28.463446Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [ai_tool] REGISTER GRAPH
[INFO] [stdout] [2m2026-10-18T16:29:28.463454Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool is now active
[INFO] [stdout] [2m2026-10-18T16:29:28.463458Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool TRANSITIONED TO Active
[INFO] [stdout] [2m2026-10-18T16:29:28.463461Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: ai_tool
[INFO] [stdout] [2m2026-10-18T16:29:28.463477Z[0m [31mERROR[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] [2m2026-10-18T16:29:28.463488Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-10-18T16:29:28.463492Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["fan_out", "graph_1", "ai_tool", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.463497Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["graph_1", "ai_tool"]
[INFO] [stdout] [2m2026-10-18T16:29:28.463506Z[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:29:28.463514Z[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:29:28.463522Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-10-18T16:29:28.463526Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=ai_tool] Pending count: 0
[INFO] [stdout] [2m2026-10-18T16:29:28.463529Z[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:29:28.463538Z[0m [31mERROR[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m [broadcast] Failed to send message to my_channel: channel closed
[INFO] [stdout] [2m2026-10-18T16:29:28.463548Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"HIIJS\",\"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:29:28.463553Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["fan_out", "graph_1", "ai_tool", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:28.463557Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["graph_1"]
[INFO] [stdout] test saasexpress_core_tests::test_fan_out ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_ai_agent ... FAILED
[INFO] [stdout] [2m2026-10-18T16:29:30.466455Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["fan_out", "graph_1", "ai_tool", "settings", "shell"]
[INFO] [stdout] [2m2026-10-18T16:29:30.466493Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["graph_1"]
[INFO] [stdout] test saasexpress_core_tests::test_ai_tool ... FAILED
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_callout stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_callout' (1669) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439929bd92 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x58439929bb49 - core[a373ad73a504971]::option::unwrap_failed
[INFO] [stdout]   13:     0x58439909f98f - saasexpress_core[7add8dfdaad73bba]::operators::factory::add_node_to_graph
[INFO] [stdout]   14:     0x58439904fe5b - saasexpress_core[7add8dfdaad73bba]::build_graph
[INFO] [stdout]   15:     0x5843990e7338 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_callout::{closure#0}
[INFO] [stdout]   16:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   17:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   18:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   19:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   20:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   21:     0x5843990f19be - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_callout::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   22:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   23:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   24:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   25:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   26:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   27:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   28:     0x7024a34273d4 - clone
[INFO] [stdout]   29:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::claimcheck_works stdout ----
[INFO] [stdout] [1;33mwarning[0m[1m:[0m [1msome trace filter directives would enable traces that are disabled statically[0m
[INFO] [stdout]  [1;38;5;21m|[0m `saasexpress_core=debug` would enable the DEBUG level for the `saasexpress_core` target
[INFO] [stdout]  [1;38;5;21m|[0m `saasexpress=debug` would enable the DEBUG level for the `saasexpress` target
[INFO] [stdout]  [1;38;5;21m|[0m `tokio=trace` would enable the TRACE level for the `tokio` target
[INFO] [stdout]  [1;38;5;21m|[0m `runtime=trace` would enable the TRACE level for the `runtime` target
[INFO] [stdout]  [1;38;5;21m=[0m [1mnote:[0m the static max level is `info`
[INFO] [stdout]  [1;38;5;21m=[0m [1mhelp:[0m to enable DEBUG logging, remove the `max_level_info` feature from the `tracing` crate
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::claimcheck_works' (1663) panicked at src/lib.rs:137:21:
[INFO] [stdout] No message received
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5843990e483c - saasexpress_core[7add8dfdaad73bba]::start_graphs::{closure#0}
[INFO] [stdout]   12:     0x5843990e9d86 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::claimcheck_works::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f1f4e - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::claimcheck_works::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::buffertojson_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::buffertojson_works' (1662) panicked at src/graph/graph.rs:67:13:
[INFO] [stdout] Graph not found buffer_to_json
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f532 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439906127f - <alloc[2e1b2a31b91974c5]::string::String as saasexpress_core[7add8dfdaad73bba]::graph::graph::IntoGraphRunner>::into_graph_runner
[INFO] [stdout]   12:     0x5843990eb3a6 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::buffertojson_works::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f220e - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::buffertojson_works::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_graph_upgrade stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_graph_upgrade' (1678) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439929bd92 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x58439929bb49 - core[a373ad73a504971]::option::unwrap_failed
[INFO] [stdout]   13:     0x58439909f98f - saasexpress_core[7add8dfdaad73bba]::operators::factory::add_node_to_graph
[INFO] [stdout]   14:     0x58439904fe5b - saasexpress_core[7add8dfdaad73bba]::build_graph
[INFO] [stdout]   15:     0x5843990ec15c - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_graph_upgrade::{closure#0}
[INFO] [stdout]   16:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   17:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   18:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   19:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   20:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   21:     0x5843990f244e - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_graph_upgrade::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   22:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   23:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   24:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   25:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   26:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   27:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   28:     0x7024a34273d4 - clone
[INFO] [stdout]   29:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::shell_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::shell_works' (1666) panicked at src/lib.rs:137:21:
[INFO] [stdout] No message received
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5843990e483c - saasexpress_core[7add8dfdaad73bba]::start_graphs::{closure#0}
[INFO] [stdout]   12:     0x5843990e52a7 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::shell_works::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f16fe - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::shell_works::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_shared_resources stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_shared_resources' (1681) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439929bd92 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x58439929bb49 - core[a373ad73a504971]::option::unwrap_failed
[INFO] [stdout]   13:     0x58439909f98f - saasexpress_core[7add8dfdaad73bba]::operators::factory::add_node_to_graph
[INFO] [stdout]   14:     0x58439904fe5b - saasexpress_core[7add8dfdaad73bba]::build_graph
[INFO] [stdout]   15:     0x5843990ec98e - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_shared_resources::{closure#0}
[INFO] [stdout]   16:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   17:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   18:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   19:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   20:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   21:     0x5843990f25ae - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_shared_resources::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   22:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   23:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   24:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   25:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   26:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   27:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   28:     0x7024a34273d4 - clone
[INFO] [stdout]   29:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_settings stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_settings' (1680) panicked at src/lib.rs:137:21:
[INFO] [stdout] No message received
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5843990e483c - saasexpress_core[7add8dfdaad73bba]::start_graphs::{closure#0}
[INFO] [stdout]   12:     0x5843990e94ff - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_settings::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f1dee - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_settings::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_canodamo_sample_error stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_canodamo_sample_error' (1670) panicked at src/graph/graph.rs:67:13:
[INFO] [stdout] Graph not found canonical_model_err
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f532 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439906127f - <alloc[2e1b2a31b91974c5]::string::String as saasexpress_core[7add8dfdaad73bba]::graph::graph::IntoGraphRunner>::into_graph_runner
[INFO] [stdout]   12:     0x5843990ee5c5 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_canodamo_sample_error::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f28ce - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_canodamo_sample_error::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_canodamo_sample_ok stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_canodamo_sample_ok' (1676) panicked at src/graph/graph.rs:67:13:
[INFO] [stdout] Graph not found canonical_model
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f532 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439906127f - <alloc[2e1b2a31b91974c5]::string::String as saasexpress_core[7add8dfdaad73bba]::graph::graph::IntoGraphRunner>::into_graph_runner
[INFO] [stdout]   12:     0x5843990edc0d - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_canodamo_sample_ok::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f276e - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_canodamo_sample_ok::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_fan_out stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_fan_out' (1677) panicked at src/lib.rs:137:21:
[INFO] [stdout] No message received
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5843990e483c - saasexpress_core[7add8dfdaad73bba]::start_graphs::{closure#0}
[INFO] [stdout]   12:     0x5843990e7e70 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_fan_out::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f1b1e - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_fan_out::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_ai_agent stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_ai_agent' (1667) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f564 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x58439929bd92 - core[a373ad73a504971]::panicking::panic
[INFO] [stdout]   12:     0x58439929bb49 - core[a373ad73a504971]::option::unwrap_failed
[INFO] [stdout]   13:     0x58439909f98f - saasexpress_core[7add8dfdaad73bba]::operators::factory::add_node_to_graph
[INFO] [stdout]   14:     0x58439904fe5b - saasexpress_core[7add8dfdaad73bba]::build_graph
[INFO] [stdout]   15:     0x5843990e890f - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_ai_agent::{closure#0}
[INFO] [stdout]   16:     0x5843990402bd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::multi_thread::MultiThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc52a - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f1c92 - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_ai_agent::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_ai_tool stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_ai_tool' (1668) panicked at src/lib.rs:147:17:
[INFO] [stdout] Timeout waiting for message: graph_1
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5843992845d1 - <<std[617be2ca0a6fd877]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[a373ad73a504971]::fmt::Display>::fmt
[INFO] [stdout]    1:     0x58439929b5ea - core[a373ad73a504971]::fmt::write
[INFO] [stdout]    2:     0x584399288c0c - <alloc[2e1b2a31b91974c5]::vec::Vec<u8> as core[a373ad73a504971]::io::write::Write>::write_fmt
[INFO] [stdout]    3:     0x58439925f486 - std[617be2ca0a6fd877]::panicking::default_hook::{closure#0}
[INFO] [stdout]    4:     0x58439927bf19 - std[617be2ca0a6fd877]::panicking::default_hook
[INFO] [stdout]    5:     0x58439910c1e0 - test[aada8e7e76ba119b]::test_main_inner::{closure#0}
[INFO] [stdout]    6:     0x58439927c242 - std[617be2ca0a6fd877]::panicking::panic_with_hook
[INFO] [stdout]    7:     0x58439925f532 - std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}
[INFO] [stdout]    8:     0x584399257e49 - std[617be2ca0a6fd877]::sys::backtrace::__rust_end_short_backtrace::<std[617be2ca0a6fd877]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]    9:     0x5843992601dd - __rustc[ea4f61d10b84890b]::rust_begin_unwind
[INFO] [stdout]   10:     0x58439929bdcc - core[a373ad73a504971]::panicking::panic_fmt
[INFO] [stdout]   11:     0x5843990e481e - saasexpress_core[7add8dfdaad73bba]::start_graphs::{closure#0}
[INFO] [stdout]   12:     0x5843990e6967 - saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_ai_tool::{closure#0}
[INFO] [stdout]   13:     0x5843990687e3 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Context>::enter::<core[a373ad73a504971]::task::poll::Poll<()>, <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]   14:     0x58439903bcd9 - <std[617be2ca0a6fd877]::thread::local::LocalKey<tokio[b3f6068c54350f4]::runtime::context::Context>>::with::<tokio[b3f6068c54350f4]::runtime::context::set_scheduler<(alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>), <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>::{closure#0}, core[a373ad73a504971]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[2e1b2a31b91974c5]::boxed::Box<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::Core>, core[a373ad73a504971]::option::Option<()>)>
[INFO] [stdout]   15:     0x58439906a417 - <tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[a373ad73a504971]::pin::Pin<&mut core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>>
[INFO] [stdout]   16:     0x5843990407cd - tokio[b3f6068c54350f4]::runtime::context::runtime::enter_runtime::<<tokio[b3f6068c54350f4]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]   17:     0x5843990bc565 - <tokio[b3f6068c54350f4]::runtime::runtime::Runtime>::block_on::<core[a373ad73a504971]::pin::Pin<&mut dyn core[a373ad73a504971]::future::future::Future<Output = ()>>>
[INFO] [stdout]   18:     0x5843990f185e - <saasexpress_core[7add8dfdaad73bba]::saasexpress_core_tests::test_ai_tool::{closure#0} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]   19:     0x5843990ff62b - test[aada8e7e76ba119b]::__rust_begin_short_backtrace::<core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>, fn() -> core[a373ad73a504971]::result::Result<(), alloc[2e1b2a31b91974c5]::string::String>>
[INFO] [stdout]   20:     0x58439910c805 - test[aada8e7e76ba119b]::run_test::{closure#0}
[INFO] [stdout]   21:     0x5843991060f4 - std[617be2ca0a6fd877]::sys::backtrace::__rust_begin_short_backtrace::<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>
[INFO] [stdout]   22:     0x58439910f892 - <std[617be2ca0a6fd877]::thread::lifecycle::spawn_unchecked<test[aada8e7e76ba119b]::run_test::{closure#1}, ()>::{closure#1} as core[a373ad73a504971]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]   23:     0x58439928359f - <std[617be2ca0a6fd877]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]   24:     0x7024a3393dfa - <unknown>
[INFO] [stdout]   25:     0x7024a34273d4 - clone
[INFO] [stdout]   26:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[INFO] [stdout]     saasexpress_core_tests::buffertojson_works
[INFO] [stdout]     saasexpress_core_tests::claimcheck_works
[INFO] [stdout]     saasexpress_core_tests::shell_works
[INFO] [stdout]     saasexpress_core_tests::test_ai_agent
[INFO] [stdout]     saasexpress_core_tests::test_ai_tool
[INFO] [stdout]     saasexpress_core_tests::test_callout
[INFO] [stdout]     saasexpress_core_tests::test_canodamo_sample_error
[INFO] [stdout]     saasexpress_core_tests::test_canodamo_sample_ok
[INFO] [stdout]     saasexpress_core_tests::test_fan_out
[INFO] [stdout]     saasexpress_core_tests::test_graph_upgrade
[INFO] [stdout]     saasexpress_core_tests::test_settings
[INFO] [stdout]     saasexpress_core_tests::test_shared_resources
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 3 passed; 12 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c", kill_on_drop: false }`
[INFO] [stdout] e89d680a5a92e1b0025922dcd337622c008b86e1e3a1db1b73eec103a4f2c53c
