[INFO] fetching crate saasexpress-core 0.2.0...
[INFO] testing saasexpress-core-0.2.0 against master#2fd6efc32704647e64d3d646d21c4c68eae100e4 for pr-149852-1
[INFO] extracting crate saasexpress-core 0.2.0 into /workspace/builds/worker-3-tc1/source
[INFO] started tweaking crates.io crate saasexpress-core 0.2.0
[INFO] finished tweaking crates.io crate saasexpress-core 0.2.0
[INFO] tweaked toml for crates.io crate saasexpress-core 0.2.0 written to /workspace/builds/worker-3-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate saasexpress-core 0.2.0 on toolchain 2fd6efc32704647e64d3d646d21c4c68eae100e4
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate 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" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded proc-macro2 v1.0.94
[INFO] [stderr]   Downloaded windows-link v0.1.1
[INFO] [stderr]   Downloaded redox_syscall v0.5.11
[INFO] [stderr]   Downloaded windows-result v0.3.2
[INFO] [stderr]   Downloaded hyper-timeout v0.5.2
[INFO] [stderr]   Downloaded dotenv v0.15.0
[INFO] [stderr]   Downloaded windows-strings v0.4.0
[INFO] [stderr]   Downloaded console-api v0.8.1
[INFO] [stderr]   Downloaded rtrb v0.3.2
[INFO] [stderr]   Downloaded fastrace v0.7.9
[INFO] [stderr]   Downloaded rand v0.9.1
[INFO] [stderr]   Downloaded hyper-util v0.1.15
[INFO] [stderr]   Downloaded cc v1.2.21
[INFO] [stderr]   Downloaded console-subscriber v0.4.1
[INFO] [stderr]   Downloaded h2 v0.4.11
[INFO] [stderr]   Downloaded io-uring v0.7.8
[INFO] [stderr]   Downloaded indexmap v2.9.0
[INFO] [stderr]   Downloaded getrandom v0.3.2
[INFO] [stderr]   Downloaded windows-core v0.61.0
[INFO] [stderr]   Downloaded humantime v2.2.0
[INFO] [stderr]   Downloaded fastant v0.1.10
[INFO] [stderr]   Downloaded syn v2.0.100
[INFO] [stderr]   Downloaded small_ctor v0.1.2
[INFO] [stderr]   Downloaded hdrhistogram v7.5.4
[INFO] [stderr]   Downloaded fastrace-macro v0.7.9
[INFO] [stderr]   Downloaded uuid v1.16.0
[INFO] [stderr]   Downloaded libc v0.2.171
[INFO] [stderr]   Downloaded tokio v1.46.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] ddfa0ecd2855d76f1f681219896138c9e8307841c9018871aaf270934d447f1f
[INFO] running `Command { std: "docker" "start" "-a" "ddfa0ecd2855d76f1f681219896138c9e8307841c9018871aaf270934d447f1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "ddfa0ecd2855d76f1f681219896138c9e8307841c9018871aaf270934d447f1f", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ddfa0ecd2855d76f1f681219896138c9e8307841c9018871aaf270934d447f1f", kill_on_drop: false }`
[INFO] [stdout] ddfa0ecd2855d76f1f681219896138c9e8307841c9018871aaf270934d447f1f
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8b648d699b59bf8e66e698976c71d0c41c94eb8430d0b3619e61319f815cd021
[INFO] running `Command { std: "docker" "start" "-a" "8b648d699b59bf8e66e698976c71d0c41c94eb8430d0b3619e61319f815cd021", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.94
[INFO] [stderr]    Compiling libc v0.2.171
[INFO] [stderr]    Compiling bytes v1.10.1
[INFO] [stderr]    Compiling smallvec v1.15.0
[INFO] [stderr]    Compiling zerocopy v0.8.25
[INFO] [stderr]    Compiling tracing-core v0.1.33
[INFO] [stderr]    Compiling serde v1.0.219
[INFO] [stderr]    Compiling indexmap v2.9.0
[INFO] [stderr]    Compiling anyhow v1.0.98
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling rustversion v1.0.20
[INFO] [stderr]    Compiling getrandom v0.3.2
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling http v1.3.1
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling quote v1.0.40
[INFO] [stderr]    Compiling parking_lot_core v0.9.10
[INFO] [stderr]    Compiling signal-hook-registry v1.4.2
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling mio v1.0.3
[INFO] [stderr]    Compiling parking_lot v0.12.3
[INFO] [stderr]    Compiling getrandom v0.2.16
[INFO] [stderr]    Compiling syn v2.0.100
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling indexmap v1.9.3
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling hashbrown v0.12.3
[INFO] [stderr]    Compiling regex-syntax v0.6.29
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling regex-syntax v0.8.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling adler2 v2.0.0
[INFO] [stderr]    Compiling miniz_oxide v0.8.8
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand_core v0.9.3
[INFO] [stderr]    Compiling proc-macro-error-attr2 v2.0.0
[INFO] [stderr]    Compiling crc32fast v1.4.2
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling log v0.4.27
[INFO] [stderr]    Compiling serde_json v1.0.140
[INFO] [stderr]    Compiling overload v0.1.1
[INFO] [stderr]    Compiling nu-ansi-term v0.46.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling flate2 v1.1.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling regex-automata v0.4.9
[INFO] [stderr]    Compiling regex-automata v0.1.10
[INFO] [stderr]    Compiling thread_local v1.1.8
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling small_ctor v0.1.2
[INFO] [stderr]    Compiling web-time v1.1.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling fastant v0.1.10
[INFO] [stderr]    Compiling rand v0.9.1
[INFO] [stderr]    Compiling matchers v0.1.0
[INFO] [stderr]    Compiling hdrhistogram v7.5.4
[INFO] [stderr]    Compiling humantime v2.2.0
[INFO] [stderr]    Compiling rtrb v0.3.2
[INFO] [stderr]    Compiling iana-time-zone v0.1.63
[INFO] [stderr]    Compiling dotenv v0.15.0
[INFO] [stderr]    Compiling proc-macro-error2 v2.0.1
[INFO] [stderr]    Compiling regex v1.11.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 prost-derive v0.13.5
[INFO] [stderr]    Compiling async-trait v0.1.88
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling fastrace-macro v0.7.9
[INFO] [stderr]    Compiling tokio v1.46.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling pin-project v1.1.10
[INFO] [stderr]    Compiling tracing v0.1.41
[INFO] [stderr]    Compiling tracing-subscriber v0.3.19
[INFO] [stderr]    Compiling prost v0.13.5
[INFO] [stderr]    Compiling prost-types v0.13.5
[INFO] [stderr]    Compiling thiserror v1.0.69
[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 tokio-util v0.7.15
[INFO] [stderr]    Compiling tokio-stream v0.1.17
[INFO] [stderr]    Compiling fastrace v0.7.9
[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 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: 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: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[must_use]
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     #[must_use]
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/graph.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node`
[INFO] [stdout]    --> src/graph/graph.rs:761:9
[INFO] [stdout]     |
[INFO] [stdout] 761 |         start_node: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/graph/operator.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/graph/operator.rs:105:43
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         values: serde_yaml::Value,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     ControlEventType::Notice => {
[INFO] [stdout]    |                     ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/noop.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_name`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/passthrough.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/stub.rs:48:39
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/template.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/terminate.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeDestination` is never constructed
[INFO] [stdout]   --> src/graph/experimental.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct EdgeDestination {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stdout]   --> src/graph/hooks.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 11 |     /// Called when the graph is initialized.
[INFO] [stdout] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session`, `span`, and `context` are never read
[INFO] [stdout]   --> src/graph/message.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OriginMessageV2<T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 41 |     session: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     span: Option<DebuggableSpan>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     context: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XProcessor` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessorType` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ProcessorType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProcessorType {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/graph/processors/port.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Port {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     end: Receiver<Message>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stdout]   --> src/graph/processors/port.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Port {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawGraph` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(super) struct RawGraph {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNode {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Edge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stdout]   --> src/graph/serde.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl RawGraph {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn load_yaml_from_value(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ThisModel {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ThisModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn default_empty() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn default_empty() -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setup_routes` is never used
[INFO] [stdout]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl FanOut {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated function `drop_instance` is never used
[INFO] [stdout]   --> src/operators/global_space/resource.rs:41:19
[INFO] [stdout]    |
[INFO] [stdout] 15 | impl WidgetsSharedService {
[INFO] [stdout]    | ------------------------- associated function in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 41 |     pub(crate) fn drop_instance() {
[INFO] [stdout]    |                   ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `graph_name` and `id` are never read
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stdout]    |                   ------------------- fields in this struct
[INFO] [stdout] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stdout] 34 |     graph_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorActorHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct OperatorWrapper {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/operators/shell/process.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ShellProcess {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 24 |     child: Option<tokio::process::Child>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShellProcess` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batching` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | async fn batching(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_batch` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Template` is never constructed
[INFO] [stdout]   --> src/operators/template.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct Template;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 for line in err_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:193:29
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 for line in out_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 2m 16s
[INFO] running `Command { std: "docker" "inspect" "8b648d699b59bf8e66e698976c71d0c41c94eb8430d0b3619e61319f815cd021", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8b648d699b59bf8e66e698976c71d0c41c94eb8430d0b3619e61319f815cd021", kill_on_drop: false }`
[INFO] [stdout] 8b648d699b59bf8e66e698976c71d0c41c94eb8430d0b3619e61319f815cd021
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 38f239234eb4d825ac5a90d379fd57558ccddc9f98b5c790ee0abb1e234c54bf
[INFO] running `Command { std: "docker" "start" "-a" "38f239234eb4d825ac5a90d379fd57558ccddc9f98b5c790ee0abb1e234c54bf", 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: 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: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[must_use]
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     #[must_use]
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[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]    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: `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: 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: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:286:5
[INFO] [stdout]     |
[INFO] [stdout] 286 |     #[must_use]
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stdout]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stdout]    --> src/operators/op_wrapper.rs:325:5
[INFO] [stdout]     |
[INFO] [stdout] 325 |     #[must_use]
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/graph.rs:32:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stdout]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Operator`
[INFO] [stdout]  --> src/operators/op_actor.rs:7:5
[INFO] [stdout]   |
[INFO] [stdout] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stdout]   |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `AsyncHandleTrait`
[INFO] [stdout]   --> src/operators/op_actor.rs:10:13
[INFO] [stdout]    |
[INFO] [stdout] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stdout]    |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `BufRead`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |               ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Write`
[INFO] [stdout]  --> src/operators/shell/process.rs:8:24
[INFO] [stdout]   |
[INFO] [stdout] 8 | use std::io::{BufRead, Write};
[INFO] [stdout]   |                        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `start_node`
[INFO] [stdout]    --> src/graph/graph.rs:761:9
[INFO] [stdout]     |
[INFO] [stdout] 761 |         start_node: String,
[INFO] [stdout]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]    --> src/graph/operator.rs:105:24
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/graph/operator.rs:105:43
[INFO] [stdout]     |
[INFO] [stdout] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `values`
[INFO] [stdout]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stdout]    |
[INFO] [stdout] 59 |         values: serde_yaml::Value,
[INFO] [stdout]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unreachable pattern
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ no value can reach this
[INFO] [stdout]    |
[INFO] [stdout] note: multiple earlier patterns match some of the same values
[INFO] [stdout]   --> src/graph/watcher.rs:53:21
[INFO] [stdout]    |
[INFO] [stdout] 32 |                     ControlEventType::Notice => {
[INFO] [stdout]    |                     ------------------------ matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stdout]    |                     --------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stdout]    |                     ------------------------------- matches some of the same values
[INFO] [stdout] ...
[INFO] [stdout] 53 |                     _ => {
[INFO] [stdout]    |                     ^ collectively making this unreachable
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stdout]     |
[INFO] [stdout] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `message`
[INFO] [stdout]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stdout]     |
[INFO] [stdout] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stdout]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stdout]    |
[INFO] [stdout] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stdout]    |
[INFO] [stdout] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/noop.rs:47:39
[INFO] [stdout]    |
[INFO] [stdout] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stdout]     |
[INFO] [stdout] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph_name`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stdout]    |
[INFO] [stdout] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stdout]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `graph`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stdout]    |
[INFO] [stdout] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/passthrough.rs:39:39
[INFO] [stdout]    |
[INFO] [stdout] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/stub.rs:48:39
[INFO] [stdout]    |
[INFO] [stdout] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/template.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `node_meta`
[INFO] [stdout]   --> src/operators/terminate.rs:41:39
[INFO] [stdout]    |
[INFO] [stdout] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stdout]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `EdgeDestination` is never constructed
[INFO] [stdout]   --> src/graph/experimental.rs:48:12
[INFO] [stdout]    |
[INFO] [stdout] 48 | pub struct EdgeDestination {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stdout]   --> src/graph/hooks.rs:12:8
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stdout]    |           --------- methods in this trait
[INFO] [stdout] 11 |     /// Called when the graph is initialized.
[INFO] [stdout] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stdout]    |        ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stdout]    |        ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `session`, `span`, and `context` are never read
[INFO] [stdout]   --> src/graph/message.rs:41:5
[INFO] [stdout]    |
[INFO] [stdout] 40 | pub struct OriginMessageV2<T> {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 41 |     session: Option<String>,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 42 |     span: Option<DebuggableSpan>,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 43 |     context: T,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait `XProcessor` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:10:18
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stdout]    |                  ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: enum `ProcessorType` is never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:16:10
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub enum ProcessorType {
[INFO] [stdout]    |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stdout]   --> src/graph/processors/mod.rs:20:12
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl ProcessorType {
[INFO] [stdout]    | ------------------ associated items in this implementation
[INFO] [stdout] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `end` is never read
[INFO] [stdout]   --> src/graph/processors/port.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 10 | pub struct Port {
[INFO] [stdout]    |            ---- field in this struct
[INFO] [stdout] 11 |     end: Receiver<Message>,
[INFO] [stdout]    |     ^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stdout]   --> src/graph/processors/port.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 14 | impl Port {
[INFO] [stdout]    | --------- associated items in this implementation
[INFO] [stdout] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stdout]    |                  ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stdout]    |                  ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawGraph` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:11:19
[INFO] [stdout]    |
[INFO] [stdout] 11 | pub(super) struct RawGraph {
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `RawNode` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:22:12
[INFO] [stdout]    |
[INFO] [stdout] 22 | pub struct RawNode {
[INFO] [stdout]    |            ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Edge` is never constructed
[INFO] [stdout]   --> src/graph/serde.rs:33:8
[INFO] [stdout]    |
[INFO] [stdout] 33 | struct Edge {
[INFO] [stdout]    |        ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stdout]   --> src/graph/serde.rs:51:12
[INFO] [stdout]    |
[INFO] [stdout] 42 | impl RawGraph {
[INFO] [stdout]    | ------------- associated functions in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stdout]    |            ^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 67 |     pub fn load_yaml_from_value(
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `name` is never read
[INFO] [stdout]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stdout]   |
[INFO] [stdout] 7 | struct ThisModel {
[INFO] [stdout]   |        --------- field in this struct
[INFO] [stdout] 8 |     name: String,
[INFO] [stdout]   |     ^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `ThisModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stdout]    |
[INFO] [stdout] 22 | fn default_empty() -> String {
[INFO] [stdout]    |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stdout]    |
[INFO] [stdout] 28 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `default_empty` is never used
[INFO] [stdout]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stdout]   |
[INFO] [stdout] 9 | fn default_empty() -> String {
[INFO] [stdout]   |    ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `ThisModel` is never constructed
[INFO] [stdout]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stdout]    |
[INFO] [stdout] 15 | struct ThisModel {
[INFO] [stdout]    |        ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `setup_routes` is never used
[INFO] [stdout]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stdout]     |
[INFO] [stdout]  91 | impl FanOut {
[INFO] [stdout]     | ----------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `graph_name` and `id` are never read
[INFO] [stdout]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stdout]    |                   ------------------- fields in this struct
[INFO] [stdout] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stdout] 34 |     graph_name: String,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 35 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorActorHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `id` is never read
[INFO] [stdout]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stdout]    |
[INFO] [stdout] 21 | pub struct OperatorWrapper {
[INFO] [stdout]    |            --------------- field in this struct
[INFO] [stdout] 22 |     id: String,
[INFO] [stdout]    |     ^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `child` is never read
[INFO] [stdout]   --> src/operators/shell/process.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 23 | pub struct ShellProcess {
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] 24 |     child: Option<tokio::process::Child>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ShellProcess` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `batching` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:301:10
[INFO] [stdout]     |
[INFO] [stdout] 301 | async fn batching(
[INFO] [stdout]     |          ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `process_batch` is never used
[INFO] [stdout]    --> src/operators/shell/process.rs:380:10
[INFO] [stdout]     |
[INFO] [stdout] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stdout]     |          ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Template` is never constructed
[INFO] [stdout]   --> src/operators/template.rs:17:19
[INFO] [stdout]    |
[INFO] [stdout] 17 | pub(crate) struct Template;
[INFO] [stdout]    |                   ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `setup` is never used
[INFO] [stdout]    --> src/lib.rs:214:8
[INFO] [stdout]     |
[INFO] [stdout] 214 |     fn setup() {
[INFO] [stdout]     |        ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `run_test` is never used
[INFO] [stdout]    --> src/lib.rs:223:8
[INFO] [stdout]     |
[INFO] [stdout] 223 |     fn run_test<T>(test: T) -> ()
[INFO] [stdout]     |        ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stdout] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stdout]   --> src/graph/graph_run.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stdout] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stdout]    |
[INFO] [stdout] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stdout] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stdout]    |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:155:29
[INFO] [stdout]     |
[INFO] [stdout] 155 |                 for line in err_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 155 -                 for line in err_reader.next_line().await {
[INFO] [stdout] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stdout]    --> src/operators/shell/process.rs:193:29
[INFO] [stdout]     |
[INFO] [stdout] 193 |                 for line in out_reader.next_line().await {
[INFO] [stdout]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout] help: to check pattern in a loop use `while let`
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] help: consider using `if let` to clear intent
[INFO] [stdout]     |
[INFO] [stdout] 193 -                 for line in out_reader.next_line().await {
[INFO] [stdout] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 13.39s
[INFO] running `Command { std: "docker" "inspect" "38f239234eb4d825ac5a90d379fd57558ccddc9f98b5c790ee0abb1e234c54bf", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "38f239234eb4d825ac5a90d379fd57558ccddc9f98b5c790ee0abb1e234c54bf", kill_on_drop: false }`
[INFO] [stdout] 38f239234eb4d825ac5a90d379fd57558ccddc9f98b5c790ee0abb1e234c54bf
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:aa71247004a7fa38d13ec170f48f06cdedf5bc50b2a8645e56ed7e992e6fa513" "/opt/rustwide/cargo-home/bin/cargo" "+2fd6efc32704647e64d3d646d21c4c68eae100e4" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] d52fbebdebd7c8fcb38a617c58f3ec7064beed1c1143974301a6d17e4dbf9ee5
[INFO] running `Command { std: "docker" "start" "-a" "d52fbebdebd7c8fcb38a617c58f3ec7064beed1c1143974301a6d17e4dbf9ee5", 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: 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: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stderr]    --> src/operators/op_wrapper.rs:286:5
[INFO] [stderr]     |
[INFO] [stderr] 286 |     #[must_use]
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stderr]     = note: `#[warn(unused_attributes)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: `#[must_use]` attribute cannot be used on trait methods in impl blocks
[INFO] [stderr]    --> src/operators/op_wrapper.rs:325:5
[INFO] [stderr]     |
[INFO] [stderr] 325 |     #[must_use]
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr]     |
[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]     = help: `#[must_use]` can be applied to data types, foreign functions, functions, inherent methods, provided trait methods, required trait methods, traits, and unions
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::operator_types::ai_tool::AIToolOperator`
[INFO] [stderr]   --> src/graph/graph.rs:32:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | use super::operator_types::ai_tool::AIToolOperator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `super::ai_tool::AIToolOperator`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 | use super::ai_tool::AIToolOperator;
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::graph::operator_types::ai_tool::AIToolOperator`
[INFO] [stderr]  --> src/operators/ai_agent/mod.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::graph::operator_types::ai_tool::AIToolOperator;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Operator`
[INFO] [stderr]  --> src/operators/op_actor.rs:7:5
[INFO] [stderr]   |
[INFO] [stderr] 7 |     Operator, OperatorRef, OperatorRole, OperatorRuntime, OperatorRuntimeType, OperatorType,
[INFO] [stderr]   |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `AsyncHandleTrait`
[INFO] [stderr]   --> src/operators/op_actor.rs:10:13
[INFO] [stderr]    |
[INFO] [stderr] 10 |     graph::{AsyncHandleTrait, Graph},
[INFO] [stderr]    |             ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `BufRead`
[INFO] [stderr]  --> src/operators/shell/process.rs:8:15
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::{BufRead, Write};
[INFO] [stderr]   |               ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Write`
[INFO] [stderr]  --> src/operators/shell/process.rs:8:24
[INFO] [stderr]   |
[INFO] [stderr] 8 | use std::io::{BufRead, Write};
[INFO] [stderr]   |                        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `start_node`
[INFO] [stderr]    --> src/graph/graph.rs:761:9
[INFO] [stderr]     |
[INFO] [stderr] 761 |         start_node: String,
[INFO] [stderr]     |         ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_start_node`
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph`
[INFO] [stderr]    --> src/graph/operator.rs:105:24
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]    --> src/graph/operator.rs:105:43
[INFO] [stderr]     |
[INFO] [stderr] 105 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `values`
[INFO] [stderr]   --> src/graph/operator_types/ai_agent.rs:59:9
[INFO] [stderr]    |
[INFO] [stderr] 59 |         values: serde_yaml::Value,
[INFO] [stderr]    |         ^^^^^^ help: if this is intentional, prefix it with an underscore: `_values`
[INFO] [stderr] 
[INFO] [stderr] warning: unreachable pattern
[INFO] [stderr]   --> src/graph/watcher.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 53 |                     _ => {
[INFO] [stderr]    |                     ^ no value can reach this
[INFO] [stderr]    |
[INFO] [stderr] note: multiple earlier patterns match some of the same values
[INFO] [stderr]   --> src/graph/watcher.rs:53:21
[INFO] [stderr]    |
[INFO] [stderr] 32 |                     ControlEventType::Notice => {
[INFO] [stderr]    |                     ------------------------ matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 38 |                     ControlEventType::OperatorUpdated => {
[INFO] [stderr]    |                     --------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 47 |                     ControlEventType::GraphReplaced => {
[INFO] [stderr]    |                     ------------------------------- matches some of the same values
[INFO] [stderr] ...
[INFO] [stderr] 53 |                     _ => {
[INFO] [stderr]    |                     ^ collectively making this unreachable
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]    --> src/operators/buffer_to_json.rs:126:39
[INFO] [stderr]     |
[INFO] [stderr] 126 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `message`
[INFO] [stderr]    --> src/operators/buffer_to_json.rs:167:22
[INFO] [stderr]     |
[INFO] [stderr] 167 |     fn handle(&self, message: Message) -> Message {
[INFO] [stderr]     |                      ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_message`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/json_to_buffer.rs:40:39
[INFO] [stderr]    |
[INFO] [stderr] 40 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/global_space/global_space.rs:46:39
[INFO] [stderr]    |
[INFO] [stderr] 46 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/noop.rs:47:39
[INFO] [stderr]    |
[INFO] [stderr] 47 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]    --> src/operators/op_actor_handle.rs:107:39
[INFO] [stderr]     |
[INFO] [stderr] 107 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]     |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph_name`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:30:19
[INFO] [stderr]    |
[INFO] [stderr] 30 |     pub fn new<T>(graph_name: String, id: String, operator: T) -> Self
[INFO] [stderr]    |                   ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_graph_name`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `graph`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:61:24
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                        ^^^^^ help: if this is intentional, prefix it with an underscore: `_graph`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/op_wrapper.rs:61:43
[INFO] [stderr]    |
[INFO] [stderr] 61 |     fn init(&mut self, graph: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                           ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/passthrough.rs:39:39
[INFO] [stderr]    |
[INFO] [stderr] 39 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/stub.rs:48:39
[INFO] [stderr]    |
[INFO] [stderr] 48 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {}
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/template.rs:41:39
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `node_meta`
[INFO] [stderr]   --> src/operators/terminate.rs:41:39
[INFO] [stderr]    |
[INFO] [stderr] 41 |     fn init(&mut self, _: &mut Graph, node_meta: &NodeMeta) {
[INFO] [stderr]    |                                       ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_node_meta`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `EdgeDestination` is never constructed
[INFO] [stderr]   --> src/graph/experimental.rs:48:12
[INFO] [stderr]    |
[INFO] [stderr] 48 | pub struct EdgeDestination {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: methods `on_init`, `on_finalize`, and `on_call` are never used
[INFO] [stderr]   --> src/graph/hooks.rs:12:8
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub trait GraphHook: Send + Sync + Debug {
[INFO] [stderr]    |           --------- methods in this trait
[INFO] [stderr] 11 |     /// Called when the graph is initialized.
[INFO] [stderr] 12 |     fn on_init(&self, graph: &mut Graph);
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 15 |     fn on_finalize(&self, graph: &mut Graph);
[INFO] [stderr]    |        ^^^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 18 |     fn on_call(&self, graph: &mut Graph, message: &str);
[INFO] [stderr]    |        ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `session`, `span`, and `context` are never read
[INFO] [stderr]   --> src/graph/message.rs:41:5
[INFO] [stderr]    |
[INFO] [stderr] 40 | pub struct OriginMessageV2<T> {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 41 |     session: Option<String>,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 42 |     span: Option<DebuggableSpan>,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 43 |     context: T,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OriginMessageV2` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: trait `XProcessor` is never used
[INFO] [stderr]   --> src/graph/processors/mod.rs:10:18
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub(crate) trait XProcessor: Send + Sync + Debug {
[INFO] [stderr]    |                  ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: enum `ProcessorType` is never used
[INFO] [stderr]   --> src/graph/processors/mod.rs:16:10
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub enum ProcessorType {
[INFO] [stderr]    |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new_basic` and `req_reply` are never used
[INFO] [stderr]   --> src/graph/processors/mod.rs:20:12
[INFO] [stderr]    |
[INFO] [stderr] 19 | impl ProcessorType {
[INFO] [stderr]    | ------------------ associated items in this implementation
[INFO] [stderr] 20 |     pub fn new_basic(graph: &mut Graph) -> Self {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `end` is never read
[INFO] [stderr]   --> src/graph/processors/port.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 10 | pub struct Port {
[INFO] [stderr]    |            ---- field in this struct
[INFO] [stderr] 11 |     end: Receiver<Message>,
[INFO] [stderr]    |     ^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `Port` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `req_reply`, and `wait` are never used
[INFO] [stderr]   --> src/graph/processors/port.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 14 | impl Port {
[INFO] [stderr]    | --------- associated items in this implementation
[INFO] [stderr] 15 |     pub fn new(graph: &mut Graph, id: String) -> Self {
[INFO] [stderr]    |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 31 |     pub async fn req_reply(&mut self) -> Message {
[INFO] [stderr]    |                  ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 46 |     pub async fn wait(&mut self) -> Option<Message> {
[INFO] [stderr]    |                  ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawGraph` is never constructed
[INFO] [stderr]   --> src/graph/serde.rs:11:19
[INFO] [stderr]    |
[INFO] [stderr] 11 | pub(super) struct RawGraph {
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `RawNode` is never constructed
[INFO] [stderr]   --> src/graph/serde.rs:22:12
[INFO] [stderr]    |
[INFO] [stderr] 22 | pub struct RawNode {
[INFO] [stderr]    |            ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Edge` is never constructed
[INFO] [stderr]   --> src/graph/serde.rs:33:8
[INFO] [stderr]    |
[INFO] [stderr] 33 | struct Edge {
[INFO] [stderr]    |        ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated functions `load_yaml` and `load_yaml_from_value` are never used
[INFO] [stderr]   --> src/graph/serde.rs:51:12
[INFO] [stderr]    |
[INFO] [stderr] 42 | impl RawGraph {
[INFO] [stderr]    | ------------- associated functions in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 51 |     pub fn load_yaml(file_path: &str) -> Result<RawGraph, Box<dyn std::error::Error>> {
[INFO] [stderr]    |            ^^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 67 |     pub fn load_yaml_from_value(
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `name` is never read
[INFO] [stderr]  --> src/operators/canodamo_sample.rs:8:5
[INFO] [stderr]   |
[INFO] [stderr] 7 | struct ThisModel {
[INFO] [stderr]   |        --------- field in this struct
[INFO] [stderr] 8 |     name: String,
[INFO] [stderr]   |     ^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `ThisModel` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_empty` is never used
[INFO] [stderr]   --> src/operators/ai_agent/mod.rs:22:4
[INFO] [stderr]    |
[INFO] [stderr] 22 | fn default_empty() -> String {
[INFO] [stderr]    |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ThisModel` is never constructed
[INFO] [stderr]   --> src/operators/ai_agent/mod.rs:28:8
[INFO] [stderr]    |
[INFO] [stderr] 28 | struct ThisModel {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `default_empty` is never used
[INFO] [stderr]  --> src/operators/ai_tool/mod.rs:9:4
[INFO] [stderr]   |
[INFO] [stderr] 9 | fn default_empty() -> String {
[INFO] [stderr]   |    ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `ThisModel` is never constructed
[INFO] [stderr]   --> src/operators/ai_tool/mod.rs:15:8
[INFO] [stderr]    |
[INFO] [stderr] 15 | struct ThisModel {
[INFO] [stderr]    |        ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `setup_routes` is never used
[INFO] [stderr]    --> src/operators/fan_out/fan_out.rs:456:8
[INFO] [stderr]     |
[INFO] [stderr]  91 | impl FanOut {
[INFO] [stderr]     | ----------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 456 |     fn setup_routes(&self, _start: OperatorRef) {}
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: associated function `drop_instance` is never used
[INFO] [stderr]   --> src/operators/global_space/resource.rs:41:19
[INFO] [stderr]    |
[INFO] [stderr] 15 | impl WidgetsSharedService {
[INFO] [stderr]    | ------------------------- associated function in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 41 |     pub(crate) fn drop_instance() {
[INFO] [stderr]    |                   ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `graph_name` and `id` are never read
[INFO] [stderr]   --> src/operators/op_actor_handle.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 32 | pub(crate) struct OperatorActorHandle {
[INFO] [stderr]    |                   ------------------- fields in this struct
[INFO] [stderr] 33 |     //sender: mpsc::Sender<Message>,
[INFO] [stderr] 34 |     graph_name: String,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 35 |     id: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OperatorActorHandle` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `id` is never read
[INFO] [stderr]   --> src/operators/op_wrapper.rs:22:5
[INFO] [stderr]    |
[INFO] [stderr] 21 | pub struct OperatorWrapper {
[INFO] [stderr]    |            --------------- field in this struct
[INFO] [stderr] 22 |     id: String,
[INFO] [stderr]    |     ^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `OperatorWrapper` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: field `child` is never read
[INFO] [stderr]   --> src/operators/shell/process.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 23 | pub struct ShellProcess {
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] 24 |     child: Option<tokio::process::Child>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ShellProcess` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: function `batching` is never used
[INFO] [stderr]    --> src/operators/shell/process.rs:301:10
[INFO] [stderr]     |
[INFO] [stderr] 301 | async fn batching(
[INFO] [stderr]     |          ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `process_batch` is never used
[INFO] [stderr]    --> src/operators/shell/process.rs:380:10
[INFO] [stderr]     |
[INFO] [stderr] 380 | async fn process_batch(buffer: &mut Vec<String>, forward_to: &mut FuturesMPSC::Sender<Message>) {
[INFO] [stderr]     |          ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `Template` is never constructed
[INFO] [stderr]   --> src/operators/template.rs:17:19
[INFO] [stderr]    |
[INFO] [stderr] 17 | pub(crate) struct Template;
[INFO] [stderr]    |                   ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr]    = note: `#[warn(async_fn_in_trait)]` on by default
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 13 -     async fn end_to_end(&self, message: Vec<u8>) -> Message;
[INFO] [stderr] 13 +     fn end_to_end(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 14 -     async fn end_to_end_json(&self, message: Value) -> Message;
[INFO] [stderr] 14 +     fn end_to_end_json(&self, message: Value) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 15 -     async fn end_to_end_standard(&self, message: Vec<u8>) -> Message;
[INFO] [stderr] 15 +     fn end_to_end_standard(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: use of `async fn` in public traits is discouraged as auto trait bounds cannot be specified
[INFO] [stderr]   --> src/graph/graph_run.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: you can suppress this lint if you plan to use the trait only in your own code, or do not care about auto traits like `Send` on the `Future`
[INFO] [stderr] help: you can alternatively desugar to a normal `fn` that returns `impl Future` and add any desired bounds such as `Send`, but these cannot be relaxed without a breaking API change
[INFO] [stderr]    |
[INFO] [stderr] 17 -     async fn end_to_end_2(&self, message: Vec<u8>) -> Message;
[INFO] [stderr] 17 +     fn end_to_end_2(&self, message: Vec<u8>) -> impl std::future::Future<Output = Message> + Send;
[INFO] [stderr]    |
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stderr]    --> src/operators/shell/process.rs:155:29
[INFO] [stderr]     |
[INFO] [stderr] 155 |                 for line in err_reader.next_line().await {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(for_loops_over_fallibles)]` on by default
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]     |
[INFO] [stderr] 155 -                 for line in err_reader.next_line().await {
[INFO] [stderr] 155 +                 while let Ok(line) = err_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]     |
[INFO] [stderr] 155 -                 for line in err_reader.next_line().await {
[INFO] [stderr] 155 +                 if let Ok(line) = err_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: for loop over a `Result`. This is more readably written as an `if let` statement
[INFO] [stderr]    --> src/operators/shell/process.rs:193:29
[INFO] [stderr]     |
[INFO] [stderr] 193 |                 for line in out_reader.next_line().await {
[INFO] [stderr]     |                             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr] help: to check pattern in a loop use `while let`
[INFO] [stderr]     |
[INFO] [stderr] 193 -                 for line in out_reader.next_line().await {
[INFO] [stderr] 193 +                 while let Ok(line) = out_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] help: consider using `if let` to clear intent
[INFO] [stderr]     |
[INFO] [stderr] 193 -                 for line in out_reader.next_line().await {
[INFO] [stderr] 193 +                 if let Ok(line) = out_reader.next_line().await {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `Receiver` and `Sender`
[INFO] [stderr]   --> src/lib.rs:11:17
[INFO] [stderr]    |
[INFO] [stderr] 11 |     broadcast::{Receiver, Sender},
[INFO] [stderr]    |                 ^^^^^^^^  ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::thread::sleep`
[INFO] [stderr]    --> src/lib.rs:173:9
[INFO] [stderr]     |
[INFO] [stderr] 173 |     use std::thread::sleep;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Level`
[INFO] [stderr]    --> src/lib.rs:176:19
[INFO] [stderr]     |
[INFO] [stderr] 176 |     use tracing::{Level, debug, info, instrument};
[INFO] [stderr]     |                   ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `setup` is never used
[INFO] [stderr]    --> src/lib.rs:214:8
[INFO] [stderr]     |
[INFO] [stderr] 214 |     fn setup() {
[INFO] [stderr]     |        ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `run_test` is never used
[INFO] [stderr]    --> src/lib.rs:223:8
[INFO] [stderr]     |
[INFO] [stderr] 223 |     fn run_test<T>(test: T) -> ()
[INFO] [stderr]     |        ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `saasexpress-core` (lib) generated 206 warnings (run `cargo fix --lib -p saasexpress-core` to apply 166 suggestions)
[INFO] [stderr] warning: `saasexpress-core` (lib test) generated 208 warnings (203 duplicates) (run `cargo fix --lib -p saasexpress-core --tests` to apply 3 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.32s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/saasexpress_core-3535d1d3d92f6ea5)
[INFO] [stdout] 
[INFO] [stdout] running 15 tests
[INFO] [stdout] test saasexpress_core_tests::env_settings_works ... ok
[INFO] [stdout] test saasexpress_core_tests::it_works ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.426343Z[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-01-17T11:18:07.426582Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::buffer_to_json[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.426618Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: BufferToJSON(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.426637Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.426688Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.426719Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [buffer_to_json] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.426739Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph buffer_to_json is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.426749Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph buffer_to_json TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.426758Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: buffer_to_json
[INFO] [stdout] [2m2026-01-17T11:18:07.426814Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.426846Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.426862Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["buffer_to_json"]
[INFO] [stdout] [2m2026-01-17T11:18:07.426879Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["buffer_to_json"]
[INFO] [stdout] [2m2026-01-17T11:18:07.426957Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: buffer_to_json (rev.1)
[INFO] [stdout] [2m2026-01-17T11:18:07.426985Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for buffer_to_json.start(BufferToJSON)
[INFO] [stdout] [2m2026-01-17T11:18:07.427053Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-01-17T11:18:07.427072Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=buffer_to_json] Pending count: 0
[INFO] [stdout] [2m2026-01-17T11:18:07.427084Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph buffer_to_json
[INFO] [stdout] [2m2026-01-17T11:18:07.427095Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: buffer_to_json : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-01-17T11:18:07.427149Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::my_reg[0m[2m:[0m [buffer_to_json] Broadcasting to 1 (["startup"])
[INFO] [stdout] [2m2026-01-17T11:18:07.427336Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"GQATD\",\"graph_name\":\"buffer_to_json\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-01-17T11:18:07.427367Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.427380Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: buffer_to_json
[INFO] [stdout] [2m2026-01-17T11:18:07.427394Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Control message received - sending to operator: Control { command: Start { runtime: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(BufferToJSON))", upstream_runtime: OperatorActorHandleRuntime { sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x78e5bc00b370, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 8 }, bound: 8 }, rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..." } } }, name: "BufferToJSON" } } }, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.427419Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::buffer_to_json[0m[2m:[0m Control Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.427431Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.427475Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Message sent to BufferToJSON
[INFO] [stdout] [2m2026-01-17T11:18:07.427495Z[0m [32m INFO[0m ThreadId(02) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-01-17T11:18:07.427508Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Handle "BufferToJSON" Filter2 { operator: BufferToJSON }
[INFO] [stdout] [2m2026-01-17T11:18:07.427519Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Filter2 operator
[INFO] [stdout] [2m2026-01-17T11:18:07.427529Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::buffer_to_json[0m[2m:[0m [Filter2] ReqReply to JSON message
[INFO] [stdout] [2m2026-01-17T11:18:07.427569Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::noop[0m[2m:[0m Finished.. sending to respond_to..
[INFO] [stdout] [2m2026-01-17T11:18:07.427612Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Message: JSON { message: Object {"_ts": String("2026-01-17T11:18:07.427553290+00:00")}, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.427644Z[0m [34mDEBUG[0m ThreadId(02) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: BufferToJSON
[INFO] [stdout] [2m2026-01-17T11:18:07.427702Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph buffer_to_json
[INFO] [stdout] [2m2026-01-17T11:18:07.427726Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(BufferToJSON)
[INFO] [stdout] [2m2026-01-17T11:18:07.427737Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] [2m2026-01-17T11:18:07.427746Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph buffer_to_json
[INFO] [stdout] [2m2026-01-17T11:18:07.427763Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m DROP OperatorActorHandleRuntime: BufferToJSON
[INFO] [stdout] test saasexpress_core_tests::buffertojson_works ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.427830Z[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-01-17T11:18:07.428824Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::operators::buffer_to_json[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.428835Z[0m [32m INFO[0m ThreadId(07) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: AIAgent(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.428854Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: BufferToJSON(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.428867Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.428871Z[0m [32m INFO[0m ThreadId(07) [2msaasexpress_core::my_reg[0m[2m:[0m [ai_agent.tool_a(Callout)] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.428892Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::operators::shell::shell[0m[2m:[0m Initializing shell operator with command: bash 
[INFO] [stdout] [2m2026-01-17T11:18:07.428904Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Shell(shell)
[INFO] [stdout] [2m2026-01-17T11:18:07.428914Z[0m [32m INFO[0m ThreadId(07) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Callout(tool_a)
[INFO] [stdout] [2m2026-01-17T11:18:07.428930Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.428932Z[0m [33m WARN[0m ThreadId(07) [2msaasexpress_core::operators::callout[0m[2m:[0m Callout operator has no graph assigned yet
[INFO] [stdout] [2m2026-01-17T11:18:07.428946Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m [shell] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.428959Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.431701Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.431870Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: shell
[INFO] [stdout] [2m2026-01-17T11:18:07.428974Z[0m [32m INFO[0m ThreadId(14) [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-01-17T11:18:07.433606Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: CanonicalModelSample(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.433633Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.433655Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.433774Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m [canonical_model] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.434141Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.434158Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.434168Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: canonical_model
[INFO] [stdout] [2m2026-01-17T11:18:07.434347Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.434378Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.434395Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["canonical_model"]
[INFO] [stdout] [2m2026-01-17T11:18:07.434412Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["canonical_model"]
[INFO] [stdout] [2m2026-01-17T11:18:07.436802Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: canonical_model (rev.1)
[INFO] [stdout] [2m2026-01-17T11:18:07.437274Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for canonical_model.start(CanonicalModelSample)
[INFO] [stdout] [2m2026-01-17T11:18:07.437613Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-01-17T11:18:07.437639Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=canonical_model] Pending count: 0
[INFO] [stdout] [2m2026-01-17T11:18:07.437650Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph canonical_model
[INFO] [stdout] [2m2026-01-17T11:18:07.437660Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: canonical_model : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-01-17T11:18:07.437729Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::my_reg[0m[2m:[0m [canonical_model] Broadcasting to 2 (["startup", "ai_agent.tool_a(Callout)"])
[INFO] [stdout] [2m2026-01-17T11:18:07.437847Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"A3Q5T\",\"graph_name\":\"canonical_model\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-01-17T11:18:07.437855Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::operators::callout[0m[2m:[0m Received control event: ControlEvent { graph_id: "A3Q5T", graph_name: "canonical_model", graph_status: Active, operator_names: [], event_type: GraphReplaced, reason: "Graph runner updated (rev.1)" }
[INFO] [stdout] [2m2026-01-17T11:18:07.437875Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.437885Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: canonical_model
[INFO] [stdout] [2m2026-01-17T11:18:07.437888Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: canonical_model
[INFO] [stdout] [2m2026-01-17T11:18:07.437902Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Control message received - sending to operator: Control { command: Start { runtime: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(CanonicalModelSample))", upstream_runtime: OperatorActorHandleRuntime { sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x78e59000ace0, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 8 }, bound: 8 }, rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..." } } }, name: "CanonicalModelSample" } } }, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.437927Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.437962Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Message sent to CanonicalModelSample
[INFO] [stdout] [2m2026-01-17T11:18:07.437983Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-01-17T11:18:07.437997Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Handle "CanonicalModelSample" CanonicalModel
[INFO] [stdout] [2m2026-01-17T11:18:07.438020Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::operators::noop[0m[2m:[0m Finished.. sending to respond_to..
[INFO] [stdout] [2m2026-01-17T11:18:07.438061Z[0m [32m INFO[0m ThreadId(14) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Response : JSON { message: Object {"name": String("Joe")}, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.438109Z[0m [34mDEBUG[0m ThreadId(14) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: CanonicalModelSample
[INFO] [stdout] test saasexpress_core_tests::test_canodamo_sample_ok ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.429142Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: ClaimCheck(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.439597Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.429833Z[0m [32m INFO[0m ThreadId(13) [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-01-17T11:18:07.440368Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: CanonicalModelSample(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.441000Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.441449Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.441618Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.432381Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph shell
[INFO] [stdout] [2m2026-01-17T11:18:07.439613Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph canonical_model
[INFO] [stdout] [2m2026-01-17T11:18:07.441930Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(CanonicalModelSample)
[INFO] [stdout] [2m2026-01-17T11:18:07.441949Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] [2m2026-01-17T11:18:07.441961Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph canonical_model
[INFO] [stdout] [2m2026-01-17T11:18:07.441973Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m DROP OperatorActorHandleRuntime: CanonicalModelSample
[INFO] [stdout] [2m2026-01-17T11:18:07.442026Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m [canonical_model_err] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.442054Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model_err is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.442081Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph canonical_model_err TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.442091Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: canonical_model_err
[INFO] [stdout] [2m2026-01-17T11:18:07.442128Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.442151Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.442167Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["canonical_model_err"]
[INFO] [stdout] [2m2026-01-17T11:18:07.442182Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["canonical_model_err"]
[INFO] [stdout] [2m2026-01-17T11:18:07.442212Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: canonical_model_err (rev.1)
[INFO] [stdout] [2m2026-01-17T11:18:07.442238Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m [start] Getting next nodes for canonical_model_err.start(CanonicalModelSample)
[INFO] [stdout] [2m2026-01-17T11:18:07.442292Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-01-17T11:18:07.442310Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=canonical_model_err] Pending count: 0
[INFO] [stdout] [2m2026-01-17T11:18:07.442325Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph canonical_model_err
[INFO] [stdout] [2m2026-01-17T11:18:07.442336Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: canonical_model_err : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-01-17T11:18:07.442374Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::my_reg[0m[2m:[0m [canonical_model_err] Broadcasting to 2 (["startup", "ai_agent.tool_a(Callout)"])
[INFO] [stdout] [2m2026-01-17T11:18:07.442461Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"BGYPG\",\"graph_name\":\"canonical_model_err\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-01-17T11:18:07.442488Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.442501Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: canonical_model_err
[INFO] [stdout] [2m2026-01-17T11:18:07.442514Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Control message received - sending to operator: Control { command: Start { runtime: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(CanonicalModelSample))", upstream_runtime: OperatorActorHandleRuntime { sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x78e59400af50, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 8 }, bound: 8 }, rx_waker: AtomicWaker, tx_count: 1, rx_fields: "..." } } }, name: "CanonicalModelSample" } } }, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.442538Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.442566Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Message sent to CanonicalModelSample
[INFO] [stdout] [2m2026-01-17T11:18:07.442587Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-01-17T11:18:07.442599Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Handle "CanonicalModelSample" CanonicalModel
[INFO] [stdout] [2m2026-01-17T11:18:07.442631Z[0m [31mERROR[0m ThreadId(13) [2msaasexpress_core::graph::operator_types::canonical_model[0m[2m:[0m Error deserializing JSON to CanonicalModel: missing field `name`
[INFO] [stdout] [2m2026-01-17T11:18:07.442654Z[0m [31mERROR[0m ThreadId(13) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m Error in operator RuntimeWrapper(Wrapper(NOOP)): Canonical Model Validation Error - missing field `name`
[INFO] [stdout] [2m2026-01-17T11:18:07.442683Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::operators::noop[0m[2m:[0m Finished.. sending to respond_to..
[INFO] [stdout] [2m2026-01-17T11:18:07.442722Z[0m [32m INFO[0m ThreadId(13) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Response : Error { error: "Canonical Model Validation Error - missing field `name`", origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.442743Z[0m [34mDEBUG[0m ThreadId(13) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: CanonicalModelSample
[INFO] [stdout] [2m2026-01-17T11:18:07.442828Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::callout[0m[2m:[0m Received control event: ControlEvent { graph_id: "BGYPG", graph_name: "canonical_model_err", graph_status: Active, operator_names: [], event_type: GraphReplaced, reason: "Graph runner updated (rev.1)" }
[INFO] [stdout] [2m2026-01-17T11:18:07.442849Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: canonical_model_err
[INFO] [stdout] [2m2026-01-17T11:18:07.442880Z[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-01-17T11:18:07.443167Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m [claim_check] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.443581Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.443808Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.443853Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: claim_check
[INFO] [stdout] test saasexpress_core_tests::test_canodamo_sample_error ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.444810Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph canonical_model_err
[INFO] [stdout] [2m2026-01-17T11:18:07.445084Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(CanonicalModelSample)
[INFO] [stdout] [2m2026-01-17T11:18:07.445099Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] [2m2026-01-17T11:18:07.445110Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph canonical_model_err
[INFO] [stdout] [2m2026-01-17T11:18:07.445119Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m DROP OperatorActorHandleRuntime: CanonicalModelSample
[INFO] [stdout] [2m2026-01-17T11:18:07.430411Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: AITool(start)
[INFO] [stdout] [2m2026-01-17T11:18:07.445712Z[0m [34mDEBUG[0m ThreadId(08) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.446193Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph claim_check
[INFO] [stdout] [2m2026-01-17T11:18:07.446214Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph claim_check
[INFO] [stdout] [2m2026-01-17T11:18:07.446401Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [ai_tool] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.446646Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.446658Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.446831Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.447341Z[0m [34mDEBUG[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.448175Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.448196Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["ai_tool"]
[INFO] [stdout] [2m2026-01-17T11:18:07.448826Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["ai_tool"]
[INFO] [stdout] [2m2026-01-17T11:18:07.449214Z[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-01-17T11:18:07.449255Z[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-01-17T11:18:07.449299Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-01-17T11:18:07.449316Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=ai_tool] Pending count: 0
[INFO] [stdout] [2m2026-01-17T11:18:07.449324Z[0m [34mDEBUG[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.449333Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: ai_tool : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-01-17T11:18:07.449365Z[0m [34mDEBUG[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m [ai_tool] Broadcasting to 2 (["startup", "ai_agent.tool_a(Callout)"])
[INFO] [stdout] [2m2026-01-17T11:18:07.444983Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.449769Z[0m [31mERROR[0m ThreadId(03) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup already exists - removing
[INFO] [stdout] [2m2026-01-17T11:18:07.449953Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.450106Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["ai_tool"]
[INFO] [stdout] [2m2026-01-17T11:18:07.450343Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Pending graphs: []
[INFO] [stdout] [2m2026-01-17T11:18:07.450523Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m No pending graphs to start.
[INFO] [stdout] [2m2026-01-17T11:18:07.450548Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.450562Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.451013Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::operator_types::ai_tool[0m[2m:[0m Starting AITool with runtime: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(AITool))", upstream_runtime: AITool { id: "", node_fqn: Some("ai_tool.start(AITool)"), name: "AITool", operator: AITool { tool: AIToolV1 { schema: None } }, next_nodes: [OperatorRole { role: "default", operator: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(NOOP))", upstream_runtime: NOOP { sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x78e5a8006060, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 8 }, bound: 8 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } } } }] } }
[INFO] [stdout] [2m2026-01-17T11:18:07.451125Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.450317Z[0m [32m INFO[0m ThreadId(19) [2msaasexpress_core::my_reg[0m[2m:[0m [my_channel] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.451256Z[0m [32m INFO[0m ThreadId(03) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found claim_check - might be fine
[INFO] [stdout] [2m2026-01-17T11:18:07.441906Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph shell
[INFO] [stdout] [2m2026-01-17T11:18:07.451274Z[0m [31mERROR[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph claim_check not found in registry
[INFO] [stdout] [2m2026-01-17T11:18:07.451500Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.451759Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.451821Z[0m [34mDEBUG[0m ThreadId(19) [2msaasexpress_core::my_reg[0m[2m:[0m [ai_agent] Broadcasting to 2 (["my_channel", "ai_agent.tool_a(Callout)"])
[INFO] [stdout] [2m2026-01-17T11:18:07.451776Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["ai_tool"]
[INFO] [stdout] [2m2026-01-17T11:18:07.451964Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Pending graphs: []
[INFO] [stdout] [2m2026-01-17T11:18:07.451978Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m No pending graphs to start.
[INFO] [stdout] [2m2026-01-17T11:18:07.452116Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.452136Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.452150Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::operator_types::ai_tool[0m[2m:[0m Starting AITool with runtime: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(AITool))", upstream_runtime: AITool { id: "", node_fqn: Some("ai_tool.start(AITool)"), name: "AITool", operator: AITool { tool: AIToolV1 { schema: None } }, next_nodes: [OperatorRole { role: "default", operator: OperatorWrapperRuntime { name: "RuntimeWrapper(Wrapper(NOOP))", upstream_runtime: NOOP { sender: Sender { chan: Tx { inner: Chan { tx: Tx { block_tail: 0x78e5a8006060, tail_position: 0 }, semaphore: Semaphore { semaphore: Semaphore { permits: 8 }, bound: 8 }, rx_waker: AtomicWaker, tx_count: 3, rx_fields: "..." } } } } } }] } }
[INFO] [stdout] [2m2026-01-17T11:18:07.452228Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.452278Z[0m [32m INFO[0m ThreadId(06) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found shell - might be fine
[INFO] [stdout] [2m2026-01-17T11:18:07.452292Z[0m [31mERROR[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph shell not found in registry
[INFO] [stdout] [2m2026-01-17T11:18:07.452449Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::operators::callout[0m[2m:[0m Received control event: ControlEvent { graph_id: "CNDMV", graph_name: "ai_tool", graph_status: Active, operator_names: [], event_type: GraphReplaced, reason: "Graph runner updated (rev.1)" }
[INFO] [stdout] [2m2026-01-17T11:18:07.452469Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.452480Z[0m [32m INFO[0m ThreadId(15) [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-01-17T11:18:07.452490Z[0m [32m INFO[0m ThreadId(15) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: ai_agent
[INFO] [stdout] test saasexpress_core_tests::test_reg_example ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.452835Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"CNDMV\",\"graph_name\":\"ai_tool\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-01-17T11:18:07.452845Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.452962Z[0m [31mERROR[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m Channel with name startup does not exist
[INFO] [stdout] [2m2026-01-17T11:18:07.453027Z[0m [31mERROR[0m ThreadId(08) [2msaasexpress_core::my_reg[0m[2m:[0m Names my_channel, ai_agent.tool_a(Callout)
[INFO] [stdout] [2m2026-01-17T11:18:07.453063Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.453094Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(AITool)
[INFO] [stdout] [2m2026-01-17T11:18:07.453128Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] [2m2026-01-17T11:18:07.453152Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph ai_tool
[INFO] [stdout] [2m2026-01-17T11:18:07.453192Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.453280Z[0m [32m INFO[0m ThreadId(08) [2msaasexpress_core::graph::registry[0m[2m:[0m Graph not found ai_tool - might be fine
[INFO] [stdout] [2m2026-01-17T11:18:07.453316Z[0m [31mERROR[0m ThreadId(08) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph ai_tool not found in registry
[INFO] [stdout] [2m2026-01-17T11:18:07.453342Z[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-01-17T11:18:07.453572Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Settings(settings)
[INFO] [stdout] [2m2026-01-17T11:18:07.453636Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.453688Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m [settings] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.453722Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.453745Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.453768Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: settings
[INFO] [stdout] [2m2026-01-17T11:18:07.453840Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.453872Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.453899Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["settings"]
[INFO] [stdout] [2m2026-01-17T11:18:07.453938Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["settings"]
[INFO] [stdout] [2m2026-01-17T11:18:07.453979Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Generating new runtimes for graph: settings (rev.1)
[INFO] [stdout] [2m2026-01-17T11:18:07.454021Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m [settings] Getting next nodes for settings.settings(Settings)
[INFO] [stdout] [2m2026-01-17T11:18:07.454076Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-01-17T11:18:07.454108Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=settings] Pending count: 0
[INFO] [stdout] [2m2026-01-17T11:18:07.454131Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph settings
[INFO] [stdout] [2m2026-01-17T11:18:07.454159Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: settings : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-01-17T11:18:07.454200Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::my_reg[0m[2m:[0m [settings] Broadcasting to 3 (["startup", "my_channel", "ai_agent.tool_a(Callout)"])
[INFO] [stdout] [2m2026-01-17T11:18:07.454251Z[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-01-17T11:18:07.454336Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"CPA6L\",\"graph_name\":\"settings\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-01-17T11:18:07.454378Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.454368Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::callout[0m[2m:[0m Received control event: ControlEvent { graph_id: "CPA6L", graph_name: "settings", graph_status: Active, operator_names: [], event_type: GraphReplaced, reason: "Graph runner updated (rev.1)" }
[INFO] [stdout] [2m2026-01-17T11:18:07.454463Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: settings
[INFO] [stdout] [2m2026-01-17T11:18:07.454409Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: settings
[INFO] [stdout] [2m2026-01-17T11:18:07.454555Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::operators::settings[0m[2m:[0m Control
[INFO] [stdout] [2m2026-01-17T11:18:07.454569Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.454651Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::operators::settings[0m[2m:[0m Handling! 1
[INFO] [stdout] [2m2026-01-17T11:18:07.454712Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph settings is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.454726Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: settings
[INFO] [stdout] [2m2026-01-17T11:18:07.454752Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::operators::noop[0m[2m:[0m Finished.. sending to respond_to..
[INFO] [stdout] [2m2026-01-17T11:18:07.454778Z[0m [32m INFO[0m ThreadId(20) [2msaasexpress_core::saasexpress_core_tests[0m[2m:[0m Response : JSON { message: Object {"name": String("Joe")}, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.454807Z[0m [34mDEBUG[0m ThreadId(20) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph settings
[INFO] [stdout] test saasexpress_core_tests::test_settings ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.455540Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph settings
[INFO] [stdout] [2m2026-01-17T11:18:07.455563Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(Settings)
[INFO] [stdout] [2m2026-01-17T11:18:07.455572Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] [2m2026-01-17T11:18:07.455580Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph settings
[INFO] [stdout] [2m2026-01-17T11:18:07.455755Z[0m [33m WARN[0m ThreadId(21) [2msaasexpress_core::operators::global_space::global_space[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.455777Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: GlobalSpace(global)
[INFO] [stdout] [2m2026-01-17T11:18:07.455789Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.455804Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.455828Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m [graph_1] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.455840Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph graph_1 is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.455853Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph graph_1 TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.455861Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: graph_1
[INFO] [stdout] [2m2026-01-17T11:18:07.456067Z[0m [33m WARN[0m ThreadId(21) [2msaasexpress_core::operators::global_space::global_space[0m[2m:[0m Init Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.456090Z[0m [32m INFO[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: GlobalSpace(global)
[INFO] [stdout] [2m2026-01-17T11:18:07.456100Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.456830Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph graph_1
[INFO] [stdout] [2m2026-01-17T11:18:07.456859Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph graph_1
[INFO] [stdout] [2m2026-01-17T11:18:07.456880Z[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-01-17T11:18:07.457221Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: FanOut(fanout)
[INFO] [stdout] [2m2026-01-17T11:18:07.457254Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::passthrough[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.457268Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Passthrough(fanout_1)
[INFO] [stdout] [2m2026-01-17T11:18:07.457279Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.457297Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::passthrough[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.457308Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Node: Passthrough(fanout_2)
[INFO] [stdout] [2m2026-01-17T11:18:07.457319Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Not implemented
[INFO] [stdout] [2m2026-01-17T11:18:07.457351Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::graph::processors::basic[0m[2m:[0m Creating Basic Processor - and adding _end node
[INFO] [stdout] [2m2026-01-17T11:18:07.457373Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fan_out] REGISTER GRAPH
[INFO] [stdout] [2m2026-01-17T11:18:07.457388Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph fan_out is now active
[INFO] [stdout] [2m2026-01-17T11:18:07.457398Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph fan_out TRANSITIONED TO Active
[INFO] [stdout] [2m2026-01-17T11:18:07.457407Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Replacing runner for graph: fan_out
[INFO] [stdout] [2m2026-01-17T11:18:07.457439Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Starting graphs...
[INFO] [stdout] [2m2026-01-17T11:18:07.457456Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::my_reg[0m[2m:[0m [startup] REGISTERED
[INFO] [stdout] [2m2026-01-17T11:18:07.457470Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m GetPending graph_list=["fan_out"]
[INFO] [stdout] [2m2026-01-17T11:18:07.457485Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Pending graphs: ["fan_out"]
[INFO] [stdout] [2m2026-01-17T11:18:07.457513Z[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-01-17T11:18:07.457549Z[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-01-17T11:18:07.457567Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout] Adding child fanout_1 (role default)
[INFO] [stdout] [2m2026-01-17T11:18:07.457599Z[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-01-17T11:18:07.457662Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [fanout] Adding child fanout_2 (role default)
[INFO] [stdout] [2m2026-01-17T11:18:07.457725Z[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-01-17T11:18:07.457817Z[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-01-17T11:18:07.457895Z[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-01-17T11:18:07.457945Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Done new runtimes
[INFO] [stdout] [2m2026-01-17T11:18:07.457960Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m [Graph=fan_out] Pending count: 0
[INFO] [stdout] [2m2026-01-17T11:18:07.457968Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph fan_out
[INFO] [stdout] [2m2026-01-17T11:18:07.457977Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::graph::graph[0m[2m:[0m Graph BUILT: fan_out : Manager:Active, Runner:Active
[INFO] [stdout] [2m2026-01-17T11:18:07.458026Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::my_reg[0m[2m:[0m [fan_out] Broadcasting to 3 (["startup", "my_channel", "ai_agent.tool_a(Callout)"])
[INFO] [stdout] [2m2026-01-17T11:18:07.458066Z[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-01-17T11:18:07.458127Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::callout[0m[2m:[0m Received control event: ControlEvent { graph_id: "N9DH3", graph_name: "fan_out", graph_status: Active, operator_names: [], event_type: GraphReplaced, reason: "Graph runner updated (rev.1)" }
[INFO] [stdout] [2m2026-01-17T11:18:07.458145Z[0m [32m INFO[0m ThreadId(12) [2msaasexpress_core::operators::callout[0m[2m:[0m Ignoring control event for different graph: fan_out
[INFO] [stdout] [2m2026-01-17T11:18:07.458218Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Received Event: Ok("{\"graph_id\":\"N9DH3\",\"graph_name\":\"fan_out\",\"graph_status\":\"Active\",\"operator_names\":[],\"event_type\":\"GraphReplaced\",\"reason\":\"Graph runner updated (rev.1)\"}") (Remaining=0)
[INFO] [stdout] [2m2026-01-17T11:18:07.458246Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m All systems a go!
[INFO] [stdout] [2m2026-01-17T11:18:07.458260Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Post start hook for graph: fan_out
[INFO] [stdout] [2m2026-01-17T11:18:07.458277Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Control
[INFO] [stdout] [2m2026-01-17T11:18:07.458288Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core[0m[2m:[0m Post graph hook executed.
[INFO] [stdout] [2m2026-01-17T11:18:07.458313Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m FanOut::next JSON { message: Object {"name": String("joe")}, origin: Some(OriginMessage { respond_to: Some(Sender { complete: false }), session: Some("0"), mpsc_respond_to: None, span: Some(Span(Debug not implemented)), temp: Mutex { data: Null, poisoned: false, .. } }) }
[INFO] [stdout] [2m2026-01-17T11:18:07.458340Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m FanOut::next - data: Mutex { data: Null, poisoned: false, .. }
[INFO] [stdout] [2m2026-01-17T11:18:07.458380Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Sending message to sender 1
[INFO] [stdout] [2m2026-01-17T11:18:07.458407Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Message sent to sender 1
[INFO] [stdout] [2m2026-01-17T11:18:07.458419Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Sending message to sender 2
[INFO] [stdout] [2m2026-01-17T11:18:07.458434Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Message sent to sender 2
[INFO] [stdout] [2m2026-01-17T11:18:07.458461Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Message sent to Passthrough
[INFO] [stdout] [2m2026-01-17T11:18:07.458479Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor_handle[0m[2m:[0m Message sent to Passthrough
[INFO] [stdout] [2m2026-01-17T11:18:07.458496Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-01-17T11:18:07.458509Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Handle "Passthrough" Filter
[INFO] [stdout] [2m2026-01-17T11:18:07.458520Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::noop[0m[2m:[0m Finished.. sending to respond_to..
[INFO] [stdout] [2m2026-01-17T11:18:07.458542Z[0m [32m INFO[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Received!
[INFO] [stdout] [2m2026-01-17T11:18:07.458553Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m Handle "Passthrough" Filter
[INFO] [stdout] [2m2026-01-17T11:18:07.458563Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::noop[0m[2m:[0m Finished.. sending to respond_to..
[INFO] [stdout] [2m2026-01-17T11:18:07.458592Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Received response JSON { message: Object {"name": String("joe")}, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.458606Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Received response JSON { message: Object {"name": String("joe")}, origin: None }
[INFO] [stdout] [2m2026-01-17T11:18:07.458621Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::fan_out::fan_out[0m[2m:[0m Merged results: [Object {"name": String("joe")}, Object {"name": String("joe")}]
[INFO] [stdout] [2m2026-01-17T11:18:07.458702Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: Passthrough
[INFO] [stdout] [2m2026-01-17T11:18:07.458725Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: Passthrough
[INFO] [stdout] [2m2026-01-17T11:18:07.458739Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: Passthrough
[INFO] [stdout] [2m2026-01-17T11:18:07.458751Z[0m [34mDEBUG[0m ThreadId(17) [2msaasexpress_core::operators::op_actor[0m[2m:[0m DROP OpActor: Passthrough
[INFO] [stdout] test saasexpress_core_tests::test_fan_out ... ok
[INFO] [stdout] [2m2026-01-17T11:18:07.510443Z[0m [34mDEBUG[0m ThreadId(09) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph worker
[INFO] [stdout] [2m2026-01-17T11:18:07.510756Z[0m [34mDEBUG[0m ThreadId(09) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph worker
[INFO] [stdout] test saasexpress_core_tests::test_callout ... FAILED
[INFO] [stdout] [2m2026-01-17T11:18:07.521685Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph worker
[INFO] [stdout] [2m2026-01-17T11:18:07.521716Z[0m [34mDEBUG[0m ThreadId(07) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph ai_agent
[INFO] [stdout] [2m2026-01-17T11:18:07.521764Z[0m [34mDEBUG[0m ThreadId(07) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(Callout)
[INFO] [stdout] [2m2026-01-17T11:18:07.521807Z[0m [34mDEBUG[0m ThreadId(07) [2msaasexpress_core::operators::callout[0m[2m:[0m DROP Callout operator: tool_a
[INFO] [stdout] [2m2026-01-17T11:18:07.521875Z[0m [34mDEBUG[0m ThreadId(07) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(AIAgent)
[INFO] [stdout] [2m2026-01-17T11:18:07.521893Z[0m [34mDEBUG[0m ThreadId(07) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph ai_agent
[INFO] [stdout] [2m2026-01-17T11:18:07.522300Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph claim_check
[INFO] [stdout] [2m2026-01-17T11:18:07.522320Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] [2m2026-01-17T11:18:07.522335Z[0m [34mDEBUG[0m ThreadId(03) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(ClaimCheck)
[INFO] [stdout] test saasexpress_core_tests::claimcheck_works ... FAILED
[INFO] [stdout] [2m2026-01-17T11:18:07.521732Z[0m [34mDEBUG[0m ThreadId(18) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph worker
[INFO] [stdout] [2m2026-01-17T11:18:07.522741Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph shell
[INFO] [stdout] [2m2026-01-17T11:18:07.522760Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(BufferToJSON)
[INFO] [stdout] [2m2026-01-17T11:18:07.522771Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(Shell)
[INFO] [stdout] [2m2026-01-17T11:18:07.522788Z[0m [34mDEBUG[0m ThreadId(06) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] test saasexpress_core_tests::test_graph_upgrade ... FAILED
[INFO] [stdout] test saasexpress_core_tests::shell_works ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_ai_tool ... FAILED
[INFO] [stdout] [2m2026-01-17T11:18:07.524014Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP Graph for graph worker
[INFO] [stdout] [2m2026-01-17T11:18:07.524041Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(GlobalSpace)
[INFO] [stdout] [2m2026-01-17T11:18:07.524052Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph worker
[INFO] [stdout] [2m2026-01-17T11:18:07.524103Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::graph::graph[0m[2m:[0m DROP GraphRunner for graph graph_1
[INFO] [stdout] [2m2026-01-17T11:18:07.524120Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(GlobalSpace)
[INFO] [stdout] [2m2026-01-17T11:18:07.524128Z[0m [34mDEBUG[0m ThreadId(21) [2msaasexpress_core::operators::op_wrapper[0m[2m:[0m DROP OperatorWrapper: Wrapper(NOOP)
[INFO] [stdout] test saasexpress_core_tests::test_shared_resources ... FAILED
[INFO] [stdout] test saasexpress_core_tests::test_ai_agent ... 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' (24) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e1aa - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a96490e2 - core[c5ed12ab89cc536a]::panicking::panic
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5981a9648e39 - core[c5ed12ab89cc536a]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5981a90b0c39 - <core[c5ed12ab89cc536a]::option::Option<&serde_yaml[60542e8a874b0d63]::value::Value>>::unwrap
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5981a90b0c39 - <saasexpress_core[eb62d0db5e629624]::operators::stub::Stub as core[c5ed12ab89cc536a]::convert::From<&serde_yaml[60542e8a874b0d63]::value::Value>>::from
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/stub.rs:24:38
[INFO] [stdout]   23:     0x5981a90987f7 - saasexpress_core[eb62d0db5e629624]::operators::factory::add_node_to_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/factory.rs:86:38
[INFO] [stdout]   24:     0x5981a9059807 - saasexpress_core[eb62d0db5e629624]::build_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:36:9
[INFO] [stdout]   25:     0x5981a9043ea5 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_callout::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:420:17
[INFO] [stdout]   26:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   27:     0x5981a91fc07d - <core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   28:     0x5981a91118dd - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   29:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   30:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   31:     0x5981a91117db - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   32:     0x5981a90fc600 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Context>::enter::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   33:     0x5981a910c74d - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   34:     0x5981a910ba44 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   35:     0x5981a91d659b - <tokio[a57b7a6138623209]::runtime::context::scoped::Scoped<tokio[a57b7a6138623209]::runtime::scheduler::Context>>::set::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   36:     0x5981a91c6349 - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:38
[INFO] [stdout]   37:     0x5981a9194382 - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::try_with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   38:     0x5981a9193f0e - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   39:     0x5981a91c21bd - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:17
[INFO] [stdout]   40:     0x5981a9106a20 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   41:     0x5981a9106d16 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   42:     0x5981a910b550 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   43:     0x5981a912a5f3 - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   44:     0x5981a90fc131 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   45:     0x5981a918fcf4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   46:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   47:     0x5981a9061b80 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_callout
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:462:30
[INFO] [stdout]   48:     0x5981a9041487 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_callout::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:396:28
[INFO] [stdout]   49:     0x5981a9174c16 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_callout::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   51:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   52:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   53:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   54:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   55:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   56:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   57:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   58:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   59:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   60:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   61:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   62:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   63:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   64:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   65:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   66:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   67:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   68:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   69:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   70:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   71:     0x78e5c4085a64 - clone
[INFO] [stdout]   72:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::claimcheck_works stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::claimcheck_works' (18) panicked at src/graph/graph.rs:67:13:
[INFO] [stdout] Graph not found claim_check
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e178 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a91477e8 - <alloc[9c68fdf4f4f29218]::string::String as saasexpress_core[eb62d0db5e629624]::graph::graph::IntoGraphRunner>::into_graph_runner
[INFO] [stdout]                                at /opt/rustwide/workdir/src/graph/graph.rs:67:13
[INFO] [stdout]   20:     0x5981a904836b - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::claimcheck_works::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:289:32
[INFO] [stdout]   21:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5981a91fc07d - <core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5981a91118dd - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   24:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x5981a91117db - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   27:     0x5981a90fc600 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Context>::enter::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   28:     0x5981a910c74d - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   29:     0x5981a910ba44 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   30:     0x5981a91d659b - <tokio[a57b7a6138623209]::runtime::context::scoped::Scoped<tokio[a57b7a6138623209]::runtime::scheduler::Context>>::set::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x5981a91c6349 - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x5981a9194382 - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::try_with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x5981a9193f0e - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x5981a91c21bd - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x5981a9106a20 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   36:     0x5981a9106d16 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   37:     0x5981a910b550 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x5981a912a5f3 - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x5981a90fc131 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x5981a918fcf4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   41:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   42:     0x5981a90622a0 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::claimcheck_works
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:305:10
[INFO] [stdout]   43:     0x5981a9041547 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::claimcheck_works::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:276:32
[INFO] [stdout]   44:     0x5981a9174d16 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::claimcheck_works::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   57:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   62:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   64:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   65:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   66:     0x78e5c4085a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_graph_upgrade stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_graph_upgrade' (33) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e1aa - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a96490e2 - core[c5ed12ab89cc536a]::panicking::panic
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5981a9648e39 - core[c5ed12ab89cc536a]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5981a90b0c39 - <core[c5ed12ab89cc536a]::option::Option<&serde_yaml[60542e8a874b0d63]::value::Value>>::unwrap
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5981a90b0c39 - <saasexpress_core[eb62d0db5e629624]::operators::stub::Stub as core[c5ed12ab89cc536a]::convert::From<&serde_yaml[60542e8a874b0d63]::value::Value>>::from
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/stub.rs:24:38
[INFO] [stdout]   23:     0x5981a90987f7 - saasexpress_core[eb62d0db5e629624]::operators::factory::add_node_to_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/factory.rs:86:38
[INFO] [stdout]   24:     0x5981a9059807 - saasexpress_core[eb62d0db5e629624]::build_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:36:9
[INFO] [stdout]   25:     0x5981a904ac3f - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_graph_upgrade::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:565:17
[INFO] [stdout]   26:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   27:     0x5981a91fc07d - <core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   28:     0x5981a91118dd - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   29:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   30:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   31:     0x5981a91117db - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   32:     0x5981a90fc600 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Context>::enter::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   33:     0x5981a910c74d - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   34:     0x5981a910ba44 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   35:     0x5981a91d659b - <tokio[a57b7a6138623209]::runtime::context::scoped::Scoped<tokio[a57b7a6138623209]::runtime::scheduler::Context>>::set::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   36:     0x5981a91c6349 - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:38
[INFO] [stdout]   37:     0x5981a9194382 - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::try_with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   38:     0x5981a9193f0e - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   39:     0x5981a91c21bd - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:17
[INFO] [stdout]   40:     0x5981a9106a20 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   41:     0x5981a9106d16 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   42:     0x5981a910b550 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   43:     0x5981a912a5f3 - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   44:     0x5981a90fc131 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   45:     0x5981a918fcf4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   46:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   47:     0x5981a90628c0 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_graph_upgrade
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:618:19
[INFO] [stdout]   48:     0x5981a9041607 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_graph_upgrade::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:539:34
[INFO] [stdout]   49:     0x5981a9174e16 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_graph_upgrade::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   51:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   52:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   53:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   54:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   55:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   56:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   57:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   58:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   59:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   60:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   61:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   62:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   63:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   64:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   65:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   66:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   67:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   68:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   69:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   70:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   71:     0x78e5c4085a64 - clone
[INFO] [stdout]   72:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::shell_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 `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 `debug`
[INFO] [stdout]  [1;38;5;21m=[0m [1mhelp:[0m to enable TRACE logging, remove the `max_level_debug` feature from the `tracing` crate
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::shell_works' (21) panicked at src/graph/graph.rs:67:13:
[INFO] [stdout] Graph not found shell
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e178 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a91477e8 - <alloc[9c68fdf4f4f29218]::string::String as saasexpress_core[eb62d0db5e629624]::graph::graph::IntoGraphRunner>::into_graph_runner
[INFO] [stdout]                                at /opt/rustwide/workdir/src/graph/graph.rs:67:13
[INFO] [stdout]   20:     0x5981a9041a93 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::shell_works::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:334:32
[INFO] [stdout]   21:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5981a91fc07d - <core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5981a91118dd - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   24:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x5981a91117db - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   27:     0x5981a90fc600 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Context>::enter::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   28:     0x5981a910c74d - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   29:     0x5981a910ba44 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   30:     0x5981a91d659b - <tokio[a57b7a6138623209]::runtime::context::scoped::Scoped<tokio[a57b7a6138623209]::runtime::scheduler::Context>>::set::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x5981a91c6349 - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x5981a9194382 - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::try_with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x5981a9193f0e - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x5981a91c21bd - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x5981a9106a20 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   36:     0x5981a9106d16 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   37:     0x5981a910b550 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x5981a912a5f3 - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x5981a90fc131 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x5981a918fcf4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   41:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   42:     0x5981a9061800 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::shell_works
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:348:57
[INFO] [stdout]   43:     0x5981a9041427 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::shell_works::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:311:27
[INFO] [stdout]   44:     0x5981a9174b96 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::shell_works::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   57:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   62:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   64:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   65:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   66:     0x78e5c4085a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_ai_tool stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_ai_tool' (23) panicked at src/graph/graph.rs:67:13:
[INFO] [stdout] Graph not found ai_tool
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e178 - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:698:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a91477e8 - <alloc[9c68fdf4f4f29218]::string::String as saasexpress_core[eb62d0db5e629624]::graph::graph::IntoGraphRunner>::into_graph_runner
[INFO] [stdout]                                at /opt/rustwide/workdir/src/graph/graph.rs:67:13
[INFO] [stdout]   20:     0x5981a9042a03 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_tool::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:752:32
[INFO] [stdout]   21:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   22:     0x5981a91fc07d - <core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   23:     0x5981a91118dd - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   24:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   25:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   26:     0x5981a91117db - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   27:     0x5981a90fc600 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Context>::enter::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   28:     0x5981a910c74d - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   29:     0x5981a910ba44 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   30:     0x5981a91d659b - <tokio[a57b7a6138623209]::runtime::context::scoped::Scoped<tokio[a57b7a6138623209]::runtime::scheduler::Context>>::set::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   31:     0x5981a91c6349 - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:38
[INFO] [stdout]   32:     0x5981a9194382 - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::try_with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   33:     0x5981a9193f0e - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   34:     0x5981a91c21bd - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:17
[INFO] [stdout]   35:     0x5981a9106a20 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   36:     0x5981a9106d16 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   37:     0x5981a910b550 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   38:     0x5981a912a5f3 - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   39:     0x5981a90fc131 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   40:     0x5981a918fcf4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   41:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   42:     0x5981a90619c0 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_tool
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:767:10
[INFO] [stdout]   43:     0x5981a9041457 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_tool::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:730:28
[INFO] [stdout]   44:     0x5981a9174bd6 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_tool::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   45:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   46:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   47:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   48:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   49:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   50:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   51:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   52:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   53:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   54:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   55:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stderr] error: test failed, to rerun pass `--lib`
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   56:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   57:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   58:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   59:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   60:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   61:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   62:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   63:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   64:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   65:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   66:     0x78e5c4085a64 - clone
[INFO] [stdout]   67:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_shared_resources stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_shared_resources' (36) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e1aa - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a96490e2 - core[c5ed12ab89cc536a]::panicking::panic
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5981a9648e39 - core[c5ed12ab89cc536a]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5981a90b0c39 - <core[c5ed12ab89cc536a]::option::Option<&serde_yaml[60542e8a874b0d63]::value::Value>>::unwrap
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5981a90b0c39 - <saasexpress_core[eb62d0db5e629624]::operators::stub::Stub as core[c5ed12ab89cc536a]::convert::From<&serde_yaml[60542e8a874b0d63]::value::Value>>::from
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/stub.rs:24:38
[INFO] [stdout]   23:     0x5981a90987f7 - saasexpress_core[eb62d0db5e629624]::operators::factory::add_node_to_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/factory.rs:86:38
[INFO] [stdout]   24:     0x5981a9059807 - saasexpress_core[eb62d0db5e629624]::build_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:36:9
[INFO] [stdout]   25:     0x5981a904b71f - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_shared_resources::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:494:26
[INFO] [stdout]   26:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   27:     0x5981a91fc07d - <core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   28:     0x5981a91118dd - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:70
[INFO] [stdout]   29:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   30:     0x5981a91117db - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   31:     0x5981a91117db - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:742:25
[INFO] [stdout]   32:     0x5981a90fc600 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Context>::enter::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:432:19
[INFO] [stdout]   33:     0x5981a910c74d - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:741:44
[INFO] [stdout]   34:     0x5981a910ba44 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:68
[INFO] [stdout]   35:     0x5981a91d659b - <tokio[a57b7a6138623209]::runtime::context::scoped::Scoped<tokio[a57b7a6138623209]::runtime::scheduler::Context>>::set::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/scoped.rs:40:9
[INFO] [stdout]   36:     0x5981a91c6349 - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:38
[INFO] [stdout]   37:     0x5981a9194382 - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::try_with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:513:12
[INFO] [stdout]   38:     0x5981a9193f0e - <std[716c9a7a72e5c14e]::thread::local::LocalKey<tokio[a57b7a6138623209]::runtime::context::Context>>::with::<tokio[a57b7a6138623209]::runtime::context::set_scheduler<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>::{closure#0}, (alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>)>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/local.rs:477:20
[INFO] [stdout]   39:     0x5981a91c21bd - tokio[a57b7a6138623209]::runtime::context::set_scheduler::<(alloc[9c68fdf4f4f29218]::boxed::Box<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::Core>, core[c5ed12ab89cc536a]::option::Option<()>), <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context.rs:176:17
[INFO] [stdout]   40:     0x5981a9106a20 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::enter::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>::{closure#0}, core[c5ed12ab89cc536a]::option::Option<()>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:829:27
[INFO] [stdout]   41:     0x5981a9106d16 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CoreGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:729:24
[INFO] [stdout]   42:     0x5981a910b550 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:200:33
[INFO] [stdout]   43:     0x5981a912a5f3 - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   44:     0x5981a90fc131 - <tokio[a57b7a6138623209]::runtime::scheduler::current_thread::CurrentThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/current_thread/mod.rs:188:9
[INFO] [stdout]   45:     0x5981a918fcf4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:356:52
[INFO] [stdout]   46:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   47:     0x5981a9062a80 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_shared_resources
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:535:39
[INFO] [stdout]   48:     0x5981a9041637 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_shared_resources::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:468:37
[INFO] [stdout]   49:     0x5981a9174e56 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_shared_resources::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   50:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   51:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   52:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   53:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   54:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   55:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   56:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   57:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   58:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   59:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   60:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   61:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   62:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   63:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   64:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   65:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   66:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   67:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   68:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   69:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   70:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   71:     0x78e5c4085a64 - clone
[INFO] [stdout]   72:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] ---- saasexpress_core_tests::test_ai_agent stdout ----
[INFO] [stdout] 
[INFO] [stdout] thread 'saasexpress_core_tests::test_ai_agent' (22) panicked at src/operators/stub.rs:24:38:
[INFO] [stdout] called `Option::unwrap()` on a `None` value
[INFO] [stdout] stack backtrace:
[INFO] [stdout]    0:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::libunwind::trace
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/libunwind.rs:117:9
[INFO] [stdout]    1:     0x5981a9631192 - std[716c9a7a72e5c14e]::backtrace_rs::backtrace::trace_unsynchronized::<std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt::{closure#1}>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/../../backtrace/src/backtrace/mod.rs:66:14
[INFO] [stdout]    2:     0x5981a9631192 - std[716c9a7a72e5c14e]::sys::backtrace::_print_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:74:9
[INFO] [stdout]    3:     0x5981a9631192 - <<std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print::DisplayBacktrace as core[c5ed12ab89cc536a]::fmt::Display>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:44:26
[INFO] [stdout]    4:     0x5981a964895a - <core[c5ed12ab89cc536a]::fmt::rt::Argument>::fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/fmt/rt.rs:152:76
[INFO] [stdout]    5:     0x5981a964895a - core[c5ed12ab89cc536a]::fmt::write
[INFO] [stdout]    6:     0x5981a9636246 - std[716c9a7a72e5c14e]::io::default_write_fmt::<alloc[9c68fdf4f4f29218]::vec::Vec<u8>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:639:11
[INFO] [stdout]    7:     0x5981a9636246 - <alloc[9c68fdf4f4f29218]::vec::Vec<u8> as std[716c9a7a72e5c14e]::io::Write>::write_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/io/mod.rs:1994:13
[INFO] [stdout]    8:     0x5981a960e0bf - <std[716c9a7a72e5c14e]::sys::backtrace::BacktraceLock>::print
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:47:9
[INFO] [stdout]    9:     0x5981a960e0bf - std[716c9a7a72e5c14e]::panicking::default_hook::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:292:27
[INFO] [stdout]   10:     0x5981a96285f9 - std[716c9a7a72e5c14e]::panicking::default_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:316:9
[INFO] [stdout]   11:     0x5981a92091be - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   12:     0x5981a92091be - test[64760d2bdea328cc]::test_main_with_exit_callback::<test[64760d2bdea328cc]::test_main::{closure#0}>::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:145:21
[INFO] [stdout]   13:     0x5981a9628862 - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn for<'a, 'b> core[c5ed12ab89cc536a]::ops::function::Fn<(&'a std[716c9a7a72e5c14e]::panic::PanicHookInfo<'b>,), Output = ()> + core[c5ed12ab89cc536a]::marker::Sync + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::Fn<(&std[716c9a7a72e5c14e]::panic::PanicHookInfo,)>>::call
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2220:9
[INFO] [stdout]   14:     0x5981a9628862 - std[716c9a7a72e5c14e]::panicking::panic_with_hook
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:833:13
[INFO] [stdout]   15:     0x5981a960e1aa - std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:691:13
[INFO] [stdout]   16:     0x5981a9605839 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_end_short_backtrace::<std[716c9a7a72e5c14e]::panicking::panic_handler::{closure#0}, !>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:182:18
[INFO] [stdout]   17:     0x5981a960f06d - __rustc[4f0b026143eab78e]::rust_begin_unwind
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:689:5
[INFO] [stdout]   18:     0x5981a964911c - core[c5ed12ab89cc536a]::panicking::panic_fmt
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:80:14
[INFO] [stdout]   19:     0x5981a96490e2 - core[c5ed12ab89cc536a]::panicking::panic
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panicking.rs:150:5
[INFO] [stdout]   20:     0x5981a9648e39 - core[c5ed12ab89cc536a]::option::unwrap_failed
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:2199:5
[INFO] [stdout]   21:     0x5981a90b0c39 - <core[c5ed12ab89cc536a]::option::Option<&serde_yaml[60542e8a874b0d63]::value::Value>>::unwrap
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/option.rs:1016:21
[INFO] [stdout]   22:     0x5981a90b0c39 - <saasexpress_core[eb62d0db5e629624]::operators::stub::Stub as core[c5ed12ab89cc536a]::convert::From<&serde_yaml[60542e8a874b0d63]::value::Value>>::from
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/stub.rs:24:38
[INFO] [stdout]   23:     0x5981a90987f7 - saasexpress_core[eb62d0db5e629624]::operators::factory::add_node_to_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/operators/factory.rs:86:38
[INFO] [stdout]   24:     0x5981a9059807 - saasexpress_core[eb62d0db5e629624]::build_graph
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:36:9
[INFO] [stdout]   25:     0x5981a90385f5 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_agent::{closure#0}::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:857:26
[INFO] [stdout]   26:     0x5981a9046934 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_agent::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:772:5
[INFO] [stdout]   27:     0x5981a91fc002 - <core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>> as core[c5ed12ab89cc536a]::future::future::Future>::poll
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/future/future.rs:133:9
[INFO] [stdout]   28:     0x5981a910b97d - <tokio[a57b7a6138623209]::runtime::park::CachedParkThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/park.rs:285:71
[INFO] [stdout]   29:     0x5981a90fdb12 - tokio[a57b7a6138623209]::task::coop::with_budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::park::CachedParkThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:167:5
[INFO] [stdout]   30:     0x5981a90fdb12 - tokio[a57b7a6138623209]::task::coop::budget::<core[c5ed12ab89cc536a]::task::poll::Poll<()>, <tokio[a57b7a6138623209]::runtime::park::CachedParkThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/task/coop/mod.rs:133:5
[INFO] [stdout]   31:     0x5981a90fdb12 - <tokio[a57b7a6138623209]::runtime::park::CachedParkThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/park.rs:285:31
[INFO] [stdout]   32:     0x5981a9000bc4 - <tokio[a57b7a6138623209]::runtime::context::blocking::BlockingRegionGuard>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/blocking.rs:66:14
[INFO] [stdout]   33:     0x5981a9037688 - <tokio[a57b7a6138623209]::runtime::scheduler::multi_thread::MultiThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/multi_thread/mod.rs:87:22
[INFO] [stdout]   34:     0x5981a912a31b - tokio[a57b7a6138623209]::runtime::context::runtime::enter_runtime::<<tokio[a57b7a6138623209]::runtime::scheduler::multi_thread::MultiThread>::block_on<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>::{closure#0}, ()>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/context/runtime.rs:65:16
[INFO] [stdout]   35:     0x5981a9031fd4 - <tokio[a57b7a6138623209]::runtime::scheduler::multi_thread::MultiThread>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/scheduler/multi_thread/mod.rs:86:9
[INFO] [stdout]   36:     0x5981a918fcc4 - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on_inner::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:358:50
[INFO] [stdout]   37:     0x5981a918febc - <tokio[a57b7a6138623209]::runtime::runtime::Runtime>::block_on::<core[c5ed12ab89cc536a]::pin::Pin<&mut dyn core[c5ed12ab89cc536a]::future::future::Future<Output = ()>>>
[INFO] [stdout]                                at /opt/rustwide/cargo-home/registry/src/index.crates.io-1949cf8c6b5b557f/tokio-1.46.1/src/runtime/runtime.rs:330:18
[INFO] [stdout]   38:     0x5981a9061f1f - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_agent
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:772:5
[INFO] [stdout]   39:     0x5981a90414e7 - saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_agent::{closure#0}
[INFO] [stdout]                                at /opt/rustwide/workdir/src/lib.rs:772:18
[INFO] [stdout]   40:     0x5981a9174c96 - <saasexpress_core[eb62d0db5e629624]::saasexpress_core_tests::test_ai_agent::{closure#0} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   41:     0x5981a91fd56b - <fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   42:     0x5981a91fd56b - test[64760d2bdea328cc]::__rust_begin_short_backtrace::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, fn() -> core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:663:18
[INFO] [stdout]   43:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:74
[INFO] [stdout]   44:     0x5981a9209dca - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   45:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   46:     0x5981a9209dca - std[716c9a7a72e5c14e]::panicking::catch_unwind::<core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>, core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   47:     0x5981a9209dca - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<test[64760d2bdea328cc]::run_test_in_process::{closure#0}>, core[c5ed12ab89cc536a]::result::Result<(), alloc[9c68fdf4f4f29218]::string::String>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   48:     0x5981a9209dca - test[64760d2bdea328cc]::run_test_in_process
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:686:27
[INFO] [stdout]   49:     0x5981a9209dca - test[64760d2bdea328cc]::run_test::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:607:43
[INFO] [stdout]   50:     0x5981a9204294 - test[64760d2bdea328cc]::run_test::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/test/src/lib.rs:637:41
[INFO] [stdout]   51:     0x5981a9204294 - std[716c9a7a72e5c14e]::sys::backtrace::__rust_begin_short_backtrace::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/backtrace.rs:166:18
[INFO] [stdout]   52:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:91:13
[INFO] [stdout]   53:     0x5981a920c8c2 - <core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/panic/unwind_safe.rs:274:9
[INFO] [stdout]   54:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::do_call::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:581:40
[INFO] [stdout]   55:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panicking::catch_unwind::<(), core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panicking.rs:544:19
[INFO] [stdout]   56:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::panic::catch_unwind::<core[c5ed12ab89cc536a]::panic::unwind_safe::AssertUnwindSafe<std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}::{closure#0}>, ()>
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/panic.rs:359:14
[INFO] [stdout]   57:     0x5981a920c8c2 - std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked::<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/thread/lifecycle.rs:89:26
[INFO] [stdout]   58:     0x5981a920c8c2 - <std[716c9a7a72e5c14e]::thread::lifecycle::spawn_unchecked<test[64760d2bdea328cc]::run_test::{closure#1}, ()>::{closure#1} as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/core/src/ops/function.rs:250:5
[INFO] [stdout]   59:     0x5981a962ff7f - <alloc[9c68fdf4f4f29218]::boxed::Box<dyn core[c5ed12ab89cc536a]::ops::function::FnOnce<(), Output = ()> + core[c5ed12ab89cc536a]::marker::Send> as core[c5ed12ab89cc536a]::ops::function::FnOnce<()>>::call_once
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/alloc/src/boxed.rs:2206:9
[INFO] [stdout]   60:     0x5981a962ff7f - <std[716c9a7a72e5c14e]::sys::thread::unix::Thread>::new::thread_start
[INFO] [stdout]                                at /rustc/2fd6efc32704647e64d3d646d21c4c68eae100e4/library/std/src/sys/thread/unix.rs:119:17
[INFO] [stdout]   61:     0x78e5c3ff8aa4 - <unknown>
[INFO] [stdout]   62:     0x78e5c4085a64 - clone
[INFO] [stdout]   63:                0x0 - <unknown>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] failures:
[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_graph_upgrade
[INFO] [stdout]     saasexpress_core_tests::test_shared_resources
[INFO] [stdout] 
[INFO] [stdout] test result: FAILED. 8 passed; 7 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "d52fbebdebd7c8fcb38a617c58f3ec7064beed1c1143974301a6d17e4dbf9ee5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d52fbebdebd7c8fcb38a617c58f3ec7064beed1c1143974301a6d17e4dbf9ee5", kill_on_drop: false }`
[INFO] [stdout] d52fbebdebd7c8fcb38a617c58f3ec7064beed1c1143974301a6d17e4dbf9ee5
