[INFO] fetching crate stock-analyser 0.1.0... [INFO] testing stock-analyser-0.1.0 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2 [INFO] extracting crate stock-analyser 0.1.0 into /workspace/builds/worker-3-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-3-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 calamine v0.31.0 [INFO] [stderr] Downloaded atoi_simd v0.16.1 [INFO] [stderr] Downloaded codepage v0.1.2 [INFO] [stderr] Downloaded async-openai v0.41.0 [INFO] [stderr] Downloaded async-openai-macros v0.3.0 [INFO] [stderr] Downloaded adk-core v0.8.4 [INFO] [stderr] Downloaded adk-graph v0.8.4 [INFO] [stderr] Downloaded akshare v0.1.7 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }` [INFO] [stdout] 617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851 [INFO] running `Command { std: "docker" "start" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", 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" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851" "/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" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", 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" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }` [INFO] [stderr] Compiling proc-macro2 v1.0.106 [INFO] [stderr] Compiling quote v1.0.45 [INFO] [stderr] Compiling unicode-ident v1.0.24 [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 parking_lot_core v0.9.12 [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 serde v1.0.228 [INFO] [stderr] Compiling scopeguard v1.2.0 [INFO] [stderr] Compiling log v0.4.32 [INFO] [stderr] Compiling stable_deref_trait v1.2.1 [INFO] [stderr] Compiling futures-sink v0.3.32 [INFO] [stderr] Compiling lock_api v0.4.14 [INFO] [stderr] Compiling dunce v1.0.5 [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 tracing-core v0.1.36 [INFO] [stderr] Compiling aws-lc-rs v1.17.0 [INFO] [stderr] Compiling writeable v0.6.3 [INFO] [stderr] Compiling zmij v1.0.21 [INFO] [stderr] Compiling litemap v0.8.2 [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 percent-encoding v2.3.2 [INFO] [stderr] Compiling serde_json v1.0.150 [INFO] [stderr] Compiling untrusted v0.9.0 [INFO] [stderr] Compiling tower-service v0.3.3 [INFO] [stderr] Compiling httparse v1.10.1 [INFO] [stderr] Compiling rustls v0.23.40 [INFO] [stderr] Compiling zerocopy v0.8.52 [INFO] [stderr] Compiling try-lock v0.2.5 [INFO] [stderr] Compiling form_urlencoded v1.2.2 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling want v0.3.1 [INFO] [stderr] Compiling subtle v2.6.1 [INFO] [stderr] Compiling httpdate v1.0.3 [INFO] [stderr] Compiling base64 v0.22.1 [INFO] [stderr] Compiling ipnet v2.12.0 [INFO] [stderr] Compiling autocfg v1.5.1 [INFO] [stderr] Compiling bitflags v2.13.0 [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 http v1.4.2 [INFO] [stderr] Compiling ryu v1.0.23 [INFO] [stderr] Compiling strsim v0.11.1 [INFO] [stderr] Compiling syn v2.0.118 [INFO] [stderr] Compiling num-traits v0.2.19 [INFO] [stderr] Compiling fnv v1.0.7 [INFO] [stderr] Compiling mime v0.3.17 [INFO] [stderr] Compiling generic-array v0.14.7 [INFO] [stderr] Compiling getrandom v0.4.3 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling typenum v1.20.1 [INFO] [stderr] Compiling equivalent v1.0.2 [INFO] [stderr] Compiling unicase v2.9.0 [INFO] [stderr] Compiling hashbrown v0.17.1 [INFO] [stderr] Compiling regex-syntax v0.8.11 [INFO] [stderr] Compiling crc32fast v1.5.0 [INFO] [stderr] Compiling iana-time-zone v0.1.65 [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 errno v0.3.14 [INFO] [stderr] Compiling mio v1.2.1 [INFO] [stderr] Compiling socket2 v0.6.4 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling jobserver v0.1.34 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling cc v1.2.64 [INFO] [stderr] Compiling mime_guess v2.0.5 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling rand_core v0.6.4 [INFO] [stderr] Compiling encoding_rs v0.8.35 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling zlib-rs v0.6.3 [INFO] [stderr] Compiling minimal-lexical v0.2.1 [INFO] [stderr] Compiling is_terminal_polyfill v1.70.2 [INFO] [stderr] Compiling simd-adler32 v0.3.9 [INFO] [stderr] Compiling colorchoice v1.0.5 [INFO] [stderr] Compiling rustix v1.1.4 [INFO] [stderr] Compiling anstyle v1.0.14 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling indexmap v2.14.0 [INFO] [stderr] Compiling bumpalo v3.20.3 [INFO] [stderr] Compiling paste v1.0.15 [INFO] [stderr] Compiling schemars v0.8.22 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling anstream v1.0.0 [INFO] [stderr] Compiling zopfli v0.8.3 [INFO] [stderr] Compiling block-buffer v0.10.4 [INFO] [stderr] Compiling crypto-common v0.1.7 [INFO] [stderr] Compiling nom v7.1.3 [INFO] [stderr] Compiling winnow v0.7.15 [INFO] [stderr] Compiling cmake v0.1.58 [INFO] [stderr] Compiling toml_write v0.1.2 [INFO] [stderr] Compiling lazy_static v1.5.0 [INFO] [stderr] Compiling clap_lex v1.1.0 [INFO] [stderr] Compiling heck v0.5.0 [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 clap_builder v4.6.0 [INFO] [stderr] Compiling aws-lc-sys v0.41.0 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling atoi_simd v0.16.1 [INFO] [stderr] Compiling sharded-slab v0.1.7 [INFO] [stderr] Compiling digest v0.10.7 [INFO] [stderr] Compiling codepage v0.1.2 [INFO] [stderr] Compiling quick-xml v0.38.4 [INFO] [stderr] Compiling uuid v1.23.3 [INFO] [stderr] Compiling serde_path_to_error v0.1.20 [INFO] [stderr] Compiling eventsource-stream v0.2.3 [INFO] [stderr] Compiling tracing-log v0.2.0 [INFO] [stderr] Compiling instant v0.1.13 [INFO] [stderr] Compiling thread_local v1.1.9 [INFO] [stderr] Compiling flate2 v1.1.9 [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 byteorder v1.5.0 [INFO] [stderr] Compiling fast-float2 v0.2.3 [INFO] [stderr] Compiling cpufeatures v0.2.17 [INFO] [stderr] Compiling sha2 v0.10.9 [INFO] [stderr] Compiling hex v0.4.3 [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 zip v4.6.1 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling tempfile v3.27.0 [INFO] [stderr] Compiling zerofrom-derive v0.1.7 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling yoke-derive v0.8.2 [INFO] [stderr] Compiling tokio-macros v2.7.0 [INFO] [stderr] Compiling zerovec-derive v0.11.3 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling displaydoc v0.2.6 [INFO] [stderr] Compiling zeroize_derive v1.5.0 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling zerofrom v0.1.8 [INFO] [stderr] Compiling rand_chacha v0.3.1 [INFO] [stderr] Compiling tokio v1.52.3 [INFO] [stderr] Compiling zeroize v1.9.0 [INFO] [stderr] Compiling rand v0.9.4 [INFO] [stderr] Compiling async-stream-impl v0.3.6 [INFO] [stderr] Compiling rustls-pki-types v1.14.1 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling schemars_derive v0.8.22 [INFO] [stderr] Compiling yoke v0.8.3 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerovec v0.11.6 [INFO] [stderr] Compiling zerotrie v0.2.4 [INFO] [stderr] Compiling webpki-roots v1.0.8 [INFO] [stderr] Compiling rustls-native-certs v0.8.4 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling async-stream v0.3.6 [INFO] [stderr] Compiling regex v1.12.4 [INFO] [stderr] Compiling matchers v0.2.0 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling rand v0.8.6 [INFO] [stderr] Compiling darling_macro v0.20.11 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling clap_derive v4.6.1 [INFO] [stderr] Compiling axum-core v0.5.6 [INFO] [stderr] Compiling darling v0.20.11 [INFO] [stderr] Compiling rmcp-macros v0.1.5 [INFO] [stderr] Compiling derive_builder_core v0.20.2 [INFO] [stderr] Compiling async-openai-macros v0.3.0 [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 icu_collections v2.2.0 [INFO] [stderr] Compiling icu_locale_core v2.2.0 [INFO] [stderr] Compiling derive_builder_macro v0.20.2 [INFO] [stderr] Compiling derive_builder v0.20.2 [INFO] [stderr] Compiling clap v4.6.1 [INFO] [stderr] Compiling icu_provider v2.2.0 [INFO] [stderr] Compiling icu_normalizer v2.2.0 [INFO] [stderr] Compiling icu_properties v2.2.0 [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 toml_edit v0.22.27 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling sse-stream v0.1.4 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling calamine v0.31.0 [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 toml v0.8.23 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling hyper v1.10.1 [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 hyper-util v0.1.20 [INFO] [stderr] Compiling tower-http v0.6.11 [INFO] [stderr] Compiling adk-graph v0.8.4 [INFO] [stderr] Compiling axum v0.8.9 [INFO] [stderr] Compiling rustls-webpki v0.103.13 [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 akshare v0.1.7 [INFO] [stderr] Compiling rmcp v0.1.5 [INFO] [stderr] Compiling async-openai v0.41.0 [INFO] [stderr] Compiling stock-analyser v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `release` profile [optimized] target(s) in 6m 48s [INFO] running `Command { std: "docker" "inspect" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", 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" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", 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 `release` profile [optimized] target(s) in 1m 16s [INFO] running `Command { std: "docker" "inspect" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", 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" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", 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 `release` profile [optimized] target(s) in 0.40s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/release/deps/stock_analyser-849de498e3967523) [INFO] [stdout] [INFO] [stdout] running 152 tests [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_key_string_simple ... ok [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 data::news::tests::dedupe_removes_duplicates ... ok [INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_fill_missing_recommendation ... ok [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_reason_key_multi ... 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_position_sizing_cap ... 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_recommendation_downgrade_buy_with_high_downside ... 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_probability_normalization ... ok [INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_fill_missing_scenario_paths ... ok [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_risk_keys_overwrite_risks ... 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_pipe_separated_with_params ... 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_existing_var ... ok [INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_risk_clamped_to_valid_range ... ok [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_en_lang ... ok [INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_risk_at_least_downside ... ok [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_nested_object_with_i18n_key ... 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_pipe_separated_two_part ... ok [INFO] [stdout] test engine::config::tests::env_flag_value_false_cases ... ok [INFO] [stdout] test engine::config::tests::env_flag_missing_var_returns_false ... 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_thesis_key_with_params ... 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::empty_news_returns_zero ... ok [INFO] [stdout] test engine::guidance::report::sentiment::tests::all_negative_large_set_near_minus_100 ... 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::llm::parse::tests::leniently_parses_debate_turn_with_unescaped_quotes_in_response ... ok [INFO] [stdout] test engine::guidance::report::sentiment::tests::mixed_news_balanced_near_zero ... ok [INFO] [stdout] test engine::analysis::diagnosis::consistency::consistency_tests::test_risk_reward_widening ... ok [INFO] [stdout] test engine::llm::client::tests::retryable_llm_error_detection_only_matches_transient_failures ... ok [INFO] [stdout] test engine::guidance::report::sentiment::tests::score_clamped ... ok [INFO] [stdout] test engine::llm::parse::tests::repairs_research_manager_missing_object_wrapper ... ok [INFO] [stdout] test engine::math_utils::tests::test_deviation_penalty ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_mixed_signals ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_negative_pe ... ok [INFO] [stdout] test engine::math_utils::tests::test_deviation_rate ... ok [INFO] [stdout] test engine::config::tests::env_flag_value_true_cases ... ok [INFO] [stdout] test engine::math_utils::tests::test_z_score ... ok [INFO] [stdout] test engine::math_utils::tests::test_sigmoid_low ... ok [INFO] [stdout] test engine::math_utils::tests::test_piecewise_linear ... ok [INFO] [stdout] test engine::math_utils::tests::test_exponential_decay ... ok [INFO] [stdout] test engine::math_utils::tests::test_percentile_rank ... ok [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_catalyst_keys_overwrite_catalysts ... 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::score::dimensions::fundamental::fundamental_tests::test_no_data_neutral ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_strong_fundamentals ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_weak_fundamentals ... 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_all_signals_agree ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_all_signals_low ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_partial_data_pe_only ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_score_never_exceeds_100 ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_score_never_below_0 ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_high_volume_bullish ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_hard_negatives_reduce_score ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_json_in_codeblock ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_json_with_extra_whitespace ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_no_history_neutral ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_json_with_trailing_text_returns_error ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_score_over_100_clamped ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_score_range ... ok [INFO] [stdout] test engine::score::dimensions::fundamental::fundamental_tests::test_revenue_positive_net_loss ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_score_under_0_clamped ... 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_signals_disagree ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_one_extreme_others_neutral ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_invalid_returns_error ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_reason_format ... ok [INFO] [stdout] test engine::score::dimensions::llm_analysis::llm_analysis_tests::test_all_signals_high ... ok [INFO] [stdout] test engine::score::dimensions::sentiment::tests::test_parse_valid_json ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_no_data_returns_neutral ... 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::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_rsi_high_zone ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_score_always_0_to_100 ... ok [INFO] [stdout] test engine::score::scorer::tests::test_weighted_total_extremes ... ok [INFO] [stdout] test engine::score::scorer::tests::test_weighted_total_range ... 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_macd_death_cross ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_volume_elevated_positive ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_volume_elevated_negative ... ok [INFO] [stdout] test engine::shared::tests::safe_ticker_truncation ... 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_with_dots ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_ma_bearish_alignment ... ok [INFO] [stdout] test engine::shared::tests::safe_ticker_exact_max_len ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_macd_golden_cross ... ok [INFO] [stdout] test engine::score::scorer::tests::test_weighted_total_zeros ... ok [INFO] [stdout] test engine::shared::tests::safe_ticker_normal ... ok [INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_piotroski_all_negative ... ok [INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_piotroski_all_positive ... ok [INFO] [stdout] test engine::shared::tests::safe_ticker_special_chars ... ok [INFO] [stdout] test engine::shared::tests::safe_ticker_empty_fails ... ok [INFO] [stdout] test models::analysis::probability_tests::round_to_100_adjusts_largest ... ok [INFO] [stdout] test models::analysis::tests::availability_diagnostics_include_scenario_issues_and_market_minimums ... ok [INFO] [stdout] test models::analysis::tests::derive_news_insights_assigns_distinct_structured_interpretations ... ok [INFO] [stdout] test models::analysis::tests::publishable_summary_reference_accepts_non_empty ... ok [INFO] [stdout] test models::analysis::tests::news_diagnostics_flag_source_concentration_and_weak_fetch_coverage ... ok [INFO] [stdout] test models::analysis::tests::memory_reference_facts_include_structured_history_highlights ... ok [INFO] [stdout] test models::analysis::tests::disclosure_sequence_complexity_detects_clustered_capital_markets_filings ... ok [INFO] [stdout] test i18n::tests::resolve_zh_key ... ok [INFO] [stdout] test engine::stock_pick::objective::advanced_metrics::advanced_metrics_tests::test_roic_positive ... 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 models::analysis::tests::derive_news_insights_downgrades_reference_filings_when_disclosure_sequence_is_complex ... ok [INFO] [stdout] test models::analysis::tests::semantic_similarity_detects_repeated_summary_variants ... ok [INFO] [stdout] test models::analysis::tests::structured_reflection_keeps_raw_input_and_structured_fields ... ok [INFO] [stdout] test models::analysis::tests::structured_risk_assessment_prefers_structured_sections ... ok [INFO] [stdout] test models::analysis::tests::technical_conclusions_combine_strong_trend_with_fading_momentum ... ok [INFO] [stdout] test models::analysis::tests::setup_explanation_distinguishes_pending_strict_matches_from_verified_fallback ... ok [INFO] [stdout] test engine::score::dimensions::technical::technical_tests::test_overbought_bearish ... ok [INFO] [stdout] test models::scoring::format_tests::semantic_analyst_matching_handles_noncanonical_keys ... 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::scoring::format_tests::strong_positive_evidence_can_promote_hold ... ok [INFO] [stdout] test models::scoring::format_tests::confidence_caps_missing_core_data_without_text_matching ... ok [INFO] [stdout] test models::analysis::tests::setup_explanation_zero_history_is_explicitly_cautious ... ok [INFO] [stdout] test models::scoring::format_tests::strong_negative_evidence_can_demote_hold ... ok [INFO] [stdout] test models::scoring::format_tests::setup_history_gap_no_longer_adds_cap ... ok [INFO] [stdout] test models::scoring::format_tests::weak_evidence_buy_is_forced_back_to_hold ... ok [INFO] [stdout] test models::scoring::format_tests::direction_score_uses_structured_probabilities ... ok [INFO] [stdout] test types::tests::news_fetch_attempt_default ... ok [INFO] [stdout] test models::store::tests::checkpoint_info_serialization ... ok [INFO] [stdout] test models::store::tests::cache_entry_serialization ... ok [INFO] [stdout] test models::store::tests::stored_checkpoint_serialization ... ok [INFO] [stdout] test types::tests::news_fetch_result_with_items ... ok [INFO] [stdout] test types::tests::news_item_no_url ... ok [INFO] [stdout] test types::tests::news_fetch_attempt_with_error ... 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::market_kind_eq ... ok [INFO] [stdout] test types::tests::news_fetch_result_default ... ok [INFO] [stdout] test models::scoring::format_tests::direction_penalty_can_block_marginal_buy_upgrade ... ok [INFO] [stdout] test types::tests::news_item_serialization ... ok [INFO] [stdout] test models::analysis::tests::scenario_minimum_errors_are_injected_into_executive_summary ... ok [INFO] [stdout] test models::scoring::format_tests::missing_execution_boundary_forces_hold_even_with_strong_scores ... ok [INFO] [stdout] test models::analysis::tests::scenario_minimum_errors_become_execution_blocking_gaps ... ok [INFO] [stdout] test models::analysis::tests::availability_diagnostics_include_related_gap_linkage ... ok [INFO] [stdout] test bin_helpers::bin_helpers_tests::resolve_output_reason_key_pipe_separated ... ok [INFO] [stdout] test data::news::tests::dedupe_key_case_insensitive ... 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] [INFO] [stdout] test result: ok. 152 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.08s [INFO] [stdout] [INFO] [stderr] Running unittests src/bin/sa.rs (/opt/rustwide/target/release/deps/sa-1e30ac7ba07797eb) [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 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] running `Command { std: "docker" "inspect" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851", kill_on_drop: false }` [INFO] [stdout] 617408a6c4343895ae79541a47a17281b0a569a714160d1be91c29721ce49851