[INFO] cloning repository https://github.com/peter-hollis-orkastrate/engram
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/peter-hollis-orkastrate/engram" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeter-hollis-orkastrate%2Fengram", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeter-hollis-orkastrate%2Fengram'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8bc389189a0b6ba161ec485098a68724dbe8efd7
[INFO] testing peter-hollis-orkastrate/engram against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fpeter-hollis-orkastrate%2Fengram" "/workspace/builds/worker-2-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-2-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-2-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/peter-hollis-orkastrate/engram
[INFO] finished tweaking git repo https://github.com/peter-hollis-orkastrate/engram
[INFO] tweaked toml for git repo https://github.com/peter-hollis-orkastrate/engram written to /workspace/builds/worker-2-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/peter-hollis-orkastrate/engram 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/peter-hollis-orkastrate/engram 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded phf_codegen v0.8.0
[INFO] [stderr]   Downloaded tao-macros v0.1.3
[INFO] [stderr]   Downloaded tokio-stream v0.1.18
[INFO] [stderr]   Downloaded phf_shared v0.8.0
[INFO] [stderr]   Downloaded dary_heap v0.3.8
[INFO] [stderr]   Downloaded munge v0.4.7
[INFO] [stderr]   Downloaded servo_arc v0.1.1
[INFO] [stderr]   Downloaded sysctl v0.5.5
[INFO] [stderr]   Downloaded atk v0.18.2
[INFO] [stderr]   Downloaded coreaudio-sys v0.2.17
[INFO] [stderr]   Downloaded compression-codecs v0.4.36
[INFO] [stderr]   Downloaded libappindicator v0.9.0
[INFO] [stderr]   Downloaded alsa v0.9.1
[INFO] [stderr]   Downloaded async-compression v0.4.39
[INFO] [stderr]   Downloaded muda v0.15.3
[INFO] [stderr]   Downloaded cairo-rs v0.18.5
[INFO] [stderr]   Downloaded javascriptcore-rs-sys v1.1.1
[INFO] [stderr]   Downloaded jiff-static v0.2.20
[INFO] [stderr]   Downloaded monostate-impl v0.1.18
[INFO] [stderr]   Downloaded ort v2.0.0-rc.11
[INFO] [stderr]   Downloaded gio v0.18.4
[INFO] [stderr]   Downloaded redb v2.6.3
[INFO] [stderr]   Downloaded tempfile v3.25.0
[INFO] [stderr]   Downloaded gtk v0.18.2
[INFO] [stderr]   Downloaded javascriptcore-rs v1.1.2
[INFO] [stderr]   Downloaded gdk-pixbuf-sys v0.18.0
[INFO] [stderr]   Downloaded gdk-sys v0.18.2
[INFO] [stderr]   Downloaded gtk-sys v0.18.2
[INFO] [stderr]   Downloaded webview2-com v0.34.0
[INFO] [stderr]   Downloaded onig_sys v69.9.1
[INFO] [stderr]   Downloaded cpu-time v1.0.0
[INFO] [stderr]   Downloaded unicode-normalization-alignments v0.1.12
[INFO] [stderr]   Downloaded tokenizers v0.22.2
[INFO] [stderr]   Downloaded x11 v2.21.0
[INFO] [stderr]   Downloaded wry v0.48.1
[INFO] [stderr]   Downloaded gdk v0.18.2
[INFO] [stderr]   Downloaded gdk-pixbuf v0.18.5
[INFO] [stderr]   Downloaded chrono v0.4.43
[INFO] [stderr]   Downloaded gtk3-macros v0.18.2
[INFO] [stderr]   Downloaded webkit2gtk v2.0.1
[INFO] [stderr]   Downloaded spm_precompiled v0.1.4
[INFO] [stderr]   Downloaded version-compare v0.2.1
[INFO] [stderr]   Downloaded windows-version v0.1.7
[INFO] [stderr]   Downloaded anyhow v1.0.101
[INFO] [stderr]   Downloaded memoffset v0.7.1
[INFO] [stderr]   Downloaded matrixmultiply v0.3.10
[INFO] [stderr]   Downloaded portable-atomic-util v0.2.5
[INFO] [stderr]   Downloaded rkyv_derive v0.8.15
[INFO] [stderr]   Downloaded derive_builder_macro v0.20.2
[INFO] [stderr]   Downloaded global-hotkey v0.6.4
[INFO] [stderr]   Downloaded tray-icon v0.19.3
[INFO] [stderr]   Downloaded html5ever v0.26.0
[INFO] [stderr]   Downloaded ndarray v0.17.2
[INFO] [stderr]   Downloaded derive_builder_core v0.20.2
[INFO] [stderr]   Downloaded esaxx-rs v0.1.10
[INFO] [stderr]   Downloaded toml_datetime v0.6.3
[INFO] [stderr]   Downloaded tendril v0.4.3
[INFO] [stderr]   Downloaded markup5ever v0.11.0
[INFO] [stderr]   Downloaded cssparser v0.27.2
[INFO] [stderr]   Downloaded derive_more v0.99.20
[INFO] [stderr]   Downloaded glib-macros v0.18.5
[INFO] [stderr]   Downloaded cairo-sys-rs v0.18.2
[INFO] [stderr]   Downloaded gio-sys v0.18.1
[INFO] [stderr]   Downloaded soup3-sys v0.5.0
[INFO] [stderr]   Downloaded rusqlite v0.31.0
[INFO] [stderr]   Downloaded anndists v0.1.3
[INFO] [stderr]   Downloaded jiff v0.2.20
[INFO] [stderr]   Downloaded bytecheck v0.8.2
[INFO] [stderr]   Downloaded whisper-rs-sys v0.11.1
[INFO] [stderr]   Downloaded keyboard-types v0.7.0
[INFO] [stderr]   Downloaded string_cache v0.8.9
[INFO] [stderr]   Downloaded dtoa v1.0.11
[INFO] [stderr]   Downloaded rand_pcg v0.2.1
[INFO] [stderr]   Downloaded soup3 v0.5.0
[INFO] [stderr]   Downloaded hashlink v0.9.1
[INFO] [stderr]   Downloaded nix v0.26.4
[INFO] [stderr]   Downloaded toml_edit v0.20.2
[INFO] [stderr]   Downloaded regex-syntax v0.8.9
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.58
[INFO] [stderr]   Downloaded deranged v0.5.6
[INFO] [stderr]   Downloaded phf_codegen v0.10.0
[INFO] [stderr]   Downloaded futf v0.1.5
[INFO] [stderr]   Downloaded mac v0.1.1
[INFO] [stderr]   Downloaded phf_macros v0.8.0
[INFO] [stderr]   Downloaded phf v0.8.0
[INFO] [stderr]   Downloaded unicode_categories v0.1.1
[INFO] [stderr]   Downloaded phf_generator v0.8.0
[INFO] [stderr]   Downloaded objc2-web-kit v0.2.2
[INFO] [stderr]   Downloaded glib v0.18.5
[INFO] [stderr]   Downloaded webview2-com-macros v0.8.1
[INFO] [stderr]   Downloaded hnsw_rs v0.3.3
[INFO] [stderr]   Downloaded ndarray v0.16.1
[INFO] [stderr]   Downloaded rkyv v0.8.15
[INFO] [stderr]   Downloaded ruvector-core v2.0.2
[INFO] [stderr]   Downloaded ryu v1.0.23
[INFO] [stderr]   Downloaded compact_str v0.9.0
[INFO] [stderr]   Downloaded bindgen v0.69.5
[INFO] [stderr]   Downloaded syn v2.0.115
[INFO] [stderr]   Downloaded windows-result v0.1.2
[INFO] [stderr]   Downloaded libappindicator-sys v0.9.0
[INFO] [stderr]   Downloaded libxdo-sys v0.11.0
[INFO] [stderr]   Downloaded libxdo v0.6.0
[INFO] [stderr]   Downloaded gdkx11-sys v0.18.2
[INFO] [stderr]   Downloaded gdkx11 v0.18.2
[INFO] [stderr]   Downloaded phf v0.10.1
[INFO] [stderr]   Downloaded phf_generator v0.10.0
[INFO] [stderr]   Downloaded siphasher v1.0.2
[INFO] [stderr]   Downloaded string_cache_codegen v0.5.4
[INFO] [stderr]   Downloaded cssparser-macros v0.6.1
[INFO] [stderr]   Downloaded dtoa-short v0.3.5
[INFO] [stderr]   Downloaded selectors v0.22.0
[INFO] [stderr]   Downloaded kuchikiki v0.8.2
[INFO] [stderr]   Downloaded toml_parser v1.0.8+spec-1.1.0
[INFO] [stderr]   Downloaded pango v0.18.3
[INFO] [stderr]   Downloaded web-sys v0.3.85
[INFO] [stderr]   Downloaded proc-macro-crate v2.0.2
[INFO] [stderr]   Downloaded atk-sys v0.18.2
[INFO] [stderr]   Downloaded pango-sys v0.18.0
[INFO] [stderr]   Downloaded glib-sys v0.18.1
[INFO] [stderr]   Downloaded webkit2gtk-sys v2.0.1
[INFO] [stderr]   Downloaded fallible-streaming-iterator v0.1.9
[INFO] [stderr]   Downloaded ort-sys v2.0.0-rc.11
[INFO] [stderr]   Downloaded widestring v1.2.1
[INFO] [stderr]   Downloaded monostate v0.1.18
[INFO] [stderr]   Downloaded onig v6.5.1
[INFO] [stderr]   Downloaded rayon-cond v0.4.0
[INFO] [stderr]   Downloaded toml v0.8.2
[INFO] [stderr]   Downloaded gobject-sys v0.18.0
[INFO] [stderr]   Downloaded libloading v0.9.0
[INFO] [stderr]   Downloaded rand_distr v0.4.3
[INFO] [stderr]   Downloaded ptr_meta_derive v0.3.1
[INFO] [stderr]   Downloaded mmap-rs v0.6.1
[INFO] [stderr]   Downloaded munge_macro v0.4.7
[INFO] [stderr]   Downloaded ptr_meta v0.3.1
[INFO] [stderr]   Downloaded derive_builder v0.20.2
[INFO] [stderr]   Downloaded unicode-ident v1.0.23
[INFO] [stderr]   Downloaded castaway v0.2.4
[INFO] [stderr]   Downloaded which v4.4.2
[INFO] [stderr]   Downloaded cmake v0.1.57
[INFO] [stderr]   Downloaded uuid v1.20.0
[INFO] [stderr]   Downloaded thin-slice v0.1.1
[INFO] [stderr]   Downloaded bytecheck_derive v0.8.2
[INFO] [stderr]   Downloaded rancor v0.1.1
[INFO] [stderr]   Downloaded rend v0.5.3
[INFO] [stderr]   Downloaded whisper-rs v0.13.2
[INFO] [stderr]   Downloaded libsqlite3-sys v0.28.0
[INFO] [stderr]   Downloaded webview2-com-sys v0.34.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] f1e199a9cdbe634b211a0645b05712a8bc85a06c5eb5700d7c317775f027c610
[INFO] running `Command { std: "docker" "start" "-a" "f1e199a9cdbe634b211a0645b05712a8bc85a06c5eb5700d7c317775f027c610", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "f1e199a9cdbe634b211a0645b05712a8bc85a06c5eb5700d7c317775f027c610", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f1e199a9cdbe634b211a0645b05712a8bc85a06c5eb5700d7c317775f027c610", kill_on_drop: false }`
[INFO] [stdout] f1e199a9cdbe634b211a0645b05712a8bc85a06c5eb5700d7c317775f027c610
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] f8483ce642499ded2a8a28fa526899b5c65de365e34096e46fdf35ebdb5030e2
[INFO] running `Command { std: "docker" "start" "-a" "f8483ce642499ded2a8a28fa526899b5c65de365e34096e46fdf35ebdb5030e2", kill_on_drop: false }`
[INFO] [stderr]    Compiling unicode-ident v1.0.23
[INFO] [stderr]    Compiling libc v0.2.182
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling once_cell v1.21.3
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling libm v0.2.16
[INFO] [stderr]    Compiling log v0.4.29
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling regex-syntax v0.8.9
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling quote v1.0.44
[INFO] [stderr]    Compiling syn v2.0.115
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling socket2 v0.6.2
[INFO] [stderr]    Compiling mio v1.1.1
[INFO] [stderr]    Compiling indexmap v2.12.1
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling winnow v0.5.40
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling uuid v1.20.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling crossbeam-epoch v0.9.18
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling crossbeam-deque v0.8.6
[INFO] [stderr]    Compiling rayon-core v1.13.0
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling either v1.15.0
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling memoffset v0.7.1
[INFO] [stderr]    Compiling matrixmultiply v0.3.10
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling same-file v1.0.6
[INFO] [stderr]    Compiling rawpointer v0.2.1
[INFO] [stderr]    Compiling anyhow v1.0.101
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling rayon v1.11.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling env_filter v1.0.0
[INFO] [stderr]    Compiling walkdir v2.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tokio-macros v2.6.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ptr_meta_derive v0.3.1
[INFO] [stderr]    Compiling ptr_meta v0.3.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling tokio v1.49.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling tracing-subscriber v0.3.22
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling rancor v0.1.1
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling enum-as-inner v0.6.1
[INFO] [stderr]    Compiling bytecheck_derive v0.8.2
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling onig_sys v69.9.1
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling num-complex v0.4.6
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling simdutf8 v0.1.5
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling jiff v0.2.20
[INFO] [stderr]    Compiling bytecheck v0.8.2
[INFO] [stderr]    Compiling sysctl v0.5.5
[INFO] [stderr]    Compiling nix v0.26.4
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling munge_macro v0.4.7
[INFO] [stderr]    Compiling serde_spanned v0.6.9
[INFO] [stderr]    Compiling toml_datetime v0.6.3
[INFO] [stderr]    Compiling chrono v0.4.43
[INFO] [stderr]    Compiling toml_edit v0.20.2
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling toml v0.8.2
[INFO] [stderr]    Compiling env_logger v0.11.9
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling engram-core v0.1.0 (/opt/rustwide/workdir/crates/engram-core)
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling cpu-time v1.0.0
[INFO] [stderr]    Compiling http v1.4.0
[INFO] [stderr]    Compiling combine v4.6.7
[INFO] [stderr]    Compiling virtue v0.0.18
[INFO] [stderr]    Compiling allocator-api2 v0.2.21
[INFO] [stderr]    Compiling redb v2.6.3
[INFO] [stderr]    Compiling esaxx-rs v0.1.10
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling ort-sys v2.0.0-rc.11
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling nom v7.1.3
[INFO] [stderr]    Compiling bincode_derive v2.0.1
[INFO] [stderr]    Compiling anndists v0.1.3
[INFO] [stderr]    Compiling castaway v0.2.4
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling munge v0.4.7
[INFO] [stderr]    Compiling bincode v1.3.3
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling rend v0.5.3
[INFO] [stderr]    Compiling rkyv_derive v0.8.15
[INFO] [stderr]    Compiling monostate-impl v0.1.18
[INFO] [stderr]    Compiling itertools v0.14.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling crossbeam-channel v0.5.15
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling macro_rules_attribute-proc_macro v0.2.2
[INFO] [stderr]    Compiling unty v0.0.4
[INFO] [stderr]    Compiling unicode-segmentation v1.12.0
[INFO] [stderr]    Compiling bincode v2.0.1
[INFO] [stderr]    Compiling rayon-cond v0.4.0
[INFO] [stderr]    Compiling compact_str v0.9.0
[INFO] [stderr]    Compiling macro_rules_attribute v0.2.2
[INFO] [stderr]    Compiling crossbeam v0.8.4
[INFO] [stderr]    Compiling monostate v0.1.18
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling spm_precompiled v0.1.4
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling mmap-rs v0.6.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling ndarray v0.16.1
[INFO] [stderr]    Compiling dary_heap v0.3.8
[INFO] [stderr]    Compiling ndarray v0.17.2
[INFO] [stderr]    Compiling memmap2 v0.9.9
[INFO] [stderr]    Compiling unicode-normalization-alignments v0.1.12
[INFO] [stderr]    Compiling hnsw_rs v0.3.3
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling libloading v0.9.0
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling unicode_categories v0.1.1
[INFO] [stderr]    Compiling simd-adler32 v0.3.8
[INFO] [stderr]    Compiling tokenizers v0.22.2
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling rkyv v0.8.15
[INFO] [stderr]    Compiling engram-storage v0.1.0 (/opt/rustwide/workdir/crates/engram-storage)
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling futures-channel v0.3.31
[INFO] [stderr]    Compiling compression-core v0.4.31
[INFO] [stderr]    Compiling futures-task v0.3.31
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling futures-util v0.3.31
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling compression-codecs v0.4.36
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling ort v2.0.0-rc.11
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling async-compression v0.4.39
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling engram-dictation v0.1.0 (/opt/rustwide/workdir/crates/engram-dictation)
[INFO] [stderr]    Compiling ruvector-core v2.0.2
[INFO] [stderr]    Compiling engram-ui v0.1.0 (/opt/rustwide/workdir/crates/engram-ui)
[INFO] [stderr]    Compiling clap_derive v4.5.55
[INFO] [stderr]    Compiling hex v0.4.3
[INFO] [stderr]    Compiling engram-audio v0.1.0 (/opt/rustwide/workdir/crates/engram-audio)
[INFO] [stderr]    Compiling axum v0.8.8
[INFO] [stderr]    Compiling engram-capture v0.1.0 (/opt/rustwide/workdir/crates/engram-capture)
[INFO] [stderr]    Compiling engram-whisper v0.1.0 (/opt/rustwide/workdir/crates/engram-whisper)
[INFO] [stderr]    Compiling engram-ocr v0.1.0 (/opt/rustwide/workdir/crates/engram-ocr)
[INFO] [stderr]    Compiling clap v4.5.59
[INFO] [stderr]    Compiling engram-vector v0.1.0 (/opt/rustwide/workdir/crates/engram-vector)
[INFO] [stderr]    Compiling engram-insight v0.1.0 (/opt/rustwide/workdir/crates/engram-insight)
[INFO] [stderr]    Compiling engram-action v0.1.0 (/opt/rustwide/workdir/crates/engram-action)
[INFO] [stderr]    Compiling engram-chat v0.1.0 (/opt/rustwide/workdir/crates/engram-chat)
[INFO] [stderr]    Compiling engram-api v0.1.0 (/opt/rustwide/workdir/crates/engram-api)
[INFO] [stderr]    Compiling engram-app v0.1.0 (/opt/rustwide/workdir/crates/engram-app)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 16s
[INFO] running `Command { std: "docker" "inspect" "f8483ce642499ded2a8a28fa526899b5c65de365e34096e46fdf35ebdb5030e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "f8483ce642499ded2a8a28fa526899b5c65de365e34096e46fdf35ebdb5030e2", kill_on_drop: false }`
[INFO] [stdout] f8483ce642499ded2a8a28fa526899b5c65de365e34096e46fdf35ebdb5030e2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] 4a81712dd6724e31291a33f512bba34d19a0e0d865e14b2c6552f5afaf343c1b
[INFO] running `Command { std: "docker" "start" "-a" "4a81712dd6724e31291a33f512bba34d19a0e0d865e14b2c6552f5afaf343c1b", kill_on_drop: false }`
[INFO] [stderr]    Compiling zerocopy v0.8.39
[INFO] [stderr]    Compiling zerocopy-derive v0.8.39
[INFO] [stderr]    Compiling bitflags v2.10.0
[INFO] [stderr]    Compiling rustix v1.1.3
[INFO] [stderr]    Compiling linux-raw-sys v0.11.0
[INFO] [stderr]    Compiling plotters-backend v0.3.7
[INFO] [stderr]    Compiling ciborium-io v0.2.2
[INFO] [stderr]    Compiling itertools v0.10.5
[INFO] [stderr]    Compiling cast v0.3.0
[INFO] [stderr]    Compiling sysctl v0.5.5
[INFO] [stderr]    Compiling onig v6.5.1
[INFO] [stderr]    Compiling plotters-svg v0.3.7
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling tinytemplate v1.2.1
[INFO] [stderr]    Compiling mmap-rs v0.6.1
[INFO] [stderr]    Compiling plotters v0.3.7
[INFO] [stderr]    Compiling is-terminal v0.4.17
[INFO] [stderr]    Compiling anes v0.1.6
[INFO] [stderr]    Compiling oorandom v11.1.5
[INFO] [stderr]    Compiling engram-dictation v0.1.0 (/opt/rustwide/workdir/crates/engram-dictation)
[INFO] [stderr]    Compiling engram-capture v0.1.0 (/opt/rustwide/workdir/crates/engram-capture)
[INFO] [stderr]    Compiling criterion-plot v0.5.0
[INFO] [stderr]    Compiling engram-ocr v0.1.0 (/opt/rustwide/workdir/crates/engram-ocr)
[INFO] [stderr]    Compiling engram-audio v0.1.0 (/opt/rustwide/workdir/crates/engram-audio)
[INFO] [stderr]    Compiling engram-ui v0.1.0 (/opt/rustwide/workdir/crates/engram-ui)
[INFO] [stderr]    Compiling engram-whisper v0.1.0 (/opt/rustwide/workdir/crates/engram-whisper)
[INFO] [stderr]    Compiling tempfile v3.25.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling half v2.7.1
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling ciborium-ll v0.2.2
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling ciborium v0.2.2
[INFO] [stderr]    Compiling rand v0.8.5
[INFO] [stderr]    Compiling rand v0.9.2
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling dashmap v6.1.0
[INFO] [stderr]    Compiling criterion v0.5.1
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling hnsw_rs v0.3.3
[INFO] [stderr]    Compiling tokenizers v0.22.2
[INFO] [stderr]    Compiling rand_distr v0.4.3
[INFO] [stderr]    Compiling engram-storage v0.1.0 (/opt/rustwide/workdir/crates/engram-storage)
[INFO] [stderr]    Compiling ruvector-core v2.0.2
[INFO] [stderr]    Compiling engram-core v0.1.0 (/opt/rustwide/workdir/crates/engram-core)
[INFO] [stderr]    Compiling engram-vector v0.1.0 (/opt/rustwide/workdir/crates/engram-vector)
[INFO] [stderr]    Compiling engram-insight v0.1.0 (/opt/rustwide/workdir/crates/engram-insight)
[INFO] [stderr]    Compiling engram-action v0.1.0 (/opt/rustwide/workdir/crates/engram-action)
[INFO] [stderr]    Compiling engram-chat v0.1.0 (/opt/rustwide/workdir/crates/engram-chat)
[INFO] [stderr]    Compiling engram-api v0.1.0 (/opt/rustwide/workdir/crates/engram-api)
[INFO] [stderr]    Compiling engram-app v0.1.0 (/opt/rustwide/workdir/crates/engram-app)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 2m 14s
[INFO] running `Command { std: "docker" "inspect" "4a81712dd6724e31291a33f512bba34d19a0e0d865e14b2c6552f5afaf343c1b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "4a81712dd6724e31291a33f512bba34d19a0e0d865e14b2c6552f5afaf343c1b", kill_on_drop: false }`
[INFO] [stdout] 4a81712dd6724e31291a33f512bba34d19a0e0d865e14b2c6552f5afaf343c1b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-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] e837fac950094efb92e88c206b6e77d8237402f231fd3d37d939da6dd8528aa9
[INFO] running `Command { std: "docker" "start" "-a" "e837fac950094efb92e88c206b6e77d8237402f231fd3d37d939da6dd8528aa9", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.73s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_action-a0ee60e2cd45902d)
[INFO] [stdout] 
[INFO] [stdout] running 261 tests
[INFO] [stdout] test confirmation::tests::test_can_always_allow_passive_types ... ok
[INFO] [stdout] test confirmation::tests::test_rate_limiter_blocks_after_exhaustion ... ok
[INFO] [stdout] test confirmation::tests::test_approve_nonexistent_returns_none ... ok
[INFO] [stdout] test confirmation::tests::test_double_approve_returns_none ... ok
[INFO] [stdout] test confirmation::tests::test_multiple_confirmations ... ok
[INFO] [stdout] test confirmation::tests::test_rate_limiter_allows_up_to_max ... ok
[INFO] [stdout] test confirmation::tests::test_dismiss_nonexistent_returns_false ... ok
[INFO] [stdout] test confirmation::tests::test_can_always_allow_shell_command_is_false ... ok
[INFO] [stdout] test confirmation::tests::test_rate_limiter_large_max ... ok
[INFO] [stdout] test confirmation::tests::test_rate_limiter_zero_max ... ok
[INFO] [stdout] test confirmation::tests::test_request_and_approve ... ok
[INFO] [stdout] test error::tests::test_intent_error_detection_failed_empty_message ... ok
[INFO] [stdout] test error::tests::test_intent_error_display ... ok
[INFO] [stdout] test error::tests::test_action_error_from_engram_error ... ok
[INFO] [stdout] test confirmation::tests::test_request_and_dismiss ... ok
[INFO] [stdout] test error::tests::test_action_error_handler_failed_empty_message ... ok
[INFO] [stdout] test error::tests::test_errors_implement_debug ... ok
[INFO] [stdout] test error::tests::test_action_error_timeout_various_values ... ok
[INFO] [stdout] test error::tests::test_action_error_all_action_types_in_unregistered ... ok
[INFO] [stdout] test error::tests::test_action_error_display ... ok
[INFO] [stdout] test error::tests::test_intent_error_from_engram_error ... ok
[INFO] [stdout] test error::tests::test_scheduler_error_display ... ok
[INFO] [stdout] test error::tests::test_task_error_display ... ok
[INFO] [stdout] test error::tests::test_task_error_from_engram_error ... ok
[INFO] [stdout] test error::tests::test_task_error_invalid_transition_all_pairs ... ok
[INFO] [stdout] test error::tests::test_scheduler_error_task_not_found_preserves_uuid ... ok
[INFO] [stdout] test handler::clipboard::tests::test_clipboard_describe ... ok
[INFO] [stdout] test error::tests::test_task_error_not_found_preserves_uuid ... ok
[INFO] [stdout] test handler::clipboard::tests::test_clipboard_action_type ... ok
[INFO] [stdout] test error::tests::test_scheduler_error_failed_empty_message ... ok
[INFO] [stdout] test handler::clipboard::tests::test_clipboard_empty_text ... ok
[INFO] [stdout] test handler::clipboard::tests::test_clipboard_valid_payload ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_describe ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_action_type ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_safety_level ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_describe ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_title_only ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_valid_payload ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_action_type ... ok
[INFO] [stdout] test handler::clipboard::tests::test_clipboard_missing_text ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_safety_level ... ok
[INFO] [stdout] test handler::clipboard::tests::test_clipboard_safety_level ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_empty_text ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_long_text_truncated ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_missing_text ... ok
[INFO] [stdout] test handler::reminder::tests::test_reminder_action_type ... ok
[INFO] [stdout] test handler::quick_note::tests::test_quick_note_valid_payload ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_missing_title ... ok
[INFO] [stdout] test handler::reminder::tests::test_reminder_describe ... ok
[INFO] [stdout] test handler::reminder::tests::test_reminder_valid_payload ... ok
[INFO] [stdout] test handler::reminder::tests::test_reminder_empty_message ... ok
[INFO] [stdout] test handler::reminder::tests::test_reminder_safety_level ... ok
[INFO] [stdout] test handler::reminder::tests::test_reminder_missing_message ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_describe ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_action_type ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_default ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_empty_command ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_valid_payload ... ok
[INFO] [stdout] test handler::tests::test_get_unregistered_returns_none ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_missing_command ... ok
[INFO] [stdout] test handler::shell_command::tests::test_shell_command_safety_level_is_active ... ok
[INFO] [stdout] test handler::tests::test_default_impl ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_action_type ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_describe ... ok
[INFO] [stdout] test handler::tests::test_registered_handlers_have_correct_safety_level ... ok
[INFO] [stdout] test handler::tests::test_register_overwrites_existing ... ok
[INFO] [stdout] test handler::tests::test_registered_handlers_have_correct_action_type ... ok
[INFO] [stdout] test handler::tests::test_register_defaults_registers_all_six ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_empty_url ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_https ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_missing_url ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_rejects_ftp ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_rejects_data ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_rejects_file ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_rejects_javascript ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_http ... ok
[INFO] [stdout] test handler::url_open::tests::test_url_open_safety_level ... ok
[INFO] [stdout] test handler::notification::tests::test_notification_empty_title ... ok
[INFO] [stdout] test intent::patterns::tests::test_empty_text ... ok
[INFO] [stdout] test intent::patterns::tests::test_dont_forget_to ... ok
[INFO] [stdout] test intent::patterns::tests::test_alert_me ... ok
[INFO] [stdout] test intent::patterns::tests::test_action_marker ... ok
[INFO] [stdout] test intent::patterns::tests::test_execute_command ... ok
[INFO] [stdout] test intent::patterns::tests::test_check_out_url ... ok
[INFO] [stdout] test intent::patterns::tests::test_bare_url ... ok
[INFO] [stdout] test intent::patterns::tests::test_command_quoted ... ok
[INFO] [stdout] test intent::patterns::tests::test_hack_marker ... ok
[INFO] [stdout] test intent::patterns::tests::test_fixme_marker ... ok
[INFO] [stdout] test intent::patterns::tests::test_have_to_with_verb ... ok
[INFO] [stdout] test intent::patterns::tests::test_go_to_url ... ok
[INFO] [stdout] test intent::patterns::tests::test_hashtag_note ... ok
[INFO] [stdout] test intent::patterns::tests::test_jot_down ... ok
[INFO] [stdout] test intent::patterns::tests::test_launch_app ... ok
[INFO] [stdout] test intent::patterns::tests::test_how_do_question ... ok
[INFO] [stdout] test intent::patterns::tests::test_multiple_intent_types_detected ... ok
[INFO] [stdout] test intent::patterns::tests::test_note_to_self ... ok
[INFO] [stdout] test intent::patterns::tests::test_open_url ... ok
[INFO] [stdout] test intent::patterns::tests::test_no_intent_text ... ok
[INFO] [stdout] test intent::patterns::tests::test_note_colon ... ok
[INFO] [stdout] test intent::patterns::tests::test_need_to_with_verb ... ok
[INFO] [stdout] test intent::patterns::tests::test_past_tense_reminded_does_not_match ... ok
[INFO] [stdout] test intent::patterns::tests::test_past_tense_remembered_does_not_match ... ok
[INFO] [stdout] test intent::patterns::tests::test_remember_to ... ok
[INFO] [stdout] test intent::patterns::tests::test_quick_note ... ok
[INFO] [stdout] test intent::patterns::tests::test_remind_me_to ... ok
[INFO] [stdout] test intent::patterns::tests::test_set_a_reminder ... ok
[INFO] [stdout] test intent::patterns::tests::test_reminder_case_insensitive ... ok
[INFO] [stdout] test intent::patterns::tests::test_run_command ... ok
[INFO] [stdout] test intent::patterns::tests::test_results_sorted_by_confidence ... ok
[INFO] [stdout] test intent::patterns::tests::test_should_with_verb ... ok
[INFO] [stdout] test intent::patterns::tests::test_why_did_question ... ok
[INFO] [stdout] test intent::patterns::tests::test_todo_marker ... ok
[INFO] [stdout] test intent::patterns::tests::test_start_service ... ok
[INFO] [stdout] test intent::patterns::tests::test_visit_url ... ok
[INFO] [stdout] test intent::patterns::tests::test_where_is_question ... ok
[INFO] [stdout] test intent::patterns::tests::test_what_is_question ... ok
[INFO] [stdout] test intent::patterns::tests::test_when_will_question ... ok
[INFO] [stdout] test intent::tests::test_acted_on_defaults_false ... ok
[INFO] [stdout] test intent::tests::test_command_max_confidence_capped ... ok
[INFO] [stdout] test intent::tests::test_basic_reminder_detection ... ok
[INFO] [stdout] test intent::tests::test_confidence_threshold_filtering ... ok
[INFO] [stdout] test intent::tests::test_empty_text ... ok
[INFO] [stdout] test intent::tests::test_deduplication ... ok
[INFO] [stdout] test intent::tests::test_kill_switch_returns_empty ... ok
[INFO] [stdout] test intent::tests::test_intents_have_unique_ids ... ok
[INFO] [stdout] test intent::time_parser::tests::test_at_12am ... ok
[INFO] [stdout] test intent::time_parser::tests::test_at_12pm ... ok
[INFO] [stdout] test intent::time_parser::tests::test_at_15_00 ... ok
[INFO] [stdout] test intent::time_parser::tests::test_at_3pm ... ok
[INFO] [stdout] test intent::time_parser::tests::test_at_9_30_am ... ok
[INFO] [stdout] test intent::time_parser::tests::test_empty_text ... ok
[INFO] [stdout] test intent::tests::test_non_reminder_has_no_extracted_time ... ok
[INFO] [stdout] test intent::time_parser::tests::test_future_resolution ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_0_minutes ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_1_hr ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_1_minute ... ok
[INFO] [stdout] test intent::time_parser::tests::test_gibberish ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_30_mins ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_2_hours ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_5_minutes ... ok
[INFO] [stdout] test intent::time_parser::tests::test_in_an_hour ... ok
[INFO] [stdout] test intent::time_parser::tests::test_next_friday ... ok
[INFO] [stdout] test intent::time_parser::tests::test_next_monday ... ok
[INFO] [stdout] test intent::tests::test_question_detection ... ok
[INFO] [stdout] test intent::tests::test_reminder_has_extracted_time ... ok
[INFO] [stdout] test intent::time_parser::tests::test_no_time_expression ... ok
[INFO] [stdout] test intent::time_parser::tests::test_on_december_25th ... ok
[INFO] [stdout] test intent::time_parser::tests::test_on_feb_20 ... ok
[INFO] [stdout] test intent::time_parser::tests::test_text_with_embedded_time ... ok
[INFO] [stdout] test intent::time_parser::tests::test_on_february_20th ... ok
[INFO] [stdout] test orchestrator::tests::test_active_always_needs_confirmation ... ok
[INFO] [stdout] test intent::time_parser::tests::test_tomorrow ... ok
[INFO] [stdout] test orchestrator::tests::test_execute_task_needs_confirmation_no_execute ... ok
[INFO] [stdout] test orchestrator::tests::test_execute_task_auto_approved_succeeds ... ok
[INFO] [stdout] test intent::time_parser::tests::test_next_sunday ... ok
[INFO] [stdout] test orchestrator::tests::test_passive_needs_confirmation_when_not_auto_approved ... ok
[INFO] [stdout] test intent::time_parser::tests::test_tomorrow_embedded ... ok
[INFO] [stdout] test orchestrator::tests::test_shell_command_never_auto_approved ... ok
[INFO] [stdout] test orchestrator::tests::test_passive_no_confirmation_when_auto_approved ... ok
[INFO] [stdout] test scheduler::tests::test_scheduler_new ... ok
[INFO] [stdout] test orchestrator::tests::test_execute_task_unregistered_handler ... ok
[INFO] [stdout] test scheduler::tests::test_scheduler_no_tasks_shutdown ... ok
[INFO] [stdout] test scheduler::tests::test_scheduler_promotes_past_due_task ... ok
[INFO] [stdout] test task::state_machine::tests::test_active_to_detected_invalid ... ok
[INFO] [stdout] test orchestrator::tests::test_execute_task_not_found ... ok
[INFO] [stdout] test task::state_machine::tests::test_active_to_dismissed_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_active_to_done ... ok
[INFO] [stdout] test task::state_machine::tests::test_active_to_failed ... ok
[INFO] [stdout] test task::state_machine::tests::test_active_to_expired ... ok
[INFO] [stdout] test task::state_machine::tests::test_active_to_pending_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_all_valid_transitions_count ... ok
[INFO] [stdout] test task::state_machine::tests::test_detected_to_done_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_detected_to_pending ... ok
[INFO] [stdout] test task::state_machine::tests::test_dismissed_to_anything_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_done_to_anything_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_expired_to_anything_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_failed_to_anything_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_invalid_transition_error_message ... ok
[INFO] [stdout] test task::state_machine::tests::test_pending_to_active ... ok
[INFO] [stdout] test task::state_machine::tests::test_pending_to_dismissed ... ok
[INFO] [stdout] test task::state_machine::tests::test_pending_to_done_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_pending_to_expired ... ok
[INFO] [stdout] test task::state_machine::tests::test_pending_to_failed_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_pending_to_pending_invalid ... ok
[INFO] [stdout] test task::state_machine::tests::test_detected_to_detected_invalid ... ok
[INFO] [stdout] test task::tests::test_create_task ... ok
[INFO] [stdout] test task::tests::test_create_with_all_fields ... ok
[INFO] [stdout] test task::tests::test_default_impl ... ok
[INFO] [stdout] test task::tests::test_dismiss_from_detected_fails ... ok
[INFO] [stdout] test task::tests::test_dismiss_task ... ok
[INFO] [stdout] test task::tests::test_expire_active_tasks ... ok
[INFO] [stdout] test task::tests::test_expire_stale_tasks ... ok
[INFO] [stdout] test task::tests::test_expire_stale_tasks_skips_recent ... ok
[INFO] [stdout] test task::tests::test_expire_stale_tasks_skips_terminal_states ... ok
[INFO] [stdout] test task::tests::test_get_task ... ok
[INFO] [stdout] test task::tests::test_get_task_not_found ... ok
[INFO] [stdout] test task::tests::test_list_all ... ok
[INFO] [stdout] test task::tests::test_list_filter_by_status ... ok
[INFO] [stdout] test task::tests::test_list_with_limit ... ok
[INFO] [stdout] test task::tests::test_remove_active_task ... ok
[INFO] [stdout] test task::tests::test_remove_not_found ... ok
[INFO] [stdout] test task::tests::test_remove_task ... ok
[INFO] [stdout] test task::tests::test_update_status_invalid_transition ... ok
[INFO] [stdout] test task::tests::test_update_status_not_found ... ok
[INFO] [stdout] test task::tests::test_update_status_valid_transition ... ok
[INFO] [stdout] test types::tests::test_action_config_custom_values_serde ... ok
[INFO] [stdout] test types::tests::test_action_config_defaults ... ok
[INFO] [stdout] test types::tests::test_action_config_deserialize_from_json_string ... ok
[INFO] [stdout] test types::tests::test_action_config_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_action_history_record_serde ... ok
[INFO] [stdout] test types::tests::test_action_history_record_with_error ... ok
[INFO] [stdout] test types::tests::test_action_payload_array_data ... ok
[INFO] [stdout] test types::tests::test_action_payload_empty_object ... ok
[INFO] [stdout] test task::state_machine::tests::test_detected_to_active_invalid ... ok
[INFO] [stdout] test types::tests::test_action_payload_nested_object ... ok
[INFO] [stdout] test types::tests::test_action_payload_null_data ... ok
[INFO] [stdout] test types::tests::test_action_payload_serde ... ok
[INFO] [stdout] test types::tests::test_action_result_failure_case ... ok
[INFO] [stdout] test types::tests::test_action_result_serde ... ok
[INFO] [stdout] test types::tests::test_action_type_display ... ok
[INFO] [stdout] test types::tests::test_action_type_display_from_str_round_trip ... ok
[INFO] [stdout] test types::tests::test_action_type_from_str ... ok
[INFO] [stdout] test types::tests::test_action_type_from_str_error_message ... ok
[INFO] [stdout] test types::tests::test_action_type_hash_as_map_key ... ok
[INFO] [stdout] test types::tests::test_action_type_hash_duplicate_insert ... ok
[INFO] [stdout] test task::tests::test_list_filter_by_action_type ... ok
[INFO] [stdout] test types::tests::test_action_type_hash_distinct ... ok
[INFO] [stdout] test types::tests::test_action_type_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_auto_approve_config_defaults ... ok
[INFO] [stdout] test types::tests::test_from_str_case_sensitive ... ok
[INFO] [stdout] test types::tests::test_from_str_empty_string ... ok
[INFO] [stdout] test types::tests::test_intent_no_extracted_time ... ok
[INFO] [stdout] test types::tests::test_intent_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_intent_type_display ... ok
[INFO] [stdout] test types::tests::test_action_type_serde_json_format ... ok
[INFO] [stdout] test types::tests::test_intent_type_from_str ... ok
[INFO] [stdout] test types::tests::test_intent_type_from_str_error_message ... ok
[INFO] [stdout] test types::tests::test_intent_type_serde_json_format ... ok
[INFO] [stdout] test types::tests::test_intent_type_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_safety_level_serde_json_format ... ok
[INFO] [stdout] test types::tests::test_safety_level_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_serde_rejects_invalid_action_type ... ok
[INFO] [stdout] test types::tests::test_serde_rejects_invalid_intent_type ... ok
[INFO] [stdout] test types::tests::test_serde_rejects_invalid_safety_level ... ok
[INFO] [stdout] test types::tests::test_serde_rejects_invalid_task_status ... ok
[INFO] [stdout] test types::tests::test_task_all_none_optionals ... ok
[INFO] [stdout] test types::tests::test_task_completed_with_timestamp ... ok
[INFO] [stdout] test types::tests::test_task_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_task_status_display ... ok
[INFO] [stdout] test scheduler::tests::test_scheduler_shutdown ... ok
[INFO] [stdout] test types::tests::test_task_status_from_str ... ok
[INFO] [stdout] test types::tests::test_task_status_from_str_error_message ... ok
[INFO] [stdout] test types::tests::test_task_status_serde_json_format ... ok
[INFO] [stdout] test types::tests::test_task_status_serde_round_trip ... ok
[INFO] [stdout] test intent::tests::test_source_chunk_id_preserved ... ok
[INFO] [stdout] test intent::tests::test_task_detection ... ok
[INFO] [stdout] test types::tests::test_enums_are_copy ... ok
[INFO] [stdout] test types::tests::test_intent_type_display_from_str_round_trip ... ok
[INFO] [stdout] test types::tests::test_task_status_display_from_str_round_trip ... ok
[INFO] [stdout] test intent::tests::test_text_truncation ... ok
[INFO] [stdout] test intent::tests::test_utf8_truncation_safety ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 261 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 15.07s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_api-2cc01fb7b59e7ae2)
[INFO] [stdout] 
[INFO] [stdout] running 91 tests
[INFO] [stdout] test handlers::tests::test_action_history_empty ... ok
[INFO] [stdout] test handlers::tests::test_approve_action_invalid_uuid ... ok
[INFO] [stdout] test handlers::tests::test_app_activity_empty_name ... ok
[INFO] [stdout] test handlers::tests::test_approve_action_no_pending ... ok
[INFO] [stdout] test handlers::tests::test_apps_endpoint ... ok
[INFO] [stdout] test handlers::tests::test_audio_device_requires_auth ... ok
[INFO] [stdout] test handlers::tests::test_audio_device_endpoint ... ok
[INFO] [stdout] test handlers::tests::test_action_history_with_data ... ok
[INFO] [stdout] test handlers::tests::test_audio_device_when_active ... ok
[INFO] [stdout] test handlers::tests::test_audio_status ... ok
[INFO] [stdout] test handlers::tests::test_audio_status_reads_chunks_transcribed ... ok
[INFO] [stdout] test handlers::tests::test_chunks_transcribed_counter ... ok
[INFO] [stdout] test handlers::tests::test_config_update_allows_non_safety_field ... ok
[INFO] [stdout] test handlers::tests::test_config_update_rejects_safety_field ... ok
[INFO] [stdout] test handlers::tests::test_create_and_get_task ... ok
[INFO] [stdout] test handlers::tests::test_create_task ... ok
[INFO] [stdout] test handlers::tests::test_dictation_action_result_with_text ... ok
[INFO] [stdout] test handlers::tests::test_dictation_action_result_without_text ... ok
[INFO] [stdout] test handlers::tests::test_create_task_default_payload ... ok
[INFO] [stdout] test handlers::tests::test_create_task_invalid_action_type ... ok
[INFO] [stdout] test handlers::tests::test_create_task_with_scheduled_at ... ok
[INFO] [stdout] test handlers::tests::test_daily_digest_empty ... ok
[INFO] [stdout] test handlers::tests::test_delete_task_hard_delete ... ok
[INFO] [stdout] test handlers::tests::test_delete_task_not_found ... ok
[INFO] [stdout] test handlers::tests::test_dictation_history_empty ... ok
[INFO] [stdout] test handlers::tests::test_dictation_start_stop ... ok
[INFO] [stdout] test handlers::tests::test_dictation_start_when_active_returns_conflict ... ok
[INFO] [stdout] test handlers::tests::test_dictation_stop_when_idle_returns_conflict ... ok
[INFO] [stdout] test handlers::tests::test_dismiss_action_invalid_uuid ... ok
[INFO] [stdout] test handlers::tests::test_dismiss_action_no_task ... ok
[INFO] [stdout] test handlers::tests::test_dismiss_action_with_confirmation ... ok
[INFO] [stdout] test handlers::tests::test_entities_empty ... ok
[INFO] [stdout] test handlers::tests::test_export_trigger ... ok
[INFO] [stdout] test handlers::tests::test_full_task_lifecycle ... ok
[INFO] [stdout] test handlers::tests::test_get_config ... ok
[INFO] [stdout] test handlers::tests::test_internal_error_sanitized ... ok
[INFO] [stdout] test handlers::tests::test_get_task_invalid_uuid ... ok
[INFO] [stdout] test handlers::tests::test_get_task_not_found ... ok
[INFO] [stdout] test handlers::tests::test_health_endpoint ... ok
[INFO] [stdout] test handlers::tests::test_health_is_public ... ok
[INFO] [stdout] test handlers::tests::test_intents_empty ... ok
[INFO] [stdout] test handlers::tests::test_intents_with_data ... ok
[INFO] [stdout] test handlers::tests::test_payload_too_large_maps_to_413 ... ok
[INFO] [stdout] test handlers::tests::test_kill_switch_blocks_create ... ok
[INFO] [stdout] test handlers::tests::test_kill_switch_blocks_list ... ok
[INFO] [stdout] test handlers::tests::test_protected_field_maps_to_forbidden ... ok
[INFO] [stdout] test handlers::tests::test_list_tasks_empty ... ok
[INFO] [stdout] test handlers::tests::test_list_tasks_filter_by_action_type ... ok
[INFO] [stdout] test handlers::tests::test_list_tasks_with_filter ... ok
[INFO] [stdout] test handlers::tests::test_list_tasks_with_limit ... ok
[INFO] [stdout] test handlers::tests::test_protected_endpoint_rejects_bad_token ... ok
[INFO] [stdout] test handlers::tests::test_protected_endpoint_requires_auth ... ok
[INFO] [stdout] test handlers::tests::test_publish_event_multiple_subscribers ... ok
[INFO] [stdout] test handlers::tests::test_publish_event_no_panic ... ok
[INFO] [stdout] test handlers::tests::test_rate_limited_maps_to_429 ... ok
[INFO] [stdout] test handlers::tests::test_purge_dry_run_invalid_content_type ... ok
[INFO] [stdout] test handlers::tests::test_purge_dry_run_invalid_date ... ok
[INFO] [stdout] test handlers::tests::test_create_task_all_action_types ... ok
[INFO] [stdout] test handlers::tests::test_purge_dry_run_missing_params ... ok
[INFO] [stdout] test handlers::tests::test_purge_dry_run_requires_auth ... ok
[INFO] [stdout] test handlers::tests::test_purge_dry_run_with_before ... ok
[INFO] [stdout] test handlers::tests::test_purge_dry_run_with_content_type ... ok
[INFO] [stdout] test handlers::tests::test_recent_empty ... ok
[INFO] [stdout] test handlers::tests::test_recent_returns_data ... ok
[INFO] [stdout] test handlers::tests::test_search_empty_db ... ok
[INFO] [stdout] test handlers::tests::test_search_finds_fts_results ... ok
[INFO] [stdout] test handlers::tests::test_search_hybrid_empty_db ... ok
[INFO] [stdout] test handlers::tests::test_search_hybrid_requires_q ... ok
[INFO] [stdout] test handlers::tests::test_search_invalid_content_type ... ok
[INFO] [stdout] test handlers::tests::test_search_raw_empty_db ... ok
[INFO] [stdout] test handlers::tests::test_search_raw_finds_fts_results ... ok
[INFO] [stdout] test handlers::tests::test_storage_error_sanitized ... ok
[INFO] [stdout] test handlers::tests::test_search_raw_requires_q ... ok
[INFO] [stdout] test handlers::tests::test_search_rejects_empty_q ... ok
[INFO] [stdout] test handlers::tests::test_search_requires_q ... ok
[INFO] [stdout] test handlers::tests::test_task_to_response_helper ... ok
[INFO] [stdout] test handlers::tests::test_task_to_response_none_fields ... ok
[INFO] [stdout] test handlers::tests::test_search_semantic_empty_db ... ok
[INFO] [stdout] test handlers::tests::test_search_semantic_rejects_long_query ... ok
[INFO] [stdout] test handlers::tests::test_search_semantic_requires_q ... ok
[INFO] [stdout] test handlers::tests::test_storage_purge ... ok
[INFO] [stdout] test handlers::tests::test_storage_stats ... ok
[INFO] [stdout] test handlers::tests::test_summaries_empty ... ok
[INFO] [stdout] test handlers::tests::test_topics_empty ... ok
[INFO] [stdout] test handlers::tests::test_ui_endpoint ... ok
[INFO] [stdout] test handlers::tests::test_ui_is_public ... ok
[INFO] [stdout] test handlers::tests::test_update_task_invalid_status_string ... ok
[INFO] [stdout] test handlers::tests::test_update_task_invalid_transition ... ok
[INFO] [stdout] test handlers::tests::test_update_task_no_body_status ... ok
[INFO] [stdout] test handlers::tests::test_search_endpoints_require_auth ... ok
[INFO] [stdout] test handlers::tests::test_update_task_status ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 91 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 16.54s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/integration_tests.rs (/opt/rustwide/target/debug/deps/integration_tests-4081e175e5e62976)
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stdout] test test_apps_returns_app_info ... ok
[INFO] [stdout] test test_audio_device_happy_path ... ok
[INFO] [stdout] test test_audio_device_when_active ... ok
[INFO] [stdout] test test_apps_happy_path_empty ... ok
[INFO] [stdout] test test_app_activity_empty_name ... ok
[INFO] [stdout] test test_app_activity_happy_path ... ok
[INFO] [stdout] test test_app_activity_nonexistent_app ... ok
[INFO] [stdout] test test_audio_status_happy_path ... ok
[INFO] [stdout] test test_auth_invalid_token_returns_401 ... ok
[INFO] [stdout] test test_auth_malformed_header_returns_401 ... ok
[INFO] [stdout] test test_auth_missing_token_returns_401 ... ok
[INFO] [stdout] test test_auth_valid_token_succeeds ... ok
[INFO] [stdout] test test_dictation_history_happy_path_empty ... ok
[INFO] [stdout] test test_error_internal_sanitizes_details ... ok
[INFO] [stdout] test test_error_payload_too_large_maps_to_413 ... ok
[INFO] [stdout] test test_error_protected_field_maps_to_403 ... ok
[INFO] [stdout] test test_error_rate_limited_maps_to_429 ... ok
[INFO] [stdout] test test_error_storage_sanitizes_details ... ok
[INFO] [stdout] test test_dictation_history_with_limit ... ok
[INFO] [stdout] test test_dictation_start_happy_path ... ok
[INFO] [stdout] test test_dictation_start_when_already_active_returns_conflict ... ok
[INFO] [stdout] test test_dictation_status_happy_path ... ok
[INFO] [stdout] test test_dictation_stop_happy_path ... ok
[INFO] [stdout] test test_dictation_stop_when_idle_returns_conflict ... ok
[INFO] [stdout] test test_get_config_happy_path ... ok
[INFO] [stdout] test test_health_happy_path ... ok
[INFO] [stdout] test test_health_no_auth_required ... ok
[INFO] [stdout] test test_ingest_empty_text_returns_400 ... ok
[INFO] [stdout] test test_ingest_happy_path ... ok
[INFO] [stdout] test test_ingest_missing_text_field_returns_error ... ok
[INFO] [stdout] test test_ingest_whitespace_text_returns_400 ... ok
[INFO] [stdout] test test_ingest_with_optional_fields ... ok
[INFO] [stdout] test test_purge_dry_run_invalid_content_type_returns_400 ... ok
[INFO] [stdout] test test_purge_dry_run_invalid_date_returns_400 ... ok
[INFO] [stdout] test test_purge_dry_run_missing_params_returns_400 ... ok
[INFO] [stdout] test test_purge_dry_run_with_before ... ok
[INFO] [stdout] test test_purge_dry_run_with_content_type ... ok
[INFO] [stdout] test test_put_config_empty_body_returns_error ... ok
[INFO] [stdout] test test_put_config_happy_path ... ok
[INFO] [stdout] test test_put_config_rejects_safety_field ... ok
[INFO] [stdout] test test_recent_happy_path_empty ... ok
[INFO] [stdout] test test_recent_returns_data ... ok
[INFO] [stdout] test test_recent_with_limit ... ok
[INFO] [stdout] test test_search_empty_q_returns_400 ... ok
[INFO] [stdout] test test_search_finds_fts_results ... ok
[INFO] [stdout] test test_search_happy_path_empty_db ... ok
[INFO] [stdout] test test_search_hybrid_happy_path_empty ... ok
[INFO] [stdout] test test_search_hybrid_missing_q_returns_400 ... ok
[INFO] [stdout] test test_search_invalid_content_type_returns_400 ... ok
[INFO] [stdout] test test_search_missing_q_returns_400 ... ok
[INFO] [stdout] test test_search_raw_finds_fts_results ... ok
[INFO] [stdout] test test_search_raw_happy_path_empty ... ok
[INFO] [stdout] test test_search_raw_missing_q_returns_400 ... ok
[INFO] [stdout] test test_search_semantic_happy_path_empty ... ok
[INFO] [stdout] test test_search_semantic_long_query_returns_400 ... ok
[INFO] [stdout] test test_search_semantic_missing_q_returns_400 ... ok
[INFO] [stdout] test test_search_with_pagination ... ok
[INFO] [stdout] test test_search_with_valid_content_type_filter ... ok
[INFO] [stdout] test test_storage_purge_happy_path ... ok
[INFO] [stdout] test test_storage_stats_happy_path ... ok
[INFO] [stdout] test test_storage_stats_with_data ... ok
[INFO] [stdout] test test_stream_happy_path ... ok
[INFO] [stdout] test test_ui_happy_path ... ok
[INFO] [stdout] test test_ui_no_auth_required ... ok
[INFO] [stdout] test test_unknown_route_returns_404 ... ok
[INFO] [stdout] test test_auth_required_on_all_protected_endpoints ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 66 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 13.46s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/engram-a535e0fed7294945)
[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]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_audio-4def061b4315ace5)
[INFO] [stdout] 
[INFO] [stdout] running 27 tests
[INFO] [stdout] test silero_vad::tests::test_silero_vad_reset_state_noop ... ok
[INFO] [stdout] test silero_vad::tests::test_silero_vad_empty_frame ... ok
[INFO] [stdout] test silero_vad::tests::test_silero_vad_config_accessor ... ok
[INFO] [stdout] test silero_vad::tests::test_silero_vad_config_default ... ok
[INFO] [stdout] test tests::test_audio_session_state_equality ... ok
[INFO] [stdout] test silero_vad::tests::test_silero_vad_no_model_file ... ok
[INFO] [stdout] test tests::test_vad_at_threshold ... ok
[INFO] [stdout] test tests::test_vad_empty_frame ... ok
[INFO] [stdout] test tests::test_vad_negative_speech ... ok
[INFO] [stdout] test tests::test_vad_result_equality ... ok
[INFO] [stdout] test tests::test_vad_silence ... ok
[INFO] [stdout] test silero_vad::tests::test_silero_vad_stub_returns_unknown ... ok
[INFO] [stdout] test tests::test_mock_audio_service_start_stop ... ok
[INFO] [stdout] test tests::test_mock_audio_service_restart ... ok
[INFO] [stdout] test tests::test_mock_audio_service_stop_without_start ... ok
[INFO] [stdout] test tests::test_mock_audio_service_double_start ... ok
[INFO] [stdout] test tests::test_mock_chunk_processor_with_data ... ok
[INFO] [stdout] test tests::test_vad_speech ... ok
[INFO] [stdout] test windows_audio::tests::test_audio_buffer_empty_push ... ok
[INFO] [stdout] test windows_audio::tests::test_audio_buffer_overflow ... ok
[INFO] [stdout] test windows_audio::tests::test_audio_buffer_push_take ... ok
[INFO] [stdout] test windows_audio::tests::test_audio_returns_error_on_non_windows ... ok
[INFO] [stdout] test windows_audio::tests::test_linear_resample_3to1 ... ok
[INFO] [stdout] test windows_audio::tests::test_service_creation ... ok
[INFO] [stdout] test windows_audio::tests::test_audio_config_default ... ok
[INFO] [stdout] test windows_audio::tests::test_stereo_to_mono_downmix ... ok
[INFO] [stdout] test tests::test_mock_chunk_processor_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 27 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_capture-e66cb12fc60f6e54)
[INFO] [stdout] 
[INFO] [stdout] running 19 tests
[INFO] [stdout] test tests::test_capture_session_unique_id ... ok
[INFO] [stdout] test windows_capture::tests::test_capture_config_default ... ok
[INFO] [stdout] test windows_capture::tests::test_capture_config_with_fps ... ok
[INFO] [stdout] test tests::test_mock_capture_custom_app ... ok
[INFO] [stdout] test tests::test_mock_capture_unique_ids ... ok
[INFO] [stdout] test tests::test_mock_capture_custom_text ... ok
[INFO] [stdout] test tests::test_mock_capture_service ... ok
[INFO] [stdout] test windows_capture::tests::test_enumerate_monitors_returns_at_least_one ... ok
[INFO] [stdout] test windows_capture::tests::test_capture_returns_error_on_non_windows ... ok
[INFO] [stdout] test windows_capture::tests::test_monitor_selector_empty ... ok
[INFO] [stdout] test windows_capture::tests::test_capture_config_custom ... ok
[INFO] [stdout] test windows_capture::tests::test_monitor_selector_round_robin ... ok
[INFO] [stdout] test windows_capture::tests::test_effective_fps_round_robin ... ok
[INFO] [stdout] test windows_capture::tests::test_monitor_selector_round_robin_single ... ok
[INFO] [stdout] test windows_capture::tests::test_effective_fps_single ... ok
[INFO] [stdout] test windows_capture::tests::test_monitor_selector_single ... ok
[INFO] [stdout] test windows_capture::tests::test_windows_capture_service_creation ... ok
[INFO] [stdout] test windows_capture::tests::test_monitor_selector_single_out_of_range ... ok
[INFO] [stdout] test tests::test_capture_session_lifecycle ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 19 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_chat-b2c3738e0daf9abb)
[INFO] [stdout] 
[INFO] [stdout] running 332 tests
[INFO] [stdout] test context::tests::test_create_session_has_uuid ... ok
[INFO] [stdout] test context::tests::test_create_session_empty_context ... ok
[INFO] [stdout] test context::tests::test_create_session_timestamps ... ok
[INFO] [stdout] test context::tests::test_context_zero_turns ... ok
[INFO] [stdout] test context::tests::test_active_topic_persists_when_no_new_topic ... ok
[INFO] [stdout] test context::tests::test_active_topic_updates_across_turns ... ok
[INFO] [stdout] test context::tests::test_active_person_updates_across_turns ... ok
[INFO] [stdout] test context::tests::test_context_window_one_over_limit ... ok
[INFO] [stdout] test context::tests::test_context_window_exactly_at_limit ... ok
[INFO] [stdout] test context::tests::test_create_session_zero_messages ... ok
[INFO] [stdout] test context::tests::test_existing_people_not_overwritten ... ok
[INFO] [stdout] test context::tests::test_existing_time_not_overwritten ... ok
[INFO] [stdout] test context::tests::test_followup_what_about_empty_after_trim ... ok
[INFO] [stdout] test context::tests::test_followup_what_about_no_context ... ok
[INFO] [stdout] test context::tests::test_followup_tell_me_more_marker ... ok
[INFO] [stdout] test context::tests::test_followup_what_about_new_topic ... ok
[INFO] [stdout] test context::tests::test_followup_carries_forward_time ... ok
[INFO] [stdout] test context::tests::test_followup_tell_me_more_no_context ... ok
[INFO] [stdout] test context::tests::test_followup_carries_forward_person ... ok
[INFO] [stdout] test context::tests::test_followup_when_did_that_happen_marker ... ok
[INFO] [stdout] test context::tests::test_no_context_no_carry ... ok
[INFO] [stdout] test context::tests::test_followup_when_was_it_marker ... ok
[INFO] [stdout] test context::tests::test_pronoun_it_at_start_of_string ... ok
[INFO] [stdout] test context::tests::test_pronoun_he_resolves_to_person ... ok
[INFO] [stdout] test context::tests::test_followup_when_was_that_marker ... ok
[INFO] [stdout] test context::tests::test_followup_when_was_that_no_context ... ok
[INFO] [stdout] test context::tests::test_pronoun_she_resolves_to_person ... ok
[INFO] [stdout] test context::tests::test_pronoun_she_at_end_of_string ... ok
[INFO] [stdout] test context::tests::test_pronoun_he_at_start_of_string ... ok
[INFO] [stdout] test context::tests::test_session_boundary_not_expired ... ok
[INFO] [stdout] test context::tests::test_pronoun_that_at_end_of_string ... ok
[INFO] [stdout] test context::tests::test_session_expired ... ok
[INFO] [stdout] test context::tests::test_session_exactly_at_timeout ... ok
[INFO] [stdout] test context::tests::test_session_one_second_over_timeout ... ok
[INFO] [stdout] test context::tests::test_pronoun_that_resolves_to_topic ... ok
[INFO] [stdout] test context::tests::test_pronoun_it_resolves_to_topic ... ok
[INFO] [stdout] test context::tests::test_followup_more_details_marker ... ok
[INFO] [stdout] test context::tests::test_session_not_expired ... ok
[INFO] [stdout] test context::tests::test_update_session_sets_active_time_range ... ok
[INFO] [stdout] test context::tests::test_update_session_sets_active_topic ... ok
[INFO] [stdout] test context::tests::test_update_session_adds_turn ... ok
[INFO] [stdout] test context::tests::test_update_session_increments_count ... ok
[INFO] [stdout] test error::tests::test_chat_error_from_engram_error ... ok
[INFO] [stdout] test context::tests::test_update_session_message_count_multiple ... ok
[INFO] [stdout] test context::tests::test_update_session_trims_context_window ... ok
[INFO] [stdout] test context::tests::test_update_session_sets_active_person ... ok
[INFO] [stdout] test error::tests::test_chat_error_empty_messages ... ok
[INFO] [stdout] test error::tests::test_chat_error_session_not_found_nil_uuid ... ok
[INFO] [stdout] test error::tests::test_chat_error_session_not_found_preserves_uuid ... ok
[INFO] [stdout] test error::tests::test_chat_error_unicode_inner_messages ... ok
[INFO] [stdout] test error::tests::test_chat_error_very_long_inner_message ... ok
[INFO] [stdout] test error::tests::test_chat_error_from_engram_error_search ... ok
[INFO] [stdout] test error::tests::test_chat_error_display ... ok
[INFO] [stdout] test error::tests::test_chat_error_message_too_long_boundary_one ... ok
[INFO] [stdout] test error::tests::test_chat_error_message_too_long_large_value ... ok
[INFO] [stdout] test error::tests::test_chat_error_message_too_long_boundary_zero ... ok
[INFO] [stdout] test error::tests::test_errors_implement_debug ... ok
[INFO] [stdout] test orchestrator::tests::test_delete_session_clears_history ... ok
[INFO] [stdout] test orchestrator::tests::test_clarification_no_context_response ... ok
[INFO] [stdout] test orchestrator::tests::test_action_intent_response ... ok
[INFO] [stdout] test orchestrator::tests::test_delete_session ... ok
[INFO] [stdout] test orchestrator::tests::test_delete_session_not_found ... ok
[INFO] [stdout] test orchestrator::tests::test_concurrent_handle_message ... ok
[INFO] [stdout] test orchestrator::tests::test_clarification_references_active_topic ... ok
[INFO] [stdout] test orchestrator::tests::test_clarification_with_context_response ... ok
[INFO] [stdout] test orchestrator::tests::test_disabled_returns_error ... ok
[INFO] [stdout] test orchestrator::tests::test_format_epoch_valid ... ok
[INFO] [stdout] test orchestrator::tests::test_expired_session_creates_new ... ok
[INFO] [stdout] test orchestrator::tests::test_format_epoch_zero ... ok
[INFO] [stdout] test orchestrator::tests::test_get_history ... ok
[INFO] [stdout] test orchestrator::tests::test_deleted_session_then_message_creates_new ... ok
[INFO] [stdout] test orchestrator::tests::test_get_history_session_not_found ... ok
[INFO] [stdout] test orchestrator::tests::test_get_history_multiple_messages ... ok
[INFO] [stdout] test orchestrator::tests::test_get_session ... ok
[INFO] [stdout] test orchestrator::tests::test_get_session_nonexistent ... ok
[INFO] [stdout] test orchestrator::tests::test_handle_message_creates_session ... ok
[INFO] [stdout] test orchestrator::tests::test_handle_message_returns_response ... ok
[INFO] [stdout] test orchestrator::tests::test_history_messages_in_order ... ok
[INFO] [stdout] test orchestrator::tests::test_html_script_tags_in_message ... ok
[INFO] [stdout] test orchestrator::tests::test_intent_type_to_action_type_mapping ... ok
[INFO] [stdout] test orchestrator::tests::test_invalid_session_id_creates_new ... ok
[INFO] [stdout] test orchestrator::tests::test_empty_message_returns_error ... ok
[INFO] [stdout] test orchestrator::tests::test_list_sessions_multiple ... ok
[INFO] [stdout] test orchestrator::tests::test_list_sessions_summary_fields ... ok
[INFO] [stdout] test orchestrator::tests::test_message_at_max_length_ok ... ok
[INFO] [stdout] test orchestrator::tests::test_message_one_under_max_length ... ok
[INFO] [stdout] test orchestrator::tests::test_message_too_long_returns_error ... ok
[INFO] [stdout] test orchestrator::tests::test_action_with_backends ... ok
[INFO] [stdout] test orchestrator::tests::test_multiple_messages_build_context ... ok
[INFO] [stdout] test orchestrator::tests::test_new_orchestrator ... ok
[INFO] [stdout] test orchestrator::tests::test_get_history_from_sqlite_after_memory_clear ... ok
[INFO] [stdout] test orchestrator::tests::test_parse_sqlite_datetime_invalid ... ok
[INFO] [stdout] test orchestrator::tests::test_parse_sqlite_datetime_valid ... ok
[INFO] [stdout] test orchestrator::tests::test_question_intent_response ... ok
[INFO] [stdout] test orchestrator::tests::test_get_session_from_sqlite_after_memory_clear ... ok
[INFO] [stdout] test orchestrator::tests::test_domain_events_emitted ... ok
[INFO] [stdout] test orchestrator::tests::test_response_has_suggestions ... ok
[INFO] [stdout] test orchestrator::tests::test_same_session_id_reuses_session ... ok
[INFO] [stdout] test orchestrator::tests::test_search_intent_response ... ok
[INFO] [stdout] test orchestrator::tests::test_rapid_sequential_messages ... ok
[INFO] [stdout] test orchestrator::tests::test_delete_session_removes_from_sqlite ... ok
[INFO] [stdout] test orchestrator::tests::test_session_context_carries_topic ... ok
[INFO] [stdout] test orchestrator::tests::test_single_char_message ... ok
[INFO] [stdout] test orchestrator::tests::test_tell_me_more_routes_as_search ... ok
[INFO] [stdout] test orchestrator::tests::test_unicode_message_handled ... ok
[INFO] [stdout] test orchestrator::tests::test_when_was_that_no_prior_context ... ok
[INFO] [stdout] test orchestrator::tests::test_when_was_that_with_prior_search ... ok
[INFO] [stdout] test orchestrator::tests::test_whitespace_only_message_rejected ... ok
[INFO] [stdout] test orchestrator::tests::test_zero_context_turns_config ... ok
[INFO] [stdout] test parser::tests::test_app_case_insensitive ... ok
[INFO] [stdout] test parser::tests::test_app_chrome ... ok
[INFO] [stdout] test parser::tests::test_app_discord ... ok
[INFO] [stdout] test parser::tests::test_app_excel ... ok
[INFO] [stdout] test parser::tests::test_app_firefox ... ok
[INFO] [stdout] test parser::tests::test_app_none ... ok
[INFO] [stdout] test parser::tests::test_app_notepad ... ok
[INFO] [stdout] test parser::tests::test_app_onenote ... ok
[INFO] [stdout] test parser::tests::test_app_outlook ... ok
[INFO] [stdout] test parser::tests::test_app_powerpoint ... ok
[INFO] [stdout] test parser::tests::test_app_slack ... ok
[INFO] [stdout] test parser::tests::test_app_teams ... ok
[INFO] [stdout] test parser::tests::test_app_terminal ... ok
[INFO] [stdout] test parser::tests::test_app_vs_code ... ok
[INFO] [stdout] test orchestrator::tests::test_session_eviction_at_max_sessions ... ok
[INFO] [stdout] test parser::tests::test_app_zoom ... ok
[INFO] [stdout] test parser::tests::test_default_search_days_applied_when_no_time_expr ... ok
[INFO] [stdout] test orchestrator::tests::test_delete_session_emits_event_with_data ... ok
[INFO] [stdout] test parser::tests::test_app_word ... ok
[INFO] [stdout] test parser::tests::test_default_search_days_zero_no_fallback ... ok
[INFO] [stdout] test parser::tests::test_explicit_time_overrides_default ... ok
[INFO] [stdout] test parser::tests::test_intent_anything_about ... ok
[INFO] [stdout] test parser::tests::test_intent_case_insensitive ... ok
[INFO] [stdout] test parser::tests::test_intent_can_you_clarify ... ok
[INFO] [stdout] test parser::tests::test_intent_bookmark ... ok
[INFO] [stdout] test parser::tests::test_intent_create_a_task ... ok
[INFO] [stdout] test parser::tests::test_intent_elaborate ... ok
[INFO] [stdout] test parser::tests::test_intent_explain ... ok
[INFO] [stdout] test parser::tests::test_intent_fallback_to_search ... ok
[INFO] [stdout] test parser::tests::test_intent_empty_string_fallback ... ok
[INFO] [stdout] test parser::tests::test_intent_do_you_remember ... ok
[INFO] [stdout] test parser::tests::test_intent_find ... ok
[INFO] [stdout] test parser::tests::test_intent_how_long ... ok
[INFO] [stdout] test orchestrator::tests::test_messages_persisted_to_sqlite ... ok
[INFO] [stdout] test orchestrator::tests::test_new_orchestrator_with_backends ... ok
[INFO] [stdout] test parser::tests::test_intent_how_much ... ok
[INFO] [stdout] test parser::tests::test_intent_how_often ... ok
[INFO] [stdout] test parser::tests::test_intent_look_for ... ok
[INFO] [stdout] test parser::tests::test_intent_mixed_case_clarification ... ok
[INFO] [stdout] test parser::tests::test_intent_more_details ... ok
[INFO] [stdout] test parser::tests::test_intent_note_that ... ok
[INFO] [stdout] test parser::tests::test_intent_open_app ... ok
[INFO] [stdout] test parser::tests::test_intent_remind_me ... ok
[INFO] [stdout] test parser::tests::test_intent_mark_this ... ok
[INFO] [stdout] test parser::tests::test_intent_save_this ... ok
[INFO] [stdout] test parser::tests::test_intent_search_for ... ok
[INFO] [stdout] test parser::tests::test_intent_set_a_reminder ... ok
[INFO] [stdout] test parser::tests::test_intent_how_many ... ok
[INFO] [stdout] test parser::tests::test_intent_tell_me_more ... ok
[INFO] [stdout] test parser::tests::test_intent_total_number ... ok
[INFO] [stdout] test parser::tests::test_intent_uppercase_action ... ok
[INFO] [stdout] test parser::tests::test_intent_uppercase_question ... ok
[INFO] [stdout] test parser::tests::test_intent_uppercase_search ... ok
[INFO] [stdout] test parser::tests::test_intent_schedule ... ok
[INFO] [stdout] test parser::tests::test_intent_how_much_time ... ok
[INFO] [stdout] test parser::tests::test_intent_set_reminder_no_article ... ok
[INFO] [stdout] test parser::tests::test_intent_show_me ... ok
[INFO] [stdout] test parser::tests::test_intent_very_long_input ... ok
[INFO] [stdout] test parser::tests::test_intent_what_did ... ok
[INFO] [stdout] test parser::tests::test_intent_what_do_you_mean ... ok
[INFO] [stdout] test parser::tests::test_intent_what_happened ... ok
[INFO] [stdout] test parser::tests::test_intent_what_about ... ok
[INFO] [stdout] test parser::tests::test_intent_what_percentage ... ok
[INFO] [stdout] test parser::tests::test_intent_what_was ... ok
[INFO] [stdout] test parser::tests::test_intent_where_did ... ok
[INFO] [stdout] test parser::tests::test_intent_whats_the_count ... ok
[INFO] [stdout] test parser::tests::test_intent_with_emoji ... ok
[INFO] [stdout] test parser::tests::test_intent_with_unicode ... ok
[INFO] [stdout] test parser::tests::test_intent_when_did ... ok
[INFO] [stdout] test parser::tests::test_month_name_to_number_all ... ok
[INFO] [stdout] test parser::tests::test_intent_who_said ... ok
[INFO] [stdout] test parser::tests::test_parse_action_query ... ok
[INFO] [stdout] test parser::tests::test_parse_combined_time_person_app_topic ... ok
[INFO] [stdout] test parser::tests::test_parse_empty_string ... ok
[INFO] [stdout] test parser::tests::test_parse_question_query ... ok
[INFO] [stdout] test parser::tests::test_parse_with_app ... ok
[INFO] [stdout] test parser::tests::test_people_case_insensitive_known ... ok
[INFO] [stdout] test parser::tests::test_parse_no_entities ... ok
[INFO] [stdout] test parser::tests::test_people_from_context_pattern ... ok
[INFO] [stdout] test parser::tests::test_parser_custom_default_search_days ... ok
[INFO] [stdout] test parser::tests::test_people_from_known_entities ... ok
[INFO] [stdout] test parser::tests::test_people_multiple ... ok
[INFO] [stdout] test parser::tests::test_people_from_pattern ... ok
[INFO] [stdout] test parser::tests::test_parse_full_query ... ok
[INFO] [stdout] test parser::tests::test_people_name_will_with_known_entity ... ok
[INFO] [stdout] test parser::tests::test_people_name_mark_with_known_entity ... ok
[INFO] [stdout] test parser::tests::test_people_name_grace_with_known_entity ... ok
[INFO] [stdout] test parser::tests::test_people_no_match ... ok
[INFO] [stdout] test parser::tests::test_people_from_with ... ok
[INFO] [stdout] test parser::tests::test_people_with_unicode_name ... ok
[INFO] [stdout] test parser::tests::test_people_no_duplicates ... ok
[INFO] [stdout] test parser::tests::test_time_between_january_and_march ... ok
[INFO] [stdout] test parser::tests::test_people_single_char_ignored ... ok
[INFO] [stdout] test parser::tests::test_time_between_june_and_december ... ok
[INFO] [stdout] test parser::tests::test_time_empty_string ... ok
[INFO] [stdout] test parser::tests::test_time_between_case_insensitive ... ok
[INFO] [stdout] test parser::tests::test_time_last_month ... ok
[INFO] [stdout] test parser::tests::test_parse_very_long_input ... ok
[INFO] [stdout] test parser::tests::test_time_no_match ... ok
[INFO] [stdout] test parser::tests::test_time_last_week ... ok
[INFO] [stdout] test parser::tests::test_time_on_sunday ... ok
[INFO] [stdout] test parser::tests::test_time_on_friday ... ok
[INFO] [stdout] test parser::tests::test_time_on_tuesday ... ok
[INFO] [stdout] test parser::tests::test_time_on_weekday_case_insensitive ... ok
[INFO] [stdout] test parser::tests::test_time_on_wednesday ... ok
[INFO] [stdout] test parser::tests::test_time_on_saturday ... ok
[INFO] [stdout] test parser::tests::test_time_this_afternoon ... ok
[INFO] [stdout] test parser::tests::test_time_on_thursday ... ok
[INFO] [stdout] test parser::tests::test_time_today ... ok
[INFO] [stdout] test parser::tests::test_time_on_weekday ... ok
[INFO] [stdout] test parser::tests::test_time_this_morning ... ok
[INFO] [stdout] test parser::tests::test_time_yesterday ... ok
[INFO] [stdout] test parser::tests::test_time_this_week ... ok
[INFO] [stdout] test parser::tests::test_time_with_unicode_surrounding ... ok
[INFO] [stdout] test parser::tests::test_topics_empty_after_filtering ... ok
[INFO] [stdout] test parser::tests::test_topics_filters_app ... ok
[INFO] [stdout] test parser::tests::test_topics_filters_people ... ok
[INFO] [stdout] test parser::tests::test_topics_filters_stop_words ... ok
[INFO] [stdout] test parser::tests::test_topics_multi_word_app_filtered ... ok
[INFO] [stdout] test parser::tests::test_topics_filters_time_words ... ok
[INFO] [stdout] test parser::tests::test_topics_short_words_filtered ... ok
[INFO] [stdout] test response::tests::test_analytics_empty_details ... ok
[INFO] [stdout] test response::tests::test_analytics_plural_count ... ok
[INFO] [stdout] test response::tests::test_analytics_response ... ok
[INFO] [stdout] test response::tests::test_analytics_singular_count ... ok
[INFO] [stdout] test response::tests::test_analytics_suggestions_with_person ... ok
[INFO] [stdout] test response::tests::test_analytics_suggestions_with_time_range ... ok
[INFO] [stdout] test response::tests::test_confidence_exactly_at_threshold ... ok
[INFO] [stdout] test response::tests::test_confidence_is_average ... ok
[INFO] [stdout] test response::tests::test_confidence_just_below_threshold ... ok
[INFO] [stdout] test response::tests::test_format_timestamp_negative ... ok
[INFO] [stdout] test response::tests::test_format_timestamp_valid ... ok
[INFO] [stdout] test response::tests::test_format_timestamp_zero ... ok
[INFO] [stdout] test response::tests::test_high_confidence_no_prefix ... ok
[INFO] [stdout] test parser::tests::test_time_this_morning_priority_over_today ... ok
[INFO] [stdout] test response::tests::test_max_results_exactly_at_limit ... ok
[INFO] [stdout] test response::tests::test_low_confidence_prefix ... ok
[INFO] [stdout] test response::tests::test_max_results_limiting ... ok
[INFO] [stdout] test response::tests::test_no_results_has_suggestions ... ok
[INFO] [stdout] test response::tests::test_single_result ... ok
[INFO] [stdout] test response::tests::test_multi_result ... ok
[INFO] [stdout] test response::tests::test_no_results ... ok
[INFO] [stdout] test response::tests::test_sources_have_correct_fields ... ok
[INFO] [stdout] test response::tests::test_single_result_empty_content ... ok
[INFO] [stdout] test response::tests::test_suggestions_do_not_duplicate_raw_query ... ok
[INFO] [stdout] test response::tests::test_single_result_with_person ... ok
[INFO] [stdout] test response::tests::test_suggestions_include_tell_me_more ... ok
[INFO] [stdout] test response::tests::test_suggestions_max_four ... ok
[INFO] [stdout] test response::tests::test_suggestions_no_results ... ok
[INFO] [stdout] test response::tests::test_suggestions_person_from_query_not_results ... ok
[INFO] [stdout] test response::tests::test_suggestions_with_results ... ok
[INFO] [stdout] test response::tests::test_suggestions_skips_more_marker_topic ... ok
[INFO] [stdout] test response::tests::test_suggestions_with_time_range ... ok
[INFO] [stdout] test response::tests::test_suggestions_with_person ... ok
[INFO] [stdout] test response::tests::test_suggestions_with_topic ... ok
[INFO] [stdout] test response::tests::test_suggestions_without_time_range ... ok
[INFO] [stdout] test response::tests::test_two_results_is_multi ... ok
[INFO] [stdout] test types::tests::test_chat_config_defaults ... ok
[INFO] [stdout] test types::tests::test_chat_config_custom_values_serde ... ok
[INFO] [stdout] test types::tests::test_chat_config_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_chat_history_response_empty ... ok
[INFO] [stdout] test types::tests::test_chat_llm_config_clamp_max_tokens_zero ... ok
[INFO] [stdout] test types::tests::test_chat_history_response_serde ... ok
[INFO] [stdout] test types::tests::test_chat_llm_config_clamp_max_tokens_high ... ok
[INFO] [stdout] test types::tests::test_chat_llm_config_clamp_temperature_high ... ok
[INFO] [stdout] test types::tests::test_chat_llm_config_clamp_temperature_negative ... ok
[INFO] [stdout] test types::tests::test_chat_message_empty_content ... ok
[INFO] [stdout] test types::tests::test_chat_message_long_content ... ok
[INFO] [stdout] test types::tests::test_chat_message_response_serde ... ok
[INFO] [stdout] test types::tests::test_chat_message_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_chat_message_with_sources ... ok
[INFO] [stdout] test types::tests::test_chat_request_empty_message ... ok
[INFO] [stdout] test types::tests::test_chat_request_serde ... ok
[INFO] [stdout] test types::tests::test_chat_request_with_session ... ok
[INFO] [stdout] test types::tests::test_chat_response_confidence_boundary_one ... ok
[INFO] [stdout] test types::tests::test_chat_response_confidence_boundary_zero ... ok
[INFO] [stdout] test types::tests::test_chat_response_empty_sources_and_suggestions ... ok
[INFO] [stdout] test types::tests::test_chat_response_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_chat_sessions_response_empty ... ok
[INFO] [stdout] test types::tests::test_conversation_session_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_conversation_session_zero_message_count ... ok
[INFO] [stdout] test types::tests::test_from_str_case_sensitive ... ok
[INFO] [stdout] test types::tests::test_from_str_empty_string ... ok
[INFO] [stdout] test types::tests::test_query_intent_display ... ok
[INFO] [stdout] test types::tests::test_query_intent_display_from_str_round_trip ... ok
[INFO] [stdout] test types::tests::test_query_intent_from_str ... ok
[INFO] [stdout] test types::tests::test_query_intent_from_str_error_message ... ok
[INFO] [stdout] test types::tests::test_query_intent_is_copy ... ok
[INFO] [stdout] test types::tests::test_query_intent_serde_json_format ... ok
[INFO] [stdout] test types::tests::test_chat_llm_config_clamp_valid_values_unchanged ... ok
[INFO] [stdout] test types::tests::test_chat_llm_config_defaults ... ok
[INFO] [stdout] test types::tests::test_serde_rejects_invalid_query_intent ... ok
[INFO] [stdout] test types::tests::test_query_intent_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_chat_sessions_response_serde ... ok
[INFO] [stdout] test types::tests::test_session_context_with_all_fields_set ... ok
[INFO] [stdout] test types::tests::test_source_ref_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_source_ref_zero_relevance ... ok
[INFO] [stdout] test types::tests::test_structured_query_empty_topics_and_people ... ok
[INFO] [stdout] test types::tests::test_structured_query_many_topics ... ok
[INFO] [stdout] test types::tests::test_structured_query_no_optionals ... ok
[INFO] [stdout] test types::tests::test_structured_query_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_time_range_negative_values ... ok
[INFO] [stdout] test types::tests::test_time_range_serde_round_trip ... ok
[INFO] [stdout] test types::tests::test_time_range_start_equals_end ... ok
[INFO] [stdout] test types::tests::test_time_range_start_greater_than_end ... ok
[INFO] [stdout] test types::tests::test_time_range_zero_values ... ok
[INFO] [stdout] test voice::tests::test_active_state_transitions ... ok
[INFO] [stdout] test voice::tests::test_double_start_listening_returns_error ... ok
[INFO] [stdout] test voice::tests::test_empty_hotkey ... ok
[INFO] [stdout] test voice::tests::test_is_available_returns_bool ... ok
[INFO] [stdout] test voice::tests::test_large_duration ... ok
[INFO] [stdout] test voice::tests::test_new_voice_interface ... ok
[INFO] [stdout] test voice::tests::test_start_listening_not_available ... ok
[INFO] [stdout] test voice::tests::test_stop_listening_returns_none_stub ... ok
[INFO] [stdout] test voice::tests::test_stop_listening_when_not_active ... ok
[INFO] [stdout] test voice::tests::test_stop_listening_when_not_active_returns_error ... ok
[INFO] [stdout] test voice::tests::test_voice_interface_custom_hotkey ... ok
[INFO] [stdout] test voice::tests::test_voice_interface_zero_duration ... ok
[INFO] [stdout] test types::tests::test_session_context_default ... ok
[INFO] [stdout] test parser::tests::test_topics_basic ... ok
[INFO] [stdout] test orchestrator::tests::test_list_sessions_includes_sqlite_sessions ... ok
[INFO] [stdout] test orchestrator::tests::test_question_with_backends_empty_db ... ok
[INFO] [stdout] test orchestrator::tests::test_search_with_backends_empty_db ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_core-4e8fe66fd314f109)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 332 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 200 tests
[INFO] [stdout] test config::tests::test_audio_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_chat_config_defaults ... ok
[INFO] [stdout] test config::tests::test_chat_llm_config_defaults ... ok
[INFO] [stdout] test config::tests::test_config_default_values ... ok
[INFO] [stdout] test config::tests::test_config_load_or_default_missing_file ... ok
[INFO] [stdout] test config::tests::test_backward_compat_old_config_loads ... ok
[INFO] [stdout] test config::tests::test_chat_config_zero_values ... ok
[INFO] [stdout] test config::tests::test_config_load_valid_toml ... ok
[INFO] [stdout] test config::tests::test_config_empty_toml_uses_all_defaults ... ok
[INFO] [stdout] test config::tests::test_chat_config_partial_only_enabled ... ok
[INFO] [stdout] test config::tests::test_chat_config_partial_only_llm ... ok
[INFO] [stdout] test config::tests::test_default_config ... ok
[INFO] [stdout] test config::tests::test_dictation_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_engram_config_has_insight_default ... ok
[INFO] [stdout] test config::tests::test_general_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_chat_config_roundtrip ... ok
[INFO] [stdout] test config::tests::test_insight_config_defaults ... ok
[INFO] [stdout] test config::tests::test_insight_export_config_defaults ... ok
[INFO] [stdout] test config::tests::test_load_partial_config_uses_defaults ... ok
[INFO] [stdout] test config::tests::test_load_valid_config ... ok
[INFO] [stdout] test config::tests::test_load_or_default_missing_file ... ok
[INFO] [stdout] test config::tests::test_non_safety_fields_not_protected ... ok
[INFO] [stdout] test config::tests::test_old_config_without_chat_loads_defaults ... ok
[INFO] [stdout] test config::tests::test_old_config_without_insight_loads_defaults ... ok
[INFO] [stdout] test config::tests::test_engram_config_has_chat_default ... ok
[INFO] [stdout] test config::tests::test_safety_fields_protected ... ok
[INFO] [stdout] test config::tests::test_safety_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_config_serialization_roundtrip ... ok
[INFO] [stdout] test config::tests::test_new_fields_roundtrip ... ok
[INFO] [stdout] test config::tests::test_screen_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_sub_config_defaults ... ok
[INFO] [stdout] test config::tests::test_tray_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_validate_update_allows_non_safety ... ok
[INFO] [stdout] test config::tests::test_validate_update_rejects_safety ... ok
[INFO] [stdout] test error::tests::test_error_debug_impl ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test error::tests::test_error_display_all_variants ... ok
[INFO] [stdout] test error::tests::test_error_from_io ... ok
[INFO] [stdout] test error::tests::test_error_from_io_not_found ... ok
[INFO] [stdout] test error::tests::test_error_from_serde_json ... ok
[INFO] [stdout] test error::tests::test_error_from_toml_de ... ok
[INFO] [stdout] test error::tests::test_error_variants_are_non_exhaustive ... ok
[INFO] [stdout] test error::tests::test_io_error_conversion ... ok
[INFO] [stdout] test error::tests::test_io_error_display_includes_message ... ok
[INFO] [stdout] test error::tests::test_result_type_alias ... ok
[INFO] [stdout] test error::tests::test_result_type_with_question_mark ... ok
[INFO] [stdout] test config::tests::test_search_new_field_defaults ... ok
[INFO] [stdout] test config::tests::test_config_serialization_round_trip_all_fields ... ok
[INFO] [stdout] test events::tests::test_all_event_names_unique ... ok
[INFO] [stdout] test events::tests::test_chat_event_names_individually ... ok
[INFO] [stdout] test events::tests::test_action_event_names_individually ... ok
[INFO] [stdout] test events::tests::test_action_events_to_json ... ok
[INFO] [stdout] test events::tests::test_config_updated_event ... ok
[INFO] [stdout] test events::tests::test_chat_events_to_json ... ok
[INFO] [stdout] test events::tests::test_domain_event_count_is_45 ... ok
[INFO] [stdout] test config::tests::test_config_save_creates_parent_dirs ... ok
[INFO] [stdout] test events::tests::test_chat_events_serde_round_trip_individually ... ok
[INFO] [stdout] test events::tests::test_domain_event_variants_dictation ... ok
[INFO] [stdout] test events::tests::test_domain_event_variants_safety_and_search ... ok
[INFO] [stdout] test events::tests::test_domain_event_to_json ... ok
[INFO] [stdout] test events::tests::test_domain_event_variants_audio ... ok
[INFO] [stdout] test events::tests::test_action_events_serde_round_trip_individually ... ok
[INFO] [stdout] test events::tests::test_domain_event_variants_screen ... ok
[INFO] [stdout] test events::tests::test_domain_event_variants_storage ... ok
[INFO] [stdout] test events::tests::test_event_clone ... ok
[INFO] [stdout] test events::tests::test_event_debug_all_variants ... ok
[INFO] [stdout] test events::tests::test_event_deserialization_round_trip ... ok
[INFO] [stdout] test events::tests::test_event_frame_skip_reasons ... ok
[INFO] [stdout] test events::tests::test_event_name ... ok
[INFO] [stdout] test events::tests::test_event_serialization ... ok
[INFO] [stdout] test events::tests::test_event_timestamp_method_consistency ... ok
[INFO] [stdout] test events::tests::test_insight_event_serialization ... ok
[INFO] [stdout] test events::tests::test_storage_tier_changed_event ... ok
[INFO] [stdout] test events::tests::test_pii_redacted_event ... ok
[INFO] [stdout] test events::tests::test_event_timestamp ... ok
[INFO] [stdout] test events::tests::test_summary_generated_none_source_app ... ok
[INFO] [stdout] test safety::tests::test_clean_text_allowed ... ok
[INFO] [stdout] test safety::tests::test_custom_deny_pattern ... ok
[INFO] [stdout] test safety::tests::test_disabled_cc_redaction ... ok
[INFO] [stdout] test events::tests::test_event_serialization_all_variants ... ok
[INFO] [stdout] test safety::tests::test_disabled_pii_detection ... ok
[INFO] [stdout] test safety::tests::test_luhn_19_digit_card ... ok
[INFO] [stdout] test safety::tests::test_disabled_ssn_redaction ... ok
[INFO] [stdout] test safety::tests::test_luhn_invalid ... ok
[INFO] [stdout] test safety::tests::test_email_preserves_whitespace ... ok
[INFO] [stdout] test safety::tests::test_luhn_rejects_random_digits ... ok
[INFO] [stdout] test safety::tests::test_luhn_valid_mastercard ... ok
[INFO] [stdout] test safety::tests::test_luhn_valid_visa ... ok
[INFO] [stdout] test safety::tests::test_no_redact_currency ... ok
[INFO] [stdout] test safety::tests::test_no_redact_hash_prefix_dashes ... ok
[INFO] [stdout] test safety::tests::test_no_redact_ip_address ... ok
[INFO] [stdout] test safety::tests::test_no_redact_ip_address_2 ... ok
[INFO] [stdout] test safety::tests::test_no_redact_order_number ... ok
[INFO] [stdout] test safety::tests::test_no_redact_part_number_prefix ... ok
[INFO] [stdout] test safety::tests::test_no_redact_part_number_prefix_only ... ok
[INFO] [stdout] test safety::tests::test_no_redact_part_number_suffix_only ... ok
[INFO] [stdout] test safety::tests::test_no_redact_slash_prefix ... ok
[INFO] [stdout] test safety::tests::test_no_redact_too_many_digits_plus_one ... ok
[INFO] [stdout] test safety::tests::test_no_redact_url_path ... ok
[INFO] [stdout] test config::tests::test_insight_config_roundtrip ... ok
[INFO] [stdout] test safety::tests::test_multiple_redaction_types ... ok
[INFO] [stdout] test safety::tests::test_no_redact_version_prefix_dot ... ok
[INFO] [stdout] test safety::tests::test_no_redact_at_prefix ... ok
[INFO] [stdout] test safety::tests::test_no_redact_version_4_groups ... ok
[INFO] [stdout] test safety::tests::test_phone_and_email_combined ... ok
[INFO] [stdout] test safety::tests::test_phone_and_ssn_combined ... ok
[INFO] [stdout] test safety::tests::test_phone_at_end ... ok
[INFO] [stdout] test safety::tests::test_partial_ssn_not_redacted ... ok
[INFO] [stdout] test safety::tests::test_phone_at_start ... ok
[INFO] [stdout] test safety::tests::test_phone_consecutive ... ok
[INFO] [stdout] test safety::tests::test_phone_dots_at_start ... ok
[INFO] [stdout] test safety::tests::test_phone_empty_string ... ok
[INFO] [stdout] test safety::tests::test_phone_followed_by_comma ... ok
[INFO] [stdout] test safety::tests::test_phone_followed_by_exclamation ... ok
[INFO] [stdout] test safety::tests::test_phone_followed_by_period ... ok
[INFO] [stdout] test safety::tests::test_phone_followed_by_question ... ok
[INFO] [stdout] test safety::tests::test_phone_multiple ... ok
[INFO] [stdout] test safety::tests::test_phone_dashes ... ok
[INFO] [stdout] test safety::tests::test_phone_no_phone ... ok
[INFO] [stdout] test safety::tests::test_phone_dots ... ok
[INFO] [stdout] test safety::tests::test_phone_email_ssn_all_combined ... ok
[INFO] [stdout] test safety::tests::test_phone_parens_space ... ok
[INFO] [stdout] test safety::tests::test_phone_parens_with_newline ... ok
[INFO] [stdout] test safety::tests::test_phone_in_sentence_context ... ok
[INFO] [stdout] test safety::tests::test_phone_only ... ok
[INFO] [stdout] test safety::tests::test_phone_pii_type_and_match ... ok
[INFO] [stdout] test safety::tests::test_phone_plus_one ... ok
[INFO] [stdout] test safety::tests::test_phone_parens_no_space ... ok
[INFO] [stdout] test safety::tests::test_phone_plus_one_at_start ... ok
[INFO] [stdout] test safety::tests::test_phone_plus_one_spaces ... ok
[INFO] [stdout] test safety::tests::test_phone_redaction_disabled ... ok
[INFO] [stdout] test safety::tests::test_phone_redaction_enabled_via_gate ... ok
[INFO] [stdout] test safety::tests::test_phone_short_numbers_not_matched ... ok
[INFO] [stdout] test safety::tests::test_phone_three_different_formats ... ok
[INFO] [stdout] test safety::tests::test_phone_with_tab ... ok
[INFO] [stdout] test config::tests::test_save_and_reload ... ok
[INFO] [stdout] test safety::tests::test_redact_credit_card_with_dashes ... ok
[INFO] [stdout] test safety::tests::test_phone_plus_one_spaces_at_end ... ok
[INFO] [stdout] test safety::tests::test_phone_redact_method ... ok
[INFO] [stdout] test safety::tests::test_redact_credit_card_with_spaces ... ok
[INFO] [stdout] test safety::tests::test_pii_type_variants ... ok
[INFO] [stdout] test safety::tests::test_redact_method_with_pii ... ok
[INFO] [stdout] test safety::tests::test_redact_multiple_emails ... ok
[INFO] [stdout] test safety::tests::test_redact_email ... ok
[INFO] [stdout] test safety::tests::test_redact_method_clean ... ok
[INFO] [stdout] test safety::tests::test_redact_method_denied ... ok
[INFO] [stdout] test safety::tests::test_redact_ssn ... ok
[INFO] [stdout] test safety::tests::test_short_numbers_not_redacted ... ok
[INFO] [stdout] test types::tests::test_app_name_and_hotkey ... ok
[INFO] [stdout] test types::tests::test_audio_chunk_creation ... ok
[INFO] [stdout] test types::tests::test_confidence_clamp ... ok
[INFO] [stdout] test types::tests::test_confidence_mid_range ... ok
[INFO] [stdout] test types::tests::test_content_type_serialization ... ok
[INFO] [stdout] test types::tests::test_content_type_serialization_all_variants ... ok
[INFO] [stdout] test types::tests::test_data_dir_expansion ... ok
[INFO] [stdout] test types::tests::test_data_dir_tilde_expansion ... ok
[INFO] [stdout] test types::tests::test_default_impls ... ok
[INFO] [stdout] test types::tests::test_dictation_entry_creation_store_only_mode ... ok
[INFO] [stdout] test types::tests::test_dictation_mode_default ... ok
[INFO] [stdout] test types::tests::test_embedding_cosine_similarity_orthogonal ... ok
[INFO] [stdout] test types::tests::test_embedding_invalid_dimension ... ok
[INFO] [stdout] test types::tests::test_dictation_entry_creation_clipboard_mode ... ok
[INFO] [stdout] test types::tests::test_dictation_entry_creation_type_and_store_mode ... ok
[INFO] [stdout] test types::tests::test_dictation_entry_creation_type_mode ... ok
[INFO] [stdout] test types::tests::test_embedding_cosine_similarity_identical ... ok
[INFO] [stdout] test types::tests::test_embedding_cosine_similarity_zero ... ok
[INFO] [stdout] test types::tests::test_embedding_serialization_round_trip ... ok
[INFO] [stdout] test types::tests::test_frame_skip_reason_serialization ... ok
[INFO] [stdout] test types::tests::test_embedding_valid ... ok
[INFO] [stdout] test types::tests::test_json_round_trip_dictation_entry ... ok
[INFO] [stdout] test types::tests::test_json_round_trip_enums ... ok
[INFO] [stdout] test types::tests::test_frame_id_default ... ok
[INFO] [stdout] test types::tests::test_json_round_trip_screen_frame ... ok
[INFO] [stdout] test types::tests::test_json_round_trip_search_result ... ok
[INFO] [stdout] test types::tests::test_json_round_trip_audio_chunk ... ok
[INFO] [stdout] test types::tests::test_monitor_id_and_redacted_text ... ok
[INFO] [stdout] test types::tests::test_newtype_id_serialization_round_trip ... ok
[INFO] [stdout] test types::tests::test_ocr_engine_type_serialization ... ok
[INFO] [stdout] test types::tests::test_ocr_text_is_empty ... ok
[INFO] [stdout] test types::tests::test_ocr_text_short_string ... ok
[INFO] [stdout] test types::tests::test_ocr_text_truncation ... ok
[INFO] [stdout] test types::tests::test_overlay_position_serialization ... ok
[INFO] [stdout] test types::tests::test_screen_frame_creation ... ok
[INFO] [stdout] test types::tests::test_port_valid_values ... ok
[INFO] [stdout] test types::tests::test_port_validation ... ok
[INFO] [stdout] test types::tests::test_query_route_hybrid_weight_serialization ... ok
[INFO] [stdout] test types::tests::test_redaction_type_placeholders ... ok
[INFO] [stdout] test types::tests::test_search_result_creation ... ok
[INFO] [stdout] test types::tests::test_search_score_clamp ... ok
[INFO] [stdout] test types::tests::test_search_score_serialization_round_trip ... ok
[INFO] [stdout] test types::tests::test_storage_tier_serialization ... ok
[INFO] [stdout] test types::tests::test_timestamp_now_and_age ... ok
[INFO] [stdout] test types::tests::test_timestamp_serialization_round_trip ... ok
[INFO] [stdout] test types::tests::test_timestamp_to_datetime_roundtrip ... ok
[INFO] [stdout] test types::tests::test_types_clone ... ok
[INFO] [stdout] test types::tests::test_vad_engine_serialization ... ok
[INFO] [stdout] test types::tests::test_window_title_truncation ... ok
[INFO] [stdout] test types::tests::test_vector_format_bytes ... ok
[INFO] [stdout] test types::tests::test_window_title_short_string ... ok
[INFO] [stdout] test config::tests::test_config_load_invalid_toml ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 200 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_dictation-e95d4bf420d46efc)
[INFO] [stdout] 
[INFO] [stdout] running 39 tests
[INFO] [stdout] test engine::tests::test_dictation_session_elapsed ... ok
[INFO] [stdout] test engine::tests::test_dictation_session_creation ... ok
[INFO] [stdout] test engine::tests::test_dictation_session_push_audio ... ok
[INFO] [stdout] test engine::tests::test_double_stop ... ok
[INFO] [stdout] test engine::tests::test_cancel_from_idle_fails ... ok
[INFO] [stdout] test engine::tests::test_engine_default ... ok
[INFO] [stdout] test engine::tests::test_engine_initial_state ... ok
[INFO] [stdout] test engine::tests::test_engine_start_dictation ... ok
[INFO] [stdout] test engine::tests::test_engine_start_while_active ... ok
[INFO] [stdout] test engine::tests::test_full_cycle_then_restart ... ok
[INFO] [stdout] test engine::tests::test_invalid_transition_idle_to_processing ... ok
[INFO] [stdout] test engine::tests::test_push_audio_not_listening ... ok
[INFO] [stdout] test engine::tests::test_session_modes ... ok
[INFO] [stdout] test engine::tests::test_state_machine_cancel_from_listening ... ok
[INFO] [stdout] test engine::tests::test_state_machine_happy_path ... ok
[INFO] [stdout] test engine::tests::test_stop_without_audio_returns_none ... ok
[INFO] [stdout] test engine::tests::test_with_transcription_empty_returns_none ... ok
[INFO] [stdout] test engine::tests::test_with_transcription_error_returns_placeholder ... ok
[INFO] [stdout] test engine::tests::test_with_transcription_receives_correct_samples ... ok
[INFO] [stdout] test engine::tests::test_with_transcription_success ... ok
[INFO] [stdout] test engine::tests::test_without_transcription_returns_placeholder ... ok
[INFO] [stdout] test state::tests::test_invalid_transitions ... ok
[INFO] [stdout] test state::tests::test_state_machine_cancel_from_listening ... ok
[INFO] [stdout] test state::tests::test_state_machine_cancel_from_processing ... ok
[INFO] [stdout] test hotkey::tests::test_hotkey_config_custom ... ok
[INFO] [stdout] test hotkey::tests::test_hotkey_config_default ... ok
[INFO] [stdout] test hotkey::tests::test_hotkey_service_unregister_noop ... ok
[INFO] [stdout] test hotkey::tests::test_hotkey_service_stub ... ok
[INFO] [stdout] test state::tests::test_state_machine_happy_path ... ok
[INFO] [stdout] test state::tests::test_state_machine_clone_is_shared ... ok
[INFO] [stdout] test state::tests::test_state_machine_invalid_transition ... ok
[INFO] [stdout] test state::tests::test_state_machine_reset ... ok
[INFO] [stdout] test state::tests::test_state_machine_transition_error_message ... ok
[INFO] [stdout] test state::tests::test_valid_transitions ... ok
[INFO] [stdout] test text_inject::tests::test_text_inject_empty_on_non_windows ... ok
[INFO] [stdout] test text_inject::tests::test_text_inject_returns_error_on_non_windows ... ok
[INFO] [stdout] test text_inject::tests::test_text_injector_creation ... ok
[INFO] [stdout] test state::tests::test_state_display ... ok
[INFO] [stdout] test text_inject::tests::test_text_injector_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_insight-b5373b529e76bd66)
[INFO] [stdout] 
[INFO] [stdout] running 55 tests
[INFO] [stdout] test cluster::tests::test_cluster_empty_input ... ok
[INFO] [stdout] test digest::tests::test_generate_digest_empty_day ... ok
[INFO] [stdout] test digest::tests::test_generate_digest_basic ... ok
[INFO] [stdout] test digest::tests::test_generate_digest_top_entities_ordering ... ok
[INFO] [stdout] test cluster::tests::test_cluster_single_summary ... ok
[INFO] [stdout] test cluster::tests::test_cluster_similar_summaries ... ok
[INFO] [stdout] test cluster::tests::test_cluster_dissimilar_summaries ... ok
[INFO] [stdout] test entity::tests::test_common_word_filter ... ok
[INFO] [stdout] test entity::tests::test_is_common_word ... ok
[INFO] [stdout] test entity::tests::test_extract_iso_dates ... ok
[INFO] [stdout] test error::tests::test_error_display_config ... ok
[INFO] [stdout] test error::tests::test_error_display_export ... ok
[INFO] [stdout] test error::tests::test_error_display_insufficient_data ... ok
[INFO] [stdout] test error::tests::test_error_display_storage ... ok
[INFO] [stdout] test error::tests::test_error_display_vector ... ok
[INFO] [stdout] test error::tests::test_error_from_io ... ok
[INFO] [stdout] test error::tests::test_error_is_debug ... ok
[INFO] [stdout] test export::tests::test_atomic_write_sets_permissions ... ok
[INFO] [stdout] test export::tests::test_export_digest_creates_file ... ok
[INFO] [stdout] test entity::tests::test_extract_person_names ... ok
[INFO] [stdout] test entity::tests::test_mixed_entities ... ok
[INFO] [stdout] test entity::tests::test_extract_projects ... ok
[INFO] [stdout] test export::tests::test_export_entities_creates_file ... ok
[INFO] [stdout] test export::tests::test_export_summary_creates_file ... ok
[INFO] [stdout] test export::tests::test_export_entities_creates_projects_file ... ok
[INFO] [stdout] test export::tests::test_sanitize_filename ... ok
[INFO] [stdout] test export::tests::test_vault_exporter_absolute_path_accepted ... ok
[INFO] [stdout] test export::tests::test_vault_exporter_path_traversal_rejected ... ok
[INFO] [stdout] test export::tests::test_vault_exporter_relative_path_rejected ... ok
[INFO] [stdout] test export::tests::test_vault_exporter_tilde_path_accepted ... ok
[INFO] [stdout] test export::tests::test_export_summary_has_wikilink ... ok
[INFO] [stdout] test export::tests::test_export_summary_redacts_pii ... ok
[INFO] [stdout] test summarizer::tests::test_generate_title ... ok
[INFO] [stdout] test summarizer::tests::test_rank_sentences ... ok
[INFO] [stdout] test summarizer::tests::test_split_sentences ... ok
[INFO] [stdout] test summarizer::tests::test_summarize_insufficient_chunks ... ok
[INFO] [stdout] test summarizer::tests::test_summarize_basic ... ok
[INFO] [stdout] test types::tests::test_entity_serialization_roundtrip ... ok
[INFO] [stdout] test entity::tests::test_extract_relative_dates ... ok
[INFO] [stdout] test types::tests::test_daily_digest_serialization_roundtrip ... ok
[INFO] [stdout] test types::tests::test_entity_type_as_str_all_variants ... ok
[INFO] [stdout] test types::tests::test_entity_type_parse_all_variants ... ok
[INFO] [stdout] test types::tests::test_entity_type_parse_as_str_roundtrip ... ok
[INFO] [stdout] test types::tests::test_entity_type_parse_unknown_returns_none ... ok
[INFO] [stdout] test types::tests::test_entity_type_serialization_roundtrip ... ok
[INFO] [stdout] test types::tests::test_entity_type_serde_rename_all_snake_case ... ok
[INFO] [stdout] test types::tests::test_summary_serialization_roundtrip ... ok
[INFO] [stdout] test types::tests::test_summary_source_app_none ... ok
[INFO] [stdout] test types::tests::test_topic_cluster_no_embedding ... ok
[INFO] [stdout] test types::tests::test_topic_cluster_serialization_roundtrip ... ok
[INFO] [stdout] test entity::tests::test_extract_money ... ok
[INFO] [stdout] test export::tests::test_export_entities_redacts_pii_in_people ... ok
[INFO] [stdout] test summarizer::tests::test_capitalize ... ok
[INFO] [stdout] test entity::tests::test_empty_text_returns_empty ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_ocr-f85f83c4c48bfee3)
[INFO] [stdout] test entity::tests::test_extract_urls ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 55 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test windows_ocr::tests::test_ocr_config_custom ... ok
[INFO] [stdout] test windows_ocr::tests::test_ocr_config_default ... ok
[INFO] [stdout] test windows_ocr::tests::test_windows_ocr_service_creation ... ok
[INFO] [stdout] test tests::test_mock_ocr_deterministic ... ok
[INFO] [stdout] test windows_ocr::tests::test_ocr_returns_error_on_non_windows ... ok
[INFO] [stdout] test tests::test_mock_ocr_empty_response ... ok
[INFO] [stdout] test tests::test_mock_ocr_empty_input ... ok
[INFO] [stdout] test tests::test_mock_ocr_default ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_storage-c1265ee5ab708c1a)
[INFO] [stdout] test tests::test_mock_ocr_custom_text ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 141 tests
[INFO] [stdout] test db::tests::test_in_memory_database ... ok
[INFO] [stdout] test migrations::tests::test_captures_content_type_check ... ok
[INFO] [stdout] test db::tests::test_wal_mode_enabled ... ok
[INFO] [stdout] test migrations::tests::test_captures_tier_check ... ok
[INFO] [stdout] test migrations::tests::test_app_activity_table_exists ... ok
[INFO] [stdout] test migrations::tests::test_all_six_migrations_applied ... ok
[INFO] [stdout] test migrations::tests::test_captures_table_exists ... ok
[INFO] [stdout] test db::tests::test_file_database ... ok
[INFO] [stdout] test migrations::tests::test_dictations_table_exists ... ok
[INFO] [stdout] test migrations::tests::test_migrations_run_once ... ok
[INFO] [stdout] test migrations::tests::test_v3_migration_version_recorded ... ok
[INFO] [stdout] test migrations::tests::test_transcriptions_table_exists ... ok
[INFO] [stdout] test migrations::tests::test_v3_vectors_metadata_indexes ... ok
[INFO] [stdout] test migrations::tests::test_v3_vectors_metadata_table ... ok
[INFO] [stdout] test migrations::tests::test_v4_entities_table ... ok
[INFO] [stdout] test migrations::tests::test_v4_daily_digests_unique_date ... ok
[INFO] [stdout] test migrations::tests::test_v3_config_table ... ok
[INFO] [stdout] test migrations::tests::test_v4_daily_digests_table ... ok
[INFO] [stdout] test migrations::tests::test_v5_indexes_exist ... ok
[INFO] [stdout] test migrations::tests::test_v5_action_history_multiple_per_task ... ok
[INFO] [stdout] test migrations::tests::test_v4_migration_version_recorded ... ok
[INFO] [stdout] test migrations::tests::test_v4_summaries_table ... ok
[INFO] [stdout] test migrations::tests::test_v4_indexes_exist ... ok
[INFO] [stdout] test migrations::tests::test_v5_action_history_table ... ok
[INFO] [stdout] test migrations::tests::test_v5_action_history_with_error_message ... ok
[INFO] [stdout] test migrations::tests::test_v4_topic_clusters_table ... ok
[INFO] [stdout] test migrations::tests::test_v5_intents_acted_on_default ... ok
[INFO] [stdout] test migrations::tests::test_v5_intents_optional_extracted_time ... ok
[INFO] [stdout] test migrations::tests::test_v5_intents_delete ... ok
[INFO] [stdout] test migrations::tests::test_v5_intents_table ... ok
[INFO] [stdout] test migrations::tests::test_v5_tasks_complete_lifecycle ... ok
[INFO] [stdout] test migrations::tests::test_v5_intents_update ... ok
[INFO] [stdout] test migrations::tests::test_v5_migration_idempotent ... ok
[INFO] [stdout] test migrations::tests::test_v5_tasks_default_status ... ok
[INFO] [stdout] test migrations::tests::test_v5_migration_version_recorded ... ok
[INFO] [stdout] test migrations::tests::test_v5_tasks_table ... ok
[INFO] [stdout] test migrations::tests::test_v5_tasks_update_status ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_messages_null_sources_and_suggestions ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_messages_cascade_delete ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_messages_fk_rejects_invalid_session ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_messages_role_check ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_messages_multiple_per_session ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_messages_table ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_sessions_default_message_count ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_sessions_update_message_count ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_sessions_default_context ... ok
[INFO] [stdout] test migrations::tests::test_v6_indexes_exist ... ok
[INFO] [stdout] test migrations::tests::test_v6_migration_idempotent ... ok
[INFO] [stdout] test migrations::tests::test_v6_chat_sessions_table ... ok
[INFO] [stdout] test migrations::tests::test_v6_migration_version_recorded ... ok
[INFO] [stdout] test queries::tests::test_action_history_with_error ... ok
[INFO] [stdout] test queries::tests::test_app_activity ... ok
[INFO] [stdout] test queries::tests::test_get_action_history_filtered_by_task ... ok
[INFO] [stdout] test queries::tests::test_app_activity_empty ... ok
[INFO] [stdout] test queries::tests::test_get_chunks_since ... ok
[INFO] [stdout] test queries::tests::test_get_chunks_since_empty ... ok
[INFO] [stdout] test queries::tests::test_get_digest_not_found ... ok
[INFO] [stdout] test queries::tests::test_get_task_not_found ... ok
[INFO] [stdout] test queries::tests::test_get_entities_filtered_by_type ... ok
[INFO] [stdout] test queries::tests::test_get_intents_filtered_by_type ... ok
[INFO] [stdout] test queries::tests::test_get_intents_filtered_by_confidence ... ok
[INFO] [stdout] test queries::tests::test_list_apps ... ok
[INFO] [stdout] test queries::tests::test_list_apps_empty ... ok
[INFO] [stdout] test queries::tests::test_get_summaries_filtered_by_app ... ok
[INFO] [stdout] test queries::tests::test_list_tasks_all ... ok
[INFO] [stdout] test queries::tests::test_list_tasks_filtered ... ok
[INFO] [stdout] test queries::tests::test_qs_get_action_history_filtered ... ok
[INFO] [stdout] test queries::tests::test_qs_get_action_history_with_data ... ok
[INFO] [stdout] test queries::tests::test_qs_get_action_history_empty ... ok
[INFO] [stdout] test queries::tests::test_qs_get_intents_json_filtered_by_confidence ... ok
[INFO] [stdout] test queries::tests::test_qs_get_intents_json_filtered_by_acted_on ... ok
[INFO] [stdout] test queries::tests::test_qs_get_intents_json_empty ... ok
[INFO] [stdout] test queries::tests::test_qs_get_action_history_with_limit ... ok
[INFO] [stdout] test queries::tests::test_qs_get_intents_json_with_data ... ok
[INFO] [stdout] test queries::tests::test_qs_get_intents_json_filtered_by_type ... ok
[INFO] [stdout] test queries::tests::test_qs_get_intents_json_with_limit ... ok
[INFO] [stdout] test queries::tests::test_recent_all_types ... ok
[INFO] [stdout] test queries::tests::test_stats ... ok
[INFO] [stdout] test queries::tests::test_recent_filtered_by_type ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_digest ... ok
[INFO] [stdout] test queries::tests::test_stats_empty_db ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_entity ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_action_history ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_cluster ... ok
[INFO] [stdout] test queries::tests::test_recent_respects_limit ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_intent ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_task ... ok
[INFO] [stdout] test queries::tests::test_store_and_get_summary ... ok
[INFO] [stdout] test queries::tests::test_update_task_status_fn ... ok
[INFO] [stdout] test queries::tests::test_store_cluster_with_embedding ... ok
[INFO] [stdout] test queries::tests::test_update_task_status_not_found ... ok
[INFO] [stdout] test queries::tests::test_update_task_status_with_completed_at ... ok
[INFO] [stdout] test repository::tests::test_audio_count ... ok
[INFO] [stdout] test repository::tests::test_audio_save_and_find ... ok
[INFO] [stdout] test repository::tests::test_audio_delete ... ok
[INFO] [stdout] test repository::tests::test_capture_count ... ok
[INFO] [stdout] test repository::tests::test_capture_find_by_time_range ... ok
[INFO] [stdout] test repository::tests::test_capture_delete ... ok
[INFO] [stdout] test repository::tests::test_dictation_delete ... ok
[INFO] [stdout] test repository::tests::test_capture_find_by_app ... ok
[INFO] [stdout] test repository::tests::test_dictation_count ... ok
[INFO] [stdout] test repository::tests::test_capture_find_nonexistent ... ok
[INFO] [stdout] test repository::tests::test_capture_save_and_find ... ok
[INFO] [stdout] test repository::tests::test_dictation_modes ... ok
[INFO] [stdout] test repository::tests::test_dictation_find_by_app ... ok
[INFO] [stdout] test repository::tests::test_vector_metadata_save_and_find ... ok
[INFO] [stdout] test search::tests::test_fts5_injection_asterisk_prefix ... ok
[INFO] [stdout] test repository::tests::test_vector_metadata_find_nonexistent ... ok
[INFO] [stdout] test repository::tests::test_vector_metadata_find_by_source ... ok
[INFO] [stdout] test repository::tests::test_vector_metadata_upsert ... ok
[INFO] [stdout] test repository::tests::test_dictation_save_and_find ... ok
[INFO] [stdout] test search::tests::test_fts5_injection_column_filter ... ok
[INFO] [stdout] test search::tests::test_fts5_injection_content_type_bypass ... ok
[INFO] [stdout] test search::tests::test_fts5_injection_near_operator ... ok
[INFO] [stdout] test search::tests::test_fts_empty_query ... ok
[INFO] [stdout] test search::tests::test_fts_basic_search ... ok
[INFO] [stdout] test search::tests::test_fts_count_matches ... ok
[INFO] [stdout] test search::tests::test_fts5_injection_or_operator ... ok
[INFO] [stdout] test search::tests::test_sanitize_fts5_query_basic ... ok
[INFO] [stdout] test search::tests::test_sanitize_fts5_query_operators ... ok
[INFO] [stdout] test search::tests::test_sanitize_fts5_query_special_chars ... ok
[INFO] [stdout] test tier::tests::test_classify_boundary_hot_warm ... ok
[INFO] [stdout] test tier::tests::test_classify_boundary_warm_cold ... ok
[INFO] [stdout] test tier::tests::test_classify_cold ... ok
[INFO] [stdout] test tier::tests::test_classify_future_timestamp ... ok
[INFO] [stdout] test tier::tests::test_classify_hot ... ok
[INFO] [stdout] test tier::tests::test_classify_warm ... ok
[INFO] [stdout] test search::tests::test_fts_phrase_search ... ok
[INFO] [stdout] test search::tests::test_fts_search_by_type ... ok
[INFO] [stdout] test search::tests::test_fts_no_matches ... ok
[INFO] [stdout] test search::tests::test_fts_multiple_matches ... ok
[INFO] [stdout] test search::tests::test_fts_trigger_on_delete ... ok
[INFO] [stdout] test search::tests::test_fts_rank_ordering ... ok
[INFO] [stdout] test tier::tests::test_purge_deletes_old_cold_records ... ok
[INFO] [stdout] test search::tests::test_fts_respects_limit ... ok
[INFO] [stdout] test tier::tests::test_purge_empty_db ... ok
[INFO] [stdout] test tier::tests::test_purge_does_not_move_recent ... ok
[INFO] [stdout] test tier::tests::test_purge_moves_old_entries ... ok
[INFO] [stdout] test tier::tests::test_purge_skips_entity_referenced_chunks ... ok
[INFO] [stdout] test tier::tests::test_purge_skips_referenced_chunks ... ok
[INFO] [stdout] test tier::tests::test_purge_warm_to_cold ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 141 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.75s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_ui-3970ef87c33b9c7a)
[INFO] [stdout] 
[INFO] [stdout] running 52 tests
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_vector-0c6fdc52d9e7ebee)
[INFO] [stdout] test dashboard::tests::dashboard_html_chat_has_accessibility ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_accessibility_features ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_contains_all_views ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_chat_css_classes ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_chat_input_elements ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_auto_refresh ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_chat_js_functions ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_embedded_css ... ok
[INFO] [stdout] test tray::tests::test_on_tray_click_toggles_panel ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_embedded_js ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_is_valid_html ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_uses_correct_theme_colors ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_is_not_empty ... ok
[INFO] [stdout] test tray::tests::test_tray_service_stub ... ok
[INFO] [stdout] test tray::tests::test_tray_menu_action_equality ... ok
[INFO] [stdout] test tray::tests::test_tray_service_default ... ok
[INFO] [stdout] test tray::tests::test_tray_state_display ... ok
[INFO] [stdout] test tray::tests::test_tray_state_equality ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_accessibility ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_action_buttons ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_auto_refresh ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_recent_items ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_search_bar ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_stats_section ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_has_status_indicator ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_html_has_embedded_css ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_references_api_endpoints ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_html_has_embedded_js ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_references_chat_api_endpoints ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_html_has_no_external_urls ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_html_is_not_empty ... ok
[INFO] [stdout] test dashboard::tests::dashboard_html_has_no_external_urls ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_uses_compact_dimensions ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_html_is_valid_html ... ok
[INFO] [stdout] test webview::tests::test_panel_position_bottom ... ok
[INFO] [stdout] test tray_panel::tests::tray_panel_uses_correct_theme ... ok
[INFO] [stdout] test webview::tests::test_panel_position_custom_size ... ok
[INFO] [stdout] test webview::tests::test_panel_position_left ... ok
[INFO] [stdout] test webview::tests::test_panel_position_right ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_state_default ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_state_double_hide ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_state_new ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_state_show_hide ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_state_toggle ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_webview_creation ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_webview_default ... ok
[INFO] [stdout] test webview::tests::test_panel_position_top ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_state_double_show ... ok
[INFO] [stdout] test webview::tests::test_webview_config_custom ... ok
[INFO] [stdout] test webview::tests::test_tray_panel_webview_stub_toggle ... ok
[INFO] [stdout] test webview::tests::test_taskbar_edge_equality ... ok
[INFO] [stdout] test webview::tests::test_webview_config_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 52 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 49 tests
[INFO] [stdout] test embedding::tests::test_mock_dimensions ... ok
[INFO] [stdout] test embedding::tests::test_onnx_missing_model ... ok
[INFO] [stdout] test embedding::tests::test_mock_embedding_empty_text ... ok
[INFO] [stdout] test embedding::tests::test_mock_embedding_deterministic ... ok
[INFO] [stdout] test embedding::tests::test_mock_embedding_dimension ... ok
[INFO] [stdout] test embedding::tests::test_mock_embedding_different_inputs ... ok
[INFO] [stdout] test embedding::tests::test_mock_embedding_values_in_range ... ok
[INFO] [stdout] test index::tests::test_dimension_mismatch_search ... ok
[INFO] [stdout] test index::tests::test_insert_and_search ... ok
[INFO] [stdout] test index::tests::test_dimension_mismatch_insert ... ok
[INFO] [stdout] test index::tests::test_delete_nonexistent ... ok
[INFO] [stdout] test index::tests::test_delete ... ok
[INFO] [stdout] test index::tests::test_is_empty ... ok
[INFO] [stdout] test index::tests::test_metadata_preserved ... ok
[INFO] [stdout] test index::tests::test_search_empty_index ... ok
[INFO] [stdout] test index::tests::test_search_ordering ... ok
[INFO] [stdout] test index::tests::test_search_respects_k_limit ... ok
[INFO] [stdout] test index::tests::test_with_custom_dimensions ... ok
[INFO] [stdout] test pipeline::tests::test_custom_dedup_threshold ... ok
[INFO] [stdout] test pipeline::tests::test_dedup_threshold_getter ... ok
[INFO] [stdout] test index::tests::test_persistence_round_trip ... ok
[INFO] [stdout] test pipeline::tests::test_different_texts_not_deduplicated ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_audio_persists_to_sqlite ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_dedup_not_in_sqlite ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_denied_not_in_sqlite ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_dictation_persists_to_sqlite ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_redacted_text_in_sqlite ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_creates_vector_metadata ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_audio_skips_empty ... ok
[INFO] [stdout] test pipeline::tests::test_dual_write_screen_persists_to_sqlite ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_audio_stores ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_clean_text_stored ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_denied_by_custom_pattern ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_dictation_skips_empty ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_dictation_stores ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_redacts_credit_card ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_redacts_email ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_redacts_ssn ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_screen_deduplicates ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_screen_skips_empty ... ok
[INFO] [stdout] test pipeline::tests::test_ingest_screen_stores ... ok
[INFO] [stdout] test pipeline::tests::test_metadata_not_written_for_denied_content ... ok
[INFO] [stdout] test pipeline::tests::test_metadata_not_written_without_database ... ok
[INFO] [stdout] test pipeline::tests::test_safety_disabled_allows_pii ... ok
[INFO] [stdout] test pipeline::tests::test_without_database_still_works ... ok
[INFO] [stdout] test search::tests::test_hybrid_search_empty_index ... ok
[INFO] [stdout] test search::tests::test_hybrid_search_finds_results ... ok
[INFO] [stdout] test search::tests::test_hybrid_search_respects_k ... ok
[INFO] [stdout] test search::tests::test_hybrid_search_with_content_type_filter ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 49 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 6.46s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/engram_whisper-d5cd245222874274)
[INFO] [stdout] 
[INFO] [stdout] running 12 tests
[INFO] [stdout] test tests::test_transcription_result_creation ... ok
[INFO] [stdout] test tests::test_segment_creation ... ok
[INFO] [stdout] test tests::test_whisper_config_custom ... ok
[INFO] [stdout] test tests::test_whisper_config_default ... ok
[INFO] [stdout] test tests::test_mock_transcription_empty_audio ... ok
[INFO] [stdout] test whisper_service::tests::test_whisper_service_stub_returns_error ... ok
[INFO] [stdout] test tests::test_mock_transcription_duration_calculation ... ok
[INFO] [stdout] test tests::test_mock_transcription_basic ... ok
[INFO] [stdout] test tests::test_mock_transcription_zero_sample_rate ... ok
[INFO] [stdout] test tests::test_mock_transcription_segment_timing ... ok
[INFO] [stdout] test whisper_service::tests::test_whisper_service_config_accessor ... ok
[INFO] [stdout] test whisper_service::tests::test_whisper_service_no_model_file ... ok
[INFO] [stderr]    Doc-tests engram_action
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engram_api
[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 engram_audio
[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 engram_capture
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engram_chat
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engram_core
[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] [stderr]    Doc-tests engram_dictation
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engram_insight
[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 engram_ocr
[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 engram_storage
[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 engram_ui
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test crates/engram-ui/src/dashboard.rs - dashboard::DASHBOARD_HTML (line 32) ... ignored
[INFO] [stdout] test crates/engram-ui/src/lib.rs - (line 14) ... ignored
[INFO] [stdout] test crates/engram-ui/src/tray_panel.rs - tray_panel::TRAY_PANEL_HTML (line 31) ... ignored
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests engram_vector
[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 engram_whisper
[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" "e837fac950094efb92e88c206b6e77d8237402f231fd3d37d939da6dd8528aa9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e837fac950094efb92e88c206b6e77d8237402f231fd3d37d939da6dd8528aa9", kill_on_drop: false }`
[INFO] [stdout] e837fac950094efb92e88c206b6e77d8237402f231fd3d37d939da6dd8528aa9
