[INFO] cloning repository https://github.com/Antonio7098/stageflow-rust
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/Antonio7098/stageflow-rust" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAntonio7098%2Fstageflow-rust", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAntonio7098%2Fstageflow-rust'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c6b0a3777768be82e2b81626b6de0d04e6b53a07
[INFO] testing Antonio7098/stageflow-rust against master#f9988fefd3add01f414f52b414308e7872622fee for pr-155114
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FAntonio7098%2Fstageflow-rust" "/workspace/builds/worker-4-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-4-tc1/source'...
[INFO] [stderr] done.
[INFO] [stderr] Updating files:  31% (1794/5671)
Updating files:  32% (1815/5671)
Updating files:  33% (1872/5671)
Updating files:  34% (1929/5671)
Updating files:  35% (1985/5671)
Updating files:  36% (2042/5671)
Updating files:  37% (2099/5671)
Updating files:  37% (2141/5671)
Updating files:  38% (2155/5671)
Updating files:  39% (2212/5671)
Updating files:  39% (2262/5671)
Updating files:  40% (2269/5671)
Updating files:  41% (2326/5671)
Updating files:  41% (2379/5671)
Updating files:  42% (2382/5671)
Updating files:  43% (2439/5671)
Updating files:  43% (2445/5671)
Updating files:  44% (2496/5671)
Updating files:  44% (2510/5671)
Updating files:  45% (2552/5671)
Updating files:  46% (2609/5671)
Updating files:  47% (2666/5671)
Updating files:  47% (2695/5671)
Updating files:  47% (2699/5671)
Updating files:  48% (2723/5671)
Updating files:  49% (2779/5671)
Updating files:  50% (2836/5671)
Updating files:  51% (2893/5671)
Updating files:  52% (2949/5671)
Updating files:  52% (3000/5671)
Updating files:  53% (3006/5671)
Updating files:  54% (3063/5671)
Updating files:  55% (3120/5671)
Updating files:  56% (3176/5671)
Updating files:  57% (3233/5671)
Updating files:  58% (3290/5671)
Updating files:  59% (3346/5671)
Updating files:  60% (3403/5671)
Updating files:  61% (3460/5671)
Updating files:  62% (3517/5671)
Updating files:  63% (3573/5671)
Updating files:  64% (3630/5671)
Updating files:  65% (3687/5671)
Updating files:  66% (3743/5671)
Updating files:  67% (3800/5671)
Updating files:  67% (3810/5671)
Updating files:  68% (3857/5671)
Updating files:  69% (3913/5671)
Updating files:  70% (3970/5671)
Updating files:  71% (4027/5671)
Updating files:  72% (4084/5671)
Updating files:  73% (4140/5671)
Updating files:  74% (4197/5671)
Updating files:  75% (4254/5671)
Updating files:  76% (4310/5671)
Updating files:  77% (4367/5671)
Updating files:  78% (4424/5671)
Updating files:  79% (4481/5671)
Updating files:  80% (4537/5671)
Updating files:  80% (4565/5671)
Updating files:  81% (4594/5671)
Updating files:  82% (4651/5671)
Updating files:  83% (4707/5671)
Updating files:  84% (4764/5671)
Updating files:  85% (4821/5671)
Updating files:  86% (4878/5671)
Updating files:  87% (4934/5671)
Updating files:  88% (4991/5671)
Updating files:  89% (5048/5671)
Updating files:  90% (5104/5671)
Updating files:  90% (5115/5671)
Updating files:  91% (5161/5671)
Updating files:  92% (5218/5671)
Updating files:  93% (5275/5671)
Updating files:  94% (5331/5671)
Updating files:  95% (5388/5671)
Updating files:  96% (5445/5671)
Updating files:  97% (5501/5671)
Updating files:  98% (5558/5671)
Updating files:  99% (5615/5671)
Updating files: 100% (5671/5671)
Updating files: 100% (5671/5671), done.
[INFO] started tweaking git repo https://github.com/Antonio7098/stageflow-rust
[INFO] finished tweaking git repo https://github.com/Antonio7098/stageflow-rust
[INFO] tweaked toml for git repo https://github.com/Antonio7098/stageflow-rust written to /workspace/builds/worker-4-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/Antonio7098/stageflow-rust on toolchain f9988fefd3add01f414f52b414308e7872622fee
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/Antonio7098/stageflow-rust 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" "+f9988fefd3add01f414f52b414308e7872622fee" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tokio-test v0.4.5
[INFO] [stderr]   Downloaded mockall v0.13.1
[INFO] [stderr]   Downloaded mockall_derive v0.13.1
[INFO] [stderr]   Downloaded pyo3-macros v0.21.2
[INFO] [stderr]   Downloaded pyo3-macros-backend v0.21.2
[INFO] [stderr]   Downloaded pyo3-ffi v0.21.2
[INFO] [stderr]   Downloaded pyo3-build-config v0.21.2
[INFO] [stderr]   Downloaded pyo3 v0.21.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 762b0d1af13f674ae127ff062d692e17e6ab7665d2530ea21a40bd341ac7e8e3
[INFO] running `Command { std: "docker" "start" "-a" "762b0d1af13f674ae127ff062d692e17e6ab7665d2530ea21a40bd341ac7e8e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "762b0d1af13f674ae127ff062d692e17e6ab7665d2530ea21a40bd341ac7e8e3", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "762b0d1af13f674ae127ff062d692e17e6ab7665d2530ea21a40bd341ac7e8e3", kill_on_drop: false }`
[INFO] [stdout] 762b0d1af13f674ae127ff062d692e17e6ab7665d2530ea21a40bd341ac7e8e3
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] ff6395dd2b224274ca4ad86446de4c820fead1bdb4f6981b702b079fbba797c5
[INFO] running `Command { std: "docker" "start" "-a" "ff6395dd2b224274ca4ad86446de4c820fead1bdb4f6981b702b079fbba797c5", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.38
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling siphasher v1.0.2
[INFO] [stderr]    Compiling target-lexicon v0.12.16
[INFO] [stderr]    Compiling syn v2.0.114
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling siphasher v0.3.11
[INFO] [stderr]    Compiling openssl-sys v0.9.111
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling new_debug_unreachable v1.0.6
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling precomputed-hash v0.1.1
[INFO] [stderr]    Compiling mac v0.1.1
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling dtoa v1.0.11
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling futf v0.1.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling phf_shared v0.10.0
[INFO] [stderr]    Compiling dtoa-short v0.3.5
[INFO] [stderr]    Compiling tendril v0.4.3
[INFO] [stderr]    Compiling phf_shared v0.11.3
[INFO] [stderr]    Compiling fxhash v0.2.1
[INFO] [stderr]    Compiling servo_arc v0.3.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling getopts v0.2.24
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling ego-tree v0.6.3
[INFO] [stderr]    Compiling phf v0.10.1
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling unindent v0.2.4
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling pyo3-build-config v0.21.2
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling pyo3-ffi v0.21.2
[INFO] [stderr]    Compiling pyo3 v0.21.2
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling pyo3-macros-backend v0.21.2
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling openssl-macros v0.1.1
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling cssparser-macros v0.6.1
[INFO] [stderr]    Compiling derive_more v0.99.20
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling pyo3-macros v0.21.2
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling scraper v0.20.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling idna_adapter v1.2.1
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling stageflow v0.1.0 (/opt/rustwide/workdir/stageflow)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/cancellation/cleanup.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[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: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/cancellation/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/context/bags.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> stageflow/src/context/execution.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> stageflow/src/events/sink.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::StageKind`
[INFO] [stdout]  --> stageflow/src/pipeline/builder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::StageKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PipelineSpec` and `StageSpec`
[INFO] [stdout]  --> stageflow/src/testing/fixtures.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pipeline::{PipelineSpec, StageSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/testing/mocks.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::warn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> stageflow/src/utils/timestamps.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> stageflow/src/websearch/models.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{ApprovalService, Tool, ToolDefinition, ToolInput, ToolOutput, ToolRegistry, UndoMetadata, UndoStore};
[INFO] [stdout]   |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> stageflow/src/cancellation/task_group.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn spawn<F, Fut>(&self, name: &str, task: F)
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default_timezone`
[INFO] [stdout]   --> stageflow/src/helpers/timestamps.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn normalize_to_utc(dt: DateTime<FixedOffset>, default_timezone: Option<FixedOffset>) -> DateTime<Utc> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_timezone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> stageflow/src/interceptors/chain.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn on_error(&self, _ctx: &StageContext, error: &str) -> Option<StageOutput> {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> stageflow/src/interceptors/hardening.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn before(&self, ctx: &StageContext) -> Option<StageOutput> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> stageflow/src/interceptors/hardening.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn after(&self, ctx: &StageContext, output: StageOutput) -> StageOutput {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deps`
[INFO] [stdout]   --> stageflow/src/pipeline/builder_helpers.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let deps: Vec<&str> = if i == 0 {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_deps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stage`
[INFO] [stdout]    --> stageflow/src/pipeline/failure_tolerance.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn can_run(&self, stage: &str, dependencies: &[String]) -> bool {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> stageflow/src/tools/executor.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 Err(status) => {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollectingEventSink` is never constructed
[INFO] [stdout]    --> stageflow/src/events/sink.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CollectingEventSink {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `events`, `len`, `is_empty`, `clear`, and `events_of_type` are never used
[INFO] [stdout]    --> stageflow/src/events/sink.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl CollectingEventSink {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn events(&self) -> Vec<(String, Option<serde_json::Value>)> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn events_of_type(&self, type_prefix: &str) -> Vec<(String, Option<serde_json::Value>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `append` are never read
[INFO] [stdout]   --> stageflow/src/helpers/analytics.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JSONFileExporter {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 74 |     path: std::path::PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 75 |     append: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `colorize` and `verbose` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ConsoleExporter {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout]  99 |     colorize: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 100 |     verbose: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `batch_size`, `flush_interval_seconds`, and `max_buffer_size` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct BufferedExporter {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 124 |     batch_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 125 |     flush_interval_seconds: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 |     max_buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exclude_patterns` and `include_patterns` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct AnalyticsSink {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 143 |     exclude_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |     include_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `detect_types` and `redact` are never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct PIIDetector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 51 |     detect_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 52 |     redact: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profanity_words` and `blocked_patterns` are never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ContentFilter {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 65 |     profanity_words: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     blocked_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `additional_patterns` is never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct InjectionDetector {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 85 |     additional_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_key` and `fail_on_violation` are never read
[INFO] [stdout]    --> stageflow/src/helpers/guardrails.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct GuardrailStage {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 104 |     content_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 105 |     fail_on_violation: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `store` and `config` are never read
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct MemoryFetchStage {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 84 |     store: std::sync::Arc<InMemoryStore>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 85 |     config: MemoryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `responses`, `patterns`, `echo_mode`, `latency_ms`, and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct MockLLMProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  8 |     responses: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     patterns: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     echo_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 11 |     latency_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transcriptions` and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct MockSTTProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 44 |     transcriptions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_rate`, `fail_rate`, and `call_count` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct MockTTSProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 65 |     sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 67 |     call_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `valid_tokens`, `accept_any`, and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct MockAuthProvider {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 80 |     valid_tokens: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 81 |     accept_any: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 82 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tools`, `fail_rate`, and `latency_ms` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct MockToolExecutor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 95 |     tools: HashMap<String, Box<dyn Fn(serde_json::Value) -> serde_json::Value + Send + Sync>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 96 |     execution_count: AtomicUsize,
[INFO] [stdout] 97 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     latency_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `high_water_mark`, `low_water_mark`, and `is_throttling` are never read
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct BackpressureMonitor {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 81 |     stats: parking_lot::RwLock<BackpressureStats>,
[INFO] [stdout] 82 |     high_water_mark: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     low_water_mark: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 84 |     is_throttling: std::sync::atomic::AtomicBool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_size` and `drop_on_overflow` are never read
[INFO] [stdout]    --> stageflow/src/helpers/streaming.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct ChunkQueue {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 121 |     max_size: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 122 |     drop_on_overflow: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_duration_ms` and `sample_rate` are never read
[INFO] [stdout]    --> stageflow/src/helpers/streaming.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct StreamingBuffer {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 135 |     max_duration_ms: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     sample_rate: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `backoff` and `jitter` are never read
[INFO] [stdout]   --> stageflow/src/interceptors/retry.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct RetryInterceptor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     backoff: BackoffStrategy,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 77 |     /// Jitter strategy.
[INFO] [stdout] 78 |     jitter: JitterStrategy,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_delay` is never used
[INFO] [stdout]    --> stageflow/src/interceptors/retry.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl RetryInterceptor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn calculate_delay(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnifiedPipelineCancelled` is never constructed
[INFO] [stdout]   --> stageflow/src/pipeline/unified.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct UnifiedPipelineCancelled {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `func` is never read
[INFO] [stdout]   --> stageflow/src/stages/mod.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct AsyncFnStage<F, Fut>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     func: F,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_value` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn assert_output_value(output: &StageOutput, key: &str, expected: &serde_json::Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_metadata` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn assert_output_metadata(output: &StageOutput, key: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_retryable` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn assert_output_retryable(output: &StageOutput) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_not_retryable` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn assert_output_not_retryable(output: &StageOutput) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `tool_name`, `message`, and `created_at` are never read
[INFO] [stdout]   --> stageflow/src/tools/approval.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ApprovalRequest {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 28 |     /// Request ID.
[INFO] [stdout] 29 |     id: Uuid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     /// Tool name.
[INFO] [stdout] 31 |     tool_name: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 32 |     /// Approval message.
[INFO] [stdout] 33 |     message: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 34 |     /// When the request was created.
[INFO] [stdout] 35 |     created_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApprovalRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_SERVICE` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | static GLOBAL_SERVICE: RwLock<Option<Arc<ApprovalService>>> = RwLock::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_approval_service` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn get_approval_service() -> Arc<ApprovalService> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_approval_service` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn clear_approval_service() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_STORE` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | static GLOBAL_STORE: RwLock<Option<Arc<UndoStore>>> = RwLock::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn get_undo_store() -> Arc<UndoStore> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn set_undo_store(store: Arc<UndoStore>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn clear_undo_store() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     PiiDetected,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> stageflow/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     missing_docs,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Profanity,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Toxicity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ContentTooLong,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     RateLimited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BlockedTopic,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InjectionAttempt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Custom,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub violation_type: ViolationType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub severity: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub location: Option<(usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub passed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub violations: Vec<PolicyViolation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub transformed_content: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub session_id: Uuid,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub role: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub content: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub max_entries: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub max_tokens: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub include_system: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub recency_window_seconds: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> stageflow/src/helpers/providers.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub content: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub model: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub provider: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub input_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub output_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub finish_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub tool_calls: Option<Vec<serde_json::Value>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub cached_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub text: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub confidence: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub is_final: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub duration_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub provider: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub model: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub audio: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub duration_ms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub format: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub provider: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub model: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub channels: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub characters_processed: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> stageflow/src/helpers/streaming.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Pcm16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Pcm32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Float32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub data: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub channels: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub format: AudioFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub timestamp_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub is_final: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub total_items: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub dropped_items: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub max_queue_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fill_percentage: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub blocked_puts: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub total_blocked_ms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     Cycle(CycleError),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     MissingDependency(MissingDependencyError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     SelfDependency(SelfDependencyError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     InvalidName(InvalidNameError),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling stageflow-py v0.1.0 (/opt/rustwide/workdir/stageflow-py)
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]   --> stageflow-py/src/lib.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn skip(reason: String) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]   --> stageflow-py/src/lib.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn cancel(reason: String) -> Self {
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `metadata` is never read
[INFO] [stdout]   --> stageflow-py/src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct PyStageOutput {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PyStageOutput` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at`, `ended_at`, `data`, and `error` are never read
[INFO] [stdout]    --> stageflow-py/src/lib.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct PyStageResult {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 537 |     started_at: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 538 |     ended_at: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 539 |     data: HashMap<String, serde_json::Value>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 540 |     error: Option<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PyStageResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 37.07s
[INFO] running `Command { std: "docker" "inspect" "ff6395dd2b224274ca4ad86446de4c820fead1bdb4f6981b702b079fbba797c5", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "ff6395dd2b224274ca4ad86446de4c820fead1bdb4f6981b702b079fbba797c5", kill_on_drop: false }`
[INFO] [stdout] ff6395dd2b224274ca4ad86446de4c820fead1bdb4f6981b702b079fbba797c5
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 8d63e4d0811b411a6c9891830ac6dd1a3d4deaa0083cc12fd689a8bafef6db3b
[INFO] running `Command { std: "docker" "start" "-a" "8d63e4d0811b411a6c9891830ac6dd1a3d4deaa0083cc12fd689a8bafef6db3b", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.38
[INFO] [stderr]    Compiling zerocopy-derive v0.8.38
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling openssl v0.10.75
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling predicates-core v1.0.9
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling clap_lex v0.7.7
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling predicates-tree v1.0.12
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling clap_builder v4.5.57
[INFO] [stderr]    Compiling predicates v3.1.3
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling yansi v1.0.1
[INFO] [stderr]    Compiling string_cache v0.8.9
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling diff v0.1.13
[INFO] [stderr]    Compiling pretty_assertions v1.4.1
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling tempfile v3.24.0
[INFO] [stderr]    Compiling clap v4.5.57
[INFO] [stderr]    Compiling mockall v0.13.1
[INFO] [stderr]    Compiling native-tls v0.2.14
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling phf_generator v0.11.3
[INFO] [stderr]    Compiling phf_generator v0.10.0
[INFO] [stderr]    Compiling phf_codegen v0.10.0
[INFO] [stderr]    Compiling tokio-test v0.4.5
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling string_cache_codegen v0.5.4
[INFO] [stderr]    Compiling phf_codegen v0.11.3
[INFO] [stderr]    Compiling selectors v0.25.0
[INFO] [stderr]    Compiling phf_macros v0.11.3
[INFO] [stderr]    Compiling h2 v0.4.13
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling markup5ever v0.12.1
[INFO] [stderr]    Compiling phf v0.11.3
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling cssparser v0.31.2
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling html5ever v0.27.0
[INFO] [stderr]    Compiling scraper v0.20.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling stageflow v0.1.0 (/opt/rustwide/workdir/stageflow)
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/cancellation/cleanup.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[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: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/cancellation/token.rs:5:5
[INFO] [stdout]   |
[INFO] [stdout] 5 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/context/bags.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `HashSet`
[INFO] [stdout]  --> stageflow/src/context/execution.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> stageflow/src/events/sink.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::StageKind`
[INFO] [stdout]  --> stageflow/src/pipeline/builder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::StageKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PipelineSpec` and `StageSpec`
[INFO] [stdout]  --> stageflow/src/testing/fixtures.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pipeline::{PipelineSpec, StageSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/testing/mocks.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `async_trait::async_trait`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use async_trait::async_trait;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::warn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> stageflow/src/utils/timestamps.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> stageflow/src/websearch/models.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Tool`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:3:30
[INFO] [stdout]   |
[INFO] [stdout] 3 | use super::{ApprovalService, Tool, ToolDefinition, ToolInput, ToolOutput, ToolRegistry, UndoMetadata, UndoStore};
[INFO] [stdout]   |                              ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> stageflow/src/cancellation/task_group.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn spawn<F, Fut>(&self, name: &str, task: F)
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::Arc`
[INFO] [stdout]  --> stageflow/src/context/bags.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use std::sync::Arc;
[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: `HashSet`
[INFO] [stdout]  --> stageflow/src/context/execution.rs:7:33
[INFO] [stdout]   |
[INFO] [stdout] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stdout]   |                                 ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]  --> stageflow/src/events/sink.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::collections::HashMap;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `crate::core::StageKind`
[INFO] [stdout]  --> stageflow/src/pipeline/builder.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use crate::core::StageKind;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::sync::atomic::AtomicUsize`
[INFO] [stdout]    --> stageflow/src/pipeline/cancellation.rs:262:9
[INFO] [stdout]     |
[INFO] [stdout] 262 |     use std::sync::atomic::AtomicUsize;
[INFO] [stdout]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> stageflow/src/pipeline/integration_tests.rs:12:9
[INFO] [stdout]    |
[INFO] [stdout] 12 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::collections::HashMap`
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:91:9
[INFO] [stdout]    |
[INFO] [stdout] 91 |     use std::collections::HashMap;
[INFO] [stdout]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PipelineSpec` and `StageSpec`
[INFO] [stdout]  --> stageflow/src/testing/fixtures.rs:8:23
[INFO] [stdout]   |
[INFO] [stdout] 8 | use crate::pipeline::{PipelineSpec, StageSpec};
[INFO] [stdout]   |                       ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `tracing::warn`
[INFO] [stdout]  --> stageflow/src/tools/executor.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 | use tracing::warn;
[INFO] [stdout]   |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `PipelineContext` and `RunIdentity`
[INFO] [stdout]    --> stageflow/src/tools/executor.rs:243:46
[INFO] [stdout]     |
[INFO] [stdout] 243 |     use crate::context::{DictContextAdapter, PipelineContext, RunIdentity};
[INFO] [stdout]     |                                              ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `std::str::FromStr`
[INFO] [stdout]  --> stageflow/src/utils/timestamps.rs:4:5
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::str::FromStr;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `DateTime`
[INFO] [stdout]  --> stageflow/src/websearch/models.rs:3:14
[INFO] [stdout]   |
[INFO] [stdout] 3 | use chrono::{DateTime, Utc};
[INFO] [stdout]   |              ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default_timezone`
[INFO] [stdout]   --> stageflow/src/helpers/timestamps.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn normalize_to_utc(dt: DateTime<FixedOffset>, default_timezone: Option<FixedOffset>) -> DateTime<Utc> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_timezone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> stageflow/src/interceptors/chain.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn on_error(&self, _ctx: &StageContext, error: &str) -> Option<StageOutput> {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> stageflow/src/interceptors/hardening.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn before(&self, ctx: &StageContext) -> Option<StageOutput> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> stageflow/src/interceptors/hardening.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn after(&self, ctx: &StageContext, output: StageOutput) -> StageOutput {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deps`
[INFO] [stdout]   --> stageflow/src/pipeline/builder_helpers.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let deps: Vec<&str> = if i == 0 {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_deps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stage`
[INFO] [stdout]    --> stageflow/src/pipeline/failure_tolerance.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn can_run(&self, stage: &str, dependencies: &[String]) -> bool {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> stageflow/src/tools/executor.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 Err(status) => {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `CollectingEventSink` is never constructed
[INFO] [stdout]    --> stageflow/src/events/sink.rs:117:12
[INFO] [stdout]     |
[INFO] [stdout] 117 | pub struct CollectingEventSink {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `events`, `len`, `is_empty`, `clear`, and `events_of_type` are never used
[INFO] [stdout]    --> stageflow/src/events/sink.rs:124:12
[INFO] [stdout]     |
[INFO] [stdout] 121 | impl CollectingEventSink {
[INFO] [stdout]     | ------------------------ associated items in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 124 |     pub fn new() -> Self {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 130 |     pub fn events(&self) -> Vec<(String, Option<serde_json::Value>)> {
[INFO] [stdout]     |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 136 |     pub fn len(&self) -> usize {
[INFO] [stdout]     |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 142 |     pub fn is_empty(&self) -> bool {
[INFO] [stdout]     |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 147 |     pub fn clear(&self) {
[INFO] [stdout]     |            ^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 153 |     pub fn events_of_type(&self, type_prefix: &str) -> Vec<(String, Option<serde_json::Value>)> {
[INFO] [stdout]     |            ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `append` are never read
[INFO] [stdout]   --> stageflow/src/helpers/analytics.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JSONFileExporter {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 74 |     path: std::path::PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 75 |     append: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `colorize` and `verbose` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ConsoleExporter {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout]  99 |     colorize: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 100 |     verbose: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `batch_size`, `flush_interval_seconds`, and `max_buffer_size` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct BufferedExporter {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 124 |     batch_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 125 |     flush_interval_seconds: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 |     max_buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exclude_patterns` and `include_patterns` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct AnalyticsSink {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 143 |     exclude_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |     include_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `detect_types` and `redact` are never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct PIIDetector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 51 |     detect_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 52 |     redact: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profanity_words` and `blocked_patterns` are never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ContentFilter {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 65 |     profanity_words: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     blocked_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `additional_patterns` is never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct InjectionDetector {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 85 |     additional_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_key` and `fail_on_violation` are never read
[INFO] [stdout]    --> stageflow/src/helpers/guardrails.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct GuardrailStage {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 104 |     content_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 105 |     fail_on_violation: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `store` and `config` are never read
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct MemoryFetchStage {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 84 |     store: std::sync::Arc<InMemoryStore>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 85 |     config: MemoryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `responses`, `patterns`, `echo_mode`, `latency_ms`, and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct MockLLMProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  8 |     responses: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     patterns: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     echo_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 11 |     latency_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transcriptions` and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct MockSTTProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 44 |     transcriptions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_rate`, `fail_rate`, and `call_count` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct MockTTSProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 65 |     sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 67 |     call_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `valid_tokens`, `accept_any`, and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct MockAuthProvider {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 80 |     valid_tokens: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 81 |     accept_any: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 82 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tools`, `fail_rate`, and `latency_ms` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct MockToolExecutor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 95 |     tools: HashMap<String, Box<dyn Fn(serde_json::Value) -> serde_json::Value + Send + Sync>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 96 |     execution_count: AtomicUsize,
[INFO] [stdout] 97 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     latency_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `high_water_mark`, `low_water_mark`, and `is_throttling` are never read
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct BackpressureMonitor {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 81 |     stats: parking_lot::RwLock<BackpressureStats>,
[INFO] [stdout] 82 |     high_water_mark: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     low_water_mark: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 84 |     is_throttling: std::sync::atomic::AtomicBool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_size` and `drop_on_overflow` are never read
[INFO] [stdout]    --> stageflow/src/helpers/streaming.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct ChunkQueue {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 121 |     max_size: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 122 |     drop_on_overflow: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_duration_ms` and `sample_rate` are never read
[INFO] [stdout]    --> stageflow/src/helpers/streaming.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct StreamingBuffer {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 135 |     max_duration_ms: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     sample_rate: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `backoff` and `jitter` are never read
[INFO] [stdout]   --> stageflow/src/interceptors/retry.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct RetryInterceptor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     backoff: BackoffStrategy,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 77 |     /// Jitter strategy.
[INFO] [stdout] 78 |     jitter: JitterStrategy,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_delay` is never used
[INFO] [stdout]    --> stageflow/src/interceptors/retry.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl RetryInterceptor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn calculate_delay(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnifiedPipelineCancelled` is never constructed
[INFO] [stdout]   --> stageflow/src/pipeline/unified.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct UnifiedPipelineCancelled {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `func` is never read
[INFO] [stdout]   --> stageflow/src/stages/mod.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct AsyncFnStage<F, Fut>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     func: F,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_value` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:51:8
[INFO] [stdout]    |
[INFO] [stdout] 51 | pub fn assert_output_value(output: &StageOutput, key: &str, expected: &serde_json::Value) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_metadata` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn assert_output_metadata(output: &StageOutput, key: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_retryable` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub fn assert_output_retryable(output: &StageOutput) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_not_retryable` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:81:8
[INFO] [stdout]    |
[INFO] [stdout] 81 | pub fn assert_output_not_retryable(output: &StageOutput) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `tool_name`, `message`, and `created_at` are never read
[INFO] [stdout]   --> stageflow/src/tools/approval.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ApprovalRequest {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 28 |     /// Request ID.
[INFO] [stdout] 29 |     id: Uuid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     /// Tool name.
[INFO] [stdout] 31 |     tool_name: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 32 |     /// Approval message.
[INFO] [stdout] 33 |     message: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 34 |     /// When the request was created.
[INFO] [stdout] 35 |     created_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApprovalRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_SERVICE` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | static GLOBAL_SERVICE: RwLock<Option<Arc<ApprovalService>>> = RwLock::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_approval_service` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn get_approval_service() -> Arc<ApprovalService> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_approval_service` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn clear_approval_service() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_STORE` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | static GLOBAL_STORE: RwLock<Option<Arc<UndoStore>>> = RwLock::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn get_undo_store() -> Arc<UndoStore> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn set_undo_store(store: Arc<UndoStore>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn clear_undo_store() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     PiiDetected,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> stageflow/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     missing_docs,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Profanity,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Toxicity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ContentTooLong,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     RateLimited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BlockedTopic,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InjectionAttempt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Custom,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub violation_type: ViolationType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub severity: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub location: Option<(usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub passed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub violations: Vec<PolicyViolation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub transformed_content: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub session_id: Uuid,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub role: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub content: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub max_entries: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub max_tokens: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub include_system: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub recency_window_seconds: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> stageflow/src/helpers/providers.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub content: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub model: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub provider: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub input_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub output_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub finish_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub tool_calls: Option<Vec<serde_json::Value>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub cached_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub text: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub confidence: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub is_final: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub duration_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub provider: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub model: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub audio: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub duration_ms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub format: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub provider: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub model: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub channels: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub characters_processed: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> stageflow/src/helpers/streaming.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Pcm16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Pcm32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Float32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub data: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub channels: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub format: AudioFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub timestamp_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub is_final: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub total_items: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub dropped_items: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub max_queue_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fill_percentage: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub blocked_puts: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub total_blocked_ms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     Cycle(CycleError),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     MissingDependency(MissingDependencyError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     SelfDependency(SelfDependencyError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     InvalidName(InvalidNameError),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `name`
[INFO] [stdout]   --> stageflow/src/cancellation/task_group.rs:49:33
[INFO] [stdout]    |
[INFO] [stdout] 49 |     pub fn spawn<F, Fut>(&self, name: &str, task: F)
[INFO] [stdout]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `delta`
[INFO] [stdout]    --> stageflow/src/compression/mod.rs:233:14
[INFO] [stdout]     |
[INFO] [stdout] 233 |         let (delta, metrics) = compress(&base, &current);
[INFO] [stdout]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `default_timezone`
[INFO] [stdout]   --> stageflow/src/helpers/timestamps.rs:16:52
[INFO] [stdout]    |
[INFO] [stdout] 16 | pub fn normalize_to_utc(dt: DateTime<FixedOffset>, default_timezone: Option<FixedOffset>) -> DateTime<Utc> {
[INFO] [stdout]    |                                                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_timezone`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `error`
[INFO] [stdout]   --> stageflow/src/interceptors/chain.rs:32:51
[INFO] [stdout]    |
[INFO] [stdout] 32 |     async fn on_error(&self, _ctx: &StageContext, error: &str) -> Option<StageOutput> {
[INFO] [stdout]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> stageflow/src/interceptors/hardening.rs:44:28
[INFO] [stdout]    |
[INFO] [stdout] 44 |     async fn before(&self, ctx: &StageContext) -> Option<StageOutput> {
[INFO] [stdout]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `ctx`
[INFO] [stdout]   --> stageflow/src/interceptors/hardening.rs:50:27
[INFO] [stdout]    |
[INFO] [stdout] 50 |     async fn after(&self, ctx: &StageContext, output: StageOutput) -> StageOutput {
[INFO] [stdout]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `result`
[INFO] [stdout]    --> stageflow/src/pipeline/builder.rs:260:13
[INFO] [stdout]     |
[INFO] [stdout] 260 |         let result = PipelineBuilder::new("test")
[INFO] [stdout]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spec`
[INFO] [stdout]    --> stageflow/src/pipeline/builder.rs:302:13
[INFO] [stdout]     |
[INFO] [stdout] 302 |         let spec = StageSpec::new("shared", noop("shared"))
[INFO] [stdout]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_spec`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `deps`
[INFO] [stdout]   --> stageflow/src/pipeline/builder_helpers.rs:59:17
[INFO] [stdout]    |
[INFO] [stdout] 59 |             let deps: Vec<&str> = if i == 0 {
[INFO] [stdout]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_deps`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling stageflow-py v0.1.0 (/opt/rustwide/workdir/stageflow-py)
[INFO] [stdout] warning: unused variable: `stage`
[INFO] [stdout]    --> stageflow/src/pipeline/failure_tolerance.rs:196:27
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub fn can_run(&self, stage: &str, dependencies: &[String]) -> bool {
[INFO] [stdout]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stage`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]   --> stageflow-py/src/lib.rs:75:13
[INFO] [stdout]    |
[INFO] [stdout] 75 |     fn skip(reason: String) -> Self {
[INFO] [stdout]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `reason`
[INFO] [stdout]   --> stageflow-py/src/lib.rs:87:15
[INFO] [stdout]    |
[INFO] [stdout] 87 |     fn cancel(reason: String) -> Self {
[INFO] [stdout]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `metadata` is never read
[INFO] [stdout]   --> stageflow-py/src/lib.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 14 | pub struct PyStageOutput {
[INFO] [stdout]    |            ------------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 19 |     metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `PyStageOutput` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `started_at`, `ended_at`, `data`, and `error` are never read
[INFO] [stdout]    --> stageflow-py/src/lib.rs:537:5
[INFO] [stdout]     |
[INFO] [stdout] 534 | pub struct PyStageResult {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 537 |     started_at: String,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 538 |     ended_at: String,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 539 |     data: HashMap<String, serde_json::Value>,
[INFO] [stdout]     |     ^^^^
[INFO] [stdout] 540 |     error: Option<String>,
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `PyStageResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `status`
[INFO] [stdout]    --> stageflow/src/tools/executor.rs:121:21
[INFO] [stdout]     |
[INFO] [stdout] 121 |                 Err(status) => {
[INFO] [stdout]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `path` and `append` are never read
[INFO] [stdout]   --> stageflow/src/helpers/analytics.rs:74:5
[INFO] [stdout]    |
[INFO] [stdout] 73 | pub struct JSONFileExporter {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 74 |     path: std::path::PathBuf,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 75 |     append: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `colorize` and `verbose` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:99:5
[INFO] [stdout]     |
[INFO] [stdout]  98 | pub struct ConsoleExporter {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout]  99 |     colorize: bool,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 100 |     verbose: bool,
[INFO] [stdout]     |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `batch_size`, `flush_interval_seconds`, and `max_buffer_size` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:124:5
[INFO] [stdout]     |
[INFO] [stdout] 123 | pub struct BufferedExporter {
[INFO] [stdout]     |            ---------------- fields in this struct
[INFO] [stdout] 124 |     batch_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^
[INFO] [stdout] 125 |     flush_interval_seconds: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 126 |     max_buffer_size: usize,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `exclude_patterns` and `include_patterns` are never read
[INFO] [stdout]    --> stageflow/src/helpers/analytics.rs:143:5
[INFO] [stdout]     |
[INFO] [stdout] 142 | pub struct AnalyticsSink {
[INFO] [stdout]     |            ------------- fields in this struct
[INFO] [stdout] 143 |     exclude_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 144 |     include_patterns: Vec<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `detect_types` and `redact` are never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 50 | pub struct PIIDetector {
[INFO] [stdout]    |            ----------- fields in this struct
[INFO] [stdout] 51 |     detect_types: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 52 |     redact: bool,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `profanity_words` and `blocked_patterns` are never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct ContentFilter {
[INFO] [stdout]    |            ------------- fields in this struct
[INFO] [stdout] 65 |     profanity_words: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 66 |     blocked_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `additional_patterns` is never read
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 84 | pub struct InjectionDetector {
[INFO] [stdout]    |            ----------------- field in this struct
[INFO] [stdout] 85 |     additional_patterns: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `content_key` and `fail_on_violation` are never read
[INFO] [stdout]    --> stageflow/src/helpers/guardrails.rs:104:5
[INFO] [stdout]     |
[INFO] [stdout] 103 | pub struct GuardrailStage {
[INFO] [stdout]     |            -------------- fields in this struct
[INFO] [stdout] 104 |     content_key: Option<String>,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 105 |     fail_on_violation: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `store` and `config` are never read
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 83 | pub struct MemoryFetchStage {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 84 |     store: std::sync::Arc<InMemoryStore>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 85 |     config: MemoryConfig,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `responses`, `patterns`, `echo_mode`, `latency_ms`, and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:8:5
[INFO] [stdout]    |
[INFO] [stdout]  7 | pub struct MockLLMProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout]  8 |     responses: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout]  9 |     patterns: HashMap<String, String>,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 10 |     echo_mode: bool,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 11 |     latency_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 12 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `transcriptions` and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:44:5
[INFO] [stdout]    |
[INFO] [stdout] 43 | pub struct MockSTTProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 44 |     transcriptions: Vec<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 45 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `sample_rate`, `fail_rate`, and `call_count` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub struct MockTTSProvider {
[INFO] [stdout]    |            --------------- fields in this struct
[INFO] [stdout] 65 |     sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 66 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 67 |     call_count: AtomicUsize,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `valid_tokens`, `accept_any`, and `fail_rate` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:80:5
[INFO] [stdout]    |
[INFO] [stdout] 79 | pub struct MockAuthProvider {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 80 |     valid_tokens: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 81 |     accept_any: bool,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 82 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `tools`, `fail_rate`, and `latency_ms` are never read
[INFO] [stdout]   --> stageflow/src/helpers/mocks.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 94 | pub struct MockToolExecutor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] 95 |     tools: HashMap<String, Box<dyn Fn(serde_json::Value) -> serde_json::Value + Send + Sync>>,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 96 |     execution_count: AtomicUsize,
[INFO] [stdout] 97 |     fail_rate: f64,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 98 |     latency_ms: u64,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `high_water_mark`, `low_water_mark`, and `is_throttling` are never read
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:82:5
[INFO] [stdout]    |
[INFO] [stdout] 80 | pub struct BackpressureMonitor {
[INFO] [stdout]    |            ------------------- fields in this struct
[INFO] [stdout] 81 |     stats: parking_lot::RwLock<BackpressureStats>,
[INFO] [stdout] 82 |     high_water_mark: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 83 |     low_water_mark: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 84 |     is_throttling: std::sync::atomic::AtomicBool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_size` and `drop_on_overflow` are never read
[INFO] [stdout]    --> stageflow/src/helpers/streaming.rs:121:5
[INFO] [stdout]     |
[INFO] [stdout] 120 | pub struct ChunkQueue {
[INFO] [stdout]     |            ---------- fields in this struct
[INFO] [stdout] 121 |     max_size: usize,
[INFO] [stdout]     |     ^^^^^^^^
[INFO] [stdout] 122 |     drop_on_overflow: bool,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `max_duration_ms` and `sample_rate` are never read
[INFO] [stdout]    --> stageflow/src/helpers/streaming.rs:135:5
[INFO] [stdout]     |
[INFO] [stdout] 134 | pub struct StreamingBuffer {
[INFO] [stdout]     |            --------------- fields in this struct
[INFO] [stdout] 135 |     max_duration_ms: f64,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 136 |     sample_rate: u32,
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `backoff` and `jitter` are never read
[INFO] [stdout]   --> stageflow/src/interceptors/retry.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 72 | pub struct RetryInterceptor {
[INFO] [stdout]    |            ---------------- fields in this struct
[INFO] [stdout] ...
[INFO] [stdout] 76 |     backoff: BackoffStrategy,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 77 |     /// Jitter strategy.
[INFO] [stdout] 78 |     jitter: JitterStrategy,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: method `calculate_delay` is never used
[INFO] [stdout]    --> stageflow/src/interceptors/retry.rs:109:8
[INFO] [stdout]     |
[INFO] [stdout]  81 | impl RetryInterceptor {
[INFO] [stdout]     | --------------------- method in this implementation
[INFO] [stdout] ...
[INFO] [stdout] 109 |     fn calculate_delay(&self, attempt: u32) -> Duration {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `test_context` is never used
[INFO] [stdout]   --> stageflow/src/pipeline/integration_tests.rs:73:8
[INFO] [stdout]    |
[INFO] [stdout] 73 |     fn test_context() -> Arc<PipelineContext> {
[INFO] [stdout]    |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `UnifiedPipelineCancelled` is never constructed
[INFO] [stdout]   --> stageflow/src/pipeline/unified.rs:15:12
[INFO] [stdout]    |
[INFO] [stdout] 15 | pub struct UnifiedPipelineCancelled {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `func` is never read
[INFO] [stdout]   --> stageflow/src/stages/mod.rs:91:5
[INFO] [stdout]    |
[INFO] [stdout] 85 | pub struct AsyncFnStage<F, Fut>
[INFO] [stdout]    |            ------------ field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 91 |     func: F,
[INFO] [stdout]    |     ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `assert_output_metadata` is never used
[INFO] [stdout]   --> stageflow/src/testing/assertions.rs:64:8
[INFO] [stdout]    |
[INFO] [stdout] 64 | pub fn assert_output_metadata(output: &StageOutput, key: &str) {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: fields `id`, `tool_name`, `message`, and `created_at` are never read
[INFO] [stdout]   --> stageflow/src/tools/approval.rs:29:5
[INFO] [stdout]    |
[INFO] [stdout] 27 | struct ApprovalRequest {
[INFO] [stdout]    |        --------------- fields in this struct
[INFO] [stdout] 28 |     /// Request ID.
[INFO] [stdout] 29 |     id: Uuid,
[INFO] [stdout]    |     ^^
[INFO] [stdout] 30 |     /// Tool name.
[INFO] [stdout] 31 |     tool_name: String,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 32 |     /// Approval message.
[INFO] [stdout] 33 |     message: String,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 34 |     /// When the request was created.
[INFO] [stdout] 35 |     created_at: Instant,
[INFO] [stdout]    |     ^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `ApprovalRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_SERVICE` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:145:8
[INFO] [stdout]     |
[INFO] [stdout] 145 | static GLOBAL_SERVICE: RwLock<Option<Arc<ApprovalService>>> = RwLock::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_approval_service` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:148:8
[INFO] [stdout]     |
[INFO] [stdout] 148 | pub fn get_approval_service() -> Arc<ApprovalService> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_approval_service` is never used
[INFO] [stdout]    --> stageflow/src/tools/approval.rs:163:8
[INFO] [stdout]     |
[INFO] [stdout] 163 | pub fn clear_approval_service() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: static `GLOBAL_STORE` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:168:8
[INFO] [stdout]     |
[INFO] [stdout] 168 | static GLOBAL_STORE: RwLock<Option<Arc<UndoStore>>> = RwLock::new(None);
[INFO] [stdout]     |        ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `get_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:171:8
[INFO] [stdout]     |
[INFO] [stdout] 171 | pub fn get_undo_store() -> Arc<UndoStore> {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `set_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:186:8
[INFO] [stdout]     |
[INFO] [stdout] 186 | pub fn set_undo_store(store: Arc<UndoStore>) {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `clear_undo_store` is never used
[INFO] [stdout]    --> stageflow/src/tools/undo.rs:191:8
[INFO] [stdout]     |
[INFO] [stdout] 191 | pub fn clear_undo_store() {
[INFO] [stdout]     |        ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:9:5
[INFO] [stdout]    |
[INFO] [stdout]  9 |     PiiDetected,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout] note: the lint level is defined here
[INFO] [stdout]   --> stageflow/src/lib.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     missing_docs,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Profanity,
[INFO] [stdout]    |     ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Toxicity,
[INFO] [stdout]    |     ^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     ContentTooLong,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     RateLimited,
[INFO] [stdout]    |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     BlockedTopic,
[INFO] [stdout]    |     ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     InjectionAttempt,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:16:5
[INFO] [stdout]    |
[INFO] [stdout] 16 |     Custom,
[INFO] [stdout]    |     ^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub violation_type: ViolationType,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub message: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub severity: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:28:5
[INFO] [stdout]    |
[INFO] [stdout] 28 |     pub location: Option<(usize, usize)>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:34:5
[INFO] [stdout]    |
[INFO] [stdout] 34 |     pub passed: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:35:5
[INFO] [stdout]    |
[INFO] [stdout] 35 |     pub violations: Vec<PolicyViolation>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:36:5
[INFO] [stdout]    |
[INFO] [stdout] 36 |     pub transformed_content: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/guardrails.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub id: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     pub session_id: Uuid,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub role: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:14:5
[INFO] [stdout]    |
[INFO] [stdout] 14 |     pub content: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub timestamp: DateTime<Utc>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub metadata: HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:37:5
[INFO] [stdout]    |
[INFO] [stdout] 37 |     pub max_entries: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:38:5
[INFO] [stdout]    |
[INFO] [stdout] 38 |     pub max_tokens: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:39:5
[INFO] [stdout]    |
[INFO] [stdout] 39 |     pub include_system: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/memory.rs:40:5
[INFO] [stdout]    |
[INFO] [stdout] 40 |     pub recency_window_seconds: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]  --> stageflow/src/helpers/providers.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     pub content: String,
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     pub model: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     pub provider: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:13:5
[INFO] [stdout]    |
[INFO] [stdout] 13 |     pub input_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:15:5
[INFO] [stdout]    |
[INFO] [stdout] 15 |     pub output_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub finish_reason: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub tool_calls: Option<Vec<serde_json::Value>>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub cached_tokens: Option<u32>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:50:5
[INFO] [stdout]    |
[INFO] [stdout] 50 |     pub text: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:51:5
[INFO] [stdout]    |
[INFO] [stdout] 51 |     pub confidence: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     pub language: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:53:5
[INFO] [stdout]    |
[INFO] [stdout] 53 |     pub is_final: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:55:5
[INFO] [stdout]    |
[INFO] [stdout] 55 |     pub duration_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:57:5
[INFO] [stdout]    |
[INFO] [stdout] 57 |     pub provider: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:59:5
[INFO] [stdout]    |
[INFO] [stdout] 59 |     pub model: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:61:5
[INFO] [stdout]    |
[INFO] [stdout] 61 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:83:5
[INFO] [stdout]    |
[INFO] [stdout] 83 |     pub audio: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:84:5
[INFO] [stdout]    |
[INFO] [stdout] 84 |     pub duration_ms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:85:5
[INFO] [stdout]    |
[INFO] [stdout] 85 |     pub sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:86:5
[INFO] [stdout]    |
[INFO] [stdout] 86 |     pub format: String,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:88:5
[INFO] [stdout]    |
[INFO] [stdout] 88 |     pub provider: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:90:5
[INFO] [stdout]    |
[INFO] [stdout] 90 |     pub model: Option<String>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:92:5
[INFO] [stdout]    |
[INFO] [stdout] 92 |     pub latency_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:93:5
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub channels: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/providers.rs:95:5
[INFO] [stdout]    |
[INFO] [stdout] 95 |     pub characters_processed: Option<usize>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]  --> stageflow/src/helpers/streaming.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     Pcm16,
[INFO] [stdout]   |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     Pcm32,
[INFO] [stdout]    |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     Float32,
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:18:5
[INFO] [stdout]    |
[INFO] [stdout] 18 |     pub data: Vec<u8>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:19:5
[INFO] [stdout]    |
[INFO] [stdout] 19 |     pub sample_rate: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:20:5
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub channels: u8,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:21:5
[INFO] [stdout]    |
[INFO] [stdout] 21 |     pub format: AudioFormat,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:23:5
[INFO] [stdout]    |
[INFO] [stdout] 23 |     pub timestamp_ms: Option<f64>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     pub sequence: u32,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:25:5
[INFO] [stdout]    |
[INFO] [stdout] 25 |     pub is_final: bool,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:27:5
[INFO] [stdout]    |
[INFO] [stdout] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:62:5
[INFO] [stdout]    |
[INFO] [stdout] 62 |     pub total_items: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:63:5
[INFO] [stdout]    |
[INFO] [stdout] 63 |     pub dropped_items: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     pub max_queue_size: usize,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:65:5
[INFO] [stdout]    |
[INFO] [stdout] 65 |     pub fill_percentage: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:66:5
[INFO] [stdout]    |
[INFO] [stdout] 66 |     pub blocked_puts: u64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a struct field
[INFO] [stdout]   --> stageflow/src/helpers/streaming.rs:67:5
[INFO] [stdout]    |
[INFO] [stdout] 67 |     pub total_blocked_ms: f64,
[INFO] [stdout]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:180:5
[INFO] [stdout]     |
[INFO] [stdout] 180 |     Cycle(CycleError),
[INFO] [stdout]     |     ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:181:5
[INFO] [stdout]     |
[INFO] [stdout] 181 |     MissingDependency(MissingDependencyError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:182:5
[INFO] [stdout]     |
[INFO] [stdout] 182 |     SelfDependency(SelfDependencyError),
[INFO] [stdout]     |     ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: missing documentation for a variant
[INFO] [stdout]    --> stageflow/src/utils/validation.rs:183:5
[INFO] [stdout]     |
[INFO] [stdout] 183 |     InvalidName(InvalidNameError),
[INFO] [stdout]     |     ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 16.66s
[INFO] running `Command { std: "docker" "inspect" "8d63e4d0811b411a6c9891830ac6dd1a3d4deaa0083cc12fd689a8bafef6db3b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "8d63e4d0811b411a6c9891830ac6dd1a3d4deaa0083cc12fd689a8bafef6db3b", kill_on_drop: false }`
[INFO] [stdout] 8d63e4d0811b411a6c9891830ac6dd1a3d4deaa0083cc12fd689a8bafef6db3b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-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:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+f9988fefd3add01f414f52b414308e7872622fee" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 5b00a46fad69311f679f1fd39b394531858c1551617427de90a64eb3cbdf047e
[INFO] running `Command { std: "docker" "start" "-a" "5b00a46fad69311f679f1fd39b394531858c1551617427de90a64eb3cbdf047e", kill_on_drop: false }`
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> stageflow/src/cancellation/cleanup.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> stageflow/src/cancellation/token.rs:5:5
[INFO] [stderr]   |
[INFO] [stderr] 5 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> stageflow/src/context/bags.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `HashSet`
[INFO] [stderr]  --> stageflow/src/context/execution.rs:7:33
[INFO] [stderr]   |
[INFO] [stderr] 7 | use std::collections::{HashMap, HashSet};
[INFO] [stderr]   |                                 ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]  --> stageflow/src/events/sink.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::collections::HashMap;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `crate::core::StageKind`
[INFO] [stderr]  --> stageflow/src/pipeline/builder.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use crate::core::StageKind;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PipelineSpec` and `StageSpec`
[INFO] [stderr]  --> stageflow/src/testing/fixtures.rs:8:23
[INFO] [stderr]   |
[INFO] [stderr] 8 | use crate::pipeline::{PipelineSpec, StageSpec};
[INFO] [stderr]   |                       ^^^^^^^^^^^^  ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> stageflow/src/testing/mocks.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `async_trait::async_trait`
[INFO] [stderr]  --> stageflow/src/tools/executor.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use async_trait::async_trait;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `tracing::warn`
[INFO] [stderr]  --> stageflow/src/tools/executor.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 | use tracing::warn;
[INFO] [stderr]   |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::str::FromStr`
[INFO] [stderr]  --> stageflow/src/utils/timestamps.rs:4:5
[INFO] [stderr]   |
[INFO] [stderr] 4 | use std::str::FromStr;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `DateTime`
[INFO] [stderr]  --> stageflow/src/websearch/models.rs:3:14
[INFO] [stderr]   |
[INFO] [stderr] 3 | use chrono::{DateTime, Utc};
[INFO] [stderr]   |              ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `Tool`
[INFO] [stderr]  --> stageflow/src/tools/executor.rs:3:30
[INFO] [stderr]   |
[INFO] [stderr] 3 | use super::{ApprovalService, Tool, ToolDefinition, ToolInput, ToolOutput, ToolRegistry, UndoMetadata, UndoStore};
[INFO] [stderr]   |                              ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `name`
[INFO] [stderr]   --> stageflow/src/cancellation/task_group.rs:49:33
[INFO] [stderr]    |
[INFO] [stderr] 49 |     pub fn spawn<F, Fut>(&self, name: &str, task: F)
[INFO] [stderr]    |                                 ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `default_timezone`
[INFO] [stderr]   --> stageflow/src/helpers/timestamps.rs:16:52
[INFO] [stderr]    |
[INFO] [stderr] 16 | pub fn normalize_to_utc(dt: DateTime<FixedOffset>, default_timezone: Option<FixedOffset>) -> DateTime<Utc> {
[INFO] [stderr]    |                                                    ^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_default_timezone`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `error`
[INFO] [stderr]   --> stageflow/src/interceptors/chain.rs:32:51
[INFO] [stderr]    |
[INFO] [stderr] 32 |     async fn on_error(&self, _ctx: &StageContext, error: &str) -> Option<StageOutput> {
[INFO] [stderr]    |                                                   ^^^^^ help: if this is intentional, prefix it with an underscore: `_error`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> stageflow/src/interceptors/hardening.rs:44:28
[INFO] [stderr]    |
[INFO] [stderr] 44 |     async fn before(&self, ctx: &StageContext) -> Option<StageOutput> {
[INFO] [stderr]    |                            ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `ctx`
[INFO] [stderr]   --> stageflow/src/interceptors/hardening.rs:50:27
[INFO] [stderr]    |
[INFO] [stderr] 50 |     async fn after(&self, ctx: &StageContext, output: StageOutput) -> StageOutput {
[INFO] [stderr]    |                           ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `deps`
[INFO] [stderr]   --> stageflow/src/pipeline/builder_helpers.rs:59:17
[INFO] [stderr]    |
[INFO] [stderr] 59 |             let deps: Vec<&str> = if i == 0 {
[INFO] [stderr]    |                 ^^^^ help: if this is intentional, prefix it with an underscore: `_deps`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `stage`
[INFO] [stderr]    --> stageflow/src/pipeline/failure_tolerance.rs:196:27
[INFO] [stderr]     |
[INFO] [stderr] 196 |     pub fn can_run(&self, stage: &str, dependencies: &[String]) -> bool {
[INFO] [stderr]     |                           ^^^^^ help: if this is intentional, prefix it with an underscore: `_stage`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `status`
[INFO] [stderr]    --> stageflow/src/tools/executor.rs:121:21
[INFO] [stderr]     |
[INFO] [stderr] 121 |                 Err(status) => {
[INFO] [stderr]     |                     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_status`
[INFO] [stderr] 
[INFO] [stderr] warning: struct `CollectingEventSink` is never constructed
[INFO] [stderr]    --> stageflow/src/events/sink.rs:117:12
[INFO] [stderr]     |
[INFO] [stderr] 117 | pub struct CollectingEventSink {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: associated items `new`, `events`, `len`, `is_empty`, `clear`, and `events_of_type` are never used
[INFO] [stderr]    --> stageflow/src/events/sink.rs:124:12
[INFO] [stderr]     |
[INFO] [stderr] 121 | impl CollectingEventSink {
[INFO] [stderr]     | ------------------------ associated items in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 124 |     pub fn new() -> Self {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 130 |     pub fn events(&self) -> Vec<(String, Option<serde_json::Value>)> {
[INFO] [stderr]     |            ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 136 |     pub fn len(&self) -> usize {
[INFO] [stderr]     |            ^^^
[INFO] [stderr] ...
[INFO] [stderr] 142 |     pub fn is_empty(&self) -> bool {
[INFO] [stderr]     |            ^^^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 147 |     pub fn clear(&self) {
[INFO] [stderr]     |            ^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 153 |     pub fn events_of_type(&self, type_prefix: &str) -> Vec<(String, Option<serde_json::Value>)> {
[INFO] [stderr]     |            ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path` and `append` are never read
[INFO] [stderr]   --> stageflow/src/helpers/analytics.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct JSONFileExporter {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 74 |     path: std::path::PathBuf,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 75 |     append: bool,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `colorize` and `verbose` are never read
[INFO] [stderr]    --> stageflow/src/helpers/analytics.rs:99:5
[INFO] [stderr]     |
[INFO] [stderr]  98 | pub struct ConsoleExporter {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr]  99 |     colorize: bool,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 100 |     verbose: bool,
[INFO] [stderr]     |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `batch_size`, `flush_interval_seconds`, and `max_buffer_size` are never read
[INFO] [stderr]    --> stageflow/src/helpers/analytics.rs:124:5
[INFO] [stderr]     |
[INFO] [stderr] 123 | pub struct BufferedExporter {
[INFO] [stderr]     |            ---------------- fields in this struct
[INFO] [stderr] 124 |     batch_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 125 |     flush_interval_seconds: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 126 |     max_buffer_size: usize,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `exclude_patterns` and `include_patterns` are never read
[INFO] [stderr]    --> stageflow/src/helpers/analytics.rs:143:5
[INFO] [stderr]     |
[INFO] [stderr] 142 | pub struct AnalyticsSink {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] 143 |     exclude_patterns: Vec<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 144 |     include_patterns: Vec<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `detect_types` and `redact` are never read
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 50 | pub struct PIIDetector {
[INFO] [stderr]    |            ----------- fields in this struct
[INFO] [stderr] 51 |     detect_types: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 52 |     redact: bool,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `profanity_words` and `blocked_patterns` are never read
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct ContentFilter {
[INFO] [stderr]    |            ------------- fields in this struct
[INFO] [stderr] 65 |     profanity_words: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 66 |     blocked_patterns: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `additional_patterns` is never read
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:85:5
[INFO] [stderr]    |
[INFO] [stderr] 84 | pub struct InjectionDetector {
[INFO] [stderr]    |            ----------------- field in this struct
[INFO] [stderr] 85 |     additional_patterns: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `content_key` and `fail_on_violation` are never read
[INFO] [stderr]    --> stageflow/src/helpers/guardrails.rs:104:5
[INFO] [stderr]     |
[INFO] [stderr] 103 | pub struct GuardrailStage {
[INFO] [stderr]     |            -------------- fields in this struct
[INFO] [stderr] 104 |     content_key: Option<String>,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 105 |     fail_on_violation: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `store` and `config` are never read
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 83 | pub struct MemoryFetchStage {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 84 |     store: std::sync::Arc<InMemoryStore>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 85 |     config: MemoryConfig,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `responses`, `patterns`, `echo_mode`, `latency_ms`, and `fail_rate` are never read
[INFO] [stderr]   --> stageflow/src/helpers/mocks.rs:8:5
[INFO] [stderr]    |
[INFO] [stderr]  7 | pub struct MockLLMProvider {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr]  8 |     responses: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr]  9 |     patterns: HashMap<String, String>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 10 |     echo_mode: bool,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 11 |     latency_ms: u64,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 12 |     fail_rate: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `transcriptions` and `fail_rate` are never read
[INFO] [stderr]   --> stageflow/src/helpers/mocks.rs:44:5
[INFO] [stderr]    |
[INFO] [stderr] 43 | pub struct MockSTTProvider {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 44 |     transcriptions: Vec<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 45 |     fail_rate: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `sample_rate`, `fail_rate`, and `call_count` are never read
[INFO] [stderr]   --> stageflow/src/helpers/mocks.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub struct MockTTSProvider {
[INFO] [stderr]    |            --------------- fields in this struct
[INFO] [stderr] 65 |     sample_rate: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 66 |     fail_rate: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 67 |     call_count: AtomicUsize,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `valid_tokens`, `accept_any`, and `fail_rate` are never read
[INFO] [stderr]   --> stageflow/src/helpers/mocks.rs:80:5
[INFO] [stderr]    |
[INFO] [stderr] 79 | pub struct MockAuthProvider {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 80 |     valid_tokens: HashMap<String, serde_json::Value>,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 81 |     accept_any: bool,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 82 |     fail_rate: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `tools`, `fail_rate`, and `latency_ms` are never read
[INFO] [stderr]   --> stageflow/src/helpers/mocks.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 94 | pub struct MockToolExecutor {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 95 |     tools: HashMap<String, Box<dyn Fn(serde_json::Value) -> serde_json::Value + Send + Sync>>,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 96 |     execution_count: AtomicUsize,
[INFO] [stderr] 97 |     fail_rate: f64,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 98 |     latency_ms: u64,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `high_water_mark`, `low_water_mark`, and `is_throttling` are never read
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:82:5
[INFO] [stderr]    |
[INFO] [stderr] 80 | pub struct BackpressureMonitor {
[INFO] [stderr]    |            ------------------- fields in this struct
[INFO] [stderr] 81 |     stats: parking_lot::RwLock<BackpressureStats>,
[INFO] [stderr] 82 |     high_water_mark: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 83 |     low_water_mark: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 84 |     is_throttling: std::sync::atomic::AtomicBool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `max_size` and `drop_on_overflow` are never read
[INFO] [stderr]    --> stageflow/src/helpers/streaming.rs:121:5
[INFO] [stderr]     |
[INFO] [stderr] 120 | pub struct ChunkQueue {
[INFO] [stderr]     |            ---------- fields in this struct
[INFO] [stderr] 121 |     max_size: usize,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 122 |     drop_on_overflow: bool,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `max_duration_ms` and `sample_rate` are never read
[INFO] [stderr]    --> stageflow/src/helpers/streaming.rs:135:5
[INFO] [stderr]     |
[INFO] [stderr] 134 | pub struct StreamingBuffer {
[INFO] [stderr]     |            --------------- fields in this struct
[INFO] [stderr] 135 |     max_duration_ms: f64,
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 136 |     sample_rate: u32,
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `backoff` and `jitter` are never read
[INFO] [stderr]   --> stageflow/src/interceptors/retry.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 72 | pub struct RetryInterceptor {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 76 |     backoff: BackoffStrategy,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 77 |     /// Jitter strategy.
[INFO] [stderr] 78 |     jitter: JitterStrategy,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: method `calculate_delay` is never used
[INFO] [stderr]    --> stageflow/src/interceptors/retry.rs:109:8
[INFO] [stderr]     |
[INFO] [stderr]  81 | impl RetryInterceptor {
[INFO] [stderr]     | --------------------- method in this implementation
[INFO] [stderr] ...
[INFO] [stderr] 109 |     fn calculate_delay(&self, attempt: u32) -> Duration {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: struct `UnifiedPipelineCancelled` is never constructed
[INFO] [stderr]   --> stageflow/src/pipeline/unified.rs:15:12
[INFO] [stderr]    |
[INFO] [stderr] 15 | pub struct UnifiedPipelineCancelled {
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: field `func` is never read
[INFO] [stderr]   --> stageflow/src/stages/mod.rs:91:5
[INFO] [stderr]    |
[INFO] [stderr] 85 | pub struct AsyncFnStage<F, Fut>
[INFO] [stderr]    |            ------------ field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 91 |     func: F,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_output_value` is never used
[INFO] [stderr]   --> stageflow/src/testing/assertions.rs:51:8
[INFO] [stderr]    |
[INFO] [stderr] 51 | pub fn assert_output_value(output: &StageOutput, key: &str, expected: &serde_json::Value) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_output_metadata` is never used
[INFO] [stderr]   --> stageflow/src/testing/assertions.rs:64:8
[INFO] [stderr]    |
[INFO] [stderr] 64 | pub fn assert_output_metadata(output: &StageOutput, key: &str) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_output_retryable` is never used
[INFO] [stderr]   --> stageflow/src/testing/assertions.rs:73:8
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub fn assert_output_retryable(output: &StageOutput) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `assert_output_not_retryable` is never used
[INFO] [stderr]   --> stageflow/src/testing/assertions.rs:81:8
[INFO] [stderr]    |
[INFO] [stderr] 81 | pub fn assert_output_not_retryable(output: &StageOutput) {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: fields `id`, `tool_name`, `message`, and `created_at` are never read
[INFO] [stderr]   --> stageflow/src/tools/approval.rs:29:5
[INFO] [stderr]    |
[INFO] [stderr] 27 | struct ApprovalRequest {
[INFO] [stderr]    |        --------------- fields in this struct
[INFO] [stderr] 28 |     /// Request ID.
[INFO] [stderr] 29 |     id: Uuid,
[INFO] [stderr]    |     ^^
[INFO] [stderr] 30 |     /// Tool name.
[INFO] [stderr] 31 |     tool_name: String,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 32 |     /// Approval message.
[INFO] [stderr] 33 |     message: String,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 34 |     /// When the request was created.
[INFO] [stderr] 35 |     created_at: Instant,
[INFO] [stderr]    |     ^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `ApprovalRequest` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: static `GLOBAL_SERVICE` is never used
[INFO] [stderr]    --> stageflow/src/tools/approval.rs:145:8
[INFO] [stderr]     |
[INFO] [stderr] 145 | static GLOBAL_SERVICE: RwLock<Option<Arc<ApprovalService>>> = RwLock::new(None);
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_approval_service` is never used
[INFO] [stderr]    --> stageflow/src/tools/approval.rs:148:8
[INFO] [stderr]     |
[INFO] [stderr] 148 | pub fn get_approval_service() -> Arc<ApprovalService> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_approval_service` is never used
[INFO] [stderr]    --> stageflow/src/tools/approval.rs:163:8
[INFO] [stderr]     |
[INFO] [stderr] 163 | pub fn clear_approval_service() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: static `GLOBAL_STORE` is never used
[INFO] [stderr]    --> stageflow/src/tools/undo.rs:168:8
[INFO] [stderr]     |
[INFO] [stderr] 168 | static GLOBAL_STORE: RwLock<Option<Arc<UndoStore>>> = RwLock::new(None);
[INFO] [stderr]     |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `get_undo_store` is never used
[INFO] [stderr]    --> stageflow/src/tools/undo.rs:171:8
[INFO] [stderr]     |
[INFO] [stderr] 171 | pub fn get_undo_store() -> Arc<UndoStore> {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `set_undo_store` is never used
[INFO] [stderr]    --> stageflow/src/tools/undo.rs:186:8
[INFO] [stderr]     |
[INFO] [stderr] 186 | pub fn set_undo_store(store: Arc<UndoStore>) {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `clear_undo_store` is never used
[INFO] [stderr]    --> stageflow/src/tools/undo.rs:191:8
[INFO] [stderr]     |
[INFO] [stderr] 191 | pub fn clear_undo_store() {
[INFO] [stderr]     |        ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:9:5
[INFO] [stderr]    |
[INFO] [stderr]  9 |     PiiDetected,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr] note: the lint level is defined here
[INFO] [stderr]   --> stageflow/src/lib.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     missing_docs,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Profanity,
[INFO] [stderr]    |     ^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Toxicity,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     ContentTooLong,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     RateLimited,
[INFO] [stderr]    |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     BlockedTopic,
[INFO] [stderr]    |     ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     InjectionAttempt,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:16:5
[INFO] [stderr]    |
[INFO] [stderr] 16 |     Custom,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub violation_type: ViolationType,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub message: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub severity: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:28:5
[INFO] [stderr]    |
[INFO] [stderr] 28 |     pub location: Option<(usize, usize)>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:34:5
[INFO] [stderr]    |
[INFO] [stderr] 34 |     pub passed: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:35:5
[INFO] [stderr]    |
[INFO] [stderr] 35 |     pub violations: Vec<PolicyViolation>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:36:5
[INFO] [stderr]    |
[INFO] [stderr] 36 |     pub transformed_content: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/guardrails.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub id: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:12:5
[INFO] [stderr]    |
[INFO] [stderr] 12 |     pub session_id: Uuid,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub role: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:14:5
[INFO] [stderr]    |
[INFO] [stderr] 14 |     pub content: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub timestamp: DateTime<Utc>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub metadata: HashMap<String, serde_json::Value>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:37:5
[INFO] [stderr]    |
[INFO] [stderr] 37 |     pub max_entries: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:38:5
[INFO] [stderr]    |
[INFO] [stderr] 38 |     pub max_tokens: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:39:5
[INFO] [stderr]    |
[INFO] [stderr] 39 |     pub include_system: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/memory.rs:40:5
[INFO] [stderr]    |
[INFO] [stderr] 40 |     pub recency_window_seconds: u64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]  --> stageflow/src/helpers/providers.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     pub content: String,
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     pub model: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     pub provider: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:13:5
[INFO] [stderr]    |
[INFO] [stderr] 13 |     pub input_tokens: Option<u32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:15:5
[INFO] [stderr]    |
[INFO] [stderr] 15 |     pub output_tokens: Option<u32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     pub latency_ms: Option<f64>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub finish_reason: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub tool_calls: Option<Vec<serde_json::Value>>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub cached_tokens: Option<u32>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:50:5
[INFO] [stderr]    |
[INFO] [stderr] 50 |     pub text: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:51:5
[INFO] [stderr]    |
[INFO] [stderr] 51 |     pub confidence: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     pub language: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:53:5
[INFO] [stderr]    |
[INFO] [stderr] 53 |     pub is_final: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:55:5
[INFO] [stderr]    |
[INFO] [stderr] 55 |     pub duration_ms: Option<f64>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:57:5
[INFO] [stderr]    |
[INFO] [stderr] 57 |     pub provider: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:59:5
[INFO] [stderr]    |
[INFO] [stderr] 59 |     pub model: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:61:5
[INFO] [stderr]    |
[INFO] [stderr] 61 |     pub latency_ms: Option<f64>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:83:5
[INFO] [stderr]    |
[INFO] [stderr] 83 |     pub audio: Vec<u8>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:84:5
[INFO] [stderr]    |
[INFO] [stderr] 84 |     pub duration_ms: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:85:5
[INFO] [stderr]    |
[INFO] [stderr] 85 |     pub sample_rate: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:86:5
[INFO] [stderr]    |
[INFO] [stderr] 86 |     pub format: String,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:88:5
[INFO] [stderr]    |
[INFO] [stderr] 88 |     pub provider: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:90:5
[INFO] [stderr]    |
[INFO] [stderr] 90 |     pub model: Option<String>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:92:5
[INFO] [stderr]    |
[INFO] [stderr] 92 |     pub latency_ms: Option<f64>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:93:5
[INFO] [stderr]    |
[INFO] [stderr] 93 |     pub channels: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/providers.rs:95:5
[INFO] [stderr]    |
[INFO] [stderr] 95 |     pub characters_processed: Option<usize>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]  --> stageflow/src/helpers/streaming.rs:9:5
[INFO] [stderr]   |
[INFO] [stderr] 9 |     Pcm16,
[INFO] [stderr]   |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     Pcm32,
[INFO] [stderr]    |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:11:5
[INFO] [stderr]    |
[INFO] [stderr] 11 |     Float32,
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:18:5
[INFO] [stderr]    |
[INFO] [stderr] 18 |     pub data: Vec<u8>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 19 |     pub sample_rate: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:20:5
[INFO] [stderr]    |
[INFO] [stderr] 20 |     pub channels: u8,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:21:5
[INFO] [stderr]    |
[INFO] [stderr] 21 |     pub format: AudioFormat,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:23:5
[INFO] [stderr]    |
[INFO] [stderr] 23 |     pub timestamp_ms: Option<f64>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     pub sequence: u32,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:25:5
[INFO] [stderr]    |
[INFO] [stderr] 25 |     pub is_final: bool,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:27:5
[INFO] [stderr]    |
[INFO] [stderr] 27 |     pub metadata: std::collections::HashMap<String, serde_json::Value>,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:62:5
[INFO] [stderr]    |
[INFO] [stderr] 62 |     pub total_items: u64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:63:5
[INFO] [stderr]    |
[INFO] [stderr] 63 |     pub dropped_items: u64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     pub max_queue_size: usize,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:65:5
[INFO] [stderr]    |
[INFO] [stderr] 65 |     pub fill_percentage: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:66:5
[INFO] [stderr]    |
[INFO] [stderr] 66 |     pub blocked_puts: u64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a struct field
[INFO] [stderr]   --> stageflow/src/helpers/streaming.rs:67:5
[INFO] [stderr]    |
[INFO] [stderr] 67 |     pub total_blocked_ms: f64,
[INFO] [stderr]    |     ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> stageflow/src/utils/validation.rs:180:5
[INFO] [stderr]     |
[INFO] [stderr] 180 |     Cycle(CycleError),
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> stageflow/src/utils/validation.rs:181:5
[INFO] [stderr]     |
[INFO] [stderr] 181 |     MissingDependency(MissingDependencyError),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> stageflow/src/utils/validation.rs:182:5
[INFO] [stderr]     |
[INFO] [stderr] 182 |     SelfDependency(SelfDependencyError),
[INFO] [stderr]     |     ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: missing documentation for a variant
[INFO] [stderr]    --> stageflow/src/utils/validation.rs:183:5
[INFO] [stderr]     |
[INFO] [stderr] 183 |     InvalidName(InvalidNameError),
[INFO] [stderr]     |     ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `stageflow` (lib) generated 130 warnings (run `cargo fix --lib -p stageflow` to apply 20 suggestions)
[INFO] [stderr] warning: unused import: `std::sync::Arc`
[INFO] [stderr]  --> stageflow/src/context/bags.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use std::sync::Arc;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::sync::atomic::AtomicUsize`
[INFO] [stderr]    --> stageflow/src/pipeline/cancellation.rs:262:9
[INFO] [stderr]     |
[INFO] [stderr] 262 |     use std::sync::atomic::AtomicUsize;
[INFO] [stderr]     |         ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> stageflow/src/pipeline/integration_tests.rs:12:9
[INFO] [stderr]    |
[INFO] [stderr] 12 |     use std::collections::HashMap;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `std::collections::HashMap`
[INFO] [stderr]   --> stageflow/src/testing/assertions.rs:91:9
[INFO] [stderr]    |
[INFO] [stderr] 91 |     use std::collections::HashMap;
[INFO] [stderr]    |         ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused imports: `PipelineContext` and `RunIdentity`
[INFO] [stderr]    --> stageflow/src/tools/executor.rs:243:46
[INFO] [stderr]     |
[INFO] [stderr] 243 |     use crate::context::{DictContextAdapter, PipelineContext, RunIdentity};
[INFO] [stderr]     |                                              ^^^^^^^^^^^^^^^  ^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `delta`
[INFO] [stderr]    --> stageflow/src/compression/mod.rs:233:14
[INFO] [stderr]     |
[INFO] [stderr] 233 |         let (delta, metrics) = compress(&base, &current);
[INFO] [stderr]     |              ^^^^^ help: if this is intentional, prefix it with an underscore: `_delta`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `result`
[INFO] [stderr]    --> stageflow/src/pipeline/builder.rs:260:13
[INFO] [stderr]     |
[INFO] [stderr] 260 |         let result = PipelineBuilder::new("test")
[INFO] [stderr]     |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_result`
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `spec`
[INFO] [stderr]    --> stageflow/src/pipeline/builder.rs:302:13
[INFO] [stderr]     |
[INFO] [stderr] 302 |         let spec = StageSpec::new("shared", noop("shared"))
[INFO] [stderr]     |             ^^^^ help: if this is intentional, prefix it with an underscore: `_spec`
[INFO] [stderr] 
[INFO] [stderr] warning: fields `path` and `append` are never read
[INFO] [stderr]   --> stageflow/src/helpers/analytics.rs:74:5
[INFO] [stderr]    |
[INFO] [stderr] 73 | pub struct JSONFileExporter {
[INFO] [stderr]    |            ---------------- fields in this struct
[INFO] [stderr] 74 |     path: std::path::PathBuf,
[INFO] [stderr]    |     ^^^^
[INFO] [stderr] 75 |     append: bool,
[INFO] [stderr]    |     ^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `test_context` is never used
[INFO] [stderr]   --> stageflow/src/pipeline/integration_tests.rs:73:8
[INFO] [stderr]    |
[INFO] [stderr] 73 |     fn test_context() -> Arc<PipelineContext> {
[INFO] [stderr]    |        ^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `stageflow` (lib test) generated 128 warnings (118 duplicates) (run `cargo fix --lib -p stageflow --tests` to apply 8 suggestions)
[INFO] [stderr] warning: unused variable: `reason`
[INFO] [stderr]   --> stageflow-py/src/lib.rs:75:13
[INFO] [stderr]    |
[INFO] [stderr] 75 |     fn skip(reason: String) -> Self {
[INFO] [stderr]    |             ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused variable: `reason`
[INFO] [stderr]   --> stageflow-py/src/lib.rs:87:15
[INFO] [stderr]    |
[INFO] [stderr] 87 |     fn cancel(reason: String) -> Self {
[INFO] [stderr]    |               ^^^^^^ help: if this is intentional, prefix it with an underscore: `_reason`
[INFO] [stderr] 
[INFO] [stderr] warning: field `metadata` is never read
[INFO] [stderr]   --> stageflow-py/src/lib.rs:19:5
[INFO] [stderr]    |
[INFO] [stderr] 14 | pub struct PyStageOutput {
[INFO] [stderr]    |            ------------- field in this struct
[INFO] [stderr] ...
[INFO] [stderr] 19 |     metadata: HashMap<String, serde_json::Value>,
[INFO] [stderr]    |     ^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `PyStageOutput` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr]    = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: fields `started_at`, `ended_at`, `data`, and `error` are never read
[INFO] [stderr]    --> stageflow-py/src/lib.rs:537:5
[INFO] [stderr]     |
[INFO] [stderr] 534 | pub struct PyStageResult {
[INFO] [stderr]     |            ------------- fields in this struct
[INFO] [stderr] ...
[INFO] [stderr] 537 |     started_at: String,
[INFO] [stderr]     |     ^^^^^^^^^^
[INFO] [stderr] 538 |     ended_at: String,
[INFO] [stderr]     |     ^^^^^^^^
[INFO] [stderr] 539 |     data: HashMap<String, serde_json::Value>,
[INFO] [stderr]     |     ^^^^
[INFO] [stderr] 540 |     error: Option<String>,
[INFO] [stderr]     |     ^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `PyStageResult` has a derived impl for the trait `Clone`, but this is intentionally ignored during dead code analysis
[INFO] [stderr] 
[INFO] [stderr] warning: `stageflow-py` (lib test) generated 4 warnings (run `cargo fix --lib -p stageflow-py --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.21s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/stageflow-8b05047efa18b0e7)
[INFO] [stdout] 
[INFO] [stdout] running 438 tests
[INFO] [stdout] test cancellation::cleanup::tests::test_registry_creation ... ok
[INFO] [stdout] test cancellation::cleanup::tests::test_registry_register ... ok
[INFO] [stdout] test cancellation::cleanup::tests::test_unregister_by_name ... ok
[INFO] [stdout] test cancellation::cleanup::tests::test_registry_clears_after_run ... ok
[INFO] [stdout] test cancellation::task_group::tests::test_task_group_with_error ... ok
[INFO] [stdout] test cancellation::task_group::tests::test_task_group_success ... ok
[INFO] [stdout] test cancellation::cleanup::tests::test_registry_lifo_order ... ok
[INFO] [stdout] test cancellation::token::tests::test_on_cancel_after_cancellation ... ok
[INFO] [stdout] test cancellation::task_group::tests::test_task_group_cleanup_always_runs ... ok
[INFO] [stdout] test cancellation::token::tests::test_token_cancel ... ok
[INFO] [stdout] test cancellation::token::tests::test_on_cancel_before_cancellation ... ok
[INFO] [stdout] test cancellation::task_group::tests::test_task_group_cleanup_on_error ... ok
[INFO] [stdout] test cancellation::token::tests::test_token_cancel_idempotent ... ok
[INFO] [stdout] test cancellation::token::tests::test_token_default_not_cancelled ... ok
[INFO] [stdout] test compression::tests::test_apply_delta_roundtrip ... ok
[INFO] [stdout] test compression::tests::test_compute_delta_new_key ... ok
[INFO] [stdout] test compression::tests::test_compression_metrics ... ok
[INFO] [stdout] test context::bags::tests::test_context_bag_conflict ... ok
[INFO] [stdout] test compression::tests::test_compute_delta_no_changes ... ok
[INFO] [stdout] test compression::tests::test_compute_delta_changed_key ... ok
[INFO] [stdout] test context::bags::tests::test_context_bag_to_dict ... ok
[INFO] [stdout] test compression::tests::test_compute_delta_removed_key ... ok
[INFO] [stdout] test context::bags::tests::test_output_bag_overwrite_non_final ... ok
[INFO] [stdout] test context::bags::tests::test_output_bag_set_and_get ... ok
[INFO] [stdout] test context::bags::tests::test_context_bag_force ... ok
[INFO] [stdout] test context::context_tests::tests::test_context_snapshot_default ... ok
[INFO] [stdout] test context::context_tests::tests::test_pipeline_context_cancellation ... ok
[INFO] [stdout] test context::bags::tests::test_context_bag_set_and_get ... ok
[INFO] [stdout] test context::bags::tests::test_output_bag_conflict_on_final ... ok
[INFO] [stdout] test context::bags::tests::test_output_bag_entry ... ok
[INFO] [stdout] test context::context_tests::tests::test_pipeline_context_fork ... ok
[INFO] [stdout] test context::context_tests::tests::test_context_snapshot_with_run_id ... ok
[INFO] [stdout] test context::context_tests::tests::test_pipeline_context_creation ... ok
[INFO] [stdout] test context::context_tests::tests::test_pipeline_context_with_execution_mode ... ok
[INFO] [stdout] test context::context_tests::tests::test_pipeline_context_with_service ... ok
[INFO] [stdout] test context::context_tests::tests::test_run_identity_creation ... ok
[INFO] [stdout] test context::context_tests::tests::test_run_identity_serialization ... ok
[INFO] [stdout] test context::context_tests::tests::test_run_identity_with_org_id ... ok
[INFO] [stdout] test context::context_tests::tests::test_pipeline_context_with_topology ... ok
[INFO] [stdout] test context::context_tests::tests::test_run_identity_with_session_id ... ok
[INFO] [stdout] test context::context_tests::tests::test_stage_context_creation ... ok
[INFO] [stdout] test context::context_tests::tests::test_run_identity_to_dict ... ok
[INFO] [stdout] test context::context_tests::tests::test_stage_inputs_default ... ok
[INFO] [stdout] test context::context_tests::tests::test_stage_inputs_permissive ... ok
[INFO] [stdout] test context::execution::tests::test_dict_context_adapter ... ok
[INFO] [stdout] test context::identity::tests::test_run_identity_builder ... ok
[INFO] [stdout] test context::execution::tests::test_pipeline_context_cancellation ... ok
[INFO] [stdout] test context::execution::tests::test_pipeline_context_creation ... ok
[INFO] [stdout] test context::context_tests::tests::test_run_identity_with_user_id ... ok
[INFO] [stdout] test context::execution::tests::test_pipeline_context_fork ... ok
[INFO] [stdout] test context::execution::tests::test_stage_context ... ok
[INFO] [stdout] test context::identity::tests::test_run_identity_serialization ... ok
[INFO] [stdout] test context::identity::tests::test_run_identity_new ... ok
[INFO] [stdout] test context::identity::tests::test_run_identity_to_dict ... ok
[INFO] [stdout] test context::inputs::tests::test_contains ... ok
[INFO] [stdout] test context::inputs::tests::test_get_unchecked_bypasses_strict ... ok
[INFO] [stdout] test context::inputs::tests::test_get_value ... ok
[INFO] [stdout] test context::inputs::tests::test_strict_get_value ... ok
[INFO] [stdout] test context::inputs::tests::test_to_flat_dict ... ok
[INFO] [stdout] test context::snapshot::tests::test_context_snapshot_creation ... ok
[INFO] [stdout] test context::inputs::tests::test_permissive_access ... ok
[INFO] [stdout] test context::inputs::tests::test_strict_declared_dependency ... ok
[INFO] [stdout] test context::snapshot::tests::test_conversation_builder ... ok
[INFO] [stdout] test context::snapshot::tests::test_context_snapshot_to_dict ... ok
[INFO] [stdout] test context::snapshot::tests::test_context_snapshot_serialization ... ok
[INFO] [stdout] test context::snapshot::tests::test_enrichments_builder ... ok
[INFO] [stdout] test context::snapshot::tests::test_message_creation ... ok
[INFO] [stdout] test contracts::errors::tests::test_contract_error_info_new ... ok
[INFO] [stdout] test context::snapshot::tests::test_extension_bundle ... ok
[INFO] [stdout] test contracts::errors::tests::test_contract_error_info_serialization ... ok
[INFO] [stdout] test contracts::errors::tests::test_contract_error_info_builder ... ok
[INFO] [stdout] test contracts::errors::tests::test_contract_error_info_to_dict ... ok
[INFO] [stdout] test context::snapshot::tests::test_conversation_last_user_message ... ok
[INFO] [stdout] test contracts::errors::tests::test_contract_error_info_merge_context ... ok
[INFO] [stdout] test contracts::registry::tests::test_contract_registry_diff_compatible ... ok
[INFO] [stdout] test contracts::registry::tests::test_contract_registry_duplicate ... ok
[INFO] [stdout] test contracts::registry::tests::test_compatibility_report_summary ... ok
[INFO] [stdout] test contracts::registry::tests::test_contract_registry_list ... ok
[INFO] [stdout] test contracts::registry::tests::test_contract_registry_get ... ok
[INFO] [stdout] test contracts::registry::tests::test_contract_registry_diff_breaking ... ok
[INFO] [stdout] test contracts::suggestions::tests::test_get_missing_dep_suggestion ... ok
[INFO] [stdout] test contracts::suggestions::tests::test_get_unknown_suggestion ... ok
[INFO] [stdout] test contracts::suggestions::tests::test_register_custom_suggestion ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_extract_field ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_output_config ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_stage_output_from_json ... ok
[INFO] [stdout] test contracts::suggestions::tests::test_list_suggestions ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_stage_output_ok ... ok
[INFO] [stdout] test contracts::registry::tests::test_contract_registry_register ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_stage_output_from_dict ... ok
[INFO] [stdout] test contracts::suggestions::tests::test_get_cycle_suggestion ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_stage_output_serialize ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_stage_output_validate ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_typed_stage_output_with_version ... ok
[INFO] [stdout] test core::artifact::tests::test_artifact_creation ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_validate_output_fields ... ok
[INFO] [stdout] test contracts::typed_output::tests::test_validation_error ... ok
[INFO] [stdout] test core::event::tests::test_event_completed ... ok
[INFO] [stdout] test core::artifact::tests::test_artifact_with_metadata ... ok
[INFO] [stdout] test core::event::tests::test_event_serialization ... ok
[INFO] [stdout] test core::event::tests::test_event_started ... ok
[INFO] [stdout] test core::output::tests::test_cancel_output ... ok
[INFO] [stdout] test core::event::tests::test_event_add_data ... ok
[INFO] [stdout] test core::output::tests::test_fail_retryable ... ok
[INFO] [stdout] test core::event::tests::test_event_creation ... ok
[INFO] [stdout] test core::output::tests::test_ok_empty ... ok
[INFO] [stdout] test core::artifact::tests::test_artifact_serialization ... ok
[INFO] [stdout] test core::event::tests::test_event_with_data ... ok
[INFO] [stdout] test core::output::tests::test_fail_output ... ok
[INFO] [stdout] test core::output::tests::test_ok_output ... ok
[INFO] [stdout] test core::output::tests::test_ok_value ... ok
[INFO] [stdout] test core::output::tests::test_retry_output ... ok
[INFO] [stdout] test core::output::tests::test_with_metadata ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_cancel ... ok
[INFO] [stdout] test core::output_tests::tests::test_event_creation ... ok
[INFO] [stdout] test core::output::tests::test_skip_output ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_data_or_empty ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_debug ... ok
[INFO] [stdout] test core::output::tests::test_serialization ... ok
[INFO] [stdout] test core::output::tests::test_with_artifacts ... ok
[INFO] [stdout] test core::output_tests::tests::test_artifact_creation ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_clone ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_get_nonexistent ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_multiple_values ... ok
[INFO] [stdout] test core::output::tests::test_to_dict ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_fail ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_fail_retryable ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_nested_json ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_ok_empty ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_ok_with_data ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_retry ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_skip ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_to_dict ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_with_events ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_with_metadata ... ok
[INFO] [stdout] test core::output_tests::tests::test_status_display ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_ok_value ... ok
[INFO] [stdout] test core::status::tests::test_stage_kind_display ... ok
[INFO] [stdout] test core::status::tests::test_stage_status_display ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_with_artifacts ... ok
[INFO] [stdout] test core::status::tests::test_stage_kind_serialize ... ok
[INFO] [stdout] test core::status::tests::test_stage_status_serialize ... ok
[INFO] [stdout] test errors::tests::test_contract_suggestions ... ok
[INFO] [stdout] test errors::tests::test_pipeline_validation_error_to_dict ... ok
[INFO] [stdout] test core::status::tests::test_stage_status_is_terminal ... ok
[INFO] [stdout] test core::output_tests::tests::test_output_serialization ... ok
[INFO] [stdout] test errors::tests::test_contract_error_info_creation ... ok
[INFO] [stdout] test events::backpressure::tests::test_metrics_default ... ok
[INFO] [stdout] test events::backpressure::tests::test_backpressure_sink_try_emit ... ok
[INFO] [stdout] test errors::tests::test_cycle_detected_error ... ok
[INFO] [stdout] test errors::tests::test_tool_error_to_dict ... ok
[INFO] [stdout] test events::sink::tests::test_collecting_sink ... ok
[INFO] [stdout] test events::backpressure::tests::test_metrics_recording ... ok
[INFO] [stdout] test events::backpressure::tests::test_metrics_to_dict ... ok
[INFO] [stdout] test events::sink::tests::test_logging_sink ... ok
[INFO] [stdout] test events::sink::tests::test_noop_sink ... ok
[INFO] [stdout] test events::tests::test_global_sink_default ... ok
[INFO] [stdout] test helpers::analytics::tests::test_analytics_event_to_dict ... ok
[INFO] [stdout] test events::sink::tests::test_collecting_sink_filter ... ok
[INFO] [stdout] test helpers::analytics::tests::test_analytics_event_creation ... ok
[INFO] [stdout] test events::backpressure::tests::test_backpressure_sink_creation ... ok
[INFO] [stdout] test events::sink::tests::test_collecting_sink_clear ... ok
[INFO] [stdout] test helpers::runtime::tests::test_retry_policy_defaults ... ok
[INFO] [stdout] test events::tests::test_set_and_get_sink ... ok
[INFO] [stdout] test helpers::runtime::tests::test_retry_policy_delay ... ok
[INFO] [stdout] test helpers::runtime::tests::test_run_with_retry_success_first ... ok
[INFO] [stdout] test helpers::runtime::tests::test_run_with_timeout_error ... ok
[INFO] [stdout] test helpers::runtime::tests::test_timeout_config_builder ... ok
[INFO] [stdout] test helpers::runtime::tests::test_timed_result ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_generate_uuid4 ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_generate_uuid7 ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_uuid_collision_monitor_collision ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_uuid_collision_monitor_listener ... ok
[INFO] [stdout] test helpers::runtime::tests::test_run_with_timeout_success ... ok
[INFO] [stdout] test helpers::runtime::tests::test_timeout_config_defaults ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_clock_skew_detector_v4 ... ok
[INFO] [stdout] test helpers::runtime::tests::test_timed_result_into_result ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_uuid_event_creation ... ok
[INFO] [stdout] test helpers::uuid_utils::tests::test_uuid_collision_monitor_no_collision ... ok
[INFO] [stdout] test interceptors::hardening::tests::test_context_size_interceptor ... ok
[INFO] [stdout] test interceptors::chain::tests::test_chain_creation ... ok
[INFO] [stdout] test interceptors::chain::tests::test_chain_ordering ... ok
[INFO] [stdout] test interceptors::hardening::tests::test_immutability_interceptor ... ok
[INFO] [stdout] test interceptors::chain::tests::test_chain_short_circuit ... ok
[INFO] [stdout] test interceptors::idempotency::tests::test_idempotency_store ... ok
[INFO] [stdout] test interceptors::retry::tests::test_constant_backoff ... ok
[INFO] [stdout] test interceptors::retry::tests::test_linear_backoff ... ok
[INFO] [stdout] test interceptors::retry::tests::test_retry_interceptor_creation ... ok
[INFO] [stdout] test interceptors::idempotency::tests::test_interceptor_caches_success ... ok
[INFO] [stdout] test interceptors::retry::tests::test_full_jitter_bounds ... ok
[INFO] [stdout] test interceptors::retry::tests::test_exponential_backoff ... ok
[INFO] [stdout] test interceptors::retry::tests::test_no_jitter ... ok
[INFO] [stdout] test observability::tracing::tests::test_noop_emitter ... ok
[INFO] [stdout] test observability::tracing::tests::test_pipeline_span_attributes ... ok
[INFO] [stdout] test observability::tracing::tests::test_stage_span_attributes ... ok
[INFO] [stdout] test observability::wide_events::tests::test_build_pipeline_payload ... ok
[INFO] [stdout] test observability::wide_events::tests::test_emitter_creation ... ok
[INFO] [stdout] test observability::wide_events::tests::test_build_stage_payload ... ok
[INFO] [stdout] test observability::wide_events::tests::test_pipeline_failed_status ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_add_stage ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_compose ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_build_success ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_cycle_detection ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_empty_build ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_compose_conflict ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_creation ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_with_dependencies ... ok
[INFO] [stdout] test pipeline::builder::tests::test_builder_missing_dependency ... ok
[INFO] [stdout] test pipeline::builder_helpers::tests::test_fluent_builder_creation ... ok
[INFO] [stdout] test pipeline::builder_helpers::tests::test_conditional_branch ... ok
[INFO] [stdout] test pipeline::builder_helpers::tests::test_fan_out_fan_in ... ok
[INFO] [stdout] test pipeline::builder_helpers::tests::test_linear_chain ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cancellation_token_callback ... ok
[INFO] [stdout] test pipeline::builder_helpers::tests::test_parallel_stages ... ok
[INFO] [stdout] test pipeline::builder_helpers::tests::test_linear_chain_empty ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cancellation_token_callback_immediate ... ok
[INFO] [stdout] test helpers::runtime::tests::test_run_with_retry_all_failures ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cancellation_token_cancel ... ok
[INFO] [stdout] test helpers::runtime::tests::test_run_with_retry_success_after_failures ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cancellation_token_initial_state ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cleanup_guard ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cleanup_registry_empty ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cleanup_registry_lifo_order ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cleanup_guard_disarm ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cancellation_token_idempotent ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_backpressure_config_default ... ok
[INFO] [stdout] test pipeline::dag::tests::test_topological_order ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_collector_best_effort ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_run_with_cleanup ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_collector_continue_on_failure ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_backpressure_tracker ... ok
[INFO] [stdout] test pipeline::dag::tests::test_graph_execution ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_collector_summary ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_mode_default ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_collector_fail_fast ... ok
[INFO] [stdout] test pipeline::dag::tests::test_graph_creation ... ok
[INFO] [stdout] test pipeline::guard_retry::tests::test_guard_retry_policy_validation ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_cached_result_creation ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_cached_result_expiration ... ok
[INFO] [stdout] test pipeline::guard_retry::tests::test_hash_with_fields ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_summary ... ok
[INFO] [stdout] test pipeline::guard_retry::tests::test_guard_retry_policy_defaults ... ok
[INFO] [stdout] test pipeline::failure_tolerance::tests::test_failure_record_creation ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_check_idempotency_not_found ... ok
[INFO] [stdout] test pipeline::guard_retry::tests::test_hash_retry_payload ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_check_idempotency_param_mismatch ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_hash_parameters ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_check_idempotency_found ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_idempotency_config_default ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_hash_parameters_with_fields ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_generate_idempotency_key ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_in_memory_store_basic ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_in_memory_store_clear ... ok
[INFO] [stdout] test pipeline::idempotency::tests::test_in_memory_store_expiration ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_context_snapshot_serialization ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_data_producer_stage ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_counting_stage_execution ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_failing_stage_variants ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_data_producer_execution ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_failing_stage_execution ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_counting_stage ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_failure_mode_variants ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_pipeline_builder_name ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_noop_stage_execution ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_pipeline_builder_single_stage ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_retry_config_exponential ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_pipeline_builder_with_dependencies ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_retry_config_with_jitter ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_run_identity_complete ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_stage_spec_self_dependency_error ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_retry_config_linear ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_retryable_stage_execution ... ok
[INFO] [stdout] test pipeline::interfaces::tests::test_stage_capabilities_default ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_stage_output_chaining ... ok
[INFO] [stdout] test pipeline::integration_tests::tests::test_stage_spec_validation ... ok
[INFO] [stdout] test pipeline::retry::tests::test_backoff_strategy_default ... ok
[INFO] [stdout] test pipeline::retry::tests::test_calculate_delay_capped_at_max ... ok
[INFO] [stdout] test pipeline::retry::tests::test_calculate_delay_constant_no_jitter ... ok
[INFO] [stdout] test pipeline::interfaces::tests::test_stage_capabilities_builder ... ok
[INFO] [stdout] test pipeline::retry::tests::test_calculate_delay_full_jitter ... ok
[INFO] [stdout] test pipeline::retry::tests::test_calculate_delay_exponential_no_jitter ... ok
[INFO] [stdout] test pipeline::retry::tests::test_retry_config_builder ... ok
[INFO] [stdout] test pipeline::retry::tests::test_calculate_delay_linear_no_jitter ... ok
[INFO] [stdout] test pipeline::retry::tests::test_retry_state_increment ... ok
[INFO] [stdout] test pipeline::retry::tests::test_retry_config_default ... ok
[INFO] [stdout] test pipeline::retry::tests::test_retry_state_exhausted ... ok
[INFO] [stdout] test pipeline::retry::tests::test_should_retry ... ok
[INFO] [stdout] test pipeline::retry::tests::test_jitter_strategy_default ... ok
[INFO] [stdout] test pipeline::spec::tests::test_conditional_stage ... ok
[INFO] [stdout] test pipeline::spec::tests::test_pipeline_spec_creation ... ok
[INFO] [stdout] test pipeline::retry::tests::test_with_retry_success_first_try ... ok
[INFO] [stdout] test pipeline::spec::tests::test_stage_spec_creation ... ok
[INFO] [stdout] test pipeline::spec::tests::test_stage_spec_self_dependency ... ok
[INFO] [stdout] test pipeline::spec::tests::test_pipeline_spec_empty_name ... ok
[INFO] [stdout] test stages::ports::tests::test_audio_ports_with_data ... ok
[INFO] [stdout] test stages::ports::tests::test_audio_ports_default ... ok
[INFO] [stdout] test pipeline::unified::tests::test_unified_graph_creation ... ok
[INFO] [stdout] test pipeline::unified::tests::test_unified_execution ... ok
[INFO] [stdout] test stages::ports::tests::test_llm_ports_default ... ok
[INFO] [stdout] test stages::ports::tests::test_stage_ports_combined ... ok
[INFO] [stdout] test pipeline::unified::tests::test_unified_conditional_skip ... ok
[INFO] [stdout] test stages::ports::tests::test_core_ports_default ... ok
[INFO] [stdout] test helpers::runtime::tests::test_run_with_timeout_timeout ... ok
[INFO] [stdout] test stages::result::tests::test_stage_result_completed ... ok
[INFO] [stdout] test pipeline::unified::tests::test_unified_guard_retry_schedules_retry_stage ... ok
[INFO] [stdout] test interceptors::idempotency::tests::test_idempotency_store_expiry ... ok
[INFO] [stdout] test stages::result::tests::test_legacy_status_display ... ok
[INFO] [stdout] test stages::result::tests::test_stage_error ... ok
[INFO] [stdout] test stages::result::tests::test_stage_result_failed ... ok
[INFO] [stdout] test stages::result::tests::test_stage_result_serialization ... ok
[INFO] [stdout] test subpipeline::result::tests::test_failure_result ... ok
[INFO] [stdout] test stages::tests::test_fn_stage ... ok
[INFO] [stdout] test subpipeline::result::tests::test_success_result ... ok
[INFO] [stdout] test stages::tests::test_noop_stage ... ok
[INFO] [stdout] test subpipeline::result::tests::test_to_dict ... ok
[INFO] [stdout] test observability::tracing::tests::test_span_timer ... ok
[INFO] [stdout] test subpipeline::spawner::tests::test_spawner_with_max_depth ... ok
[INFO] [stdout] test subpipeline::tracker::tests::test_register_and_get ... ok
[INFO] [stdout] test subpipeline::tracker::tests::test_tracker_creation ... ok
[INFO] [stdout] test subpipeline::tracker::tests::test_children_of ... ok
[INFO] [stdout] test subpipeline::tracker::tests::test_unregister ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_contains ... ok
[INFO] [stdout] test subpipeline::spawner::tests::test_spawner_creation ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_not_retryable ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_retryable ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_has_data ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_status ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_failed ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_value ... ok
[INFO] [stdout] test testing::fixtures::tests::test_test_context_build_stage_context ... ok
[INFO] [stdout] test testing::fixtures::tests::test_test_context_builder ... ok
[INFO] [stdout] test testing::fixtures::tests::test_test_pipeline ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_succeeded ... ok
[INFO] [stdout] test testing::fixtures::tests::test_test_fixture ... ok
[INFO] [stdout] test testing::mocks::tests::test_failing_stage_retryable ... ok
[INFO] [stdout] test testing::mocks::tests::test_mock_stage ... ok
[INFO] [stdout] test testing::mocks::tests::test_failing_stage ... ok
[INFO] [stdout] test testing::fixtures::tests::test_test_pipeline_linear ... ok
[INFO] [stdout] test testing::fixtures::tests::test_test_fixture_with_failure ... ok
[INFO] [stdout] test testing::mocks::tests::test_recording_stage ... ok
[INFO] [stdout] test tests::library_compiles ... ok
[INFO] [stdout] test testing::mocks::tests::test_success_stage ... ok
[INFO] [stdout] test testing::mocks::tests::test_success_stage_with_data ... ok
[INFO] [stdout] test tools::definitions::tests::test_behavior_allowed_restricted ... ok
[INFO] [stdout] test tools::definitions::tests::test_behavior_allowed_empty ... ok
[INFO] [stdout] test tools::definitions::tests::test_tool_definition_creation ... ok
[INFO] [stdout] test tools::definitions::tests::test_tool_input_creation ... ok
[INFO] [stdout] test pipeline::retry::tests::test_with_retry_success_after_failures ... ok
[INFO] [stdout] test tools::definitions::tests::test_tool_input_to_dict ... ok
[INFO] [stdout] test tools::definitions::tests::test_tool_output_fail ... ok
[INFO] [stdout] test tools::definitions::tests::test_tool_output_ok ... ok
[INFO] [stdout] test tools::definitions::tests::test_tool_output_to_dict ... ok
[INFO] [stdout] test tools::executor::tests::test_execute_simple ... ok
[INFO] [stdout] test tools::executor::tests::test_executor_creation ... ok
[INFO] [stdout] test tools::executor::tests::test_execute_behavior_denied ... ok
[INFO] [stdout] test pipeline::cancellation::tests::test_cleanup_registry_timeout ... ok
[INFO] [stdout] test tools::registry::tests::test_global_registry ... ok
[INFO] [stdout] test tools::registry::tests::test_parse_invalid_json_arguments ... ok
[INFO] [stdout] test tools::registry::tests::test_parse_and_resolve_openai_format ... ok
[INFO] [stdout] test tools::registry::tests::test_registry_creation ... ok
[INFO] [stdout] test tools::registry::tests::test_registry_register ... ok
[INFO] [stdout] test tools::registry::tests::test_parse_unresolved_unknown_tool ... ok
[INFO] [stdout] test tools::undo::tests::test_undo_metadata_roundtrip ... ok
[INFO] [stdout] test tools::undo::tests::test_undo_metadata_creation ... ok
[INFO] [stdout] test tools::undo::tests::test_undo_store_remove ... ok
[INFO] [stdout] test tools::undo::tests::test_undo_store_basic ... ok
[INFO] [stdout] test utils::tests::test_generate_uuid_is_valid ... ok
[INFO] [stdout] test utils::tests::test_iso_timestamp_format ... ok
[INFO] [stdout] test utils::timestamps::tests::test_detect_unix_precision_microseconds ... ok
[INFO] [stdout] test utils::timestamps::tests::test_detect_unix_precision_milliseconds ... ok
[INFO] [stdout] test utils::timestamps::tests::test_detect_unix_precision_seconds ... ok
[INFO] [stdout] test utils::timestamps::tests::test_iso_timestamp_format ... ok
[INFO] [stdout] test utils::timestamps::tests::test_parse_empty_string ... ok
[INFO] [stdout] test utils::timestamps::tests::test_parse_unix_seconds ... ok
[INFO] [stdout] test utils::uuid_utils::tests::test_generate_uuid_v4 ... ok
[INFO] [stdout] test utils::timestamps::tests::test_parse_iso8601 ... ok
[INFO] [stdout] test utils::uuid_utils::tests::test_collision_detection ... ok
[INFO] [stdout] test utils::uuid_utils::tests::test_listener_notification ... ok
[INFO] [stdout] test utils::uuid_utils::tests::test_max_entries_trimming ... ok
[INFO] [stdout] test utils::uuid_utils::tests::test_generate_uuid_v7 ... ok
[INFO] [stdout] test utils::uuid_utils::tests::test_no_collision_different_uuids ... ok
[INFO] [stdout] test utils::validation::tests::test_missing_dependency_error_display ... ok
[INFO] [stdout] test utils::validation::tests::test_cycle_error_display ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_all_success ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_all_cycle ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_dag_cycle ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_dag_diamond ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_dag_simple ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_dependencies_exist_missing ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_dependencies_exist_ok ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_no_self_dependencies_fail ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_no_self_dependencies_ok ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_stage_name_ok ... ok
[INFO] [stdout] test utils::validation::tests::test_validate_stage_name_empty ... ok
[INFO] [stdout] test websearch::config::tests::test_extraction_config_defaults ... ok
[INFO] [stdout] test websearch::config::tests::test_fetch_config_defaults ... ok
[INFO] [stdout] test cancellation::task_group::tests::test_task_respects_cancellation ... ok
[INFO] [stdout] test websearch::config::tests::test_retry_config_delay ... ok
[INFO] [stdout] test websearch::config::tests::test_fetch_config_builder ... ok
[INFO] [stdout] test websearch::config::tests::test_retry_config_max_delay ... ok
[INFO] [stdout] test websearch::config::tests::test_web_search_config ... ok
[INFO] [stdout] test websearch::config::tests::test_retry_status_codes ... ok
[INFO] [stdout] test websearch::models::tests::test_extracted_link_external ... ok
[INFO] [stdout] test websearch::models::tests::test_extracted_link_from_element ... ok
[INFO] [stdout] test websearch::models::tests::test_page_metadata_roundtrip ... ok
[INFO] [stdout] test websearch::config::tests::test_navigation_config_defaults ... ok
[INFO] [stdout] test websearch::models::tests::test_navigation_action ... ok
[INFO] [stdout] test websearch::models::tests::test_pagination_info ... ok
[INFO] [stdout] test websearch::models::tests::test_web_page_extract_links ... ok
[INFO] [stdout] test websearch::protocols::tests::test_fetch_result_is_html ... ok
[INFO] [stdout] test websearch::protocols::tests::test_extraction_result_to_dict ... ok
[INFO] [stdout] test pipeline::retry::tests::test_with_retry_all_failures ... ok
[INFO] [stdout] test websearch::protocols::tests::test_fetch_result_is_success ... ok
[INFO] [stdout] test websearch::models::tests::test_web_page_success ... ok
[INFO] [stdout] test websearch::protocols::tests::test_noop_observer ... ok
[INFO] [stdout] test websearch::protocols::tests::test_navigation_result_to_dict ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_calculate_relevance_score ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_calculate_retry_delay ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_create_error_result ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_extract_domain ... ok
[INFO] [stdout] test stages::result::tests::test_stage_result_duration ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_calculate_relevance_empty_query ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_extract_unique_links ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_fetch_progress ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_filter_relevant_pages ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_same_domain ... ok
[INFO] [stdout] test websearch::models::tests::test_web_page_truncate ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_search_result_to_dict ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_fetch_progress_empty ... ok
[INFO] [stdout] test websearch::run_utils::tests::test_site_map_to_dict ... ok
[INFO] [stdout] test testing::mocks::tests::test_slow_stage ... ok
[INFO] [stdout] test tools::approval::tests::test_approval_approved ... ok
[INFO] [stdout] test tools::approval::tests::test_approval_denied ... ok
[INFO] [stdout] test tools::undo::tests::test_undo_store_expiry ... ok
[INFO] [stdout] test cancellation::cleanup::tests::test_registry_continues_on_failure ... ok
[INFO] [stdout] test cancellation::token::tests::test_callback_exception_suppressed ... ok
[INFO] [stdout] test testing::assertions::tests::test_assert_output_succeeded_fails - should panic ... ok
[INFO] [stdout] test tools::approval::tests::test_approval_timeout ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 438 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/stageflow_py-ce3f6f324ba8f557)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests stageflow
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test stageflow/src/lib.rs - (line 16) ... ignored
[INFO] [stdout] test stageflow/src/utils/timestamps.rs - utils::timestamps::iso_timestamp (line 48) ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "5b00a46fad69311f679f1fd39b394531858c1551617427de90a64eb3cbdf047e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "5b00a46fad69311f679f1fd39b394531858c1551617427de90a64eb3cbdf047e", kill_on_drop: false }`
[INFO] [stdout] 5b00a46fad69311f679f1fd39b394531858c1551617427de90a64eb3cbdf047e
