[INFO] cloning repository https://github.com/h4x0r/ccchat
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/h4x0r/ccchat" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fh4x0r%2Fccchat", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fh4x0r%2Fccchat'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 09dc785d47342eaccb6c6a2119d7d5c96ec39d2b
[INFO] testing h4x0r/ccchat against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fh4x0r%2Fccchat" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/h4x0r/ccchat
[INFO] finished tweaking git repo https://github.com/h4x0r/ccchat
[INFO] tweaked toml for git repo https://github.com/h4x0r/ccchat written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/h4x0r/ccchat on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/h4x0r/ccchat 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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded croner v3.0.1
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 6863518a80a2179d4753db97dfe0ac79d8412308ad5c5da21ad48277d81be233
[INFO] running `Command { std: "docker" "start" "-a" "6863518a80a2179d4753db97dfe0ac79d8412308ad5c5da21ad48277d81be233", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "6863518a80a2179d4753db97dfe0ac79d8412308ad5c5da21ad48277d81be233", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "6863518a80a2179d4753db97dfe0ac79d8412308ad5c5da21ad48277d81be233", kill_on_drop: false }`
[INFO] [stdout] 6863518a80a2179d4753db97dfe0ac79d8412308ad5c5da21ad48277d81be233
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 95ac89595acc1a3ae2b4ae283ac3edb298e57ad0f7099d40667bac409ad2aad9
[INFO] running `Command { std: "docker" "start" "-a" "95ac89595acc1a3ae2b4ae283ac3edb298e57ad0f7099d40667bac409ad2aad9", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling rustls-pki-types v1.14.0
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling rustls v0.23.36
[INFO] [stderr]    Compiling futures-sink v0.3.31
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling bitflags v2.11.0
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling getrandom v0.4.1
[INFO] [stderr]    Compiling data-encoding v2.10.0
[INFO] [stderr]    Compiling iri-string v0.7.10
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling utf-8 v0.7.6
[INFO] [stderr]    Compiling webpki-roots v1.0.6
[INFO] [stderr]    Compiling webpki-roots v0.26.11
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling clap_builder v4.5.58
[INFO] [stderr]    Compiling unsafe-libyaml v0.2.11
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling indexmap v2.13.0
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling sha1 v0.10.6
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling uuid v1.21.0
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling zerovec-derive v0.11.2
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling futures-macro v0.3.31
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling rustls-webpki v0.103.9
[INFO] [stderr]    Compiling zerofrom-derive v0.1.6
[INFO] [stderr]    Compiling yoke-derive v0.8.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerofrom v0.1.6
[INFO] [stderr]    Compiling yoke v0.8.1
[INFO] [stderr]    Compiling clap v4.5.58
[INFO] [stderr]    Compiling zerovec v0.11.5
[INFO] [stderr]    Compiling zerotrie v0.2.3
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling tinystr v0.8.2
[INFO] [stderr]    Compiling potential_utf v0.1.4
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling icu_collections v2.1.1
[INFO] [stderr]    Compiling icu_locale_core v2.1.1
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling serde_yaml v0.9.34+deprecated
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling croner v3.0.1
[INFO] [stderr]    Compiling icu_provider v2.1.1
[INFO] [stderr]    Compiling icu_normalizer v2.1.1
[INFO] [stderr]    Compiling icu_properties v2.1.2
[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 tungstenite v0.24.0
[INFO] [stderr]    Compiling rusqlite v0.32.1
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling ccchat v0.1.6 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 36s
[INFO] running `Command { std: "docker" "inspect" "95ac89595acc1a3ae2b4ae283ac3edb298e57ad0f7099d40667bac409ad2aad9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "95ac89595acc1a3ae2b4ae283ac3edb298e57ad0f7099d40667bac409ad2aad9", kill_on_drop: false }`
[INFO] [stdout] 95ac89595acc1a3ae2b4ae283ac3edb298e57ad0f7099d40667bac409ad2aad9
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 07200f3ab272f2a2b20a8012db5a3ed355dbc31d2955f028a4155bbc82c36333
[INFO] running `Command { std: "docker" "start" "-a" "07200f3ab272f2a2b20a8012db5a3ed355dbc31d2955f028a4155bbc82c36333", kill_on_drop: false }`
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling getrandom v0.1.16
[INFO] [stderr]    Compiling http v0.2.12
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling waker-fn v1.2.0
[INFO] [stderr]    Compiling mockall_derive v0.13.1
[INFO] [stderr]    Compiling fastrand v1.9.0
[INFO] [stderr]    Compiling event-listener v2.5.3
[INFO] [stderr]    Compiling http-types v2.12.0
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling rand_core v0.5.1
[INFO] [stderr]    Compiling async-channel v1.9.0
[INFO] [stderr]    Compiling futures-lite v1.13.0
[INFO] [stderr]    Compiling serde_qs v0.8.5
[INFO] [stderr]    Compiling socket2 v0.5.10
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling rand_chacha v0.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling infer v0.2.3
[INFO] [stderr]    Compiling rand v0.7.3
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling retain_mut v0.1.9
[INFO] [stderr]    Compiling base64 v0.13.1
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling deadpool v0.9.5
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling http-body v0.4.6
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling downcast v0.11.0
[INFO] [stderr]    Compiling fragile v2.0.1
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling darling_macro v0.20.11
[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 derive_builder v0.20.2
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling futures-executor v0.3.31
[INFO] [stderr]    Compiling h2 v0.3.27
[INFO] [stderr]    Compiling tokio-tungstenite v0.24.0
[INFO] [stderr]    Compiling croner v3.0.1
[INFO] [stderr]    Compiling futures v0.3.31
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling mockall v0.13.1
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling hyper v0.14.32
[INFO] [stderr]    Compiling ccchat v0.1.6 (/opt/rustwide/workdir)
[INFO] [stderr]    Compiling wiremock v0.5.22
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 59.25s
[INFO] running `Command { std: "docker" "inspect" "07200f3ab272f2a2b20a8012db5a3ed355dbc31d2955f028a4155bbc82c36333", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "07200f3ab272f2a2b20a8012db5a3ed355dbc31d2955f028a4155bbc82c36333", kill_on_drop: false }`
[INFO] [stdout] 07200f3ab272f2a2b20a8012db5a3ed355dbc31d2955f028a4155bbc82c36333
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-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" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] fed51b7364c35a894d2e506699fd936fba92bb3991d76e55a9bf1a62938c026e
[INFO] running `Command { std: "docker" "start" "-a" "fed51b7364c35a894d2e506699fd936fba92bb3991d76e55a9bf1a62938c026e", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.36s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/ccchat-c02c65abebdb1102)
[INFO] [stdout] 
[INFO] [stdout] running 370 tests
[INFO] [stdout] test audit::tests::test_get_recent_actions_limit ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_missing_msg ... ok
[INFO] [stdout] test commands::tests::test_cmd_cancel_reminder_not_found ... ok
[INFO] [stdout] test audit::tests::test_log_action_and_retrieve ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_invalid ... ok
[INFO] [stdout] test commands::tests::test_cmd_crons_empty ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_success ... ok
[INFO] [stdout] test commands::tests::test_cmd_daily_invalid_time ... ok
[INFO] [stdout] test commands::tests::test_cmd_daily_missing_msg ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_unquoted ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_cancel_not_found ... ok
[INFO] [stdout] test commands::tests::test_cmd_every_invalid ... ok
[INFO] [stdout] test commands::tests::test_cmd_crons_with_jobs ... ok
[INFO] [stdout] test commands::tests::test_cmd_every_missing_msg ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_does_not_reset_session ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_resets_counter ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_handles_summarize_failure ... ok
[INFO] [stdout] test commands::tests::test_cmd_remind_invalid_time ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_does_not_trigger_below_threshold ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_cancel_success ... ok
[INFO] [stdout] test commands::tests::test_cmd_daily_valid ... ok
[INFO] [stdout] test commands::tests::test_cmd_remind_missing_message ... ok
[INFO] [stdout] test audit::tests::test_get_recent_actions_ordered ... ok
[INFO] [stdout] test commands::tests::test_cmd_reminders_empty ... ok
[INFO] [stdout] test commands::tests::test_cmd_every_hourly ... ok
[INFO] [stdout] test commands::tests::test_cmd_cancel_reminder_success ... ok
[INFO] [stdout] test commands::tests::test_cmd_cron_pause_and_resume ... ok
[INFO] [stdout] test commands::tests::test_cmd_remind_success ... ok
[INFO] [stdout] test commands::tests::test_cmd_pins_lists_all ... ok
[INFO] [stdout] test commands::tests::test_cmd_recall_sets_pending ... ok
[INFO] [stdout] test commands::tests::test_download_attachments_audio_sets_flag ... ok
[INFO] [stdout] test commands::tests::test_download_attachments_failure_sends_error ... ok
[INFO] [stdout] test commands::tests::test_download_attachments_image_success ... ok
[INFO] [stdout] test commands::tests::test_download_attachments_unsupported_sends_notification ... ok
[INFO] [stdout] test commands::tests::test_deliver_due_cron_jobs_advances_after_delivery ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_counter_increments ... ok
[INFO] [stdout] test commands::tests::test_cmd_recall_returns_content ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_triggers_at_threshold ... ok
[INFO] [stdout] test commands::tests::test_handle_claude_error_increments_error_count ... ok
[INFO] [stdout] test commands::tests::test_handle_claude_error_sends_user_message ... ok
[INFO] [stdout] test commands::tests::test_deliver_due_cron_jobs_sends_message ... ok
[INFO] [stdout] test commands::tests::test_handle_command_allow_invalid ... ok
[INFO] [stdout] test commands::tests::test_handle_command_allow_no_arg ... ok
[INFO] [stdout] test commands::tests::test_allow_command_creates_audit_entry ... ok
[INFO] [stdout] test commands::tests::test_auto_summarize_saves_memory ... ok
[INFO] [stdout] test commands::tests::test_handle_command_cancel ... ok
[INFO] [stdout] test commands::tests::test_cmd_usage_with_cost ... ok
[INFO] [stdout] test commands::tests::test_handle_command_allow_valid ... ok
[INFO] [stdout] test commands::tests::test_handle_command_cron_pause ... ok
[INFO] [stdout] test commands::tests::test_deliver_due_cron_jobs_skips_on_send_failure ... ok
[INFO] [stdout] test commands::tests::test_handle_command_cron_resume ... ok
[INFO] [stdout] test commands::tests::test_handle_command_crons ... ok
[INFO] [stdout] test commands::tests::test_cmd_pin_saves_recent ... ok
[INFO] [stdout] test commands::tests::test_handle_claude_error_skips_enqueue_when_prompt_empty ... ok
[INFO] [stdout] test commands::tests::test_handle_command_export_config ... ok
[INFO] [stdout] test commands::tests::test_handle_command_help ... ok
[INFO] [stdout] test commands::tests::test_handle_command_audit ... ok
[INFO] [stdout] test commands::tests::test_handle_command_help_has_descriptions ... ok
[INFO] [stdout] test commands::tests::test_delete_pin ... ok
[INFO] [stdout] test commands::tests::test_handle_command_help_lists_commands ... ok
[INFO] [stdout] test commands::tests::test_handle_command_pending_empty ... ok
[INFO] [stdout] test commands::tests::test_handle_command_pending_with_entries ... ok
[INFO] [stdout] test commands::tests::test_handle_claude_error_enqueues_retry_when_prompt_present ... ok
[INFO] [stdout] test commands::tests::test_handle_command_help_includes_cron ... ok
[INFO] [stdout] test commands::tests::test_cmd_usage_with_no_history ... ok
[INFO] [stdout] test commands::tests::test_cmd_usage_shows_model ... ok
[INFO] [stdout] test commands::tests::test_handle_command_remind ... ok
[INFO] [stdout] test commands::tests::test_handle_command_cron ... ok
[INFO] [stdout] test commands::tests::test_handle_command_status ... ok
[INFO] [stdout] test commands::tests::test_handle_command_unknown ... ok
[INFO] [stdout] test commands::tests::test_handle_command_reminders ... ok
[INFO] [stdout] test commands::tests::test_handle_continuation_success ... ok
[INFO] [stdout] test commands::tests::test_get_pin_missing ... ok
[INFO] [stdout] test commands::tests::test_handle_command_every ... ok
[INFO] [stdout] test commands::tests::test_handle_command_model ... ok
[INFO] [stdout] test commands::tests::test_handle_message_command_response ... ok
[INFO] [stdout] test commands::tests::test_handle_command_usage ... ok
[INFO] [stdout] test commands::tests::test_handle_command_cron_cancel ... ok
[INFO] [stdout] test commands::tests::test_handle_command_revoke ... ok
[INFO] [stdout] test commands::tests::test_cmd_usage_shows_first_message_date ... ok
[INFO] [stdout] test commands::tests::test_handle_message_more_with_truncated ... ok
[INFO] [stdout] test commands::tests::test_handle_message_more_without_truncated ... ok
[INFO] [stdout] test commands::tests::test_cmd_usage_with_messages ... ok
[INFO] [stdout] test commands::tests::test_handle_message_rate_limited ... ok
[INFO] [stdout] test commands::tests::test_get_recent_messages ... ok
[INFO] [stdout] test commands::tests::test_enqueue_on_claude_error ... ok
[INFO] [stdout] test commands::tests::test_handle_command_daily ... ok
[INFO] [stdout] test commands::tests::test_handle_continuation_claude_error ... ok
[INFO] [stdout] test commands::tests::test_handle_message_cost_tracking ... ok
[INFO] [stdout] test commands::tests::test_handle_message_reset_with_summarization ... ok
[INFO] [stdout] test commands::tests::test_handle_message_claude_error ... ok
[INFO] [stdout] test commands::tests::test_handle_message_records_latency ... ok
[INFO] [stdout] test commands::tests::test_handle_message_attachments_forwarded_to_claude ... ok
[INFO] [stdout] test commands::tests::test_handle_message_error_increments_error_count ... ok
[INFO] [stdout] test commands::tests::test_handle_command_export ... ok
[INFO] [stdout] test commands::tests::test_handle_command_pin ... ok
[INFO] [stdout] test commands::tests::test_handle_message_happy_path ... ok
[INFO] [stdout] test commands::tests::test_handle_message_cost_accumulates_across_messages ... ok
[INFO] [stdout] test commands::tests::test_handle_unauthorized_increments_counter ... ok
[INFO] [stdout] test commands::tests::test_search_no_argument ... ok
[INFO] [stdout] test commands::tests::test_handle_unauthorized_no_duplicate ... ok
[INFO] [stdout] test commands::tests::test_handle_message_new_session_injects_context ... ok
[INFO] [stdout] test commands::tests::test_handle_unauthorized_tracks_pending ... ok
[INFO] [stdout] test commands::tests::test_list_pins_empty ... ok
[INFO] [stdout] test commands::tests::test_send_file_attachments_missing_file_does_not_panic ... ok
[INFO] [stdout] test commands::tests::test_send_file_attachments_multiple_files ... ok
[INFO] [stdout] test commands::tests::test_model_command_persists_preference ... ok
[INFO] [stdout] test commands::tests::test_send_file_attachments_no_refs_sends_nothing ... ok
[INFO] [stdout] test commands::tests::test_send_file_attachments_send_failure_does_not_propagate ... ok
[INFO] [stdout] test commands::tests::test_send_file_attachments_sends_existing_file ... ok
[INFO] [stdout] test commands::tests::test_status_includes_avg_latency ... ok
[INFO] [stdout] test commands::tests::test_status_includes_error_count ... ok
[INFO] [stdout] test commands::tests::test_list_pins_with_data ... ok
[INFO] [stdout] test commands::tests::test_status_includes_sender_cost ... ok
[INFO] [stdout] test error::tests::test_display_claude_variant ... ok
[INFO] [stdout] test error::tests::test_display_signal_variant ... ok
[INFO] [stdout] test error::tests::test_from_io_error ... ok
[INFO] [stdout] test error::tests::test_from_serde_json_error ... ok
[INFO] [stdout] test commands::tests::test_save_pin_and_get ... ok
[INFO] [stdout] test error::tests::test_from_str ... ok
[INFO] [stdout] test error::tests::test_from_string ... ok
[INFO] [stdout] test error::tests::test_from_utf8_error ... ok
[INFO] [stdout] test guard::tests::test_guard_decision_debug ... ok
[INFO] [stdout] test guard::tests::test_judge_no_api_key_fails_closed ... ok
[INFO] [stdout] test guard::tests::test_guard_lakera_timeout_is_fail_open ... ok
[INFO] [stdout] test guard::tests::test_rejection_message_is_vague ... ok
[INFO] [stdout] test helpers::tests::test_content_type_from_extension_png ... ok
[INFO] [stdout] test guard::tests::test_guard_blocks_on_lakera_flagged ... ok
[INFO] [stdout] test helpers::tests::test_content_type_from_extension_unknown ... ok
[INFO] [stdout] test guard::tests::test_lakera_clean_passes ... ok
[INFO] [stdout] test helpers::tests::test_extract_file_references_ignores_nonexistent ... ok
[INFO] [stdout] test helpers::tests::test_extract_file_references_none ... ok
[INFO] [stdout] test helpers::tests::test_find_free_port_preferred ... ok
[INFO] [stdout] test helpers::tests::test_find_free_port_returns_valid ... ok
[INFO] [stdout] test helpers::tests::test_format_cron_human_invalid_falls_back ... ok
[INFO] [stdout] test helpers::tests::test_format_cron_human_valid ... ok
[INFO] [stdout] test helpers::tests::test_hash_message_deterministic ... ok
[INFO] [stdout] test helpers::tests::test_hash_message_different_inputs ... ok
[INFO] [stdout] test helpers::tests::test_is_command ... ok
[INFO] [stdout] test helpers::tests::test_isolated_workdir_unique_per_sender ... ok
[INFO] [stdout] test helpers::tests::test_looks_truncated_ends_with_backtick ... ok
[INFO] [stdout] test helpers::tests::test_extract_file_references_single_file ... ok
[INFO] [stdout] test helpers::tests::test_looks_truncated_ends_with_period ... ok
[INFO] [stdout] test helpers::tests::test_looks_truncated_ends_with_question ... ok
[INFO] [stdout] test helpers::tests::test_looks_truncated_ends_without_punctuation ... ok
[INFO] [stdout] test helpers::tests::test_looks_truncated_short ... ok
[INFO] [stdout] test helpers::tests::test_merge_messages_multiple ... ok
[INFO] [stdout] test helpers::tests::test_merge_messages_single ... ok
[INFO] [stdout] test helpers::tests::test_extract_file_references_multiple ... ok
[INFO] [stdout] test helpers::tests::test_parse_daily_time_afternoon ... ok
[INFO] [stdout] test helpers::tests::test_parse_daily_time_invalid_format ... ok
[INFO] [stdout] test helpers::tests::test_parse_daily_time_invalid_hour ... ok
[INFO] [stdout] test helpers::tests::test_parse_daily_time_valid ... ok
[INFO] [stdout] test helpers::tests::test_parse_duration_days ... ok
[INFO] [stdout] test helpers::tests::test_parse_duration_hours ... ok
[INFO] [stdout] test helpers::tests::test_parse_duration_invalid ... ok
[INFO] [stdout] test helpers::tests::test_parse_duration_minutes ... ok
[INFO] [stdout] test helpers::tests::test_parse_duration_seconds ... ok
[INFO] [stdout] test helpers::tests::test_parse_interval_secs_daily ... ok
[INFO] [stdout] test helpers::tests::test_parse_interval_secs_hourly ... ok
[INFO] [stdout] test helpers::tests::test_parse_interval_secs_minutes ... ok
[INFO] [stdout] test helpers::tests::test_parse_interval_secs_invalid ... ok
[INFO] [stdout] test helpers::tests::test_parse_rate_limit ... ok
[INFO] [stdout] test helpers::tests::test_split_message_at_double_newline ... ok
[INFO] [stdout] test helpers::tests::test_split_message_at_newline ... ok
[INFO] [stdout] test helpers::tests::test_split_message_exact_max ... ok
[INFO] [stdout] test commands::tests::test_retry_loop_skips_max_retries ... ok
[INFO] [stdout] test commands::tests::test_handle_message_new_session_injects_context_format ... ok
[INFO] [stdout] test helpers::tests::test_truncate_short ... ok
[INFO] [stdout] test helpers::tests::test_split_message_hard_split ... ok
[INFO] [stdout] test helpers::tests::test_split_message_short ... ok
[INFO] [stdout] test helpers::tests::test_truncate_exact ... ok
[INFO] [stdout] test helpers::tests::test_truncate_long ... ok
[INFO] [stdout] test helpers::tests::test_voice_prompt_with_text ... ok
[INFO] [stdout] test helpers::tests::test_voice_prompt_without_text ... ok
[INFO] [stdout] test memory::config::tests::test_allowed_file_path_json ... ok
[INFO] [stdout] test memory::config::tests::test_config_dir_under_home ... ok
[INFO] [stdout] test memory::config::tests::test_export_config_empty ... ok
[INFO] [stdout] test memory::config::tests::test_export_config_excludes_account_owner ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_invalid_format ... ok
[INFO] [stdout] test commands::tests::test_save_pin_overwrites_existing ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_invalid_yaml ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_json_empty ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_json_valid ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_merges_with_persisted ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_missing_file ... ok
[INFO] [stdout] test commands::tests::test_send_claude_response_sends_attachments ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_missing_name_field ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_unknown_extension_json_fallback ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_without_system_prompt_defaults_none ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_yaml_empty ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_with_system_prompt ... ok
[INFO] [stdout] test commands::tests::test_search_empty_memory ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_yml_extension ... ok
[INFO] [stdout] test memory::config::tests::test_load_config_yaml_valid ... ok
[INFO] [stdout] test commands::tests::test_retry_loop_processes_pending ... ok
[INFO] [stdout] test memory::config::tests::test_persisted_allowed_serde_round_trip ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_file_error_preserves_state ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_adds_new_entries ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_no_config_path_noop ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_clears_old_sender_prompts ... ok
[INFO] [stdout] test memory::config::tests::test_validate_entries_duplicates ... ok
[INFO] [stdout] test memory::config::tests::test_validate_entries_empty_id ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_removes_gone_entries ... ok
[INFO] [stdout] test memory::config::tests::test_validate_entries_suspicious_format ... ok
[INFO] [stdout] test memory::config::tests::test_validate_entries_valid_e164 ... ok
[INFO] [stdout] test memory::config::tests::test_validate_entries_uuid_ok ... ok
[INFO] [stdout] test memory::context::tests::test_format_epoch ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_preserves_account_owner ... ok
[INFO] [stdout] test memory::config::tests::test_reload_config_updates_system_prompt ... ok
[INFO] [stdout] test commands::tests::test_handle_continuation_still_truncated ... ok
[INFO] [stdout] test commands::tests::test_sender_state_message_count_initializes_zero ... ok
[INFO] [stdout] test commands::tests::test_search_with_results ... ok
[INFO] [stdout] test commands::tests::test_search_no_results ... ok
[INFO] [stdout] test commands::tests::test_handle_message_truncated_response ... ok
[INFO] [stdout] test memory::admin::tests::test_forget_command_no_data ... ok
[INFO] [stdout] test commands::tests::test_search_results_truncated ... ok
[INFO] [stdout] test memory::context::tests::test_forget_clears_memory ... ok
[INFO] [stdout] test memory::context::tests::test_inject_context_with_memory ... ok
[INFO] [stdout] test memory::context::tests::test_inject_context_no_memory ... ok
[INFO] [stdout] test memory::admin::tests::test_memory_command_no_data ... ok
[INFO] [stdout] test memory::context::tests::test_inject_context_with_relevant_messages ... ok
[INFO] [stdout] test memory::admin::tests::test_forget_command_with_counts ... ok
[INFO] [stdout] test memory::context::tests::test_save_memory_uses_sqlite ... ok
[INFO] [stdout] test memory::context::tests::test_delete_all_memory ... ok
[INFO] [stdout] test commands::tests::test_retry_loop_increments_on_failure ... ok
[INFO] [stdout] test memory::admin::tests::test_memory_command_with_data ... ok
[INFO] [stdout] test memory::messages::tests::test_export_messages_empty ... ok
[INFO] [stdout] test memory::schema::tests::test_hash_sender_deterministic ... ok
[INFO] [stdout] test memory::messages::tests::test_export_messages_with_data ... ok
[INFO] [stdout] test memory::messages::tests::test_get_oldest_message_ts_empty ... ok
[INFO] [stdout] test memory::schema::tests::test_memory_db_path_valid ... ok
[INFO] [stdout] test memory::messages::tests::test_store_and_retrieve_messages ... ok
[INFO] [stdout] test queue::tests::test_enqueue_message ... ok
[INFO] [stdout] test queue::tests::test_enqueue_with_attachments_json ... ok
[INFO] [stdout] test memory::messages::tests::test_fts5_search ... ok
[INFO] [stdout] test queue::tests::test_get_pending_ordered_by_timestamp ... ok
[INFO] [stdout] test queue::tests::test_mark_completed ... ok
[INFO] [stdout] test queue::tests::test_increment_retry_count ... ok
[INFO] [stdout] test queue::tests::test_max_retries_excludes_from_pending ... ok
[INFO] [stdout] test queue::tests::test_purge_completed_messages ... ok
[INFO] [stdout] test schedule::tests::test_add_cron_job_invalid_pattern_returns_zero ... ok
[INFO] [stdout] test memory::messages::tests::test_load_model_preference_none_when_absent ... ok
[INFO] [stdout] test schedule::tests::test_add_interval_job_and_get_active ... ok
[INFO] [stdout] test schedule::tests::test_add_cron_job_and_get_active ... ok
[INFO] [stdout] test memory::messages::tests::test_get_summary_count_with_data ... ok
[INFO] [stdout] test schedule::tests::test_cancel_cron_job_removes ... ok
[INFO] [stdout] test schedule::tests::test_advance_cron_job_updates_next_delivery ... ok
[INFO] [stdout] test memory::messages::tests::test_get_summary_count_empty ... ok
[INFO] [stdout] test schedule::tests::test_add_reminder_and_get_pending ... ok
[INFO] [stdout] test memory::messages::tests::test_store_summaries ... ok
[INFO] [stdout] test schedule::tests::test_cancel_reminder_wrong_sender ... ok
[INFO] [stdout] test schedule::tests::test_cancel_cron_job_wrong_sender ... ok
[INFO] [stdout] test schedule::tests::test_cancel_reminder_removes ... ok
[INFO] [stdout] test schedule::tests::test_get_due_cron_jobs_excludes_cancelled ... ok
[INFO] [stdout] test schedule::tests::test_get_active_cron_jobs_for_sender ... ok
[INFO] [stdout] test memory::messages::tests::test_persist_model_preference_updates_existing ... ok
[INFO] [stdout] test memory::messages::tests::test_purge_old_messages ... ok
[INFO] [stdout] test memory::messages::tests::test_persist_model_preference_round_trip ... ok
[INFO] [stdout] test schedule::tests::test_advance_interval_job_updates_next_delivery ... ok
[INFO] [stdout] test schedule::tests::test_get_due_cron_jobs_excludes_paused ... ok
[INFO] [stdout] test memory::messages::tests::test_get_oldest_message_ts_with_data ... ok
[INFO] [stdout] test memory::context::tests::test_store_message_pair ... ok
[INFO] [stdout] test schedule::tests::test_get_due_cron_jobs_only_active_and_past ... ok
[INFO] [stdout] test signal::tests::test_classify_attachment_audio ... ok
[INFO] [stdout] test signal::tests::test_classify_attachment_image ... ok
[INFO] [stdout] test signal::tests::test_classify_attachment_document ... ok
[INFO] [stdout] test signal::tests::test_classify_attachment_other ... ok
[INFO] [stdout] test signal::tests::test_extract_attachments_from_envelope ... ok
[INFO] [stdout] test schedule::tests::test_get_due_reminders_excludes_delivered ... ok
[INFO] [stdout] test signal::tests::test_extract_attachments_none ... ok
[INFO] [stdout] test signal::tests::test_extract_attachments_sync_message ... ok
[INFO] [stdout] test schedule::tests::test_get_pending_reminders_for_sender ... ok
[INFO] [stdout] test schedule::tests::test_get_due_reminders_only_past ... ok
[INFO] [stdout] test schedule::tests::test_resume_cron_job_recomputes_next ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_data_message ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_attachment_only ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_empty_text_no_attachments ... ok
[INFO] [stdout] test signal::tests::test_extract_voice_note_flag ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_no_source ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_no_text_no_attachments ... ok
[INFO] [stdout] test schedule::tests::test_purge_delivered_cleans_up ... ok
[INFO] [stdout] test schedule::tests::test_pause_cron_job ... ok
[INFO] [stdout] test schedule::tests::test_mark_delivered ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_with_attachments ... ok
[INFO] [stdout] test signal::tests::test_supported_audio_formats ... ok
[INFO] [stdout] test state::tests::test_add_cost_and_total_cost_usd ... ok
[INFO] [stdout] test signal::tests::test_parse_envelope_sync_message ... ok
[INFO] [stdout] test state::tests::test_add_cost_fractional ... ok
[INFO] [stdout] test memory::messages::tests::test_summaries_max_5 ... ok
[INFO] [stdout] test state::tests::test_get_system_prompt_custom_global ... ok
[INFO] [stdout] test state::tests::test_get_system_prompt_per_sender_override ... ok
[INFO] [stdout] test state::tests::test_get_system_prompt_default ... ok
[INFO] [stdout] test state::tests::test_metrics_error_count_increment ... ok
[INFO] [stdout] test state::tests::test_metrics_error_count_initial_zero ... ok
[INFO] [stdout] test state::tests::test_per_sender_cost_tracking ... ok
[INFO] [stdout] test state::tests::test_rate_limit_blocks ... ok
[INFO] [stdout] test state::tests::test_shutdown_save_sessions_handles_summarize_failure ... ok
[INFO] [stdout] test state::tests::test_state_is_allowed_empty ... ok
[INFO] [stdout] test state::tests::test_state_is_allowed_false ... ok
[INFO] [stdout] test state::tests::test_shutdown_save_sessions_empty_is_noop ... ok
[INFO] [stdout] test stats::tests::test_build_health_json_has_uptime ... ok
[INFO] [stdout] test state::tests::test_state_is_allowed_true ... ok
[INFO] [stdout] test stats::tests::test_build_health_json_has_status_ok ... ok
[INFO] [stdout] test stats::tests::test_build_health_json_has_version ... ok
[INFO] [stdout] test stats::tests::test_build_stats_json_initially_zero ... ok
[INFO] [stdout] test stats::tests::test_health_endpoint_responds ... ok
[INFO] [stdout] test stats::tests::test_metrics_endpoint_responds ... ok
[INFO] [stdout] test stats::tests::test_prometheus_metrics_has_cost ... ok
[INFO] [stdout] test stats::tests::test_prometheus_metrics_has_messages ... ok
[INFO] [stdout] test stats::tests::test_prometheus_metrics_has_errors ... ok
[INFO] [stdout] test stats::tests::test_prometheus_metrics_has_sessions ... ok
[INFO] [stdout] test stats::tests::test_prometheus_metrics_has_uptime ... ok
[INFO] [stdout] test state::tests::test_token_bucket_basic ... ok
[INFO] [stdout] test stats::tests::test_prometheus_metrics_has_type_annotations ... ok
[INFO] [stdout] test stats::tests::test_stats_includes_all_fields ... ok
[INFO] [stdout] test stats::tests::test_stats_includes_error_count ... ok
[INFO] [stdout] test memory::schema::tests::test_json_migration_old_format_removed ... ok
[INFO] [stdout] test stats::tests::test_stats_json_format ... ok
[INFO] [stdout] test stats::tests::test_stats_includes_per_sender_costs ... ok
[INFO] [stdout] test stats::tests::test_stats_reflects_state_mutations ... ok
[INFO] [stdout] test stats::tests::test_stats_server_responds_with_json ... ok
[INFO] [stdout] test tests::test_args_config_defaults_to_none ... ok
[INFO] [stdout] test tests::test_args_default_values ... ok
[INFO] [stdout] test tests::test_log_format_defaults_to_text ... ok
[INFO] [stdout] test tests::test_args_account_required ... ok
[INFO] [stdout] test memory::schema::tests::test_open_memory_db_creates_schema ... ok
[INFO] [stdout] test tests::test_log_format_arbitrary_value_accepted ... ok
[INFO] [stdout] test tests::test_args_config_flag ... ok
[INFO] [stdout] test tests::test_log_format_json_accepted ... ok
[INFO] [stdout] test tests::test_log_format_text_explicit ... ok
[INFO] [stdout] test tests::test_no_memory_prompt_content ... ok
[INFO] [stdout] test tests::test_route_echo_suppressed ... ok
[INFO] [stdout] test tests::test_route_sync_bypasses_auth_check ... ok
[INFO] [stdout] test tests::test_route_allowed_sender_direct ... ok
[INFO] [stdout] test tests::test_route_unauthorized_sender ... ok
[INFO] [stdout] test tests::test_route_attachment_always_direct_even_with_debounce ... ok
[INFO] [stdout] test tests::test_route_command_always_direct_even_with_debounce ... ok
[INFO] [stdout] test traits::tests::test_claude_variant_message_preserved ... ok
[INFO] [stdout] test tests::test_route_allowed_by_uuid ... ok
[INFO] [stdout] test state::tests::test_token_bucket_refill ... ok
[INFO] [stdout] test tests::test_route_debounce_when_enabled ... ok
[INFO] [stdout] test traits::tests::test_signal_api_download_attachment_failure ... ok
[INFO] [stdout] test tests::test_route_sync_message_reply_to_account ... ok
[INFO] [stdout] test traits::tests::test_signal_api_send_failure ... ok
[INFO] [stdout] test traits::tests::test_signal_api_send_attachment_failure ... ok
[INFO] [stdout] test traits::tests::test_signal_api_send_success ... ok
[INFO] [stdout] test traits::tests::test_signal_api_send_attachment_success ... ok
[INFO] [stdout] test traits::tests::test_signal_api_send_multiple_messages_via_http ... ok
[INFO] [stdout] test memory::schema::tests::test_json_migration_to_sqlite ... ok
[INFO] [stdout] test webhook::tests::test_fire_if_configured_none_is_noop ... ok
[INFO] [stdout] test traits::tests::test_signal_variant_message_preserved ... ok
[INFO] [stdout] test webhook::tests::test_fire_webhook_builds_payload ... ok
[INFO] [stdout] test webhook::tests::test_fire_webhook_includes_event ... ok
[INFO] [stdout] test webhook::tests::test_fire_webhook_includes_timestamp ... ok
[INFO] [stdout] test webhook::tests::test_webhook_does_not_block ... ok
[INFO] [stdout] test webhook::tests::test_webhook_payload_has_detail ... ok
[INFO] [stdout] test webhook::tests::test_webhook_payload_has_sender ... ok
[INFO] [stdout] test traits::tests::test_signal_send_failure_returns_signal_variant ... ok
[INFO] [stdout] test traits::tests::test_signal_api_set_typing_off ... ok
[INFO] [stdout] test traits::tests::test_signal_api_set_typing_on ... ok
[INFO] [stdout] test traits::tests::test_signal_api_download_attachment_success ... ok
[INFO] [stdout] test state::tests::test_session_expiry_logic ... ok
[INFO] [stdout] test state::tests::test_get_or_create_session_new ... ok
[INFO] [stdout] test state::tests::test_get_or_create_session_existing_returns_same ... ok
[INFO] [stdout] test state::tests::test_get_or_create_session_uses_persisted_model ... ok
[INFO] [stdout] test state::tests::test_shutdown_save_sessions_calls_summarize_for_each ... ok
[INFO] [stdout] test webhook::tests::test_fire_if_configured_some_fires ... ok
[INFO] [stdout] test state::tests::test_state_send_long_message_splits ... ok
[INFO] [stdout] test memory::messages::tests::test_export_messages_limit_100 ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 370 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.94s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/logging_test.rs (/opt/rustwide/target/debug/deps/logging_test-f8e4299e9440fb61)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test help_describes_log_format_default ... ok
[INFO] [stdout] test log_format_text_with_help_exits_zero ... ok
[INFO] [stdout] test log_format_json_with_help_exits_zero ... ok
[INFO] [stdout] test log_format_env_var_with_help_exits_zero ... ok
[INFO] [stdout] test missing_account_fails ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "fed51b7364c35a894d2e506699fd936fba92bb3991d76e55a9bf1a62938c026e", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "fed51b7364c35a894d2e506699fd936fba92bb3991d76e55a9bf1a62938c026e", kill_on_drop: false }`
[INFO] [stdout] fed51b7364c35a894d2e506699fd936fba92bb3991d76e55a9bf1a62938c026e
