[INFO] fetching crate stock-analyser 0.1.0...
[INFO] testing stock-analyser-0.1.0 against 1.99.0-beta.8 for beta-1.100-2
[INFO] extracting crate stock-analyser 0.1.0 into /workspace/builds/worker-1-tc1/source
[INFO] started tweaking crates.io crate stock-analyser 0.1.0
[INFO] finished tweaking crates.io crate stock-analyser 0.1.0
[INFO] tweaked toml for crates.io crate stock-analyser 0.1.0 written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of crates.io crate stock-analyser 0.1.0 on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate stock-analyser 0.1.0 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded rmcp v0.1.5
[INFO] [stderr]   Downloaded rmcp-macros v0.1.5
[INFO] [stderr]   Downloaded sse-stream v0.1.4
[INFO] [stderr]   Downloaded zip v4.6.1
[INFO] [stderr]   Downloaded calamine v0.31.0
[INFO] [stderr]   Downloaded async-openai-macros v0.3.0
[INFO] [stderr]   Downloaded debug_unsafe v0.1.4
[INFO] [stderr]   Downloaded async-openai v0.41.0
[INFO] [stderr]   Downloaded akshare v0.1.7
[INFO] [stderr]   Downloaded adk-graph v0.8.4
[INFO] [stderr]   Downloaded adk-core v0.8.4
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9
[INFO] running `Command { std: "docker" "start" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling futures-core v0.3.32
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling scopeguard v1.2.0
[INFO] [stderr]    Compiling futures-sink v0.3.32
[INFO] [stderr]    Compiling lock_api v0.4.14
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling futures-task v0.3.32
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling aws-lc-rs v1.17.0
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling httpdate v1.0.3
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling ipnet v2.12.0
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling http v1.4.2
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling crc32fast v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling mime_guess v2.0.5
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling bumpalo v3.20.3
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.4
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling jobserver v0.1.34
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling cc v1.2.64
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling paste v1.0.15
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling zlib-rs v0.6.3
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling minimal-lexical v0.2.1
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling zopfli v0.8.3
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling debug_unsafe v0.1.4
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling toml_write v0.1.2
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling codepage v0.1.2
[INFO] [stderr]    Compiling quick-xml v0.38.4
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling uuid v1.23.3
[INFO] [stderr]    Compiling atoi_simd v0.16.1
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling instant v0.1.13
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling fast-float2 v0.2.3
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling base64 v0.21.7
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling aws-lc-sys v0.41.0
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling eventsource-stream v0.2.3
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling webpki-roots v1.0.8
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling zip v4.6.1
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling rmcp-macros v0.1.5
[INFO] [stderr]    Compiling async-openai-macros v0.3.0
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling toml_datetime v0.6.11
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling secrecy v0.10.3
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling sse-stream v0.1.4
[INFO] [stderr]    Compiling calamine v0.31.0
[INFO] [stderr]    Compiling toml_edit v0.22.27
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling adk-core v0.8.4
[INFO] [stderr]    Compiling backoff v0.4.0
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling toml v0.8.23
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling adk-graph v0.8.4
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling rmcp v0.1.5
[INFO] [stderr]    Compiling akshare v0.1.7
[INFO] [stderr]    Compiling async-openai v0.41.0
[INFO] [stderr]    Compiling stock-analyser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized] target(s) in 3m 14s
[INFO] running `Command { std: "docker" "inspect" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling stock-analyser v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: unused imports: `ConfidenceProfile`, `Rating`, and `derive_action_guides`
[INFO] [stdout]  --> src/models/analysis/report_logic/trader_plan/tests/part1.rs:2:25
[INFO] [stdout]   |
[INFO] [stdout] 2 |         AnalysisResult, ConfidenceProfile, MemoryContextSnapshot,
[INFO] [stdout]   |                         ^^^^^^^^^^^^^^^^^
[INFO] [stdout] 3 |         MissingEvidenceLadder,
[INFO] [stdout] 4 |         NewsInsight, PriceContext, Rating, ReferenceFactItem, ReportDiagnosticItem,
[INFO] [stdout]   |                                    ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 7 |         StructuredTraderPlan, TechnicalIndicatorConclusion, derive_action_guides,
[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: `anyhow::Context`
[INFO] [stdout]  --> src/data/news.rs:6:5
[INFO] [stdout]   |
[INFO] [stdout] 6 | use anyhow::Context;
[INFO] [stdout]   |     ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unnameable_test_items)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:17:5
[INFO] [stdout]    |
[INFO] [stdout] 17 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:24:5
[INFO] [stdout]    |
[INFO] [stdout] 24 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:33:5
[INFO] [stdout]    |
[INFO] [stdout] 33 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:43:5
[INFO] [stdout]    |
[INFO] [stdout] 43 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:52:5
[INFO] [stdout]    |
[INFO] [stdout] 52 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:58:5
[INFO] [stdout]    |
[INFO] [stdout] 58 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:64:5
[INFO] [stdout]    |
[INFO] [stdout] 64 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:70:5
[INFO] [stdout]    |
[INFO] [stdout] 70 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: cannot test inner items
[INFO] [stdout]   --> src/i18n/tests.rs:76:5
[INFO] [stdout]    |
[INFO] [stdout] 76 |     #[test]
[INFO] [stdout]    |     ^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `dummy_pick` is never used
[INFO] [stdout]    --> src/engine/score/scorer.rs:137:8
[INFO] [stdout]     |
[INFO] [stdout] 137 |     fn dummy_pick() -> ScoreablePick {
[INFO] [stdout]     |        ^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_en_key` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:11:8
[INFO] [stdout]    |
[INFO] [stdout] 11 |     fn resolve_en_key() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_missing_key` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:18:8
[INFO] [stdout]    |
[INFO] [stdout] 18 |     fn resolve_missing_key() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_with_params` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:25:8
[INFO] [stdout]    |
[INFO] [stdout] 25 |     fn resolve_with_params() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_with_format_specifiers` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:34:8
[INFO] [stdout]    |
[INFO] [stdout] 34 |     fn resolve_with_format_specifiers() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_with_format_specifiers_rsi` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:44:8
[INFO] [stdout]    |
[INFO] [stdout] 44 |     fn resolve_with_format_specifiers_rsi() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_value_integer_no_trailing_zeros` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:53:8
[INFO] [stdout]    |
[INFO] [stdout] 53 |     fn format_value_integer_no_trailing_zeros() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_value_float_one_decimal` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:59:8
[INFO] [stdout]    |
[INFO] [stdout] 59 |     fn format_value_float_one_decimal() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_value_signed_positive` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:65:8
[INFO] [stdout]    |
[INFO] [stdout] 65 |     fn format_value_signed_positive() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `format_value_signed_negative` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:71:8
[INFO] [stdout]    |
[INFO] [stdout] 71 |     fn format_value_signed_negative() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `resolve_with_plus_format_specifier` is never used
[INFO] [stdout]   --> src/i18n/tests.rs:77:8
[INFO] [stdout]    |
[INFO] [stdout] 77 |     fn resolve_with_plus_format_specifier() {
[INFO] [stdout]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized] target(s) in 26.76s
[INFO] running `Command { std: "docker" "inspect" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: unused imports: `ConfidenceProfile`, `Rating`, and `derive_action_guides`
[INFO] [stderr]  --> src/models/analysis/report_logic/trader_plan/tests/part1.rs:2:25
[INFO] [stderr]   |
[INFO] [stderr] 2 |         AnalysisResult, ConfidenceProfile, MemoryContextSnapshot,
[INFO] [stderr]   |                         ^^^^^^^^^^^^^^^^^
[INFO] [stderr] 3 |         MissingEvidenceLadder,
[INFO] [stderr] 4 |         NewsInsight, PriceContext, Rating, ReferenceFactItem, ReportDiagnosticItem,
[INFO] [stderr]   |                                    ^^^^^^
[INFO] [stderr] ...
[INFO] [stderr] 7 |         StructuredTraderPlan, TechnicalIndicatorConclusion, derive_action_guides,
[INFO] [stderr]   |                                                             ^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]   |
[INFO] [stderr]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: unused import: `anyhow::Context`
[INFO] [stderr]  --> src/data/news.rs:6:5
[INFO] [stderr]   |
[INFO] [stderr] 6 | use anyhow::Context;
[INFO] [stderr]   |     ^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:10:5
[INFO] [stderr]    |
[INFO] [stderr] 10 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `#[warn(unnameable_test_items)]` on by default
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:17:5
[INFO] [stderr]    |
[INFO] [stderr] 17 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:24:5
[INFO] [stderr]    |
[INFO] [stderr] 24 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:33:5
[INFO] [stderr]    |
[INFO] [stderr] 33 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:43:5
[INFO] [stderr]    |
[INFO] [stderr] 43 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:52:5
[INFO] [stderr]    |
[INFO] [stderr] 52 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:58:5
[INFO] [stderr]    |
[INFO] [stderr] 58 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:64:5
[INFO] [stderr]    |
[INFO] [stderr] 64 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:70:5
[INFO] [stderr]    |
[INFO] [stderr] 70 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: cannot test inner items
[INFO] [stderr]   --> src/i18n/tests.rs:76:5
[INFO] [stderr]    |
[INFO] [stderr] 76 |     #[test]
[INFO] [stderr]    |     ^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `dummy_pick` is never used
[INFO] [stderr]    --> src/engine/score/scorer.rs:137:8
[INFO] [stderr]     |
[INFO] [stderr] 137 |     fn dummy_pick() -> ScoreablePick {
[INFO] [stderr]     |        ^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_en_key` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:11:8
[INFO] [stderr]    |
[INFO] [stderr] 11 |     fn resolve_en_key() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_missing_key` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:18:8
[INFO] [stderr]    |
[INFO] [stderr] 18 |     fn resolve_missing_key() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_with_params` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:25:8
[INFO] [stderr]    |
[INFO] [stderr] 25 |     fn resolve_with_params() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_with_format_specifiers` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:34:8
[INFO] [stderr]    |
[INFO] [stderr] 34 |     fn resolve_with_format_specifiers() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_with_format_specifiers_rsi` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:44:8
[INFO] [stderr]    |
[INFO] [stderr] 44 |     fn resolve_with_format_specifiers_rsi() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_value_integer_no_trailing_zeros` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:53:8
[INFO] [stderr]    |
[INFO] [stderr] 53 |     fn format_value_integer_no_trailing_zeros() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_value_float_one_decimal` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:59:8
[INFO] [stderr]    |
[INFO] [stderr] 59 |     fn format_value_float_one_decimal() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_value_signed_positive` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:65:8
[INFO] [stderr]    |
[INFO] [stderr] 65 |     fn format_value_signed_positive() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `format_value_signed_negative` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:71:8
[INFO] [stderr]    |
[INFO] [stderr] 71 |     fn format_value_signed_negative() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: function `resolve_with_plus_format_specifier` is never used
[INFO] [stderr]   --> src/i18n/tests.rs:77:8
[INFO] [stderr]    |
[INFO] [stderr] 77 |     fn resolve_with_plus_format_specifier() {
[INFO] [stderr]    |        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr] 
[INFO] [stderr] warning: `stock-analyser` (lib test) generated 23 warnings (run `cargo fix --lib -p stock-analyser --tests` to apply 2 suggestions)
[INFO] [stderr]     Finished `test` profile [unoptimized] target(s) in 0.30s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/stock_analyser-f2897521210aaddb)
[INFO] [stdout] 
[INFO] [stdout] running 152 tests
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_key_string_multi_key ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::key_base_variants ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_fill_missing_recommendation ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_fill_missing_confidence ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_key_string_unknown_key_returns_none ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_entry_stop_guard ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_key_string_simple ... ok
[INFO] [stdout] test data::news::tests::dedupe_key_case_insensitive ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_no_issues_on_clean_result ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_reason_key_multi ... ok
[INFO] [stdout] test data::news::tests::dedupe_removes_duplicates ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_fill_missing_scenario_paths ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_risk_at_least_downside ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_position_sizing_cap ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_risk_clamped_to_valid_range ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_probability_normalization_directional_only ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_probabilities_within_tolerance_are_unchanged ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_risk_reward_widening ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_probability_normalization ... ok
[INFO] [stdout] test engine::analysis::runtime::trading_graph::summarize::tests::summarize_stock_data_output_supports_pre_summarized_payload ... ok
[INFO] [stdout] test engine::config::tests::env_flag_missing_var_returns_false ... ok
[INFO] [stdout] test engine::config::tests::env_flag_value_false_cases ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::score_clamped ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::single_positive_news_neutral_due_to_threshold ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::two_items_at_threshold_now_scored ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::all_positive_large_set_near_plus_100 ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::mixed_news_balanced_near_zero ... ok
[INFO] [stdout] test engine::llm::client::tests::retryable_llm_error_detection_only_matches_transient_failures ... ok
[INFO] [stdout] test engine::config::tests::env_flag_value_true_cases ... ok
[INFO] [stdout] test engine::math_utils::tests::test_deviation_rate ... ok
[INFO] [stdout] test engine::math_utils::tests::test_exponential_decay ... ok
[INFO] [stdout] test engine::math_utils::tests::test_deviation_penalty ... ok
[INFO] [stdout] test engine::llm::parse::tests::repairs_research_manager_missing_object_wrapper ... ok
[INFO] [stdout] test engine::math_utils::tests::test_sigmoid_center ... ok
[INFO] [stdout] test engine::math_utils::tests::test_sigmoid_high ... ok
[INFO] [stdout] test engine::math_utils::tests::test_sigmoid_low ... ok
[INFO] [stdout] test engine::math_utils::tests::test_z_score ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_borderline_pe ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_high_leverage ... ok
[INFO] [stdout] test engine::math_utils::tests::test_piecewise_linear ... ok
[INFO] [stdout] test engine::llm::parse::tests::leniently_parses_debate_turn_with_unescaped_quotes_in_response ... ok
[INFO] [stdout] test engine::math_utils::tests::test_percentile_rank ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_no_data_neutral ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_negative_pe ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_revenue_positive_net_loss ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_partial_data_pe_only ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_score_range ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_reason_key_pipe_separated ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_strong_fundamentals ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::empty_news_returns_zero ... ok
[INFO] [stdout] test engine::config::tests::env_flag_existing_var ... ok
[INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_recommendation_downgrade_buy_with_high_downside ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_all_signals_low ... ok
[INFO] [stdout] test engine::guidance::report::sentiment::tests::all_negative_large_set_near_minus_100 ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_consensus_vs_no_consensus ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_no_history_neutral ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_hard_negatives_reduce_score ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_high_volume_bullish ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_mixed_signals ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_all_signals_high ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_score_never_below_0 ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_weak_fundamentals ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_all_signals_agree ... ok
[INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_zero_roe ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_one_extreme_others_neutral ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_reason_format ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_json_with_extra_whitespace ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_key_string_pipe_separated_two_part ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_json_in_codeblock ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_score_never_exceeds_100 ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_invalid_returns_error ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_key_string_pipe_separated_with_params ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_no_data_returns_neutral ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_score_over_100_clamped ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_ma_bullish_alignment ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_oversold_rsi_bullish ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_partial_data_rsi_only ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_rsi_high_zone ... ok
[INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_signals_disagree ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_valid_json ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_ma_bearish_alignment ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_macd_death_cross ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_overbought_bearish ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_macd_golden_cross ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_json_with_trailing_text_returns_error ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_score_always_0_to_100 ... ok
[INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_score_under_0_clamped ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_catalyst_keys_overwrite_catalysts ... ok
[INFO] [stdout] test engine::score::scorer::tests::test_weighted_total_extremes ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_volume_elevated_negative ... ok
[INFO] [stdout] test engine::score::history::tests::test_empty_report ... ok
[INFO] [stdout] test engine::score::history::tests::test_performance_report ... ok
[INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_volume_elevated_positive ... ok
[INFO] [stdout] test engine::score::scorer::tests::test_weighted_total_range ... ok
[INFO] [stdout] test engine::score::scorer::tests::test_weighted_total_zeros ... ok
[INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_piotroski_all_positive ... ok
[INFO] [stdout] test models::analysis::probability_tests::round_to_100_adjusts_largest ... ok
[INFO] [stdout] test models::analysis::probability_tests::round_to_100_already_exact ... ok
[INFO] [stdout] test models::analysis::probability_tests::round_to_100_sums_exactly ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_nested_object_with_i18n_key ... ok
[INFO] [stdout] test engine::shared::tests::safe_ticker_normal ... ok
[INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_roic_positive ... ok
[INFO] [stdout] test models::analysis::tests::availability_diagnostics_include_scenario_issues_and_market_minimums ... ok
[INFO] [stdout] test engine::shared::tests::safe_ticker_with_dots ... ok
[INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_graham_number ... ok
[INFO] [stdout] test engine::shared::tests::safe_ticker_special_chars ... ok
[INFO] [stdout] test i18n::tests::resolve_zh_key ... ok
[INFO] [stdout] test engine::shared::tests::safe_ticker_exact_max_len ... ok
[INFO] [stdout] test models::analysis::tests::derive_news_insights_assigns_distinct_structured_interpretations ... ok
[INFO] [stdout] test engine::shared::tests::safe_ticker_truncation ... ok
[INFO] [stdout] test models::analysis::tests::memory_reference_facts_include_structured_history_highlights ... ok
[INFO] [stdout] test models::analysis::tests::news_diagnostics_flag_source_concentration_and_weak_fetch_coverage ... ok
[INFO] [stdout] test models::analysis::tests::publishable_summary_reference_accepts_non_empty ... ok
[INFO] [stdout] test models::analysis::tests::derive_news_insights_downgrades_reference_filings_when_disclosure_sequence_is_complex ... ok
[INFO] [stdout] test models::analysis::tests::setup_explanation_distinguishes_pending_strict_matches_from_verified_fallback ... ok
[INFO] [stdout] test models::analysis::tests::technical_conclusions_combine_strong_trend_with_fading_momentum ... ok
[INFO] [stdout] test models::analysis::tests::setup_explanation_zero_history_is_explicitly_cautious ... ok
[INFO] [stdout] test models::scoring::format_tests::direction_penalty_can_block_marginal_buy_upgrade ... ok
[INFO] [stdout] test models::analysis::tests::structured_reflection_keeps_raw_input_and_structured_fields ... ok
[INFO] [stdout] test models::scoring::format_tests::confidence_caps_missing_core_data_without_text_matching ... ok
[INFO] [stdout] test models::scoring::format_tests::semantic_analyst_matching_handles_noncanonical_keys ... ok
[INFO] [stdout] test models::analysis::tests::structured_risk_assessment_prefers_structured_sections ... ok
[INFO] [stdout] test models::analysis::tests::semantic_similarity_detects_repeated_summary_variants ... ok
[INFO] [stdout] test models::scoring::format_tests::setup_history_no_cap_without_resolved_matches ... ok
[INFO] [stdout] test models::scoring::format_tests::single_tool_failure_does_not_trigger_missing_core_data_cap_when_core_is_present ... ok
[INFO] [stdout] test models::analysis::tests::disclosure_sequence_complexity_detects_clustered_capital_markets_filings ... ok
[INFO] [stdout] test models::store::tests::checkpoint_info_serialization ... ok
[INFO] [stdout] test models::scoring::format_tests::weak_evidence_buy_is_forced_back_to_hold ... ok
[INFO] [stdout] test models::store::tests::cache_entry_serialization ... ok
[INFO] [stdout] test types::tests::market_kind_clone_copy ... ok
[INFO] [stdout] test types::tests::market_kind_debug ... ok
[INFO] [stdout] test types::tests::news_fetch_attempt_default ... ok
[INFO] [stdout] test types::tests::news_fetch_attempt_with_error ... ok
[INFO] [stdout] test types::tests::market_kind_eq ... ok
[INFO] [stdout] test types::tests::news_fetch_result_default ... ok
[INFO] [stdout] test models::scoring::format_tests::direction_score_uses_structured_probabilities ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_en_lang ... ok
[INFO] [stdout] test models::scoring::format_tests::missing_execution_boundary_forces_hold_even_with_strong_scores ... ok
[INFO] [stdout] test models::store::tests::stored_checkpoint_serialization ... ok
[INFO] [stdout] test types::tests::news_item_no_url ... ok
[INFO] [stdout] test models::scoring::format_tests::strong_negative_evidence_can_demote_hold ... ok
[INFO] [stdout] test models::scoring::format_tests::strong_positive_evidence_can_promote_hold ... ok
[INFO] [stdout] test types::tests::news_item_serialization ... ok
[INFO] [stdout] test engine::shared::tests::safe_ticker_empty_fails ... ok
[INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_piotroski_all_negative ... ok
[INFO] [stdout] test types::tests::news_fetch_result_with_items ... ok
[INFO] [stdout] test models::scoring::format_tests::setup_history_gap_no_longer_adds_cap ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_risk_keys_overwrite_risks ... ok
[INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_thesis_key_with_params ... ok
[INFO] [stdout] test models::analysis::tests::scenario_minimum_errors_are_injected_into_executive_summary ... ok
[INFO] [stdout] test models::analysis::tests::availability_diagnostics_include_related_gap_linkage ... ok
[INFO] [stdout] test models::analysis::tests::scenario_minimum_errors_become_execution_blocking_gaps ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 152 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/bin/sa.rs (/opt/rustwide/target/debug/deps/sa-e55430c3976a68ec)
[INFO] [stderr]    Doc-tests stock_analyser
[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] [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] running `Command { std: "docker" "inspect" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9", kill_on_drop: false }`
[INFO] [stdout] 67c26db639cc32f90f7ff0d5ced34ef1adae12c95de33d868175a59b223979a9
