==>(B Building on articuno(B ==>(B Checking for remote environment...(B ==>(B Syncing package to remote host...(B sending incremental file list ./ .SRCINFO 764B 100% 0B/s 0:00:00 764B 100% 0B/s 0:00:00 (xfr#1, to-chk=7/9) .nvchecker.toml 114B 100% 114KB/s 0:00:00 114B 100% 114KB/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646B 100% 646KB/s 0:00:00 646B 100% 646KB/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 2,312B 73% 2.31MB/s 0:00:00 3,156B 100% 3.16MB/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375B 100% 375KB/s 0:00:00 375B 100% 375KB/s 0:00:00 (xfr#5, to-chk=3/9) atuin-18.24.6-1.log 818B 100% 818KB/s 0:00:00 818B 100% 818KB/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ sent 2,172 bytes received 210 bytes 1,588.00 bytes/sec total size is 5,272 speedup is 2.21 ==>(B Applying RISC-V patches...(B sending incremental file list ./ meta-test-timeout.patch 700B 89% 0B/s 0:00:00 785B 100% 85.0KB/s 0:00:00 (xfr#1, to-chk=2/4) opencode-export-tempfile.patch 700B 39% 700KB/s 0:00:00 1,771B 100% 1.77MB/s 0:00:00 (xfr#2, to-chk=1/4) riscv64.patch 1,169B 100% 1.17MB/s 0:00:00 1,169B 100% 1.17MB/s 0:00:00 (xfr#3, to-chk=0/4) sent 973 bytes received 124 bytes 731.33 bytes/sec total size is 3,725 speedup is 3.40 patching file PKGBUILD ==>(B Patching arch to riscv64...(B ==>(B Running pkgctl build --arch riscv64 on remote host...(B ==> WARNING:(B invalid architecture: riscv64(B ==>(B Updating pacman database cache(B [?25l:: Synchronizing package databases... core downloading... extra downloading... multilib downloading... [?25h==>(B Building atuin(B  ->(B repo: extra(B  ->(B arch: riscv64(B  ->(B worker: felix-1(B ==>(B Building atuin for [extra] (riscv64)(B ]3008;start=d9ad4ee6141c497fbad1bf9c0c884ad8;user=felix;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a09636f20f634e59acb4166affffcddc;pid=1592715;comm=sudo;targetuser=root;type=session\==>(B Locking clean chroot...(Bdone(B Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ]3008;start=9ecfd4a8e4604e68a8d3904cd4637d58;user=root;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a09636f20f634e59acb4166affffcddc;pid=1593144;comm=systemd-nspawn;container=arch-nspawn-1593144;type=container\]11;?\]2;🔵 Container arch-nspawn-1593144 on articuno.felixc.at\[?25l:: Synchronizing package databases... core downloading... extra downloading... :: Starting full system upgrade... there is nothing to do [?25h[!p]104\[?7h]3008;end=9ecfd4a8e4604e68a8d3904cd4637d58\==>(B Building in chroot for [extra] (riscv64)...(B ==>(B Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-1]...(Bdone(B ]3008;start=9fdcf87290b345e192c619824b1d117b;user=root;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a09636f20f634e59acb4166affffcddc;pid=1593722;comm=sudo;targetuser=felix;type=session\==>(B Making package: atuin 18.24.6-1 (Tue Nov 10 19:12:36 2026)(B ==>(B Retrieving sources...(B  ->(B Downloading atuin-18.24.6.tar.gz...(B % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00:01 0 100 390.6k 0 390.6k 0 0 189.9k 0 00:02 387.8k 100 2.14M 0 2.14M 0 0 716.3k 0 00:03 1.06M 100 5.14M 0 5.14M 0 0 1.32M 0 00:03 1.06M 100 5.14M 0 5.14M 0 0 1.32M 0 00:03 1.06M 100 5.14M 0 5.14M 0 0 1.32M 0 00:03 1.06M  ->(B Found meta-test-timeout.patch(B  ->(B Found opencode-export-tempfile.patch(B ==>(B Validating source files with sha256sums...(B atuin-18.24.6.tar.gz ... Passed meta-test-timeout.patch ... Passed opencode-export-tempfile.patch ... Passed ]3008;end=9fdcf87290b345e192c619824b1d117b\Note: in a future version of systemd-nspawn the default set of permitted socket address families will be restricted to AF_INET, AF_INET6 and AF_UNIX. Use --restrict-address-families= to configure the set of permitted socket address families, or set RestrictAddressFamilies= in a .nspawn file. ]3008;start=b609f92a78d248d68d25fb37a579a92b;user=root;hostname=articuno.felixc.at;machineid=5c87428929f24fc498e0c27a9edd88e1;bootid=a09636f20f634e59acb4166affffcddc;pid=1596650;comm=systemd-nspawn;container=makechrootpkg-atuin.build.1592738;type=container\]11;?\]2;🔵 Container makechrootpkg-atuin.build.1592738 on articuno.felixc.at\]3008;start=497046fae5f442eda768df7881102287;user=root;hostname=makechrootpkg-atuin.build.1592738;machineid=a81d927f5901499b958d23e66db38f47;bootid=c5760f88801e4970a7f8ff6c1388212a;pid=14;comm=sudo;targetuser=builduser;type=session\==>(B Making package: atuin 18.24.6-1 (Tue Nov 10 19:13:08 2026)(B ==>(B Checking runtime dependencies...(B ==>(B Checking buildtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=dc9f72d04c2040628c02b5fe943f412a;user=builduser;hostname=makechrootpkg-atuin.build.1592738;machineid=a81d927f5901499b958d23e66db38f47;bootid=c5760f88801e4970a7f8ff6c1388212a;pid=2779;comm=sudo;targetuser=root;type=session\[?25l:: There are 2 providers available for cargo: :: Repository extra 1) rust 2) rustup Enter a number (default=1): resolving dependencies... looking for conflicting packages... Package (10) New Version Net Change Download Size extra/compiler-rt 23.1.4-1 53.84 MiB core/libedit 20260512_3.1-1 0.26 MiB extra/libgit2 1:1.9.7-1 2.91 MiB extra/lld 23.1.4-1 6.91 MiB extra/llhttp 9.3.1-1 0.11 MiB extra/llvm-libs 23.1.4-1 157.98 MiB core/openssl-3 3.5.9-2 7.91 MiB 2.38 MiB extra/fish 4.9.3-1 18.02 MiB extra/rust 1:1.99.1-1 266.66 MiB extra/zsh 5.9.2-1 6.68 MiB Total Download Size: 2.38 MiB Total Installed Size: 521.27 MiB :: Proceed with installation? [Y/n] :: Retrieving packages... openssl-3-3.5.9-2-riscv64 downloading... checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing compiler-rt... installing llhttp... installing openssl-3... installing libgit2... installing libedit... installing llvm-libs... installing lld... installing rust... Optional dependencies for rust gdb: rust-gdb script [installed] lldb: rust-lldb script installing fish... Optional dependencies for fish python: man page completion parser / web config tool [installed] pkgfile: command-not-found hook groff: --help for built-in commmands [installed] mandoc: --help for built-in commmands (alternative) xsel: X11 clipboard integration xclip: X11 clipboard integration (alternative) wl-clipboard: Wayland clipboard integration installing zsh... Optional dependencies for zsh grml-zsh-config: grml's zsh setup zsh-autosuggestions: Fish-like autosuggestions for zsh zsh-completions: Additional completion definitions for Zsh zsh-doc: Info, HTML and PDF format of the ZSH documentation zsh-history-substring-search: ZSH port of Fish history search (up arrow) zsh-lovers: A collection of tips, tricks and examples for the Z shell. zsh-syntax-highlighting: Fish shell like syntax highlighting for Zsh zshdb: A debugger for zsh scripts :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h]3008;end=dc9f72d04c2040628c02b5fe943f412a\==>(B Retrieving sources...(B  ->(B Found atuin-18.24.6.tar.gz(B  ->(B Found meta-test-timeout.patch(B  ->(B Found opencode-export-tempfile.patch(B ==> WARNING:(B Skipping all source file integrity checks.(B ==>(B Extracting sources...(B  ->(B Extracting atuin-18.24.6.tar.gz with bsdtar(B ==>(B Starting prepare()...(B patching file crates/atuin-client/src/meta.rs Hunk #1 succeeded at 380 (offset 15 lines). Hunk #2 succeeded at 489 (offset 15 lines). patching file crates/atuin-common/src/harnesstools/opencode/rehydrate.rs Updating crates.io index Downloading crates ... Downloaded wait-timeout v0.2.1 Downloaded rand_xorshift v0.4.0 Downloaded scopeguard v1.2.0 Downloaded strum v0.27.2 Downloaded bit-set v0.8.0 Downloaded type-map v0.5.1 Downloaded sketches-ddsketch v0.3.1 Downloaded fluent-langneg v0.13.1 Downloaded intl-memoizer v0.5.3 Downloaded i18n-embed-impl v0.8.4 Downloaded indenter v0.3.4 Downloaded unic-langid v0.9.6 Downloaded errno v0.3.14 Downloaded intl_pluralrules v7.0.2 Downloaded rustc-hash v2.1.3 Downloaded unicode-xid v0.2.6 Downloaded rustc-hash v1.1.0 Downloaded assert-json-diff v2.0.2 Downloaded utf8parse v0.2.2 Downloaded fluent v0.17.0 Downloaded anstyle-query v1.1.5 Downloaded crypto-common v0.1.7 Downloaded clap_lex v1.1.0 Downloaded deadpool-runtime v0.1.4 Downloaded darling_macro v0.24.1 Downloaded dirs v6.0.0 Downloaded pathdiff v0.2.3 Downloaded parking_lot v0.12.5 Downloaded colorchoice v1.0.5 Downloaded dirs-sys v0.5.0 Downloaded num_cpus v1.17.0 Downloaded powerfmt v0.2.0 Downloaded i18n-config v0.4.8 Downloaded is_terminal_polyfill v1.70.2 Downloaded option-ext v0.2.0 Downloaded time-core v0.1.9 Downloaded unarray v0.1.4 Downloaded quick-error v1.2.3 Downloaded subtle v2.6.1 Downloaded pbkdf2 v0.12.2 Downloaded matchers v0.2.0 Downloaded block-buffer v0.10.4 Downloaded rand_core v0.9.5 Downloaded convert_case v0.10.0 Downloaded self_cell v1.3.0 Downloaded easy-cast v0.5.4 Downloaded fluent-syntax v0.12.0 Downloaded bit-vec v0.8.0 Downloaded fs-err v3.3.1 Downloaded reqwest-middleware v0.5.2 Downloaded num-conv v0.2.2 Downloaded generic-array v0.14.7 Downloaded find-crate v0.6.3 Downloaded typed-builder v0.23.2 Downloaded serde_path_to_error v0.1.20 Downloaded typed-builder-macro v0.23.2 Downloaded thiserror v1.0.69 Downloaded strsim v0.11.1 Downloaded xxhash-rust v0.8.19 Downloaded shellexpand v3.1.2 Downloaded thiserror-impl v1.0.69 Downloaded anstyle v1.0.14 Downloaded strum_macros v0.27.2 Downloaded anstyle-parse v1.0.0 Downloaded axum-core v0.5.6 Downloaded rusty-fork v0.3.1 Downloaded rand_chacha v0.9.0 Downloaded phf_shared v0.11.3 Downloaded openssl-macros v0.1.1 Downloaded approx v0.5.1 Downloaded signal-hook-mio v0.2.5 Downloaded ahash v0.8.12 Downloaded fluent-bundle v0.16.0 Downloaded rustversion v1.0.22 Downloaded crossbeam-queue v0.3.12 Downloaded crossbeam-epoch v0.9.20 Downloaded eyre v0.6.14 Downloaded anstream v1.0.0 Downloaded parking v2.2.1 Downloaded rand_xoshiro v0.7.0 Downloaded clap_derive v4.6.7 Downloaded matchit v0.8.4 Downloaded deadpool v0.12.3 Downloaded strum_macros v0.28.0 Downloaded async-trait v0.1.92 Downloaded anyhow v1.0.104 Downloaded serde_with_macros v3.24.0 Downloaded futures-io v0.3.34 Downloaded foreign-types v0.3.2 Downloaded colored v3.1.1 Downloaded arrayvec v0.7.8 Downloaded fallible-iterator v0.3.0 Downloaded palette_derive v0.7.6 Downloaded logos-derive v0.15.1 Downloaded memo-map v0.3.3 Downloaded metrics-exporter-prometheus v0.18.1 Downloaded metrics-util v0.20.1 Downloaded metrics v0.24.3 Downloaded i18n-embed v0.16.0 Downloaded basic-toml v0.1.10 Downloaded toml v0.5.11 Downloaded wiremock v0.6.5 Downloaded futures v0.3.32 Downloaded diff v0.1.13 Downloaded hmac v0.12.1 Downloaded darling v0.24.1 Downloaded uuid v1.26.1 Downloaded futures-macro v0.3.34 Downloaded compression-core v0.4.34 Downloaded version_check v0.9.5 Downloaded multimap v0.10.1 Downloaded quanta v0.12.6 Downloaded unic-langid-impl v0.9.6 Downloaded arc-swap v1.9.2 Downloaded derive_more v2.1.1 Downloaded config v0.15.25 Downloaded toml v1.1.2+spec-1.1.0 Downloaded clap v4.6.7 Downloaded pretty_assertions v1.4.1 Downloaded yansi v1.0.1 Downloaded zeroize_derive v1.5.0 Downloaded foreign-types-shared v0.1.1 Downloaded crc v3.4.0 Downloaded pin-project v1.1.13 Downloaded litrs v1.0.0 Downloaded hyper-timeout v0.5.2 Downloaded prost-build v0.14.3 Downloaded getopts v0.2.24 Downloaded listenfd v1.0.2 Downloaded lz4_flex v0.13.1 Downloaded twox-hash v2.1.4 Downloaded compare v0.0.6 Downloaded rand v0.9.5 Downloaded derive_more-impl v2.1.1 Downloaded unicode-segmentation v1.13.3 Downloaded tiny-bip39 v2.0.0 Downloaded tower v0.5.3 Downloaded futures-core v0.3.34 Downloaded instability v0.3.12 Downloaded unicode-truncate v2.0.1 Downloaded tree-sitter-language v0.1.8 Downloaded openssl-probe v0.2.1 Downloaded rusqlite v0.32.1 Downloaded yaml-rust2 v0.11.1 Downloaded compact_str v0.9.0 Downloaded ratatui-termwiz v0.1.2 Downloaded clap_builder v4.6.7 Downloaded axum v0.8.9 Downloaded serde_with v3.24.0 Downloaded ratatui v0.30.2 Downloaded wezterm-blob-leases v0.1.1 Downloaded mac_address v1.1.8 Downloaded sysinfo v0.39.6 Downloaded nix v0.28.0 Downloaded minimal-lexical v0.2.1 Downloaded pest_derive v2.8.6 Downloaded ratatui-termina v0.1.0 Downloaded ratatui-crossterm v0.1.2 Downloaded chrono-humanize v0.2.3 Downloaded arboard v3.6.1 Downloaded wayland-protocols-wlr v0.3.11 Downloaded wayland-backend v0.3.14 Downloaded wayland-sys v0.31.10 Downloaded unicode-width v0.2.2 Downloaded futures-task v0.3.34 Downloaded http-body v1.0.1 Downloaded tracing-appender v0.2.5 Downloaded konst v0.2.20 Downloaded konst_macro_rules v0.2.19 Downloaded camino v1.2.5 Downloaded ident_case v1.0.1 Downloaded schemars v1.2.1 Downloaded schemars_derive v1.2.1 Downloaded serde_derive_internals v0.29.1 Downloaded sync_wrapper v1.0.2 Downloaded nix v0.30.1 Downloaded defmt-parser v1.1.0 Downloaded indexmap v1.9.3 Downloaded bitflags v1.3.2 Downloaded const-oid v0.9.6 Downloaded futures-sink v0.3.34 Downloaded serde_core v1.0.229 Downloaded cfg-if v1.0.4 Downloaded signal-hook-registry v1.4.8 Downloaded lock_api v0.4.14 Downloaded num_threads v0.1.7 Downloaded thiserror-impl v2.0.21 Downloaded deranged v0.5.8 Downloaded thiserror v2.0.21 Downloaded adler2 v2.0.1 Downloaded sha2 v0.10.9 Downloaded autocfg v1.5.1 Downloaded libc v0.2.190 Downloaded proc-macro2 v1.0.107 Downloaded utf8_iter v1.0.4 Downloaded smallvec v1.15.2 Downloaded idna_adapter v1.2.2 Downloaded icu_properties v2.2.0 Downloaded zerovec v0.11.6 Downloaded find-msvc-tools v0.1.9 Downloaded native-tls v0.2.18 Downloaded crc-catalog v2.5.0 Downloaded futures-executor v0.3.32 Downloaded atoi v2.0.0 Downloaded stringprep v0.1.5 Downloaded poly1305 v0.8.0 Downloaded icu_collections v2.2.0 Downloaded potential_utf v0.1.5 Downloaded icu_normalizer v2.2.0 Downloaded sharded-slab v0.1.7 Downloaded lazy_static v1.5.0 Downloaded zmij v1.0.23 Downloaded itoa v1.0.18 Downloaded parking_lot_core v0.9.12 Downloaded symlink v0.1.0 Downloaded serde_json v1.0.154 Downloaded memchr v2.8.3 Downloaded indexmap v2.14.0 Downloaded hashbrown v0.17.1 Downloaded slab v0.4.12 Downloaded http-body-util v0.1.3 Downloaded pkg-config v0.3.33 Downloaded shlex v2.0.1 Downloaded fastrand v2.4.1 Downloaded digest v0.10.7 Downloaded rand_core v0.6.4 Downloaded zeroize v1.9.0 Downloaded either v1.16.0 Downloaded hmac v0.13.0 Downloaded hex v0.4.3 Downloaded byteorder v1.5.0 Downloaded sha1 v0.11.0 Downloaded sqlx-macros v0.9.0 Downloaded sqlx-macros-core v0.9.0 Downloaded heck v0.5.0 Downloaded mime_guess v2.0.5 Downloaded jobserver v0.1.35 Downloaded whoami v2.1.1 Downloaded dotenvy v0.15.7 Downloaded secrecy v0.10.3 Downloaded walkdir v2.5.0 Downloaded same-file v1.0.6 Downloaded rust-embed-utils v8.12.0 Downloaded rust-embed-impl v8.12.0 Downloaded unicase v2.9.0 Downloaded simd-adler32 v0.3.10 Downloaded tokio-stream v0.1.18 Downloaded hkdf v0.13.0 Downloaded sqlx-mysql v0.9.0 Downloaded indoc v2.0.7 Downloaded futures-channel v0.3.34 Downloaded crc32fast v1.5.0 Downloaded hashlink v0.11.0 Downloaded event-listener v5.4.2 Downloaded spin v0.9.9 Downloaded mime v0.3.17 Downloaded time-macros v0.2.32 Downloaded compression-codecs v0.4.46 Downloaded getrandom v0.2.17 Downloaded humantime v2.3.0 Downloaded glob-match v0.2.1 Downloaded opaque-debug v0.3.1 Downloaded zerovec-derive v0.11.3 Downloaded zstd-safe v8.2.0 Downloaded zstd v0.14.3 Downloaded tempfile v3.27.0 Downloaded crossbeam-utils v0.8.22 Downloaded num-traits v0.2.19 Downloaded rust-embed v8.12.0 Downloaded proc-macro-error3 v3.1.1 Downloaded proc-macro-error-attr3 v3.1.1 Downloaded enum_dispatch v0.3.13 Downloaded crypto_secretbox v0.1.1 Downloaded salsa20 v0.10.2 Downloaded universal-hash v0.5.1 Downloaded aead v0.5.2 Downloaded portable-pty v0.9.0 Downloaded prost-types v0.14.3 Downloaded pulldown-cmark-to-cmark v22.0.0 Downloaded lasso v0.7.3 Downloaded crossbeam-skiplist v0.1.3 Downloaded socket2 v0.6.4 Downloaded pin-project-internal v1.1.13 Downloaded lsm-tree v3.1.10 Downloaded varint-rs v2.2.1 Downloaded pest_generator v2.8.6 Downloaded foldhash v0.2.0 Downloaded petgraph v0.8.3 Downloaded strum v0.28.0 Downloaded critical-section v1.2.0 Downloaded bitflags v2.13.0 Downloaded kasuari v0.4.12 Downloaded ratatui-core v0.1.2 Downloaded lru v0.18.2 Downloaded termina v0.3.3 Downloaded eventsource-stream v0.2.3 Downloaded getrandom v0.3.4 Downloaded logos-codegen v0.15.1 Downloaded eye_declare v0.7.1 Downloaded wayland-scanner v0.31.9 Downloaded tree_magic_mini v3.2.2 Downloaded base64 v0.22.1 Downloaded quick-xml v0.39.4 Downloaded wayland-protocols v0.32.11 Downloaded wayland-client v0.31.13 Downloaded const_format_proc_macros v0.2.37 Downloaded clap_complete v4.6.11 Downloaded miniz_oxide v0.8.9 Downloaded flume v0.12.0 Downloaded bytesize v2.7.0 Downloaded static_assertions v1.1.0 Downloaded openssl-sys v0.9.117 Downloaded clap_complete_nushell v4.6.1 Downloaded clap-couture v0.1.1 Downloaded clap-couture-derive v0.1.1 Downloaded axoupdater v0.10.3 Downloaded ref-cast v1.0.25 Downloaded signature v2.2.0 Downloaded sqlx-sqlite v0.9.0 Downloaded atuin-vt100 v0.19.2 Downloaded atuin-vte v0.15.1 Downloaded darling_core v0.24.1 Downloaded pkcs8 v0.10.2 Downloaded spki v0.7.3 Downloaded der v0.7.10 Downloaded base64ct v1.8.3 Downloaded sha1_smol v1.0.1 Downloaded getrandom v0.4.3 Downloaded rand_core v0.10.1 Downloaded atomic v0.6.1 Downloaded bytemuck v1.25.0 Downloaded tower-service v0.3.3 Downloaded unicode-properties v0.1.4 Downloaded curve25519-dalek v4.1.3 Downloaded bytes v1.12.1 Downloaded flate2 v1.1.9 Downloaded futures-intrusive v0.5.0 Downloaded rstest v0.27.0 Downloaded icu_normalizer_data v2.2.0 Downloaded pin-project-lite v0.2.17 Downloaded thread_local v1.1.9 Downloaded equivalent v1.0.2 Downloaded allocator-api2 v0.2.21 Downloaded nu-ansi-term v0.50.3 Downloaded mio v1.2.1 Downloaded cc v1.2.64 Downloaded crossbeam-channel v0.5.15 Downloaded rstest_macros v0.27.0 Downloaded aho-corasick v1.1.4 Downloaded regex-syntax v0.8.11 Downloaded async-compression v0.4.51 Downloaded regex-automata v0.4.14 Downloaded typenum v1.20.1 Downloaded tinyvec v1.11.0 Downloaded ryu v1.0.23 Downloaded rustls-pki-types v1.14.1 Downloaded hyper-util v0.1.21 Downloaded fnv v1.0.7 Downloaded atomic-waker v1.1.2 Downloaded inout v0.1.4 Downloaded blake2 v0.10.6 Downloaded console v0.16.3 Downloaded signal-hook v0.3.18 Downloaded document-features v0.2.12 Downloaded filedescriptor v0.8.3 Downloaded shell-words v1.1.1 Downloaded crossterm v0.29.0 Downloaded wezterm-dynamic v0.2.1 Downloaded ordered-float v4.6.0 Downloaded async-stream-impl v0.3.6 Downloaded tracing-futures v0.2.5 Downloaded wezterm-dynamic-derive v0.1.1 Downloaded syn v1.0.109 Downloaded http v1.5.0 Downloaded hashbrown v0.16.1 Downloaded argon2 v0.5.3 Downloaded pastey v0.2.3 Downloaded password-hash v0.5.0 Downloaded rmcp v3.9.0 Downloaded wezterm-input-types v0.1.0 Downloaded sqlx-postgres v0.9.0 Downloaded unicode-normalization v0.1.26 Downloaded rusty_paserk v0.5.0 Downloaded minspan v0.1.5 Downloaded serial2 v0.2.36 Downloaded cfg_aliases v0.1.1 Downloaded downcast-rs v1.2.1 Downloaded tonic-prost-build v0.14.6 Downloaded tonic-build v0.14.6 Downloaded homedir v0.3.6 Downloaded axotag v0.3.0 Downloaded rmp v0.8.15 Downloaded axoprocess v0.2.1 Downloaded base64 v0.23.1 Downloaded fast-srgb8 v1.0.0 Downloaded image v0.25.10 Downloaded moxcms v0.8.1 Downloaded ansi-to-tui v8.0.1 Downloaded ref-cast-impl v1.0.25 Downloaded dyn-clone v1.0.20 Downloaded iana-time-zone v0.1.65 Downloaded schemars v0.9.0 Downloaded futures-util v0.3.34 Downloaded sqlx-core v0.9.0 Downloaded regex v1.12.4 Downloaded rustc_version v0.4.1 Downloaded relative-path v1.9.3 Downloaded proc-macro-crate v3.5.0 Downloaded toml_edit v0.25.12+spec-1.1.0 Downloaded tonic-types v0.14.6 Downloaded chrono v0.4.45 Downloaded semver v1.0.28 Downloaded toml_writer v1.1.1+spec-1.1.0 Downloaded serde_regex v1.2.0 Downloaded untrusted v0.9.0 Downloaded tinyvec_macros v0.1.1 Downloaded pxfm v0.1.30 Downloaded winnow v1.0.3 Downloaded async-stream v0.3.6 Downloaded sql-builder v3.1.1 Downloaded streaming-iterator v0.1.9 Downloaded wezterm-color-types v0.3.0 Downloaded norm v0.1.1 Downloaded defmt-macros v1.2.0 Downloaded hashlink v0.9.1 Downloaded by_address v1.2.1 Downloaded tree-sitter-bash v0.25.1 Downloaded pest_meta v2.8.6 Downloaded num-derive v0.4.2 Downloaded memmem v0.1.1 Downloaded fixedbitset v0.4.2 Downloaded finl_unicode v1.4.0 Downloaded bit-vec v0.6.3 Downloaded ratatui-macros v0.7.2 Downloaded vte v0.15.0 Downloaded bs58 v0.5.1 Downloaded interim v0.2.1 Downloaded unit-prefix v0.5.2 Downloaded beef v0.5.2 Downloaded os_pipe v1.2.3 Downloaded pest v2.8.6 Downloaded fancy-regex v0.11.0 Downloaded bit-set v0.5.3 Downloaded eye_declare_engine v0.7.1 Downloaded x11rb v0.13.2 Downloaded defmt v1.2.0 Downloaded tower-http v0.6.11 Downloaded rpassword v7.5.4 Downloaded rtoolbox v0.0.3 Downloaded httpdate v1.0.3 Downloaded prost-derive v0.14.3 Downloaded notify-debouncer-full v0.7.0 Downloaded euclid v0.22.13 Downloaded gethostname v1.1.0 Downloaded itertools v0.14.0 Downloaded rmp-serde v1.3.1 Downloaded phf_generator v0.11.3 Downloaded csscolorparser v0.6.2 Downloaded prettyplease v0.2.37 Downloaded pulldown-cmark-escape v0.11.0 Downloaded vcpkg v0.2.15 Downloaded pulldown-cmark v0.13.6 Downloaded tonic-prost v0.14.6 Downloaded castaway v0.2.4 Downloaded line-clipping v0.3.5 Downloaded runtime-format v0.1.3 Downloaded iso8601 v0.6.3 Downloaded unicode-bidi v0.3.18 Downloaded opentelemetry v0.32.0 Downloaded nom v8.0.0 Downloaded tracing-log v0.2.0 Downloaded opentelemetry_sdk v0.32.1 Downloaded tracing-core v0.1.36 Downloaded once_cell v1.21.4 Downloaded sqlx v0.9.0 Downloaded zerofrom v0.1.8 Downloaded zerofrom-derive v0.1.7 Downloaded tracing-serde v0.2.0 Downloaded log v0.4.32 Downloaded tracing-subscriber v0.3.23 Downloaded serde_urlencoded v0.7.1 Downloaded want v0.3.1 Downloaded try-lock v0.2.5 Downloaded hyper-tls v0.6.0 Downloaded rand_chacha v0.3.1 Downloaded ppv-lite86 v0.2.21 Downloaded notify-types v2.1.0 Downloaded darling_macro v0.23.0 Downloaded sha2 v0.11.0 Downloaded ipnet v2.12.0 Downloaded hyper v1.10.1 Downloaded rand v0.8.7 Downloaded opentelemetry-proto v0.32.0 Downloaded writeable v0.6.3 Downloaded wl-clipboard-rs v0.9.3 Downloaded litemap v0.8.2 Downloaded tinystr v0.8.3 Downloaded fixedbitset v0.5.7 Downloaded icu_locale_core v2.2.0 Downloaded icu_properties_data v2.2.0 Downloaded phf v0.11.3 Downloaded protox v0.9.1 Downloaded fjall v3.1.10 Downloaded darling_core v0.23.0 Downloaded memoffset v0.9.1 Downloaded cfg_aliases v0.2.1 Downloaded synstructure v0.13.2 Downloaded httparse v1.10.1 Downloaded ratatui-widgets v0.3.2 Downloaded vtparse v0.6.2 Downloaded ucd-trie v0.1.7 Downloaded wezterm-bidi v0.2.3 Downloaded tree-sitter-fish v3.6.0 Downloaded lab v0.11.0 Downloaded tui-textarea-2 v0.13.2 Downloaded tokio-native-tls v0.3.1 Downloaded tonic v0.14.6 Downloaded tree-sitter v0.27.0 Downloaded digest v0.11.3 Downloaded reqwest v0.13.4 Downloaded locked-tripwire v0.1.1 Downloaded form_urlencoded v1.2.2 Downloaded tower-layer v0.3.3 Downloaded hashbrown v0.15.5 Downloaded fallible-streaming-iterator v0.1.9 Downloaded indicatif v0.18.4 Downloaded darling v0.23.0 Downloaded yoke v0.8.3 Downloaded chacha20 v0.9.1 Downloaded cipher v0.4.4 Downloaded palette v0.7.6 Downloaded terminfo v0.9.0 Downloaded phf_codegen v0.11.3 Downloaded tracing-opentelemetry v0.33.0 Downloaded hashbrown v0.12.3 Downloaded quote v1.0.47 Downloaded chacha20 v0.10.2 Downloaded md-5 v0.11.0 Downloaded miette v7.6.0 Downloaded sfa v1.0.0 Downloaded url v2.5.8 Downloaded i18n-embed-fl v0.10.1 Downloaded ed25519 v2.2.3 Downloaded serde_derive v1.0.229 Downloaded opentelemetry-http v0.32.0 Downloaded unicode-ident v1.0.24 Downloaded yoke-derive v0.8.2 Downloaded stable_deref_trait v1.2.1 Downloaded tracing-tree v0.4.1 Downloaded idna v1.1.0 Downloaded time v0.3.55 Downloaded prost v0.14.3 Downloaded syn v3.0.9 Downloaded syn v2.0.119 Downloaded futures-timer v3.0.4 Downloaded siphasher v1.0.3 Downloaded percent-encoding v2.3.2 Downloaded glob v0.3.3 Downloaded inotify-sys v0.1.8 Downloaded file-id v0.2.3 Downloaded zerotrie v0.2.4 Downloaded block-buffer v0.12.1 Downloaded termios v0.3.3 Downloaded rand v0.10.1 Downloaded libm v0.2.16 Downloaded unicode-width v0.1.14 Downloaded icu_provider v2.2.0 Downloaded interval-heap v0.0.5 Downloaded byteview v0.10.2 Downloaded daemonix v0.1.0 Downloaded opentelemetry-otlp v0.32.0 Downloaded tokio-macros v2.7.0 Downloaded nom v7.1.3 Downloaded foldhash v0.1.5 Downloaded protox-parse v0.9.0 Downloaded arraydeque v0.5.1 Downloaded toml_parser v1.1.2+spec-1.1.0 Downloaded serde_spanned v1.1.1 Downloaded phf_macros v0.11.3 Downloaded byteorder-lite v0.1.0 Downloaded tracing-attributes v0.1.31 Downloaded crypto-common v0.2.2 Downloaded jiff-core v0.1.1 Downloaded toml_datetime v1.1.1+spec-1.1.0 Downloaded inotify v0.11.4 Downloaded dashmap v6.2.1 Downloaded openssl v0.10.81 Downloaded miette-derive v7.6.0 Downloaded const_format v0.2.37 Downloaded minijinja v2.18.0 Downloaded notify v8.2.0 Downloaded cmov v0.5.4 Downloaded displaydoc v0.2.6 Downloaded hybrid-array v0.4.13 Downloaded ed25519-dalek v2.2.0 Downloaded nix v0.29.0 Downloaded ctutils v0.4.5 Downloaded quick_cache v0.6.24 Downloaded serde v1.0.229 Downloaded const-oid v0.10.2 Downloaded h2 v0.4.16 Downloaded termwiz v0.23.3 Downloaded portable-atomic v1.14.0 Downloaded prost-reflect v0.16.3 Downloaded rustix v1.1.5 Downloaded hashbrown v0.14.5 Downloaded tree-sitter-powershell v0.26.4 Downloaded proptest v1.11.0 Downloaded frizbee v0.13.0 Downloaded tokio-util v0.7.20 Downloaded imara-diff v0.2.0 Downloaded itertools v0.15.0 Downloaded zerocopy v0.8.52 Downloaded rusty_paseto v0.8.0 Downloaded tracing v0.1.44 Downloaded x11rb-protocol v0.13.2 Downloaded zstd-sys v2.1.2+zstd.1.5.7 Downloaded jiff v0.2.38 Downloaded tokio v1.54.1 Downloaded encoding_rs v0.8.35 Downloaded ring v0.17.14 Downloaded logos v0.15.1 Downloaded deltae v0.3.2 Downloaded linux-raw-sys v0.12.1 Downloaded libsqlite3-sys v0.30.1 Downloaded openssl-src v300.6.1+3.6.3 ==>(B Starting build()...(B Compiling proc-macro2 v1.0.107 Compiling quote v1.0.47 Compiling unicode-ident v1.0.24 Compiling serde v1.0.229 Compiling libc v0.2.190 Compiling serde_core v1.0.229 Compiling cfg-if v1.0.4 Compiling find-msvc-tools v0.1.9 Compiling shlex v2.0.1 Compiling memchr v2.8.3 Compiling pkg-config v0.3.33 Compiling allocator-api2 v0.2.21 Compiling thiserror v2.0.21 Compiling log v0.4.32 Compiling equivalent v1.0.2 Compiling version_check v0.9.5 Compiling foldhash v0.2.0 Compiling parking_lot_core v0.9.12 Compiling once_cell v1.21.4 Compiling futures-core v0.3.34 Compiling pin-project-lite v0.2.17 Compiling itoa v1.0.18 Compiling scopeguard v1.2.0 Compiling vcpkg v0.2.15 Compiling typenum v1.20.1 Compiling zmij v1.0.23 Compiling serde_json v1.0.154 Compiling bytes v1.12.1 Compiling futures-sink v0.3.34 Compiling stable_deref_trait v1.2.1 Compiling autocfg v1.5.1 Compiling futures-task v0.3.34 Compiling futures-io v0.3.34 Compiling slab v0.4.12 Compiling icu_properties_data v2.2.0 Compiling icu_normalizer_data v2.2.0 Compiling heck v0.5.0 Compiling anyhow v1.0.104 Compiling percent-encoding v2.3.2 Compiling num-conv v0.2.2 Compiling time-core v0.1.9 Compiling hashbrown v0.17.1 Compiling zerocopy v0.8.52 Compiling semver v1.0.28 Compiling subtle v2.6.1 Compiling ryu v1.0.23 Compiling rustix v1.1.5 Compiling crossbeam-utils v0.8.22 Compiling strsim v0.11.1 Compiling writeable v0.6.3 Compiling cmov v0.5.4 Compiling litemap v0.8.2 Compiling rustversion v1.0.22 Compiling utf8_iter v1.0.4 Compiling lock_api v0.4.14 Compiling futures-channel v0.3.34 Compiling ident_case v1.0.1 Compiling const-oid v0.10.2 Compiling thiserror v1.0.69 Compiling linux-raw-sys v0.12.1 Compiling unicase v2.9.0 Compiling base64 v0.22.1 Compiling getrandom v0.3.4 Compiling openssl v0.10.81 Compiling form_urlencoded v1.2.2 Compiling getrandom v0.4.3 Compiling powerfmt v0.2.0 Compiling num_threads v0.1.7 Compiling unicode-width v0.2.2 Compiling tracing-core v0.1.36 Compiling foreign-types-shared v0.1.1 Compiling httparse v1.10.1 Compiling native-tls v0.2.18 Compiling tower-service v0.3.3 Compiling foreign-types v0.3.2 Compiling try-lock v0.2.5 Compiling openssl-probe v0.2.1 Compiling atomic-waker v1.1.2 Compiling fnv v1.0.7 Compiling rustc_version v0.4.1 Compiling want v0.3.1 Compiling ctutils v0.4.5 Compiling httpdate v1.0.3 Compiling time-macros v0.2.32 Compiling sync_wrapper v1.0.2 Compiling base64 v0.23.1 Compiling regex-syntax v0.8.11 Compiling zstd-safe v8.2.0 Compiling tower-layer v0.3.3 Compiling crc32fast v1.5.0 Compiling simd-adler32 v0.3.10 Compiling unicode-segmentation v1.13.3 Compiling adler2 v2.0.1 Compiling rand_core v0.10.1 Compiling unicode-xid v0.2.6 Compiling aho-corasick v1.1.4 Compiling mime_guess v2.0.5 Compiling crc-catalog v2.5.0 Compiling generic-array v0.14.7 Compiling ahash v0.8.12 Compiling compression-core v0.4.34 Compiling hashbrown v0.16.1 Compiling miniz_oxide v0.8.9 Compiling lazy_static v1.5.0 Compiling deranged v0.5.8 Compiling same-file v1.0.6 Compiling parking v2.2.1 Compiling beef v0.5.2 Compiling crc v3.4.0 Compiling nom v8.0.0 Compiling sha1_smol v1.0.1 Compiling tinyvec_macros v0.1.1 Compiling mime v0.3.17 Compiling futures-util v0.3.34 Compiling uuid v1.26.1 Compiling rustc-hash v2.1.3 Compiling walkdir v2.5.0 Compiling tinyvec v1.11.0 Compiling event-listener v5.4.2 Compiling foldhash v0.1.5 Compiling spin v0.9.9 Compiling chacha20 v0.10.2 Compiling num-traits v0.2.19 Compiling unicode-bidi v0.3.18 Compiling inotify-sys v0.1.8 Compiling type-map v0.5.1 Compiling unicode-properties v0.1.4 Compiling utf8parse v0.2.2 Compiling http v1.5.0 Compiling logos-codegen v0.15.1 Compiling curve25519-dalek v4.1.3 Compiling hashbrown v0.15.5 Compiling self_cell v1.3.0 Compiling indexmap v2.14.0 Compiling dotenvy v0.15.7 Compiling byteorder v1.5.0 Compiling flume v0.12.0 Compiling anstyle-parse v1.0.0 Compiling convert_case v0.10.0 Compiling anstyle v1.0.14 Compiling anstyle-query v1.1.5 Compiling hex v0.4.3 Compiling winnow v1.0.3 Compiling is_terminal_polyfill v1.70.2 Compiling whoami v2.1.1 Compiling iana-time-zone v0.1.65 Compiling crossbeam-queue v0.3.12 Compiling signature v2.2.0 Compiling ref-cast v1.0.25 Compiling colorchoice v1.0.5 Compiling fastrand v2.4.1 Compiling signal-hook v0.3.18 Compiling sharded-slab v0.1.7 Compiling ed25519 v2.2.3 Compiling tracing-log v0.2.0 Compiling thread_local v1.1.9 Compiling untrusted v0.9.0 Compiling flate2 v1.1.9 Compiling unicode-normalization v0.1.26 Compiling syn v2.0.119 Compiling syn v3.0.9 Compiling anstream v1.0.0 Compiling option-ext v0.2.0 Compiling matchit v0.8.4 Compiling nu-ansi-term v0.50.3 Compiling toml_writer v1.1.1+spec-1.1.0 Compiling xxhash-rust v0.8.19 Compiling base64ct v1.8.3 Compiling clap_lex v1.1.0 Compiling fs-err v3.3.1 Compiling litrs v1.0.0 Compiling arrayvec v0.7.8 Compiling dyn-clone v1.0.20 Compiling opaque-debug v0.3.1 Compiling rustc-hash v1.1.0 Compiling arc-swap v1.9.2 Compiling file-id v0.2.3 Compiling hybrid-array v0.4.13 Compiling siphasher v1.0.3 Compiling rand_core v0.6.4 Compiling eyre v0.6.14 Compiling tree-sitter-language v0.1.8 Compiling colored v3.1.1 Compiling easy-cast v0.5.4 Compiling humantime v2.3.0 Compiling portable-atomic v1.14.0 Compiling glob-match v0.2.1 Compiling hashlink v0.11.0 Compiling clap_builder v4.6.7 Compiling indenter v0.3.4 Compiling rand v0.8.7 Compiling stringprep v0.1.5 Compiling atuin-vte v0.15.1 Compiling phf_shared v0.11.3 Compiling pulldown-cmark v0.13.6 Compiling prettyplease v0.2.37 Compiling pathdiff v0.2.3 Compiling castaway v0.2.4 Compiling unicode-width v0.1.14 Compiling palette v0.7.6 Compiling imara-diff v0.2.0 Compiling crossbeam-epoch v0.9.20 Compiling proc-macro-error-attr3 v3.1.1 Compiling atuin-vt100 v0.19.2 Compiling by_address v1.2.1 Compiling static_assertions v1.1.0 Compiling lru v0.18.2 Compiling fallible-streaming-iterator v0.1.9 Compiling compact_str v0.9.0 Compiling fast-srgb8 v1.0.0 Compiling unit-prefix v0.5.2 Compiling instability v0.3.12 Compiling fallible-iterator v0.3.0 Compiling critical-section v1.2.0 Compiling fixedbitset v0.5.7 Compiling atuin-client v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-client) Compiling wayland-sys v0.31.10 Compiling minspan v0.1.5 Compiling downcast-rs v1.2.1 Compiling multimap v0.10.1 Compiling indoc v2.0.7 Compiling byteorder-lite v0.1.0 Compiling quick-xml v0.39.4 Compiling wayland-client v0.31.13 Compiling compare v0.0.6 Compiling twox-hash v2.1.4 Compiling cfg_aliases v0.1.1 Compiling cfg_aliases v0.2.1 Compiling nix v0.28.0 Compiling http-body v1.0.1 Compiling atoi v2.0.0 Compiling nix v0.30.1 Compiling quick_cache v0.6.24 Compiling getopts v0.2.24 Compiling interval-heap v0.0.5 Compiling pxfm v0.1.30 Compiling lz4_flex v0.13.1 Compiling pulldown-cmark-escape v0.11.0 Compiling camino v1.2.5 Compiling memo-map v0.3.3 Compiling http-body-util v0.1.3 Compiling byteview v0.10.2 Compiling varint-rs v2.2.1 Compiling jobserver v0.1.35 Compiling socket2 v0.6.4 Compiling mio v1.2.1 Compiling bytemuck v1.25.0 Compiling minimal-lexical v0.2.1 Compiling crossbeam-skiplist v0.1.3 Compiling rmcp v3.9.0 Compiling crypto-common v0.2.2 Compiling block-buffer v0.12.1 Compiling sketches-ddsketch v0.3.1 Compiling rand v0.10.1 Compiling rmp v0.8.15 Compiling approx v0.5.1 Compiling phf_generator v0.11.3 Compiling sfa v1.0.0 Compiling streaming-iterator v0.1.9 Compiling metrics-exporter-prometheus v0.18.1 Compiling x11rb-protocol v0.13.2 Compiling cc v1.2.64 Compiling encoding_rs v0.8.35 Compiling konst_macro_rules v0.2.19 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.7 Compiling document-features v0.2.12 Compiling nom v7.1.3 Compiling pastey v0.2.3 Compiling arraydeque v0.5.1 Compiling atuin-server v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-server) Compiling atuin-ai v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-ai) Compiling shell-words v1.1.1 Compiling frizbee v0.13.0 Compiling const_format_proc_macros v0.2.37 Compiling digest v0.10.7 Compiling crossbeam-channel v0.5.15 Compiling symlink v0.1.0 Compiling atuin v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin) Compiling runtime-format v0.1.3 Compiling konst v0.2.20 Compiling norm v0.1.1 Compiling locked-tripwire v0.1.1 Compiling petgraph v0.8.3 Compiling tokio v1.54.1 Compiling regex-automata v0.4.14 Compiling sha2 v0.10.9 Compiling toml_parser v1.1.2+spec-1.1.0 Compiling time v0.3.55 Compiling wayland-scanner v0.31.9 Compiling errno v0.3.14 Compiling getrandom v0.2.17 Compiling dirs-sys v0.5.0 Compiling sysinfo v0.39.6 Compiling console v0.16.3 Compiling quanta v0.12.6 Compiling rtoolbox v0.0.3 Compiling os_pipe v1.2.3 Compiling daemonix v0.1.0 Compiling serial2 v0.2.36 Compiling listenfd v1.0.2 Compiling signal-hook-registry v1.4.8 Compiling rand_core v0.9.5 Compiling rpassword v7.5.4 Compiling dirs v6.0.0 Compiling shellexpand v3.1.2 Compiling const_format v0.2.37 Compiling password-hash v0.5.0 Compiling digest v0.11.3 Compiling rand_xoshiro v0.7.0 Compiling openssl-src v300.6.1+3.6.3 Compiling bitflags v2.13.0 Compiling sha2 v0.11.0 Compiling hmac v0.13.0 Compiling md-5 v0.11.0 Compiling sha1 v0.11.0 Compiling signal-hook-mio v0.2.5 Compiling hkdf v0.13.0 Compiling indicatif v0.18.4 Compiling yaml-rust2 v0.11.1 Compiling toml_datetime v1.1.1+spec-1.1.0 Compiling serde_path_to_error v0.1.20 Compiling bytesize v2.7.0 Compiling serde_spanned v1.1.1 Compiling inotify v0.11.4 Compiling notify-types v2.1.0 Compiling line-clipping v0.3.5 Compiling toml v1.1.2+spec-1.1.0 Compiling openssl-sys v0.9.117 Compiling zstd-sys v2.1.2+zstd.1.5.7 Compiling libsqlite3-sys v0.30.1 Compiling ring v0.17.14 Compiling wayland-backend v0.3.14 Compiling tree-sitter-bash v0.25.1 Compiling tree-sitter-fish v3.6.0 Compiling tree-sitter-powershell v0.26.4 Compiling rust-embed-utils v8.12.0 Compiling futures-executor v0.3.32 Compiling regex v1.12.4 Compiling homedir v0.3.6 Compiling notify v8.2.0 Compiling eventsource-stream v0.2.3 Compiling pulldown-cmark-to-cmark v22.0.0 Compiling notify-debouncer-full v0.7.0 Compiling toml_edit v0.25.12+spec-1.1.0 Compiling iso8601 v0.6.3 Compiling moxcms v0.8.1 Compiling config v0.15.25 Compiling darling_core v0.24.1 Compiling proc-macro-error3 v3.1.1 Compiling tree-sitter v0.27.0 Compiling tempfile v3.27.0 Compiling synstructure v0.13.2 Compiling serde_derive_internals v0.29.1 Compiling darling_core v0.23.0 Compiling ppv-lite86 v0.2.21 Compiling hashbrown v0.14.5 Compiling metrics v0.24.3 Compiling tonic-build v0.14.6 Compiling rand_chacha v0.3.1 Compiling rand_chacha v0.9.0 Compiling serde_derive v1.0.229 Compiling thiserror-impl v2.0.21 Compiling futures-macro v0.3.34 Compiling async-trait v0.1.92 Compiling clap_derive v4.6.7 Compiling matchers v0.2.0 Compiling rand v0.9.5 Compiling tokio-stream v0.1.18 Compiling hashlink v0.9.1 Compiling tree_magic_mini v3.2.2 Compiling zerofrom-derive v0.1.7 Compiling yoke-derive v0.8.2 Compiling zerovec-derive v0.11.3 Compiling displaydoc v0.2.6 Compiling tracing-attributes v0.1.31 Compiling zeroize_derive v1.5.0 Compiling tokio-macros v2.7.0 Compiling openssl-macros v0.1.1 Compiling thiserror-impl v1.0.69 Compiling strum_macros v0.28.0 Compiling derive_more-impl v2.1.1 Compiling rust-embed-impl v8.12.0 Compiling miette-derive v7.6.0 Compiling ref-cast-impl v1.0.25 Compiling schemars_derive v1.2.1 Compiling enum_dispatch v0.3.13 Compiling pin-project-internal v1.1.13 Compiling strum_macros v0.27.2 Compiling async-stream-impl v0.3.6 Compiling typed-builder-macro v0.23.2 Compiling phf_macros v0.11.3 Compiling palette_derive v0.7.6 Compiling metrics-util v0.20.1 Compiling logos-derive v0.15.1 Compiling fluent-syntax v0.12.0 Compiling async-stream v0.3.6 Compiling kasuari v0.4.12 Compiling logos v0.15.1 Compiling zeroize v1.9.0 Compiling rustls-pki-types v1.14.1 Compiling rust-embed v8.12.0 Compiling phf v0.11.3 Compiling clap v4.6.7 Compiling clap_complete v4.6.11 Compiling interim v0.2.1 Compiling pin-project v1.1.13 Compiling miette v7.6.0 Compiling zerofrom v0.1.8 Compiling filedescriptor v0.8.3 Compiling sql-builder v3.1.1 Compiling yoke v0.8.3 Compiling tracing v0.1.44 Compiling image v0.25.10 Compiling darling_macro v0.24.1 Compiling portable-pty v0.9.0 Compiling clap_complete_nushell v4.6.1 Compiling inout v0.1.4 Compiling zerovec v0.11.6 Compiling zerotrie v0.2.4 Compiling typed-builder v0.23.2 Compiling universal-hash v0.5.1 Compiling aead v0.5.2 Compiling cipher v0.4.4 Compiling darling_macro v0.23.0 Compiling axum-core v0.5.6 Compiling opentelemetry v0.32.0 Compiling poly1305 v0.8.0 Compiling darling v0.24.1 Compiling serde_with_macros v3.24.0 Compiling clap-couture-derive v0.1.1 Compiling axoprocess v0.2.1 Compiling axotag v0.3.0 Compiling chacha20 v0.9.1 Compiling salsa20 v0.10.2 Compiling blake2 v0.10.6 Compiling hmac v0.12.1 Compiling darling v0.23.0 Compiling crypto_secretbox v0.1.1 Compiling pbkdf2 v0.12.2 Compiling strum v0.28.0 Compiling strum v0.27.2 Compiling tiny-bip39 v2.0.0 Compiling gethostname v1.1.0 Compiling x11rb v0.13.2 Compiling argon2 v0.5.3 Compiling lsm-tree v3.1.10 Compiling ed25519-dalek v2.2.0 Compiling tinystr v0.8.3 Compiling potential_utf v0.1.5 Compiling serde_with v3.24.0 Compiling icu_collections v2.2.0 Compiling rusty_paseto v0.8.0 Compiling icu_locale_core v2.2.0 Compiling smallvec v1.15.2 Compiling either v1.16.0 Compiling ipnet v2.12.0 Compiling serde_urlencoded v0.7.1 Compiling tracing-serde v0.2.0 Compiling chrono v0.4.45 Compiling secrecy v0.10.3 Compiling rmp-serde v1.3.1 Compiling serde_regex v1.2.0 Compiling minijinja v2.18.0 Compiling unic-langid-impl v0.9.6 Compiling basic-toml v0.1.10 Compiling toml v0.5.11 Compiling unic-langid v0.9.6 Compiling intl_pluralrules v7.0.2 Compiling fluent-langneg v0.13.1 Compiling intl-memoizer v0.5.3 Compiling clap-couture v0.1.1 Compiling tracing-subscriber v0.3.23 Compiling rusqlite v0.32.1 Compiling itertools v0.15.0 Compiling itertools v0.14.0 Compiling rusty_paserk v0.5.0 Compiling parking_lot v0.12.5 Compiling dashmap v6.2.1 Compiling i18n-config v0.4.8 Compiling fluent-bundle v0.16.0 Compiling futures-intrusive v0.5.0 Compiling futures v0.3.32 Compiling tracing-futures v0.2.5 Compiling opentelemetry_sdk v0.32.1 Compiling lasso v0.7.3 Compiling icu_provider v2.2.0 Compiling fluent v0.17.0 Compiling find-crate v0.6.3 Compiling icu_properties v2.2.0 Compiling icu_normalizer v2.2.0 Compiling derive_more v2.1.1 Compiling crossterm v0.29.0 Compiling schemars v1.2.1 Compiling chrono-humanize v0.2.3 Compiling i18n-embed-impl v0.8.4 Compiling i18n-embed v0.16.0 Compiling prost-derive v0.14.3 Compiling unicode-truncate v2.0.1 Compiling tracing-opentelemetry v0.33.0 Compiling tracing-appender v0.2.5 Compiling ratatui-core v0.1.2 Compiling idna_adapter v1.2.2 Compiling idna v1.1.0 Compiling fjall v3.1.10 Compiling wayland-protocols v0.32.11 Compiling url v2.5.8 Compiling i18n-embed-fl v0.10.1 Compiling prost v0.14.3 Compiling sqlx-core v0.9.0 Compiling ratatui-widgets v0.3.2 Compiling ratatui-crossterm v0.1.2 Compiling ansi-to-tui v8.0.1 Compiling prost-types v0.14.3 Compiling opentelemetry-proto v0.32.0 Compiling protox-parse v0.9.0 Compiling prost-reflect v0.16.3 Compiling prost-build v0.14.3 Compiling eye_declare_engine v0.7.1 Compiling ratatui-macros v0.7.2 Compiling tui-textarea-2 v0.13.2 Compiling ratatui v0.30.2 Compiling tonic-prost-build v0.14.6 Compiling sqlx-postgres v0.9.0 Compiling sqlx-mysql v0.9.0 Compiling sqlx-sqlite v0.9.0 Compiling tokio-util v0.7.20 Compiling eye_declare v0.7.1 Compiling h2 v0.4.16 Compiling tower v0.5.3 Compiling protox v0.9.1 Compiling wayland-protocols-wlr v0.3.11 Compiling zstd v0.14.3 Compiling wl-clipboard-rs v0.9.3 Compiling compression-codecs v0.4.46 Compiling atuin-octavo v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-octavo) Compiling atuin-daemon v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-daemon) Compiling async-compression v0.4.51 Compiling arboard v3.6.1 Compiling tower-http v0.6.11 Compiling sqlx-macros-core v0.9.0 Compiling hyper v1.10.1 Compiling sqlx-macros v0.9.0 Compiling hyper-util v0.1.21 Compiling axum v0.8.9 Compiling hyper-timeout v0.5.2 Compiling tokio-native-tls v0.3.1 Compiling hyper-tls v0.6.0 Compiling reqwest v0.13.4 Compiling reqwest-middleware v0.5.2 Compiling axoasset v2.0.1 (/build/atuin/src/atuin-18.24.6/vendor/axoasset) Compiling opentelemetry-http v0.32.0 Compiling axoupdater v0.10.3 Compiling opentelemetry-otlp v0.32.0 Compiling tonic v0.14.6 Compiling tonic-types v0.14.6 Compiling tonic-prost v0.14.6 Compiling sqlx v0.9.0 Compiling atuin-common v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-common) Compiling atuin-domain v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-domain) Compiling atuin-history v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-history) Compiling atuin-kv v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-kv) Compiling atuin-scripts v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-scripts) Compiling atuin-dotfiles v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-dotfiles) Compiling atuin-pty-proxy v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-pty-proxy) warning: use of deprecated method `std::sync::atomic::Atomic::::fetch_update`: renamed to `try_update` for consistency --> crates/atuin-daemon/src/output_capture/persistence/blob/fjall/mod.rs:52:38 | 52 | let _ = self.estimated_usage.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |cur| { | ^^^^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default help: replace the use of the deprecated method | 52 - let _ = self.estimated_usage.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |cur| { 52 + let _ = self.estimated_usage.try_update(Ordering::Relaxed, Ordering::Relaxed, |cur| { | warning: linker stderr: ld.lld: /usr/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcompiler_builtins-b21ebfc6ac973c95.rlib(bswapsi2.c.o): --icf=safe conservatively ignores SHT_LLVM_ADDRSIG [index 7] with sh_link=0 (likely created using objcopy or ld -r) | = note: `#[warn(linker_messages)]` on by default warning: `atuin-server` (bin "atuin-server") generated 1 warning warning: `atuin-daemon` (lib) generated 1 warning (run `cargo fix --lib -p atuin-daemon` to apply 1 suggestion) warning: `atuin` (bin "atuin") generated 1 warning (1 duplicate) Finished `release` profile [optimized + debuginfo] target(s) in 100m 27s ==>(B Starting check()...(B Compiling proc-macro2 v1.0.107 Compiling quote v1.0.47 Compiling unicode-ident v1.0.24 Compiling cfg-if v1.0.4 Compiling serde v1.0.229 Compiling libc v0.2.190 Compiling serde_core v1.0.229 Compiling memchr v2.8.3 Compiling equivalent v1.0.2 Compiling find-msvc-tools v0.1.9 Compiling shlex v2.0.1 Compiling foldhash v0.2.0 Compiling allocator-api2 v0.2.21 Compiling once_cell v1.21.4 Compiling pkg-config v0.3.33 Compiling typenum v1.20.1 Compiling version_check v0.9.5 Compiling itoa v1.0.18 Compiling futures-core v0.3.34 Compiling scopeguard v1.2.0 Compiling parking_lot_core v0.9.12 Compiling pin-project-lite v0.2.17 Compiling stable_deref_trait v1.2.1 Compiling bytes v1.12.1 Compiling log v0.4.32 Compiling thiserror v2.0.21 Compiling vcpkg v0.2.15 Compiling futures-io v0.3.34 Compiling zmij v1.0.23 Compiling serde_json v1.0.154 Compiling futures-sink v0.3.34 Compiling autocfg v1.5.1 Compiling regex-syntax v0.8.11 Compiling futures-task v0.3.34 Compiling slab v0.4.12 Compiling percent-encoding v2.3.2 Compiling hashbrown v0.17.1 Compiling litemap v0.8.2 Compiling writeable v0.6.3 Compiling icu_normalizer_data v2.2.0 Compiling utf8_iter v1.0.4 Compiling icu_properties_data v2.2.0 Compiling semver v1.0.28 Compiling fnv v1.0.7 Compiling heck v0.5.0 Compiling num-conv v0.2.2 Compiling time-core v0.1.9 Compiling powerfmt v0.2.0 Compiling cmov v0.5.4 Compiling zerocopy v0.8.52 Compiling const-oid v0.10.2 Compiling subtle v2.6.1 Compiling rustix v1.1.5 Compiling foreign-types-shared v0.1.1 Compiling strsim v0.11.1 Compiling anyhow v1.0.104 Compiling linux-raw-sys v0.12.1 Compiling unicase v2.9.0 Compiling crossbeam-utils v0.8.22 Compiling openssl-probe v0.2.1 Compiling thiserror v1.0.69 Compiling lock_api v0.4.14 Compiling futures-channel v0.3.34 Compiling rustversion v1.0.22 Compiling ident_case v1.0.1 Compiling lazy_static v1.5.0 Compiling getrandom v0.3.4 Compiling num_threads v0.1.7 Compiling getrandom v0.4.3 Compiling rand_core v0.10.1 Compiling tracing-core v0.1.36 Compiling form_urlencoded v1.2.2 Compiling foreign-types v0.3.2 Compiling unicode-width v0.2.2 Compiling base64 v0.22.1 Compiling ryu v1.0.23 Compiling unicode-segmentation v1.13.3 Compiling foldhash v0.1.5 Compiling openssl v0.10.81 Compiling fastrand v2.4.1 Compiling rustc-hash v2.1.3 Compiling crc-catalog v2.5.0 Compiling parking v2.2.1 Compiling httparse v1.10.1 Compiling native-tls v0.2.18 Compiling rustc_version v0.4.1 Compiling ctutils v0.4.5 Compiling tower-service v0.3.3 Compiling mime v0.3.17 Compiling crc v3.4.0 Compiling atomic-waker v1.1.2 Compiling event-listener v5.4.2 Compiling try-lock v0.2.5 Compiling hashbrown v0.16.1 Compiling time-macros v0.2.32 Compiling hashbrown v0.15.5 Compiling type-map v0.5.1 Compiling self_cell v1.3.0 Compiling want v0.3.1 Compiling same-file v1.0.6 Compiling tinyvec_macros v0.1.1 Compiling httpdate v1.0.3 Compiling deranged v0.5.8 Compiling zstd-safe v8.2.0 Compiling winnow v1.0.3 Compiling base64 v0.23.1 Compiling chacha20 v0.10.2 Compiling sync_wrapper v1.0.2 Compiling tinyvec v1.11.0 Compiling mime_guess v2.0.5 Compiling tower-layer v0.3.3 Compiling uuid v1.26.1 Compiling unicode-xid v0.2.6 Compiling walkdir v2.5.0 Compiling spin v0.9.9 Compiling sha1_smol v1.0.1 Compiling beef v0.5.2 Compiling byteorder v1.5.0 Compiling dotenvy v0.15.7 Compiling hex v0.4.3 Compiling crc32fast v1.5.0 Compiling unicode-properties v0.1.4 Compiling unicode-bidi v0.3.18 Compiling simd-adler32 v0.3.10 Compiling generic-array v0.14.7 Compiling ahash v0.8.12 Compiling adler2 v2.0.1 Compiling convert_case v0.10.0 Compiling inotify-sys v0.1.8 Compiling arrayvec v0.7.8 Compiling ref-cast v1.0.25 Compiling signature v2.2.0 Compiling signal-hook v0.3.18 Compiling iana-time-zone v0.1.65 Compiling indexmap v2.14.0 Compiling aho-corasick v1.1.4 Compiling logos-codegen v0.15.1 Compiling futures-util v0.3.34 Compiling nom v8.0.0 Compiling curve25519-dalek v4.1.3 Compiling miniz_oxide v0.8.9 Compiling flume v0.12.0 Compiling whoami v2.1.1 Compiling ed25519 v2.2.3 Compiling xxhash-rust v0.8.19 Compiling base64ct v1.8.3 Compiling untrusted v0.9.0 Compiling toml_writer v1.1.1+spec-1.1.0 Compiling compression-core v0.4.34 Compiling option-ext v0.2.0 Compiling sharded-slab v0.1.7 Compiling thread_local v1.1.9 Compiling nu-ansi-term v0.50.3 Compiling dyn-clone v1.0.20 Compiling opaque-debug v0.3.1 Compiling crossbeam-queue v0.3.12 Compiling unicode-normalization v0.1.26 Compiling litrs v1.0.0 Compiling matchit v0.8.4 Compiling rustc-hash v1.1.0 Compiling rand_core v0.6.4 Compiling file-id v0.2.3 Compiling siphasher v1.0.3 Compiling num-traits v0.2.19 Compiling fs-err v3.3.1 Compiling humantime v2.3.0 Compiling hashlink v0.11.0 Compiling portable-atomic v1.14.0 Compiling utf8parse v0.2.2 Compiling glob-match v0.2.1 Compiling colored v3.1.1 Compiling easy-cast v0.5.4 Compiling colorchoice v1.0.5 Compiling rand v0.8.7 Compiling anstyle-query v1.1.5 Compiling atuin-vte v0.15.1 Compiling is_terminal_polyfill v1.70.2 Compiling anstyle v1.0.14 Compiling eyre v0.6.14 Compiling anstyle-parse v1.0.0 Compiling by_address v1.2.1 Compiling http v1.5.0 Compiling hybrid-array v0.4.13 Compiling palette v0.7.6 Compiling clap_lex v1.1.0 Compiling fallible-iterator v0.3.0 Compiling unit-prefix v0.5.2 Compiling indenter v0.3.4 Compiling pathdiff v0.2.3 Compiling tracing-log v0.2.0 Compiling atuin-client v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-client) Compiling fast-srgb8 v1.0.0 Compiling stringprep v0.1.5 Compiling phf_shared v0.11.3 Compiling atuin-vt100 v0.19.2 Compiling fallible-streaming-iterator v0.1.9 Compiling minspan v0.1.5 Compiling toml_datetime v1.1.1+spec-1.1.0 Compiling anstream v1.0.0 Compiling rstest_macros v0.27.0 Compiling prettyplease v0.2.37 Compiling relative-path v1.9.3 Compiling syn v2.0.119 Compiling syn v3.0.9 Compiling glob v0.3.3 Compiling pulldown-cmark v0.13.6 Compiling futures-timer v3.0.4 Compiling unicode-width v0.1.14 Compiling fixedbitset v0.5.7 Compiling multimap v0.10.1 Compiling crossbeam-epoch v0.9.20 Compiling static_assertions v1.1.0 Compiling instability v0.3.12 Compiling tree-sitter-language v0.1.8 Compiling flate2 v1.1.9 Compiling wayland-sys v0.31.10 Compiling lru v0.18.2 Compiling downcast-rs v1.2.1 Compiling quick-error v1.2.3 Compiling bit-vec v0.8.0 Compiling critical-section v1.2.0 Compiling indoc v2.0.7 Compiling clap_builder v4.6.7 Compiling imara-diff v0.2.0 Compiling unarray v0.1.4 Compiling quick-xml v0.39.4 Compiling wayland-client v0.31.13 Compiling byteorder-lite v0.1.0 Compiling compare v0.0.6 Compiling twox-hash v2.1.4 Compiling memo-map v0.3.3 Compiling quick_cache v0.6.24 Compiling byteview v0.10.2 Compiling varint-rs v2.2.1 Compiling cfg_aliases v0.1.1 Compiling proc-macro-error-attr3 v3.1.1 Compiling diff v0.1.13 Compiling deadpool-runtime v0.1.4 Compiling nix v0.28.0 Compiling yansi v1.0.1 Compiling jobserver v0.1.35 Compiling socket2 v0.6.4 Compiling mio v1.2.1 Compiling arc-swap v1.9.2 Compiling castaway v0.2.4 Compiling bit-set v0.8.0 Compiling interval-heap v0.0.5 Compiling lz4_flex v0.13.1 Compiling vte v0.15.0 Compiling getopts v0.2.24 Compiling x11rb-protocol v0.13.2 Compiling streaming-iterator v0.1.9 Compiling metrics-exporter-prometheus v0.18.1 Compiling compact_str v0.9.0 Compiling pulldown-cmark-escape v0.11.0 Compiling minimal-lexical v0.2.1 Compiling sketches-ddsketch v0.3.1 Compiling rmcp v3.9.0 Compiling rand v0.10.1 Compiling frizbee v0.13.0 Compiling encoding_rs v0.8.35 Compiling atuin-ai v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-ai) Compiling pretty_assertions v1.4.1 Compiling shell-words v1.1.1 Compiling http-body v1.0.1 Compiling pastey v0.2.3 Compiling cc v1.2.64 Compiling phf_generator v0.11.3 Compiling arraydeque v0.5.1 Compiling atuin-server v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-server) Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.7 Compiling http-body-util v0.1.3 Compiling sfa v1.0.0 Compiling petgraph v0.8.3 Compiling crossbeam-skiplist v0.1.3 Compiling toml_parser v1.1.2+spec-1.1.0 Compiling digest v0.10.7 Compiling nom v7.1.3 Compiling atoi v2.0.0 Compiling rmp v0.8.15 Compiling approx v0.5.1 Compiling document-features v0.2.12 Compiling block-buffer v0.12.1 Compiling crypto-common v0.2.2 Compiling tokio v1.54.1 Compiling sha2 v0.10.9 Compiling errno v0.3.14 Compiling getrandom v0.2.17 Compiling dirs-sys v0.5.0 Compiling sysinfo v0.39.6 Compiling console v0.16.3 Compiling wait-timeout v0.2.1 Compiling num_cpus v1.17.0 Compiling listenfd v1.0.2 Compiling daemonix v0.1.0 Compiling os_pipe v1.2.3 Compiling quanta v0.12.6 Compiling serial2 v0.2.36 Compiling rtoolbox v0.0.3 Compiling signal-hook-registry v1.4.8 Compiling toml_edit v0.25.12+spec-1.1.0 Compiling rand_core v0.9.5 Compiling dirs v6.0.0 Compiling rpassword v7.5.4 Compiling shellexpand v3.1.2 Compiling password-hash v0.5.0 Compiling rand_xorshift v0.4.0 Compiling rand_xoshiro v0.7.0 Compiling openssl-src v300.6.1+3.6.3 Compiling indicatif v0.18.4 Compiling bitflags v2.13.0 Compiling signal-hook-mio v0.2.5 Compiling wayland-scanner v0.31.9 Compiling time v0.3.55 Compiling serde_spanned v1.1.1 Compiling serde_path_to_error v0.1.20 Compiling bytesize v2.7.0 Compiling proc-macro-crate v3.5.0 Compiling notify-types v2.1.0 Compiling inotify v0.11.4 Compiling line-clipping v0.3.5 Compiling toml v1.1.2+spec-1.1.0 Compiling yaml-rust2 v0.11.1 Compiling openssl-sys v0.9.117 Compiling zstd-sys v2.1.2+zstd.1.5.7 Compiling libsqlite3-sys v0.30.1 Compiling ring v0.17.14 Compiling wayland-backend v0.3.14 Compiling tree-sitter-bash v0.25.1 Compiling tree-sitter-fish v3.6.0 Compiling digest v0.11.3 Compiling regex-automata v0.4.14 Compiling sha2 v0.11.0 Compiling hmac v0.13.0 Compiling sha1 v0.11.0 Compiling md-5 v0.11.0 Compiling hkdf v0.13.0 Compiling futures-executor v0.3.32 Compiling notify v8.2.0 Compiling pulldown-cmark-to-cmark v22.0.0 Compiling notify-debouncer-full v0.7.0 Compiling rust-embed-utils v8.12.0 Compiling tree-sitter v0.27.0 Compiling tempfile v3.27.0 Compiling darling_core v0.24.1 Compiling proc-macro-error3 v3.1.1 Compiling config v0.15.25 Compiling eventsource-stream v0.2.3 Compiling iso8601 v0.6.3 Compiling synstructure v0.13.2 Compiling serde_derive_internals v0.29.1 Compiling darling_core v0.23.0 Compiling regex v1.12.4 Compiling serde_derive v1.0.229 Compiling thiserror-impl v2.0.21 Compiling futures-macro v0.3.34 Compiling async-trait v0.1.92 Compiling clap_derive v4.6.7 Compiling tonic-build v0.14.6 Compiling tokio-stream v0.1.18 Compiling tree_magic_mini v3.2.2 Compiling ppv-lite86 v0.2.21 Compiling hashbrown v0.14.5 Compiling metrics v0.24.3 Compiling rand_chacha v0.3.1 Compiling rand_chacha v0.9.0 Compiling rand v0.9.5 Compiling fluent-syntax v0.12.0 Compiling kasuari v0.4.12 Compiling matchers v0.2.0 Compiling hashlink v0.9.1 Compiling zerofrom-derive v0.1.7 Compiling yoke-derive v0.8.2 Compiling zerovec-derive v0.11.3 Compiling displaydoc v0.2.6 Compiling tracing-attributes v0.1.31 Compiling zeroize_derive v1.5.0 Compiling tokio-macros v2.7.0 Compiling openssl-macros v0.1.1 Compiling thiserror-impl v1.0.69 Compiling strum_macros v0.28.0 Compiling derive_more-impl v2.1.1 Compiling rust-embed-impl v8.12.0 Compiling ref-cast-impl v1.0.25 Compiling enum_dispatch v0.3.13 Compiling schemars_derive v1.2.1 Compiling strum_macros v0.27.2 Compiling typed-builder-macro v0.23.2 Compiling async-stream-impl v0.3.6 Compiling pin-project-internal v1.1.13 Compiling phf_macros v0.11.3 Compiling palette_derive v0.7.6 Compiling miette-derive v7.6.0 Compiling logos-derive v0.15.1 Compiling clap v4.6.7 Compiling metrics-util v0.20.1 Compiling darling_macro v0.24.1 Compiling logos v0.15.1 Compiling interim v0.2.1 Compiling darling v0.24.1 Compiling serde_with_macros v3.24.0 Compiling async-stream v0.3.6 Compiling zeroize v1.9.0 Compiling rustls-pki-types v1.14.1 Compiling rust-embed v8.12.0 Compiling phf v0.11.3 Compiling darling_macro v0.23.0 Compiling zerofrom v0.1.8 Compiling tracing v0.1.44 Compiling yoke v0.8.3 Compiling pin-project v1.1.13 Compiling inout v0.1.4 Compiling miette v7.6.0 Compiling darling v0.23.0 Compiling universal-hash v0.5.1 Compiling aead v0.5.2 Compiling cipher v0.4.4 Compiling axum-core v0.5.6 Compiling filedescriptor v0.8.3 Compiling sql-builder v3.1.1 Compiling gethostname v1.1.0 Compiling poly1305 v0.8.0 Compiling x11rb v0.13.2 Compiling zerovec v0.11.6 Compiling zerotrie v0.2.4 Compiling serde_with v3.24.0 Compiling portable-pty v0.9.0 Compiling blake2 v0.10.6 Compiling hmac v0.12.1 Compiling chacha20 v0.9.1 Compiling salsa20 v0.10.2 Compiling rusty-fork v0.3.1 Compiling lsm-tree v3.1.10 Compiling crypto_secretbox v0.1.1 Compiling pbkdf2 v0.12.2 Compiling tiny-bip39 v2.0.0 Compiling proptest v1.11.0 Compiling argon2 v0.5.3 Compiling typed-builder v0.23.2 Compiling ed25519-dalek v2.2.0 Compiling strum v0.28.0 Compiling futures v0.3.32 Compiling tracing-futures v0.2.5 Compiling rusty_paseto v0.8.0 Compiling strum v0.27.2 Compiling tinystr v0.8.3 Compiling potential_utf v0.1.5 Compiling icu_collections v2.2.0 Compiling icu_locale_core v2.2.0 Compiling unic-langid-impl v0.9.6 Compiling unic-langid v0.9.6 Compiling fluent-langneg v0.13.1 Compiling intl-memoizer v0.5.3 Compiling intl_pluralrules v7.0.2 Compiling either v1.16.0 Compiling smallvec v1.15.2 Compiling basic-toml v0.1.10 Compiling toml v0.5.11 Compiling ipnet v2.12.0 Compiling serde_urlencoded v0.7.1 Compiling chrono v0.4.45 Compiling tracing-serde v0.2.0 Compiling secrecy v0.10.3 Compiling rusty_paserk v0.5.0 Compiling rmp-serde v1.3.1 Compiling serde_regex v1.2.0 Compiling minijinja v2.18.0 Compiling assert-json-diff v2.0.2 Compiling fluent-bundle v0.16.0 Compiling tracing-subscriber v0.3.23 Compiling itertools v0.15.0 Compiling itertools v0.14.0 Compiling parking_lot v0.12.5 Compiling rusqlite v0.32.1 Compiling icu_provider v2.2.0 Compiling dashmap v6.2.1 Compiling futures-intrusive v0.5.0 Compiling icu_properties v2.2.0 Compiling icu_normalizer v2.2.0 Compiling derive_more v2.1.1 Compiling i18n-config v0.4.8 Compiling fluent v0.17.0 Compiling crossterm v0.29.0 Compiling lasso v0.7.3 Compiling find-crate v0.6.3 Compiling fjall v3.1.10 Compiling schemars v1.2.1 Compiling chrono-humanize v0.2.3 Compiling idna_adapter v1.2.2 Compiling idna v1.1.0 Compiling prost-derive v0.14.3 Compiling i18n-embed-impl v0.8.4 Compiling tracing-tree v0.4.1 Compiling url v2.5.8 Compiling i18n-embed v0.16.0 Compiling sqlx-core v0.9.0 Compiling unicode-truncate v2.0.1 Compiling ratatui-core v0.1.2 Compiling rstest v0.27.0 Compiling i18n-embed-fl v0.10.1 Compiling prost v0.14.3 Compiling ratatui-widgets v0.3.2 Compiling ratatui-crossterm v0.1.2 Compiling prost-types v0.14.3 Compiling wayland-protocols v0.32.11 Compiling prost-build v0.14.3 Compiling protox-parse v0.9.0 Compiling prost-reflect v0.16.3 Compiling eye_declare_engine v0.7.1 Compiling ratatui-macros v0.7.2 Compiling tui-textarea-2 v0.13.2 Compiling ratatui v0.30.2 Compiling sqlx-postgres v0.9.0 Compiling sqlx-sqlite v0.9.0 Compiling sqlx-mysql v0.9.0 Compiling tonic-prost-build v0.14.6 Compiling tokio-util v0.7.20 Compiling deadpool v0.12.3 Compiling eye_declare v0.7.1 Compiling zstd v0.14.3 Compiling compression-codecs v0.4.46 Compiling async-compression v0.4.51 Compiling h2 v0.4.16 Compiling tower v0.5.3 Compiling protox v0.9.1 Compiling tower-http v0.6.11 Compiling wayland-protocols-wlr v0.3.11 Compiling sqlx-macros-core v0.9.0 Compiling wl-clipboard-rs v0.9.3 Compiling atuin-octavo v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-octavo) Compiling atuin-daemon v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-daemon) Compiling arboard v3.6.1 Compiling hyper v1.10.1 Compiling sqlx-macros v0.9.0 Compiling hyper-util v0.1.21 Compiling axum v0.8.9 Compiling hyper-timeout v0.5.2 Compiling wiremock v0.6.5 Compiling tokio-native-tls v0.3.1 Compiling hyper-tls v0.6.0 Compiling reqwest v0.13.4 Compiling tonic v0.14.6 Compiling reqwest-middleware v0.5.2 Compiling tonic-types v0.14.6 Compiling tonic-prost v0.14.6 Compiling sqlx v0.9.0 Compiling atuin-common v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-common) Compiling atuin-domain v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-domain) warning: linker stderr: ld.lld: /usr/lib/rustlib/riscv64gc-unknown-linux-gnu/lib/libcompiler_builtins-b21ebfc6ac973c95.rlib(bswapsi2.c.o): --icf=safe conservatively ignores SHT_LLVM_ADDRSIG [index 7] with sh_link=0 (likely created using objcopy or ld -r) | = note: `#[warn(linker_messages)]` on by default warning: `atuin-domain` (lib test) generated 1 warning Compiling atuin-scripts v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-scripts) Compiling atuin-history v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-history) Compiling atuin-kv v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-kv) Compiling atuin-dotfiles v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-dotfiles) Compiling atuin-pty-proxy v18.24.6 (/build/atuin/src/atuin-18.24.6/crates/atuin-pty-proxy) warning: `atuin-history` (lib test) generated 1 warning (1 duplicate) warning: `atuin-kv` (lib test) generated 1 warning (1 duplicate) warning: `atuin-dotfiles` (lib test) generated 1 warning (1 duplicate) warning: `atuin-scripts` (lib test) generated 1 warning (1 duplicate) warning: `atuin-pty-proxy` (lib test) generated 1 warning (1 duplicate) warning: `atuin-octavo` (lib test) generated 1 warning (1 duplicate) warning: use of deprecated method `std::sync::atomic::Atomic::::fetch_update`: renamed to `try_update` for consistency --> crates/atuin-daemon/src/output_capture/persistence/blob/fjall/mod.rs:52:38 | 52 | let _ = self.estimated_usage.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |cur| { | ^^^^^^^^^^^^ | = note: `#[warn(deprecated)]` on by default help: replace the use of the deprecated method | 52 - let _ = self.estimated_usage.fetch_update(Ordering::Relaxed, Ordering::Relaxed, |cur| { 52 + let _ = self.estimated_usage.try_update(Ordering::Relaxed, Ordering::Relaxed, |cur| { | warning: `atuin-server` (lib test) generated 1 warning (1 duplicate) warning: use of deprecated method `std::sync::atomic::Atomic::::fetch_update`: renamed to `try_update` for consistency --> crates/atuin-daemon/src/session_capture/engine/mod.rs:909:22 | 909 | .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |n| n.checked_sub(1)) | ^^^^^^^^^^^^ | help: replace the use of the deprecated method | 909 - .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |n| n.checked_sub(1)) 909 + .try_update(Ordering::SeqCst, Ordering::SeqCst, |n| n.checked_sub(1)) | warning: `atuin-client` (lib test) generated 1 warning (1 duplicate) warning: `atuin-daemon` (lib) generated 1 warning (run `cargo fix --lib -p atuin-daemon` to apply 1 suggestion) warning: `atuin-common` (lib test) generated 1 warning (1 duplicate) warning: `atuin-daemon` (lib test) generated 3 warnings (2 duplicates) (run `cargo fix --lib -p atuin-daemon --tests` to apply 1 suggestion) warning: `atuin-ai` (lib test) generated 1 warning (1 duplicate) Finished `test` profile [unoptimized + debuginfo] target(s) in 25m 48s Running unittests src/lib.rs (target/debug/deps/atuin_ai-26c9b84edcbf6a0d) running 1218 tests test commands::resume::tests::a_session_that_cant_resume_keeps_its_flags::case_1_plain ... ok test commands::resume::tests::a_session_that_cant_resume_keeps_its_flags::case_3_as_is ... ok test commands::resume::tests::a_session_that_cant_resume_keeps_its_flags::case_5_no_terminal_with_a_flag ... ok test commands::resume::tests::a_session_that_cant_resume_keeps_its_flags::case_2_branch ... ok test commands::resume::tests::a_session_that_cant_resume_keeps_its_flags::case_4_no_terminal ... ok test commands::resume::tests::catch_up_flags::case_03_switch_and_fork ... ok test commands::resume::tests::catch_up_flags::case_04_switch_and_in ... ok test commands::resume::tests::catch_up_flags::case_10_as_is_and_branch ... ok test commands::resume::tests::catch_up_flags::case_09_as_is_and_fork ... ok test commands::resume::tests::catch_up_flags::case_05_switch_and_as_is ... ok test commands::resume::tests::catch_up_flags::case_08_fork_from_a_branch ... ok test commands::resume::tests::catch_up_flags::case_06_as_is ... ok test commands::resume::tests::catch_up_flags::case_01_switch ... ok test commands::resume::tests::catch_up_flags::case_11_branch_and_in ... ok test commands::resume::tests::catch_up_flags::case_07_branch ... ok test commands::resume::tests::catch_up_flags::case_02_switch_to_a_branch ... ok test commands::resume::tests::id_like_queries::case_1 ... ok test commands::resume::tests::id_like_queries::case_3 ... ok test commands::resume::tests::id_like_queries::case_2 ... ok test commands::resume::tests::control_characters_never_reach_the_terminal_in_a_command::case_1_plain ... ok test commands::resume::tests::errors_keep_their_lines ... ok test commands::resume::tests::control_characters_never_reach_the_terminal_in_a_command::case_2_tab ... ok test commands::resume::tests::id_like_queries::case_4 ... ok test commands::resume::tests::an_id_several_agents_have_is_ambiguous ... ok test commands::resume::tests::control_characters_never_reach_the_terminal_in_a_command::case_3_escape ... ok test commands::resume::tests::control_characters_never_reach_the_terminal_in_a_command::case_4_newline ... ok test commands::resume::tests::id_like_queries::case_6 ... ok test commands::resume::tests::id_like_queries::case_7_a_short_id_of_letters ... ok test commands::resume::tests::id_like_queries::case_8_too_short_for_one ... ok test commands::resume::tests::in_takes_claude_code_by_both_names::case_1_listed ... ok test commands::resume::tests::continuing_in_its_own_agent_resumes_it ... ok test commands::resume::tests::continuing_by_id_plans_the_new_session ... ok test commands::resume::tests::id_like_queries::case_5 ... ok test commands::resume::tests::an_atuin_id_resumes_directly::case_2_past_the_timestamp ... ok test commands::resume::tests::in_takes_claude_code_by_both_names::case_2_synonym ... ok test commands::resume::tests::a_subagent_resumes_the_session_it_works_for::case_2_subagent_of_a_fork ... ok test commands::resume::tests::a_subagent_resumes_the_session_it_works_for::case_1_subagent ... ok test commands::resume::tests::a_subagent_resumes_the_session_it_works_for::case_3_fork ... ok test commands::resume::tests::an_atuin_id_resumes_directly::case_1_whole ... ok test commands::resume::tests::parses_flags ... ok test commands::resume::tests::the_ambiguous_note_escapes_titles_and_ids ... ok test commands::session::tests::a_harness_is_named_as_listed::case_1 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_5 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_2 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_3 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_6 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_8 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_4 ... ok test commands::session::tests::a_harness_is_named_as_listed::case_7 ... ok test commands::resume::tests::unique_prefix_and_exact_ids_resume_directly ... ok test commands::session::tests::an_exact_id_wins_over_the_ids_it_prefixes ... ok test commands::session::tests::a_search_query_parses_around_flags::case_2_after_a_flag ... ok test commands::session::tests::an_id_shared_across_harnesses_lists_their_atuin_ids ... ok test commands::session::tests::an_unknown_harness_name_is_rejected ... ok test commands::session::tests::a_search_query_parses_around_flags::case_1_before_a_flag ... ok test commands::session::tests::a_search_query_parses_around_flags::case_3_hyphen_after_dashes ... ok test commands::session::tests::color_wraps_only_when_enabled ... ok test commands::session::tests::harness_arg_maps_to_pb::case_1 ... ok test commands::session::tests::harness_arg_maps_to_pb::case_2 ... ok test commands::session::tests::ambiguous_prefix_is_an_error ... ok test commands::session::tests::harness_arg_maps_to_pb::case_3 ... ok test commands::session::tests::exact_id_resolves_the_harness_from_the_listing ... ok test commands::session::tests::harness_arg_maps_to_pb::case_4 ... ok test commands::session::tests::harness_name_maps_known_and_unknown::case_1 ... ok test commands::session::tests::harness_name_maps_known_and_unknown::case_2 ... ok test commands::session::tests::harness_name_maps_known_and_unknown::case_3 ... ok test commands::session::tests::header_includes_title_when_present ... ok test commands::session::tests::claude_code_goes_by_both_names::case_2_synonym ... ok test commands::session::tests::claude_code_goes_by_both_names::case_1_listed ... ok test commands::session::tests::id_prefix_resolves_a_session ... ok test commands::session::tests::header_omits_title_when_absent ... ok test commands::session::tests::latest_on_empty_is_an_error ... ok test commands::session::tests::latest_picks_the_first_listed ... ok test commands::session::tests::latest_resolves_from_a_single_session ... ok test commands::session::tests::search_match_json_carries_plain_text_and_match_ranges ... ok test commands::session::tests::one_line_drops_control_characters ... ok test commands::session::tests::session_json_carries_the_parent_relation::case_1_subagent ... ok test commands::session::tests::role_label_overrides_the_enum ... ok test commands::session::tests::sanitize_neutralizes_terminal_escapes_in_captured_content ... ok test commands::resume::tests::a_subagent_named_beside_sessions_is_left_out ... ok test commands::resume::tests::an_ambiguous_id_opens_the_picker_on_its_sessions ... ok test commands::resume::tests::a_flag_on_no_single_session_says_to_be_more_specific ... ok test commands::resume::tests::forking_by_id_plans_the_fork ... ok test commands::session::tests::sanitize_keeps_newlines_and_tabs_for_multiline_bodies ... ok test commands::session::tests::show_heads_a_row_with_its_own_role ... ok test commands::session::tests::show_names_links_by_atuin_id ... ok test commands::session::tests::lines_are_batched_by_size ... ok test commands::session::tests::session_json_carries_the_parent_relation::case_2_fork ... ok test commands::session::tests::session_json_has_a_stable_shape ... ok test commands::session::tests::session_json_names_the_recording_host ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_2_blank ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_4_text ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_5_uncaptured_call ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_1_empty ... ok test commands::session::tests::session_json_carries_the_parent_relation::case_3_continuation ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_3_raw ... ok test commands::session::tests::show_prints_tool_text_as_text ... ok test commands::session::tests::summary_falls_through_empty_text_to_the_next_block ... ok test commands::session::tests::summary_marks_a_tool_result::case_1 ... ok test commands::session::tests::summary_labels_a_tool_call ... ok test commands::session::tests::summary_marks_a_tool_result::case_2 ... ok test commands::session::tests::summary_marks_thinking ... ok test commands::session::tests::summary_prefers_text ... ok test commands::session::tests::summary_skips_content_less_messages ... ok test commands::session::tests::the_atuin_id_resolves_a_session::case_1_whole ... ok test commands::session::tests::tail_render_strips_control_chars_from_tool_name_and_role_label ... ok test commands::session::tests::tool_result_line_is_labelled_tool ... ok test commands::session::tests::the_atuin_id_resolves_a_session::case_2_past_the_timestamp ... ok test commands::session::tests::the_short_id_resolves_a_session ... ok test context_window::tests::group_into_turns_cases::case_2_single_user ... ok test context_window::tests::group_into_turns_cases::case_1_empty ... ok test context_window::tests::group_into_turns_cases::case_3_user_assistant ... ok test commands::session::tests::unknown_id_is_an_error ... ok test context_window::tests::empty_events_produce_empty_messages ... ok test context_window::tests::group_into_turns_cases::case_6_system_context_new_turn ... ok test context_window::tests::group_into_turns_cases::case_4_two_turns ... ok test context_window::tests::group_into_turns_cases::case_5_tool_calls_same_turn ... ok test context_window::tests::group_into_turns_cases::case_8_leading_text ... ok test context_window::tests::group_into_turns_cases::case_7_oob_same_turn ... ok test context_window::tests::single_turn_always_returned ... ok test diff::tests::addition_only ... ok test context_window::tests::over_budget_truncates_middle_turns ... ok test context_window::tests::under_budget_returns_all_messages ... ok test context_window::tests::no_marker_when_no_turns_dropped ... ok test context_window::tests::tool_calls_preserved_through_truncation ... ok test context_window::tests::very_tight_budget_keeps_prefix_and_last_turn ... ok test context_window::tests::tool_use_and_tool_result_never_split ... ok test context_window::tests::tail_accumulates_multiple_turns_when_budget_allows ... ok test diff::tests::hunk_grouping::case_2_close_merge ... ok test diff::tests::max_line_number_reflects_file_position ... ok test diff::tests::multiline_replacement ... ok test diff::tests::no_changes_produces_empty_preview ... ok test diff::tests::hunk_grouping::case_1_distant_separate ... ok test diff::tests::context_is_limited ... ok test diff::tests::removal_only ... ok test diff::tests::single_line_replacement ... ok test diff::tests::start_line_is_correct_for_later_changes ... ok test edit_permissions::tests::different_paths_are_independent ... ok test edit_permissions::tests::expired_grant_is_invalid ... ok test edit_permissions::tests::grant_and_check ... ok test event_serde::tests::deserialize_errors::case_1_unknown_type ... ok test event_serde::tests::deserialize_errors::case_2_invalid_json ... ok test event_serde::tests::deserialize_errors::case_3_missing_field ... ok test event_serde::tests::test_out_of_band_with_command ... ok test event_serde::tests::test_out_of_band_without_command ... ok test edit_permissions::tests::roundtrip_json ... ok test event_serde::tests::test_system_context ... ok test event_serde::tests::test_tool_call ... ok test event_serde::tests::test_tool_call_with_nested_input ... ok test event_serde::tests::test_tool_result ... ok test event_serde::tests::test_tool_result_error ... ok test event_serde::tests::test_tool_result_backwards_compat ... ok test event_serde::tests::test_user_message ... ok test event_serde::tests::test_tool_result_remote ... ok test event_serde::tests::text_round_trips::case_2_special_chars ... ok test file_tracker::tests::check_not_read ... ok test event_serde::tests::text_round_trips::case_1_plain ... ok test fsm::tests::cancel_closes_picker_instead_of_exiting ... ok test fsm::tests::cancel_during_streaming_goes_idle ... ok test file_tracker::tests::roundtrip_json ... ok test fsm::tests::confirmation_timeout_clears_confirmation ... ok test fsm::tests::dangerous_command_enters_confirmation ... ok test fsm::tests::model_list_load_failure_closes_picker_with_message ... ok test fsm::tests::model_list_loaded_after_dismissal_caches_but_keeps_picker_closed ... ok test fsm::tests::model_list_loaded_populates_picker_and_cache ... ok test fsm::tests::atuin_output_call_emits_command_lookup_and_stores_result ... ok test fsm::tests::model_selected_sets_model_and_persists ... ok test file_tracker::tests::record_and_check_fresh ... ok test fsm::tests::cancel_during_turn_with_pending_tools ... ok test fsm::tests::open_model_picker_fetches_when_uncached ... ok test file_tracker::tests::update_after_edit_makes_fresh ... ok test fsm::tests::cancel_clears_timeout_mappings ... ok test fsm::tests::continuation_turn_without_new_tools_goes_idle ... ok test fsm::tests::interrupt_propagates_reason_to_preview_and_llm::case_2_user_interrupt ... ok test fsm::tests::permission_resolution::case_1_allowed ... ok test fsm::tests::open_model_picker_reuses_cache_without_fetching ... ok test fsm::tests::permission_resolution::case_2_ask ... ok test fsm::tests::permission_deny_completes_turn_and_continues ... ok test fsm::tests::retry_from_error_starts_new_stream ... ok test fsm::tests::read_tool_does_not_schedule_timeout ... ok test fsm::tests::second_execute_confirms_and_exits ... ok test fsm::tests::stale_tool_result_after_cancel_is_ignored ... ok test fsm::tests::selected_model_survives_new_session ... ok test fsm::tests::stream_chunk_accumulates_text ... ok test fsm::tests::interrupt_propagates_reason_to_preview_and_llm::case_1_timeout ... ok test fsm::tests::stream_done_without_tools_goes_idle ... ok test fsm::tests::shell_tool_schedules_execution_timeout ... ok test fsm::tests::stale_timeout_after_natural_completion_is_ignored ... ok test fsm::tests::stream_started_transitions_to_streaming ... ok test fsm::tests::stale_permission_resolved_after_cancel_is_ignored ... ok test fsm::tests::stream_done_without_tools_emits_turn_ended ... ok test fsm::tests::suggest_command_emits_turn_ended ... ok test fsm::tests::stream_tool_call_tracks_tool_and_emits_check_permission ... ok test fsm::tests::stream_error_goes_to_error_state ... ok test fsm::tests::tool_done_after_stream_done_continues_conversation ... ok test file_tracker::tests::check_stale_after_modification ... ok test fsm::tests::timeout_respects_llm_specified_duration ... ok test fsm::tests::unknown_tool_call_gets_error_result ... ok test fsm::tests::tool_done_before_stream_done_stays_in_turn ... ok test fsm::tests::tool_completion_clears_timeout_mapping ... ok test fsm::tests::timeout_fires_before_completion_emits_abort ... ok test fsm::tests::user_submit_starts_turn ... ok test fsm::tests::turn_ended_waits_for_the_continuation_stream ... ok test fsm::tests::user_interrupt_clears_timeout_mappings_for_aborted_tools ... ok test fsm::tests::unknown_tool_alongside_real_tool_waits_for_both ... ok test fsm::tests::user_submit_dismisses_loading_picker ... ok test history_format::tests::attribution_matrix::case_1_known_with_intent ... ok test history_format::tests::attribution_matrix::case_2_known_no_intent ... ok test history_format::tests::attribution_matrix::case_5_user_no_intent ... ok test history_format::tests::formats_history_search_result ... ok test history_format::tests::attribution_matrix::case_3_unknown_author_with_intent ... ok test history_format::tests::attribution_matrix::case_4_empty_author_with_intent ... ok test history_format::tests::formats_last_command ... ok test history_format::tests::search_results_clip_long_commands ... ok test mcp::tests::server_info_carries_instructions ... ok test mcp::tests::tool_definitions_list_all_tools_as_read_only ... ok test mcp::tests::output_search_schema_is_derived_from_the_call_struct ... ok test mcp::tests::ai_session_search_schema_matches_the_parser ... ok test mcp::tests::unknown_arguments_are_rejected ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_05_semicolons ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_02_or_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_06_nested_dollar ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_07_deeply_nested ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_03_mixed_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_01_triple_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_08_backtick_in_echo ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_04_long_pipeline ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_09_mixed_substitutions ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_10_subshell_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_11_nested_subshells ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_12_brace_group ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_13_var_assignment_no_command ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_14_var_assignment_in_pipeline ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_15_if_then_else ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_16_elif_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_17_for_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_18_while_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_19_case_statement ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_20_redirect_out ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_21_redirect_append ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_22_here_string ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_23_redirect_in_pipeline ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_24_process_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_25_function_def ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_26_function_with_subshell ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_27_empty_string ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_28_whitespace_only ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_29_single_command_no_args ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_30_single_quotes ... ok test permissions::rule::tests::parses_valid_rule::case_1_bare_tool ... ok test permissions::rule::tests::parses_valid_rule::case_2_wildcard_scope ... ok test permissions::rule::tests::parses_valid_rule::case_3_glob_scope ... ok test permissions::rule::tests::parses_valid_rule::case_4_shell_with_space ... ok test permissions::rule::tests::rejects_invalid_rule::case_2_trailing_junk ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_31_double_quotes ... ok test permissions::rule::tests::parses_valid_rule::case_5_nested_parens ... ok test permissions::rule::tests::rejects_invalid_rule::case_1_unclosed_paren ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_33_dollar_var ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_32_escaped_spaces ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_34_background_job ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_35_background_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_37_git_rebase_interactive ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_36_docker_build_and_run ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_39_curl_pipe_sh ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_40_xargs ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_38_find_with_exec ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_43_sudo_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_41_npm_script_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_42_make_with_redirect ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_44_here_doc_with_subcommand ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_47_source_script ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_45_eval_with_command ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_48_fish_simple ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_46_exec_replace ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_50_fish_and ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_51_fish_or ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_49_fish_pipe ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_52_fish_not ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_53_fish_command_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_54_fish_nested_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_55_fish_begin_end ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_56_fish_if_statement ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_57_fish_while_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_58_fish_for_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_59_fish_switch ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_60_fish_function_def ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_61_fish_redirect ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_62_fish_redirect_append ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_63_fish_here_string ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_64_fish_curl_pipe ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_66_fish_double_pipe ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_67_fish_empty ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_65_fish_double_ampersand ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_68_fish_whitespace ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_69_command_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_70_backtick_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_71_subshell ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_72_for_loop_unquoted ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_73_if_statement ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_74_nested_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_75_fish_command_substitution_date ... ok test permissions::shell::adversarial::strips_var_assignments_keeping_full_command::case_1_single_var_assignment ... ok test permissions::shell::adversarial::strips_var_assignments_keeping_full_command::case_2_multiple_var_assignments ... ok test permissions::shell::adversarial::strips_var_assignments_keeping_full_command::case_3_variable_assignment_excluded ... ok test permissions::shell::adversarial::strips_var_assignments_keeping_full_command::case_4_variable_assignment_multiple ... ok test permissions::shell::tests::parse_contains_names::case_2_fallback_or ... ok test permissions::shell::tests::parse_exact::case_1_simple ... ok test permissions::shell::tests::parse_exact::case_2_pipeline ... ok test permissions::shell::tests::parse_exact::case_3_chaining ... ok test permissions::shell::tests::parse_exact::case_4_semicolon ... ok test permissions::shell::tests::parse_contains_names::case_1_fish_conditional ... ok test permissions::shell::tests::parse_exact::case_5_fish_simple ... ok test permissions::shell::tests::parse_exact::case_6_fallback_amp_pipe ... ok test permissions::shell::tests::parse_exact::case_7_fallback_pipe ... ok test permissions::shell::tests::scope_matching::case_01_wildcard_star ... ok test permissions::shell::tests::scope_matching::case_02_git_commit_prefix ... ok test permissions::shell::tests::scope_matching::case_03_git_push_prefix_no_match ... ok test permissions::shell::tests::scope_matching::case_04_git_push_bare_no_match ... ok test permissions::shell::tests::scope_matching::case_05_npm_prefix ... ok test permissions::shell::tests::scope_matching::case_06_npm_test_bare ... ok test permissions::shell::tests::scope_matching::case_07_git_commit_bare_deny ... ok test permissions::shell::tests::scope_matching::case_08_git_commit_bare_allow ... ok test permissions::shell::tests::scope_matching::case_09_npm_test_exact_allow ... ok test permissions::shell::tests::scope_matching::case_10_ls_word_boundary ... ok test permissions::shell::tests::scope_matching::case_11_cat_word_boundary_no_match ... ok test permissions::shell::tests::scope_matching::case_12_lsof_word_boundary ... ok test permissions::shell::tests::scope_matching::case_13_ls_glob_prefix ... ok test permissions::shell::tests::scope_matching::case_14_ls_exact ... ok test permissions::shell::tests::scope_matching::case_15_cat_exact_no_match ... ok test permissions::shell::tests::scope_matching::case_16_middle_wildcard_amend ... ok test permissions::shell::tests::scope_matching::case_17_middle_wildcard_commit_amend ... ok test permissions::shell::tests::scope_matching::case_18_middle_wildcard_push_amend_no_match ... ok test permissions::shell::tests::scope_matching::case_19_middle_wildcard_zero_words ... ok test permissions::shell::tests::scope_matching::case_20_leading_wildcard_alpine ... ok test permissions::shell::tests::scope_matching::case_21_leading_wildcard_ubuntu_no_match ... ok test permissions::shell::tests::scope_matching::case_22_multiple_wildcards ... ok test permissions::shell::tests::scope_matching::case_23_multiple_wildcards_no_match ... ok test permissions::shell::tests::scope_matching::case_24_s01_empty_scope ... ok test permissions::shell::tests::scope_matching::case_25_s03_only_wildcard_space_star ... ok test permissions::shell::tests::scope_matching::case_27_s05_middle_wildcard_empty_match ... ok test permissions::shell::tests::scope_matching::case_26_s04_glob_matches_empty ... ok test permissions::shell::tests::scope_matching::case_28_s06_consecutive_wildcards ... ok test permissions::shell::tests::scope_matching::case_29_s07_lower_wildcard_no_match ... ok test permissions::shell::tests::scope_matching::case_30_s07_upper_wildcard ... ok test permissions::shell::tests::scope_matching::case_31_s07_lower_bare_no_match ... ok test permissions::shell::tests::scope_matching::case_32_s07_upper_bare ... ok test permissions::shell::tests::scope_matching::case_33_s07_upper_bare_strict_no_match ... ok test permissions::shell::tests::scope_matching::case_34_s08_multi_word_exact_no_subcommand ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_1_repository ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_2_plain_directory ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_3_outside_home ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_4_home ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_5_home_as_repository ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_6_subdirectory_of_home ... ok test permissions::writer::tests::project_scope_sees_through_symlinks ... ok test permissions::writer::tests::project_scope_without_a_known_home_or_cwd ... ok test permissions::writer::tests::writes_expected_content::case_1_create_allow ... ok test permissions::writer::tests::writes_expected_content::case_4_deny ... ok test permissions::writer::tests::does_not_duplicate_existing_rule ... ok test permissions::writer::tests::writes_expected_content::case_2_append_existing ... ok test permissions::writer::tests::writes_expected_content::case_3_inline_table ... ok test permissions::walker::tests::the_global_file_is_not_also_a_project_file::case_1_global ... ok test permissions::walker::tests::the_global_file_is_not_also_a_project_file::case_2_project ... ok test commands::resume::tests::continuing_by_id_follows_a_branch::case_1_by_host ... ok test commands::resume::tests::continuing_by_id_follows_a_branch::case_2_by_head ... ok test commands::resume::tests::forking_by_id_forks_from_a_branch::case_1_the_newest ... ok test commands::session::tests::search_match_json_ranges_come_from_the_search::case_1_all ... ok test commands::resume::tests::continuing_by_id_follows_a_branch::case_3_none_named ... ok test commands::session::tests::search_match_json_ranges_come_from_the_search::case_2_any ... ok test resume_tui::catchup::tests::a_selector_is_the_shortest_start_no_other_branch_shares::case_1_uuid ... ok test resume_tui::catchup::tests::a_selector_is_the_shortest_start_no_other_branch_shares::case_2_sharing_a_long_start ... ok test resume_tui::catchup::tests::a_selector_is_the_shortest_start_no_other_branch_shares::case_3_a_start_of_another ... ok test resume_tui::catchup::tests::a_choice_says_why::case_4_refused ... ok test resume_tui::catchup::tests::a_choice_says_why::case_2_unsynced ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_2_named ... ok test resume_tui::catchup::tests::a_choice_says_why::case_3_diverged ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_3_past_the_head_synced ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_4_past_the_head_unsynced ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_6_a_line_of_its_own_unsynced ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_1_the_newest_on_another_line ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_1_this ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_2_host ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_3_full_host_id ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_4_id ... ok test resume_tui::catchup::tests::a_choice_says_why::case_1_live ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_5_unknown_host ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_6_ambiguous_id ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_1_at_the_head ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_3_its_own_line ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_2_behind ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_7_on_another_branch ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_5_rewound_here_past_the_head ... ok test resume_tui::clock::tests::beside_a_date::case_1 ... ok test resume_tui::clock::tests::beside_a_date::case_2 ... ok test resume_tui::clock::tests::beside_a_date::case_3 ... ok test resume_tui::clock::tests::beside_a_date::case_4 ... ok test resume_tui::clock::tests::beside_a_date::case_5 ... ok test resume_tui::clock::tests::day_headings::case_1_today ... ok test resume_tui::clock::tests::day_headings::case_2_yesterday ... ok test resume_tui::clock::tests::day_headings::case_3_this_week ... ok test resume_tui::clock::tests::day_headings::case_4_this_year ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_8_behind_on_the_other_branch ... ok test resume_tui::clock::tests::day_headings::case_5_last_year ... ok test resume_tui::clock::tests::days_are_local ... ok test resume_tui::clock::tests::phrase::case_1 ... ok test resume_tui::clock::tests::phrase::case_2 ... ok test resume_tui::clock::tests::phrase::case_3 ... ok test resume_tui::clock::tests::short::case_01_just_now ... ok test resume_tui::clock::tests::short::case_02_future ... ok test resume_tui::clock::tests::short::case_03_a_minute ... ok test resume_tui::clock::tests::short::case_04_minutes ... ok test resume_tui::clock::tests::short::case_05_an_hour ... ok test resume_tui::clock::tests::short::case_06_hours ... ok test resume_tui::clock::tests::short::case_07_today ... ok test resume_tui::clock::tests::short::case_08_early_today ... ok test resume_tui::clock::tests::short::case_09_yesterday ... ok test resume_tui::clock::tests::short::case_10_yesterday_morning ... ok test resume_tui::clock::tests::short::case_11_this_week ... ok test resume_tui::clock::tests::short::case_12_six_days ... ok test resume_tui::clock::tests::short::case_13_a_week ... ok test resume_tui::clock::tests::short::case_14_this_year ... ok test resume_tui::clock::tests::short::case_15_last_year ... ok test resume_tui::clock::tests::times_within_a_day::case_1_recent ... ok test resume_tui::clock::tests::times_within_a_day::case_2_earlier_today ... ok test resume_tui::clock::tests::times_within_a_day::case_3_another_day ... ok test resume_tui::keymap::tests::ctrl_d_returns_original_only_on_empty_input ... ok test resume_tui::keymap::tests::ctrl_t_cycles_the_agent_everywhere::case_2 ... ok test resume_tui::keymap::tests::ctrl_t_cycles_the_agent_everywhere::case_1 ... ok test resume_tui::keymap::tests::enter_resumes_whatever_enter_accept_says ... ok test resume_tui::keymap::tests::ctrl_t_cycles_the_agent_everywhere::case_3 ... ok test resume_tui::keymap::tests::esc_exits_emacs_but_enters_normal_mode_from_insert ... ok test resume_tui::keymap::tests::fork_keys_are_free_and_shared ... ok test resume_tui::keymap::tests::preview_keys_are_shared_and_free ... ok test resume_tui::keymap::tests::vim_normal_has_gg_sequence_and_plain_letters_are_unbound_in_emacs ... ok test resume_tui::keymap::tests::shared_bindings_match_the_history_search ... ok test resume_tui::markdown::tests::allocation_gives_every_part_a_line_first::case_1 ... ok test resume_tui::markdown::tests::allocation_gives_every_part_a_line_first::case_2 ... ok test resume_tui::markdown::tests::allocation_gives_every_part_a_line_first::case_3 ... ok test resume_tui::markdown::tests::allocation_gives_every_part_a_line_first::case_4 ... ok test resume_tui::markdown::tests::allocation_gives_every_part_a_line_first::case_5 ... ok test resume_tui::markdown::tests::code_blocks_keep_their_whitespace_and_are_cut_not_wrapped ... ok test resume_tui::markdown::tests::blank_lines_collapse ... ok test resume_tui::markdown::tests::flat_rendering_runs_blocks_onto_one_line ... ok test resume_tui::markdown::tests::headings_emphasis_and_code_are_styled_not_marked_up ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_01_plain_text ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_02_bold ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_03_inline_code ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_04_code_block ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_06_heading ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_05_list_item ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_07_link_text ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_08_escaped ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_09_entity ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_10_table ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_11_cjk ... ok test resume_tui::markdown::tests::highlights_keep_the_markdown_style_underneath ... ok test resume_tui::markdown::tests::highlights_on_markup_alone_mark_nothing ... ok test resume_tui::markdown::tests::links_show_their_target_when_asked ... ok test resume_tui::markdown::tests::list_items_hang_under_their_markers ... ok test resume_tui::markdown::tests::long_text_is_cut_to_the_budget_with_an_ellipsis ... ok test resume_tui::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_2_code ... ok test commands::resume::tests::forking_by_id_forks_from_a_branch::case_2_by_host ... ok test commands::resume::tests::switching_by_id_switches_the_copy_or_says_why_not ... ok test commands::resume::tests::forking_by_id_forks_from_a_branch::case_3_by_head ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_4_behind_on_its_line ... ok test resume_tui::markdown::tests::plain_wrap_ellipsizes_its_last_line ... ok test resume_tui::markdown::tests::quotes_get_a_gutter ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_6_gone ... ok test resume_tui::markdown::tests::unterminated_fences_run_to_the_end ... ok test resume_tui::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_1_paragraphs ... ok test resume_tui::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_4_blank_heavy ... ok test resume_tui::panel::tests::forks_are_counted_once_read::case_1_not_read ... ok test resume_tui::panel::tests::forks_are_counted_once_read::case_2_none ... ok test resume_tui::markdown::tests::tables_align_and_shrink_to_fit ... ok test resume_tui::panel::tests::forks_are_counted_once_read::case_3_one ... ok test resume_tui::panel::tests::forks_are_counted_once_read::case_4_two ... ok test resume_tui::panel::tests::human_counts::case_1 ... ok test resume_tui::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_3_setext ... ok test resume_tui::panel::tests::human_counts::case_2 ... ok test resume_tui::panel::tests::human_counts::case_3 ... ok test resume_tui::panel::tests::human_counts::case_4 ... ok test resume_tui::panel::tests::human_counts::case_5 ... ok test resume_tui::panel::tests::inspect_breaks_the_tokens_down::case_1_cached ... ok test resume_tui::panel::tests::inspect_breaks_the_tokens_down::case_2_reasoning ... ok test resume_tui::panel::tests::place_leaves_out_what_goes_without_saying::case_1_here ... ok test resume_tui::panel::tests::place_leaves_out_what_goes_without_saying::case_3_elsewhere ... ok test resume_tui::panel::tests::place_leaves_out_what_goes_without_saying::case_4_no_branch ... ok test resume_tui::panel::tests::tokens_skip_what_was_not_reported ... ok test resume_tui::panel::tests::place_leaves_out_what_goes_without_saying::case_2_detached ... ok test resume_tui::query::tests::a_trailing_space_finishes_the_last_word::case_1_finished ... ok test resume_tui::query::tests::a_trailing_space_finishes_the_last_word::case_2_finished_by_any_whitespace ... ok test resume_tui::query::tests::a_trailing_space_finishes_the_last_word::case_3_still_typing ... ok test resume_tui::query::tests::a_trailing_space_finishes_the_last_word::case_4_after_a_token ... ok test resume_tui::query::tests::a_trailing_space_finishes_the_last_word::case_5_only_tokens ... ok test resume_tui::query::tests::a_trailing_space_finishes_the_last_word::case_6_only_space ... ok test resume_tui::query::tests::agent_and_its_short_form_parse_the_same::case_1 ... ok test resume_tui::query::tests::agent_and_its_short_form_parse_the_same::case_2 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_01 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_02 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_03 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_04 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_05 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_06 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_07 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_08 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_09 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_10 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_11 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_12 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_13 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_14 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_15 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_16 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_17 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_18 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_19 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_21 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_20 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_22 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_23 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_24 ... ok test resume_tui::query::tests::alt_a_round_trips ... ok test resume_tui::query::tests::backslash_makes_a_word_literal ... ok test resume_tui::query::tests::empty_values_are_pending ... ok test resume_tui::query::tests::h_is_no_longer_a_token ... ok test resume_tui::query::tests::harness_tokens::case_01 ... ok test resume_tui::query::tests::harness_tokens::case_02 ... ok test resume_tui::query::tests::harness_tokens::case_03 ... ok test resume_tui::query::tests::harness_tokens::case_04 ... ok test resume_tui::query::tests::harness_tokens::case_05 ... ok test resume_tui::query::tests::harness_tokens::case_07 ... ok test resume_tui::query::tests::harness_tokens::case_06 ... ok test resume_tui::query::tests::harness_tokens::case_08 ... ok test resume_tui::query::tests::harness_tokens::case_09 ... ok test resume_tui::query::tests::harness_tokens::case_10 ... ok test resume_tui::query::tests::harness_tokens::case_11 ... ok test resume_tui::query::tests::harness_tokens::case_12 ... ok test resume_tui::query::tests::harness_tokens::case_13 ... ok test resume_tui::query::tests::later_scalar_tokens_win ... ok test resume_tui::query::tests::multibyte_ranges_are_char_boundaries ... ok test resume_tui::query::tests::plain_text_is_the_query ... ok test resume_tui::query::tests::tokens_are_parsed_out_anywhere ... ok test resume_tui::query::tests::unknown_harness_is_an_invalid_token_and_ignored ... ok test resume_tui::reader::tests::atuin_tool_calls_read_by_what_they_do ... ok test resume_tui::reader::tests::runs_of_tool_calls_fold_into_one_line ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_1_the_message_matched ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_2_a_call_in_a_run ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_3_text_before_its_calls ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_5_the_snippet_quoted ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_6_a_word_of_the_query ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_4_a_message_without_the_query ... ok test resume_tui::rebuild::tests::the_status_says_how_far_it_has_got::case_1_progress ... ok test resume_tui::rebuild::tests::the_status_says_how_far_it_has_got::case_2_nothing_to_replay ... ok test resume_tui::render::tests::a_fork_goes_under_its_roots_day::case_2_bottom_up ... ok test resume_tui::catchup::tests::a_copy_switches_to_no_head_of_several_unless_named::case_1_none_named ... ok test resume_tui::render::tests::every_width_fills_the_row_title_first::shape_1_ONE_LINE ... ok test resume_tui::render::tests::a_fork_goes_under_its_roots_day::case_1_top_down ... ok test resume_tui::render::tests::every_width_fills_the_row_title_first::shape_2_TWO_LINE ... ok test resume_tui::render::tests::every_width_fills_the_row_title_first::shape_3_BY_DAY ... ok test resume_tui::render::tests::headings_and_titles_read_top_down_either_way_up ... ok test resume_tui::render::tests::message_counts_fit_their_column::case_1 ... ok test resume_tui::render::tests::message_counts_fit_their_column::case_2 ... ok test resume_tui::render::tests::only_a_listed_fork_marks_its_root_live::case_1_subagent ... ok test resume_tui::render::tests::only_a_listed_fork_marks_its_root_live::case_2_fork ... ok test resume_tui::rebuild::tests::an_unreachable_daemon_says_nothing ... ok test resume_tui::rebuild::tests::the_watch_follows_the_rebuild_until_it_ends ... ok test resume_tui::render::tests::only_a_listed_fork_marks_its_root_live::case_3_old_fork ... ok test resume_tui::render::tests::the_title_takes_the_rest::case_2_full_80 ... ok test resume_tui::render::tests::the_title_takes_the_rest::case_1_wide ... ok test resume_tui::render::tests::the_title_takes_the_rest::case_3_split_120 ... ok test resume_tui::resumer::tests::a_checkout_named_twice_resumes_where_the_current_directory_is::case_2_in_the_second ... ok test resume_tui::resumer::tests::a_checkout_named_twice_resumes_where_the_current_directory_is::case_3_in_neither ... ok test resume_tui::resumer::tests::a_checkout_named_twice_resumes_where_the_current_directory_is::case_1_in_the_first ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_5_unsynced ... ok test resume_tui::markdown::tests::windows_grow_without_moving ... ok test resume_tui::resumer::tests::a_codex_fork_reads_the_original_where_it_is::case_1_missing ... ok test resume_tui::resumer::tests::a_codex_fork_reads_the_original_where_it_is::case_2_here ... ok test commands::resume::tests::resuming_by_id_catches_up_or_says_what_to_choose ... ok test resume_tui::catchup::tests::a_trailing_reasoning_marker_is_a_twig::case_2_in_order ... ok test resume_tui::catchup::tests::a_copy_switches_to_no_head_of_several_unless_named::case_2_named ... ok test resume_tui::catchup::tests::a_twig_off_the_heads_line_fast_forwards::case_1_a_tool_result ... ok test resume_tui::catchup::tests::a_twig_off_the_heads_line_fast_forwards::case_2_a_tool_result_in_pi ... ok test resume_tui::catchup::tests::a_twig_kiro_would_still_read_is_a_divergence::case_2_linked ... ok test resume_tui::catchup::tests::a_trailing_reasoning_marker_is_a_twig::case_1_kiro ... ok test resume_tui::catchup::tests::a_twig_off_the_heads_line_fast_forwards::case_3_a_summary ... ok test resume_tui::catchup::tests::a_twig_kiro_would_still_read_is_a_divergence::case_1_kiro ... ok test resume_tui::catchup::tests::a_twig_off_the_heads_line_fast_forwards::case_4_in_order ... ok test resume_tui::resumer::tests::a_copy_moved_by_reading_it_resumes_where_it_is_now ... ok test resume_tui::resumer::tests::a_copy_not_here_is_not_switched ... ok test resume_tui::catchup::tests::branches_say_what_they_add_and_when ... ok test resume_tui::catchup::tests::forks_bring_the_rows_off_the_tree_on_their_branch::case_2_the_newest ... ok test resume_tui::resumer::tests::a_fork_is_a_new_session_of_its_own_harness ... ok test resume_tui::catchup::tests::forks_bring_the_rows_off_the_tree_on_their_branch::case_1_a_head ... ok test resume_tui::resumer::tests::a_harness_not_installed_here_says_so ... ok test resume_tui::resumer::tests::a_harness_that_cant_rehydrate_says_so ... ok test resume_tui::resumer::tests::a_local_session_without_its_transcript_is_planned_as_a_restore ... ok test resume_tui::resumer::tests::a_path_template_plans_a_restore_and_resumes_the_restored_transcript ... ok test resume_tui::resumer::tests::a_path_template_target_is_offered_and_resumes_the_written_session ... ok test resume_tui::catchup::tests::forks_start_from_a_heads_rows::case_1_a_head ... ok test resume_tui::resumer::tests::a_pi_fork_names_the_original_by_its_file::case_1_missing ... ok test resume_tui::resumer::tests::a_pi_fork_names_the_original_by_its_file::case_2_here ... ok test resume_tui::resumer::tests::a_plan_says_whether_an_agent_here_has_the_session_open::case_1_not_live ... ok test resume_tui::resumer::tests::a_plan_says_whether_an_agent_here_has_the_session_open::case_2_live ... ok test resume_tui::resumer::tests::a_plan_says_whether_an_agent_here_has_the_session_open::case_3_unknown ... ok test resume_tui::catchup::tests::forks_start_from_a_heads_rows::case_2_the_newest ... ok test resume_tui::catchup::tests::forks_start_from_a_heads_rows::case_3_one_way ... ok test resume_tui::resumer::tests::a_relative_template_program_is_found_from_the_sessions_directory ... ok test resume_tui::resumer::tests::a_remote_session_is_planned_as_a_restore ... ok test resume_tui::resumer::tests::a_choice_offers_to_switch_only_a_copy_that_loses_nothing::case_1_diverged ... ok test resume_tui::resumer::tests::a_choice_offers_to_switch_only_a_copy_that_loses_nothing::case_3_live ... ok test resume_tui::resumer::tests::a_branch_no_longer_a_head_is_not_swapped_for_another ... ok test resume_tui::resumer::tests::a_choice_offers_to_switch_only_a_copy_that_loses_nothing::case_2_pi ... ok test resume_tui::resumer::tests::a_choice_offers_to_switch_only_a_copy_that_loses_nothing::case_4_unsynced_off_the_tip ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_3_behind ... ok test resume_tui::resumer::tests::a_copy_gone_since_it_was_located_is_restored ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_4_behind_and_live ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_6_live_at_the_head ... ok test resume_tui::resumer::tests::a_session_on_disk_resumes_directly ... ok test resume_tui::resumer::tests::a_session_restored_before_resumes_directly::remote_1_true ... ok test resume_tui::resumer::tests::a_session_restored_before_resumes_directly::remote_2_false ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_7_diverged ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_2_at_the_head ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_8_diverged_at_the_newest ... ok test resume_tui::resumer::tests::a_choice_offers_to_switch_only_a_copy_that_loses_nothing::case_5_opencode ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_1_not_here ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_5_behind_and_maybe_live ... ok test resume_tui::resumer::tests::a_copy_here_is_caught_up_or_offered_a_choice::case_9_unsynced ... ok test resume_tui::resumer::tests::a_refused_append_leaves_the_choice::case_3_id_taken ... ok test resume_tui::resumer::tests::a_copy_that_cant_be_caught_up_leaves_the_choice ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_1_HarnessKind__Codex ... ok test resume_tui::resumer::tests::a_refused_append_leaves_the_choice::case_2_changed ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_2_HarnessKind__Copilot ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_3_HarnessKind__Kiro ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_4_HarnessKind__Opencode ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_1_HarnessKind__ClaudeCode ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_5_HarnessKind__Pi ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_2_HarnessKind__Codex ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_3_HarnessKind__Copilot ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_4_HarnessKind__Kiro ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_5_HarnessKind__Opencode ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_6_HarnessKind__Pi ... ok test resume_tui::resumer::tests::continuing_writes_a_new_session_of_the_target ... ok test resume_tui::resumer::tests::only_other_installed_harnesses_are_offered ... ok test resume_tui::resumer::tests::restoring_writes_the_transcript_and_plans_resuming_it::case_1_written ... ok test resume_tui::resumer::tests::restoring_writes_the_transcript_and_plans_resuming_it::case_2_already_there ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_1_exists ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_2_same_repo_subdir ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_3_same_repo_gone_subdir ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_4_same_repo_root ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_5_same_repo_dir_named_like_it ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_6_other_repo ... ok test resume_tui::resumer::tests::resumes_where_it_ran_or_nearest_here::case_7_unknown ... ok test resume_tui::resumer::tests::shell_line_quotes_the_directory ... ok test resume_tui::resumer::tests::a_refused_append_leaves_the_choice::case_1_unsupported ... ok test resume_tui::resumer::tests::a_refused_append_leaves_the_choice::case_4_maybe_live ... ok test resume_tui::resumer::tests::a_session_is_continued_along_one_branch::case_1_one_way ... ok test resume_tui::resumer::tests::a_session_is_continued_along_one_branch::case_3_diverged_named ... ok test resume_tui::resumer::tests::a_session_not_here_is_restored_along_one_branch::case_2_one_way_by_the_picker ... ok test resume_tui::resumer::tests::a_session_not_here_is_restored_along_one_branch::case_1_one_way ... ok test resume_tui::resumer::tests::a_session_not_here_is_restored_along_one_branch::case_3_one_way_named ... ok test resume_tui::resumer::tests::a_session_is_continued_along_one_branch::case_2_diverged ... ok test resume_tui::resumer::tests::a_session_not_here_is_restored_along_one_branch::case_6_diverged_named ... ok test resume_tui::resumer::tests::an_agent_is_looked_for_where_the_session_works_here::case_1_mapped_agent_there ... ok test resume_tui::resumer::tests::a_session_not_here_is_restored_along_one_branch::case_5_diverged_by_the_picker ... ok test resume_tui::resumer::tests::an_agent_is_looked_for_where_the_session_works_here::case_2_mapped_agent_elsewhere ... ok test resume_tui::resumer::tests::a_switch_whose_directory_fails_to_sync_says_so ... ok test resume_tui::resumer::tests::the_program_to_check_is_relative_to_the_plans_directory ... ok test resume_tui::resumer::tests::unsupported_sessions_and_subagents_are_not_resumable ... ok test resume_tui::select::tests::a_drag_selects_text::case_1_in_a_row ... ok test resume_tui::select::tests::a_drag_selects_text::case_2_backwards ... ok test resume_tui::select::tests::a_drag_selects_text::case_3_across_rows ... ok test resume_tui::select::tests::a_drag_selects_text::case_4_past_the_area ... ok test resume_tui::select::tests::a_drag_selects_text::case_5_a_click ... ok test resume_tui::select::tests::a_drag_selects_text::case_6_blanks ... ok test resume_tui::select::tests::the_selection_is_reversed ... ok test resume_tui::select::tests::the_shared_indent_is_left_out ... ok test resume_tui::resumer::tests::a_session_not_here_is_restored_along_one_branch::case_4_diverged ... ok test resume_tui::resumer::tests::an_agent_is_looked_for_where_the_copy_works::case_2_where_the_copy_worked_but_gone ... ok test resume_tui::resumer::tests::a_switch_writes_the_rows_that_go_with_the_branch ... ok test resume_tui::resumer::tests::an_agent_is_looked_for_where_the_copy_works::case_3_no_directory_recorded ... ok test resume_tui::resumer::tests::a_copy_that_cant_be_switched_is_not_offered_the_switch ... ok test resume_tui::resumer::tests::an_agent_is_looked_for_where_the_session_works_here::case_3_unknown_agent_anywhere ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_01_the_newest_it_can ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_03_codex ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_02_named ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_05_unsynced_off_the_tip ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_04_unsynced ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_08_live_by_the_time_it_writes ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_07_maybe_live ... ok test resume_tui::state::tests::a_narrowed_workspace_stays_workspace::case_1_text ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_10_codex_in_several_rollouts ... ok test resume_tui::state::tests::a_narrowed_workspace_stays_workspace::case_2_a_chip ... ok test resume_tui::state::tests::a_narrowed_workspace_stays_workspace::case_3_an_agent ... ok test resume_tui::state::tests::a_pinned_session_stays_first_until_the_query_changes ... ok test resume_tui::state::tests::an_empty_workspace_opens_on_every_session_once ... ok test resume_tui::state::tests::ctrl_t_rewrites_the_input ... ok test resume_tui::state::tests::ctrl_r_cycles_available_modes ... ok test resume_tui::state::tests::forks_sit_beneath_their_root_bottom_up ... ok test resume_tui::state::tests::forgetting_unanswered_requests_keeps_the_selected_sessions ... ok test resume_tui::state::tests::keys_map_to_outcomes ... ok test resume_tui::state::tests::panes_scroll_within_their_text ... ok test resume_tui::state::tests::modes_resolve_to_filters ... ok test resume_tui::state::tests::refresh_keeps_the_selection_and_reloads_live_previews ... ok test resume_tui::state::tests::stale_generations_are_dropped_and_the_old_list_kept ... ok test resume_tui::state::tests::the_last_preview_is_held_until_the_next_is_read ... ok test resume_tui::state::tests::the_picker_opens_on::case_1_unset ... ok test resume_tui::state::tests::the_picker_opens_on::case_2_workspace ... ok test resume_tui::state::tests::the_picker_opens_on::case_3_workspace_outside_a_repo ... ok test resume_tui::resumer::tests::the_append_looks_for_an_agent_where_the_session_works ... ok test resume_tui::state::tests::the_picker_opens_on::case_4_branch_on_a_detached_head ... ok test resume_tui::state::tests::the_picker_opens_on::case_5_branch_outside_a_repo ... ok test resume_tui::state::tests::the_sessions_an_id_names_stay_first_until_the_query_changes ... ok test resume_tui::state::tests::typing_inserts_and_navigation_respects_invert ... ok test resume_tui::state::tests::unchanged_filter_does_not_search_again ... ok test resume_tui::state::tests::workspace_picked_with_ctrl_r_never_falls_back ... ok test resume_tui::state::tests::vim_modes ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_11_opencode ... ok test resume_tui::tests::a_catch_up_nobody_waits_on_is_dropped::case_2_failed ... ok test resume_tui::tests::a_catch_up_nobody_waits_on_is_dropped::case_1_ready ... ok test resume_tui::tests::a_capped_list_says_so ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_09_changed ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_06_live ... ok test resume_tui::tests::a_click_with_nothing_drawn_selects_nothing ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_13_behind_on_that_branch ... ok test resume_tui::tests::a_continuation_in_the_tree_says_where_it_went_on ... ok test resume_tui::tests::a_continuation_picked_supersedes_a_waiting_original::fork_1_false ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_12_on_that_branch ... ok test resume_tui::tests::a_chooser_opened_to_edit_edits ... ok test resume_tui::tests::a_continuation_picked_supersedes_a_waiting_original::fork_2_true ... ok test resume_tui::tests::a_copy_here_is_caught_up_then_resumed ... ok test resume_tui::tests::a_chooser_the_list_cant_hold_is_a_popup ... ok test resume_tui::resumer::tests::an_agent_is_looked_for_where_the_copy_works::case_1_where_the_copy_works ... ok test resume_tui::tests::a_key_that_does_not_search_keeps_a_waiting_resume ... ok test resume_tui::tests::a_clipped_chooser_keeps_the_selected_line_in_sight ... ok test resume_tui::tests::a_pick_acts_on_the_session_the_chooser_opened_on ... ok test resume_tui::tests::a_long_query_keeps_the_scope_in_sight ... ok test resume_tui::tests::a_picked_fork_is_written_then_resumed ... ok test resume_tui::tests::a_refresh_does_not_drop_a_waiting_resume::case_1_plan ... ok test resume_tui::tests::a_drag_copies_the_text_under_it ... ok test resume_tui::tests::a_drag_over_the_side_pane_copies_its_text ... ok test resume_tui::tests::a_refresh_does_not_drop_a_waiting_resume::case_2_restore ... ok test resume_tui::tests::a_restore_dropped_for_another_sessions_is_asked_for_again ... ok test resume_tui::sidecar::tests::a_continuation_is_shown_by_its_prompt_not_its_marker ... ok test resume_tui::tests::a_session_from_another_machine_is_restored_first ... ok test resume_tui::tests::a_session_open_here_preselects_the_fork::case_1_open_but_quiet ... ok test resume_tui::tests::a_session_open_here_preselects_the_fork::case_2_written_to_lately_but_closed ... ok test resume_tui::tests::a_session_from_another_host_hints_it_comes_from_sync ... ok test resume_tui::tests::a_superseded_continuation_is_not_taken_for_the_newer_one ... ok test resume_tui::tests::a_written_continuation_resumes_or_edits_its_new_session ... ok test resume_tui::tests::an_abandoned_restore_does_not_run ... ok test resume_tui::tests::a_rebuild_in_progress_is_said_in_the_status_row ... ok test resume_tui::sidecar::tests::a_trailing_space_finishes_the_typed_word::case_1_still_typing ... ok test resume_tui::tests::an_accept_always_gets_its_plan ... ok test resume_tui::tests::a_session_with_nothing_to_fork_never_picks_the_fork::empty_1_false ... ok test resume_tui::tests::a_session_with_nothing_to_fork_never_picks_the_fork::empty_2_true ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_1_false::fork_1_false ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_1_false::fork_2_true ... ok test resume_tui::sidecar::tests::a_trailing_space_finishes_the_typed_word::case_3_finished_whole_word ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_2_true::fork_1_false ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_2_true::fork_2_true ... ok test resume_tui::sidecar::tests::a_trailing_space_finishes_the_typed_word::case_2_finished ... ok test resume_tui::tests::an_empty_scope_has_no_search_to_clear ... ok test resume_tui::tests::changing_the_search_drops_a_waiting_resume::case_1_typing ... ok test resume_tui::sidecar::tests::a_childs_match_finds_the_root_with_highlights ... ok test resume_tui::tests::changing_the_search_drops_a_continuation ... ok test resume_tui::tests::details_wait_while_the_selection_moves_fast ... ok test resume_tui::tests::changing_the_search_drops_a_waiting_resume::case_2_mode ... ok test resume_tui::tests::ctrl_x_opens_the_chooser_on_the_fork ... ok test resume_tui::sidecar::tests::groups_children_under_their_root ... ok test resume_tui::tests::enter_and_tab_in_the_expanded_forks_resume_the_fork ... ok test resume_tui::sidecar::tests::the_stamp_moves_only_when_the_database_is_written ... ok test resume_tui::tests::host_ids_compare_in_one_form::case_1_hyphenated ... ok test resume_tui::tests::host_ids_compare_in_one_form::case_2_simple ... ok test resume_tui::tests::host_ids_compare_in_one_form::case_3_upper ... ok test resume_tui::tests::chips_alone_matching_nothing_say_so ... ok test resume_tui::sidecar::tests::only_this_hosts_sessions_have_their_repo_looked_up ... ok test resume_tui::tests::an_untitled_session_says_so ... ok test resume_tui::tests::an_original_that_cant_resume_is_dimmed_and_passed_over ... ok test resume_tui::sidecar::tests::previews_and_ids ... ok test resume_tui::sidecar::tests::the_preview_skips_a_tail_without_text ... ok test resume_tui::sidecar::tests::ungrouped_lists_forks_but_not_subagents ... ok test resume_tui::tests::full_frame_has_history_search_chrome ... ok test resume_tui::tests::inspect_explains_unresumable_sessions ... ok test resume_tui::tests::only_the_user_moving_away_drops_a_waiting_resume ... ok test resume_tui::tests::inspect_says_a_remote_session_is_restored ... ok test resume_tui::sidecar::tests::the_host_mode_keeps_this_hosts_unrecorded_sessions ... ok test resume_tui::tests::inspect_tab_shows_metadata_command_and_children ... ok test resume_tui::sidecar::tests::untitled_sessions_are_titled_from_their_first_prompt ... ok test resume_tui::tests::compact_and_inline_heights ... ok test resume_tui::tests::match_highlights_are_bold ... ok test resume_tui::tests::invert_puts_the_input_on_top ... ok test resume_tui::tests::coming_back_opens_the_reader_at_the_match_again ... ok test resume_tui::resumer::tests::a_switched_copy_fast_forwards_as_its_branch_grows ... ok test resume_tui::tests::a_refresh_keeps_the_frame_as_it_was ... ok test resume_tui::tests::opens_on_every_session ... ok test resume_tui::tests::f_selects_the_fork_under_the_original ... ok test resume_tui::tests::overflowing_lists_get_a_scrollbar ... ok test resume_tui::tests::inspect_collapses_a_long_children_list ... ok ]52;c;Y2QgLS0gL2hvbWUvZWxsaWUvc3JjL2F0dWluICYmIGNsYXVkZSAtLXJlc3VtZSA3ZjNjOWExMi01YmUwLTRkN2UtOWM0MS0wYThlMmI2ZjRkMTA=test resume_tui::tests::no_results_say_so ... ok test resume_tui::tests::a_choice_offers_to_switch_the_copy_to_another_branch ... ok test resume_tui::tests::rows_show_the_title_then_the_agent_and_where ... ok test resume_tui::tests::preview_shows_first_prompt_match_and_last_reply ... ok test resume_tui::tests::other_hosts_rows_look_like_this_hosts ... ok test resume_tui::tests::the_fork_is_preselected_over_an_original_that_shouldnt_resume::case_1_cant_resume ... ok test resume_tui::tests::the_fork_is_preselected_over_an_original_that_shouldnt_resume::case_2_running_here ... ok test resume_tui::tests::a_match_outside_the_conversation_shows_over_it ... ok test resume_tui::tests::the_fork_is_preselected_over_an_original_that_shouldnt_resume::case_3_running_elsewhere ... ok test resume_tui::tests::the_fork_is_preselected_over_an_original_that_shouldnt_resume::case_5_idle ... ok test resume_tui::tests::the_fork_is_preselected_over_an_original_that_shouldnt_resume::case_4_only_a_child_running_here ... ok test resume_tui::tests::the_chooser_offers_the_original_first_then_the_others ... ok test resume_tui::tests::a_choice_offers_the_copy_as_it_is_and_a_fork_per_head::case_1_live ... ok test resume_tui::tests::the_chooser_opens_when_there_is_a_choice ... ok test resume_tui::tests::a_choice_offers_the_copy_as_it_is_and_a_fork_per_head::case_2_diverged ... ok test resume_tui::tests::the_detail_pane_counts_the_forks ... ok test resume_tui::tests::the_chooser_says_a_session_was_recently_used ... ok test resume_tui::tests::the_chooser_opens_down_from_the_title::invert_1_false ... ok test resume_tui::tests::resizing_keeps_the_reader_where_it_was ... ok test resume_tui::tests::the_chooser_opens_down_from_the_title::invert_2_true ... ok test resume_tui::tests::the_chooser_header_names_what_enter_picks ... ok test resume_tui::tests::the_top_day_stays_in_sight ... ok test resume_tui::tests::the_automatic_strip_height_only_grows ... ok test resume_tui::tests::the_keys_scroll_the_preview_showing::case_3_inspect ... ok test resume_tui::tests::the_detail_pane_and_inspect_render_markdown ... ok test resume_tui::tests::the_keys_scroll_the_preview_showing::case_1_strip ... ok test resume_tui::tests::the_detail_pane_reads_the_whole_conversation_from_the_match ... ok test resume_tui::tests::the_preview_never_blanks_between_selections ... ok test resume_tui::tests::the_wheel_scrolls_the_pane_under_it::case_2_inline ... ok test resume_tui::tests::the_preview_says_what_forked_off_a_session ... ok test resume_tui::tests::the_keys_scroll_the_preview_showing::case_2_side ... ok test resume_tui::title::tests::derives::case_01_plain ... ok test resume_tui::title::tests::derives::case_02_first_sentence ... ok test resume_tui::tests::the_wheel_scrolls_the_pane_under_it::case_1_fullscreen ... ok test resume_tui::title::tests::derives::case_03_brief_after_setup ... ok test resume_tui::title::tests::derives::case_04_only_setup ... ok test resume_tui::title::tests::derives::case_05_role_that_is_the_task ... ok test resume_tui::title::tests::derives::case_07_only_a_role ... ok test resume_tui::title::tests::derives::case_06_labels_and_rules ... ok test resume_tui::title::tests::derives::case_08_read_first ... ok test resume_tui::title::tests::derives::case_09_title_line ... ok test resume_tui::title::tests::derives::case_10_system_block ... ok test resume_tui::title::tests::derives::case_11_unclosed_tag ... ok test resume_tui::title::tests::derives::case_12_greeting ... ok test resume_tui::title::tests::derives::case_13_greeting_inline ... ok test resume_tui::title::tests::derives::case_14_markdown ... ok test resume_tui::title::tests::derives::case_15_snake_case ... ok test resume_tui::title::tests::derives::case_16_question_split ... ok test resume_tui::title::tests::derives::case_17_eg_isnt_a_sentence ... ok test resume_tui::title::tests::derives::case_18_paths ... ok test resume_tui::title::tests::derives::case_19_a_lone_word ... ok test resume_tui::title::tests::derives::case_20_yoyoyo ... ok test resume_tui::title::tests::derives::case_21_slash_command ... ok test resume_tui::title::tests::derives::case_22_slash_then_text ... ok test resume_tui::title::tests::derives::case_23_greeting_only ... ok test resume_tui::title::tests::derives::case_24_empty ... ok test resume_tui::title::tests::derives::case_25_whitespace ... ok test resume_tui::title::tests::highlights_match_word_starts ... ok test resume_tui::title::tests::long_titles_are_cut ... ok test resume_tui::worker::tests::a_later_plan_for_another_session_never_drops_an_accept ... ok test resume_tui::tests::tokens_render_as_chips::case_1 ... ok test resume_tui::worker::tests::a_superseded_continuation_never_starts::case_1_replaced ... ok test resume_tui::worker::tests::a_superseded_continuation_never_starts::case_2_cancelled ... ok test resume_tui::tests::tokens_render_as_chips::case_2 ... ok test resume_tui::worker::tests::a_superseded_continuation_never_starts::case_3_replaced_then_cancelled ... ok test resume_tui::worker::tests::a_superseded_fork_never_starts::case_1_fork_cancelled ... ok test resume_tui::worker::tests::a_superseded_fork_never_starts::case_2_fork_replaced ... ok test resume_tui::tests::the_scope_always_shows ... ok test resume_tui::worker::tests::a_superseded_fork_never_starts::case_3_fork_replaces ... ok test resume_tui::worker::tests::searches_skip_the_preview_queue_and_passed_over_previews_are_dropped ... ok test resume_tui::worker::tests::nothing_queued_runs_once_the_picker_is_gone ... ok test resume_tui::worker::tests::answers_searches_previews_children_and_plans ... ok test resume_tui::tests::the_reader_spins_until_the_transcript_is_read ... ok test resume_tui::tests::growing_the_terminal_with_the_chooser_open_on_the_oldest::invert_1_false ... ok test shell::tests::shell_init::case_1_zsh ... ok test shell::tests::shell_init::case_2_bash ... ok test shell::tests::shell_init::case_3_fish ... ok test resume_tui::tests::vim_normal_highlights_the_whole_row ... ok test skills::frontmatter::tests::body_with_triple_dashes ... ok test skills::frontmatter::tests::multiline_folded_description ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_1_basic ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_2_no_frontmatter ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_3_empty ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_4_missing_fields ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_5_unknown_fields ... ok test resume_tui::tests::the_strip_scrolls_through_the_parts_in_full ... ok test skills::interpolate::tests::interpolate_cases::case_3_preserves_plain ... ok test skills::interpolate::tests::interpolate_cases::case_1_inline ... ok test skills::interpolate::tests::interpolate_cases::case_2_block ... ok test session::tests::test_archive ... ok test skills::interpolate::tests::parse_commands_cases::case_1_double_backtick ... ok test skills::interpolate::tests::parse_commands_cases::case_2_block ... ok test skills::interpolate::tests::parse_commands_cases::case_3_regular_ignored ... ok test skills::interpolate::tests::parse_commands_cases::case_4_bang_not_adjacent ... ok test skills::interpolate::tests::parse_commands_cases::case_5_mixed ... ok test resume_tui::markdown::tests::never_panics_or_overflows ... ok test skills::interpolate::tests::parse_inline_command ... ok test skills::tests::budget_overflow ... ok test skills::tests::budget_packing ... ok test skills::tests::disabled_skills_excluded_from_server ... ok test skills::tests::first_paragraph_cases::case_1 ... ok test skills::tests::first_paragraph_cases::case_2 ... ok test skills::tests::first_paragraph_cases::case_3 ... ok test skills::tests::first_paragraph_cases::case_4 ... ok test skills::tests::has_server_visible_skills ... ok test skills::tests::sanitize_name_cases::case_1 ... ok test skills::tests::sanitize_name_cases::case_2 ... ok test skills::interpolate::tests::interpolate_failed_command_shows_error ... ok test skills::tests::sanitize_name_cases::case_3 ... ok test skills::tests::substitute_arguments_cases::case_1_replaces_placeholder ... ok test skills::tests::substitute_arguments_cases::case_2_multiple_occurrences ... ok test skills::tests::end_to_end_discover ... ok test skills::interpolate::tests::interpolate_cases::case_4_multiple ... ok test skills::tests::substitute_arguments_cases::case_5_no_args_clears_placeholder ... ok test skills::tests::substitute_arguments_cases::case_4_no_args_no_placeholder ... ok test skills::tests::substitute_arguments_cases::case_3_appends_when_no_placeholder ... ok test skills::walker::tests::missing_directories_handled ... ok test skills::walker::tests::discovers_project_skills ... ok test resume_tui::tests::growing_the_terminal_with_the_chooser_open_on_the_oldest::invert_2_true ... ok test skills::walker::tests::discovers_global_skills ... ok test skills::walker::tests::discovers_nested_skills ... ok test skills::walker::tests::the_global_dir_is_not_also_a_project_dir::case_1_global ... ok test skills::walker::tests::project_comes_before_global ... ok test session::tests::test_persist_server_session_id ... ok test snapshots::tests::atomic_write_creates_file ... ok test session::tests::test_create_new_and_persist ... ok test snapshots::tests::atomic_write_creates_parent_dirs ... ok test snapshots::tests::atomic_write_preserves_permissions ... ok test snapshots::tests::atomic_write_overwrites_existing ... ok test session::tests::test_create_and_resume ... ok test session::tests::test_incremental_persist ... ok test snapshots::tests::sanitize_backslash_encoded ... ok test session::tests::test_parent_chain_integrity ... ok test snapshots::tests::sanitize_path_cases::case_1_absolute ... ok test snapshots::tests::format_iso8601_produces_valid_format ... ok test snapshots::tests::sanitize_no_collision_between_similar_paths ... ok test snapshots::tests::sanitize_path_cases::case_3_relative ... ok test snapshots::tests::sanitize_path_cases::case_2_preserves_percent ... ok test skills::walker::tests::the_global_dir_is_not_also_a_project_dir::case_2_project ... ok test snapshots::tests::sanitize_result_is_flat_filename ... ok test snapshots::tests::snapshot_is_idempotent ... ok test snapshots::tests::snapshot_creates_file_and_manifest ... ok test snapshots::tests::snapshot_store_loads_existing_manifest ... ok test snapshots::tests::snapshot_multiple_files ... ok test resume_tui::tests::untitled_shows_everywhere ... ok test resume_tui::tests::wide_terminals_split_the_list_and_a_detail_pane ... ok test store::tests::migrations_name_repository_column_vcs_root ... ok test store::tests::test_create_and_get_session ... ok test store::tests::test_archive_session ... ok test store::tests::session_paths_are_stored_as_data::case_2_windows ... ok test store::tests::session_paths_are_stored_as_data::case_7_statement_injection ... ok test store::tests::test_find_resumable_by_vcs_root ... ok test store::tests::test_events_ordered_chronologically ... ok test store::tests::session_paths_are_stored_as_data::case_3_unc ... ok test store::tests::session_paths_are_stored_as_data::case_6_predicate_injection ... ok test tools::output::get::tests::atuin_output_formats_lines_like_read_file ... ok test tools::output::get::tests::atuin_output_marks_the_gap_left_by_a_discarded_middle ... ok test tools::output::get::tests::atuin_output_numbers_a_tail_only_request_from_the_end ... ok test tools::output::get::tests::atuin_output_parses_line_ranges ... ok test tools::output::get::tests::atuin_output_ranges_are_optional ... ok test store::tests::session_paths_are_stored_as_data::case_5_whitespace ... ok test tools::output::get::tests::atuin_output_rejects_unknown_arguments ... ok test tools::output::get::tests::atuin_output_renders_a_blank_line_instead_of_widening_the_gap ... ok test tools::output::search::tests::parses_and_clamps_context::case_1_default ... ok test tools::output::search::tests::parses_and_clamps_context::case_2_explicit ... ok test tools::output::search::tests::parses_and_clamps_context::case_3_zero_is_matching_lines_only ... ok test tools::output::search::tests::parses_and_clamps_context::case_4_clamped_high ... ok test tools::output::search::tests::parses_and_clamps_context::case_5_null_context ... ok test tools::output::search::tests::parses_terms_and_clamps_limit::case_1_default ... ok test tools::output::search::tests::parses_terms_and_clamps_limit::case_2_clamped_high ... ok test tools::output::search::tests::parses_terms_and_clamps_limit::case_3_clamped_low ... ok test tools::output::search::tests::parses_terms_and_clamps_limit::case_4_null_limit ... ok test tools::output::search::tests::rejects_missing_or_blank_terms::case_1_missing ... ok test tools::output::search::tests::rejects_missing_or_blank_terms::case_2_no_terms ... ok test tools::output::search::tests::rejects_missing_or_blank_terms::case_3_empty ... ok test tools::output::search::tests::rejects_missing_or_blank_terms::case_4_blank ... ok test store::tests::test_append_and_load_events ... ok test tools::session::caller::tests::a_lone_other_session_stops_being_hidden_once_the_callers_own_appears ... ok test store::tests::session_paths_are_stored_as_data::case_4_verbatim ... ok test tools::session::caller::tests::a_run_that_finished_just_before_the_server_started_is_not_the_callers ... ok test tools::session::caller::tests::a_run_just_before_this_one_is_not_a_candidate ... ok test store::tests::session_paths_are_stored_as_data::case_1_unix ... ok test tools::session::caller::tests::ambiguity_hides_nothing ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_2_codex ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_3_grok ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_1_claude ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_5_cursor ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_4_opencode ... ok test tools::session::caller::tests::own_session_matches_harness_and_id::case_3_other_id ... ok test tools::session::caller::tests::own_session_matches_harness_and_id::case_2_same_id_other_harness ... ok test tools::session::caller::tests::picks_the_single_session_started_with_the_server_in_its_directory ... ok test tools::session::caller::tests::own_session_matches_harness_and_id::case_1_same_session ... ok test tools::session::list::tests::defaults ... ok test tools::session::list::tests::since_bounds::case_1 ... ok test tools::session::list::tests::since_bounds::case_2 ... ok test tools::session::list::tests::since_bounds::case_3 ... ok test tools::session::list::tests::since_bounds::case_4 ... ok test tools::session::list::tests::since_bounds_across_dst::case_1 ... ok test tools::session::read::tests::a_filtered_read_of_an_empty_session_says_so ... ok test tools::session::list::tests::since_bounds_across_dst::case_2 ... ok test tools::session::read::tests::a_filtered_page_counts_and_pages_by_matches ... ok test tools::session::read::tests::a_greek_match_gets_its_snippet::case_1_upper ... ok test tools::session::read::tests::a_clip_marker_does_not_hide_a_cut_match ... ok test tools::session::read::tests::a_greek_match_gets_its_snippet::case_2_final_sigma ... ok test tools::session::read::tests::a_greek_match_gets_its_snippet::case_3_medial_sigma ... ok test tools::session::read::tests::a_partial_filtered_page_says_more_match ... ok test tools::session::read::tests::a_partial_transcript_omits_the_total ... ok test tools::session::read::tests::a_query_finds_boolean_tool_arguments ... ok test tools::session::read::tests::a_query_finds_what_an_edit_changed::case_1_path ... ok test tools::session::read::tests::a_query_finds_what_an_edit_changed::case_2_changed_line ... ok test tools::session::read::tests::a_match_cut_from_a_long_message_gets_a_snippet ... ok test tools::session::read::tests::a_query_ignores_markup::case_1_json_key ... ok test tools::session::read::tests::a_query_ignores_markup::case_2_thinking_label ... ok test tools::session::read::tests::a_long_single_message_comes_in_windows ... ok test tools::session::read::tests::a_query_ignores_markup::case_3_error_mark ... ok test tools::session::read::tests::a_query_matches_tool_output_and_says_when_nothing_does ... ok test tools::session::read::tests::a_query_shows_only_messages_with_every_word ... ok test tools::session::read::tests::blank_filters_are_no_filter::case_1_null ... ok test tools::session::read::tests::a_single_message_read_shows_the_whole_error ... ok test tools::session::read::tests::blank_filters_are_no_filter::case_2_blank ... ok test tools::session::read::tests::captured_tool_input_and_output_are_shown_not_folded ... ok test tools::session::read::tests::empty_rows_do_not_use_up_the_limit ... ok test tools::session::read::tests::long_text_is_clipped_unless_full ... ok test tools::session::read::tests::negative_start_counts_from_the_end ... ok test tools::session::read::tests::negative_start_skips_trailing_empty_rows ... ok test tools::session::read::tests::out_of_range_starts_clamp::case_1_out_of_range_positive ... ok test tools::session::read::tests::out_of_range_starts_clamp::case_2_out_of_range_negative ... ok test tools::session::read::tests::pages_skip_empty_rows_but_keep_their_numbers ... ok test tools::session::read::tests::rejects_an_unknown_role ... ok test tools::session::read::tests::roles_skim_what_the_person_said ... ok test tools::session::read::tests::summaries_and_errors_are_shown ... ok test tools::session::read::tests::a_page_ends_early_at_its_character_budget ... ok test tools::session::read::tests::tool_input_leads_with_what_it_did::case_1_command ... ok test tools::session::read::tests::a_snippet_finds_the_match_after_chars_that_grow_when_lowercased ... ok test tools::session::read::tests::the_header_bounds_the_children_it_names ... ok test tools::session::read::tests::tool_input_leads_with_what_it_did::case_2_file ... ok test tools::session::read::tests::tool_input_leads_with_what_it_did::case_3_codex_argv ... ok test tools::session::read::tests::tool_input_leads_with_what_it_did::case_4_other ... ok test tools::session::read::tests::uncaptured_tool_activity_folds_into_one_line ... ok test tools::session::search::tests::loosens_only_when_no_message_anywhere_has_every_word ... ok test tools::session::search::tests::parses_each_harness::case_1_claude_code ... ok test tools::session::search::tests::parses_each_harness::case_2_codex ... ok test tools::session::search::tests::parses_each_harness::case_3_opencode ... ok test tools::session::search::tests::parses_each_harness::case_4_pi ... ok test tools::session::search::tests::parses_terms_and_clamps_limit::case_1_default ... ok test tools::session::search::tests::parses_terms_and_clamps_limit::case_2_clamped_high ... ok test tools::session::search::tests::parses_terms_and_clamps_limit::case_3_clamped_low ... ok test tools::session::search::tests::parses_terms_and_clamps_limit::case_4_null_limit ... ok test tools::session::search::tests::parses_terms_and_clamps_limit::case_5_one_string ... ok test tools::session::search::tests::parses_terms_and_clamps_limit::case_6_query_alias ... ok test tools::session::search::tests::rejects_invalid_input::case_1_missing ... ok test tools::session::search::tests::rejects_invalid_input::case_2_no_terms ... ok test tools::session::search::tests::rejects_invalid_input::case_3_blank ... ok test tools::session::search::tests::rejects_invalid_input::case_4_blank_string ... ok test tools::session::search::tests::rejects_invalid_input::case_5_unknown_harness ... ok test tools::session::search::tests::rejects_invalid_input::case_6_uncapturable_harness ... ok test tools::session::search::tests::renders_a_hit_with_harness_time_title_directory_and_snippet ... ok test tools::session::tests::a_root_that_is_the_parent_is_named_once ... ok test tools::session::tests::a_summary_names_links_by_atuin_id ... ok test tools::session::tests::blank_cwd_is_no_filter ... ok test tools::session::tests::elsewhere_note_puts_the_same_project_first ... ok test tools::session::tests::relation_names_the_parent_kind::case_1_subagent ... ok test tools::session::tests::relation_names_the_parent_kind::case_2_fork ... ok test tools::session::tests::relation_names_the_parent_kind::case_3_continuation ... ok test tools::session::tests::resolve_cwd_expands_home ... ok test tools::session::tests::resolve_cwd_normalises::case_1_absolute ... ok test tools::session::tests::resolve_cwd_normalises::case_2_trailing_dot ... ok test store::tests::test_find_resumable_does_not_mutate ... ok test tools::session::tests::resolve_cwd_normalises::case_3_whitespace ... ok test tools::session::tests::subagents_are_children_not_known_to_be_forks::case_1_subagent ... ok test tools::session::tests::subagents_are_children_not_known_to_be_forks::case_2_fork ... ok test tools::session::tests::subagents_are_children_not_known_to_be_forks::case_3_continuation ... ok test tools::tests::all_covered_by_non_shell_tool_unchanged ... ok test tools::tests::atuin_history_author_and_failure_filters_parse ... ok test tools::tests::atuin_history_filter_modes_are_optional::case_1_omitted ... ok test tools::tests::atuin_history_filter_modes_are_optional::case_2_null ... ok test tools::tests::atuin_history_filter_modes_reject_non_arrays ... ok test tools::tests::atuin_history_rejects_unknown_arguments ... ok test tools::tests::bare_pattern_asymmetry ... ok test tools::tests::edit::edit_error::case_1_no_match ... ok test tools::tests::edit::edit_error::case_2_multiple_without_replace_all ... ok test tools::tests::edit::edit_error::case_3_empty_old_string ... ok test store::tests::test_find_resumable_session ... ok test tools::tests::edit::edit_error::case_4_preserves_on_no_match ... ok test tools::tests::edit::edit_success::case_1_single ... ok test tools::tests::edit::edit_success::case_3_multiline ... ok test tools::tests::edit::error_file_does_not_exist ... ok test store::tests::test_find_resumable_skips_archived ... ok test store::tests::test_get_nonexistent_session ... ok test tools::tests::edit::edit_success::case_2_replace_all ... ok test tools::tests::edit::error_file_not_read ... ok test store::tests::test_find_resumable_no_match_different_dir ... ok test tools::tests::edit_integration::permission_cache_grant_and_check ... ok test tools::tests::edit_integration::full_read_snapshot_edit_cycle ... ok test tools::tests::edit_tool_rule_name::case_1_edit_uses_write ... ok test tools::tests::edit_integration::snapshot_only_created_once_per_file ... ok test tools::tests::edit_tool_rule_name::case_2_edit_rejects_read ... ok test store::tests::test_update_server_session_id ... ok test tools::tests::edit_integration::second_edit_without_reread ... ok test tools::tests::edit::error_file_modified_since_read ... ok test tools::tests::filter_mode_names_round_trip ... ok test tools::tests::fuzzy_matches_fill_after_substring_ones::case_1_fills ... ok test store::tests::test_usage_cache_roundtrip ... ok test tools::tests::fuzzy_matches_fill_after_substring_ones::case_2_stops_at_size ... ok test tools::tests::read_scope_glob::case_2_extension_glob_matches ... ok test tools::tests::edit_integration::external_modification_between_edits ... ok test tools::tests::read_scope_glob::case_1_wildcard_star ... ok test tools::tests::fuzzy_matches_fill_after_substring_ones::case_3_exact_fills_the_page ... ok test tools::tests::matches_rule_still_uses_any_semantics ... ok test tools::tests::read_scope_glob::case_4_unix_absolute_glob_matches ... ok test tools::tests::read_scope_glob::case_5_unix_absolute_glob_rejects ... ok test tools::tests::read_scope_glob::case_3_extension_glob_rejects ... ok test tools::tests::read_scope_glob::case_6_unix_double_star_matches ... ok test tools::tests::read_tool_rule_name::case_2_write_implies_read ... ok test tools::tests::read_scope_glob::case_7_unix_double_star_rejects ... ok test tools::tests::relative_multi_segment_glob::case_1 ... ok test tools::tests::relative_multi_segment_glob::case_2 ... ok test tools::tests::read_tool_rule_name::case_1_read_rule_none ... ok test tools::tests::shell_all_covered_by::case_1_git_scope_allows ... ok test tools::tests::shell_all_covered_by::case_2_git_scope_rejects_npm ... ok test tools::tests::shell_all_covered_by::case_3_compound_all_covered ... ok test tools::tests::shell_all_covered_by::case_4_compound_partially_covered ... ok test tools::tests::shell_all_covered_by::case_5_unscoped_covers_all ... ok test tools::tests::shell_all_covered_by::case_6_wildcard_covers_all ... ok test tools::tests::substring_matches_rank_by_tightness ... ok test tools::tests::write::creates_new_file ... ok test tools::tests::write::error_path_is_directory ... ok test tools::tests::write::creates_parent_directories ... ok test tools::tests::write::write_over_existing::case_1_rejects_without_overwrite ... ok test tools::tests::write_tool_rule_name::case_1_write_rule_none ... ok test tools::tests::write::write_over_existing::case_2_overwrites_with_flag ... ok test tools::tests::write_tool_rule_name::case_2_read_does_not_imply_write ... ok test tui::app::tests::builtin_takes_precedence_over_skill_with_same_name ... ok test tui::app::tests::esc_exits_with_cancel ... ok test tui::app::tests::exit_erases_the_input_box ... ok test tui::app::tests::init_submits_the_initial_prompt_and_pushes_the_turn ... ok test tui::app::tests::ctrl_j_inserts_newline ... ok test tui::app::tests::esc_mid_stream_cancels_generation ... ok test tui::app::tests::cancelled_turn_shows_no_responded_line ... ok test tui::app::tests::esc_closes_the_picker_without_exiting ... ok test tui::app::tests::allowed_read_tool_executes_inline ... ok test tui::app::tests::allowing_starts_execution_with_an_interrupt_handle ... ok test tui::app::tests::recall_does_nothing_without_user_messages ... ok test tui::app::tests::enter_submits_and_pushes_the_user_turn ... ok test tui::app::tests::ctrl_c_interrupts_from_the_moment_a_shell_spawns ... ok test tui::app::tests::denying_resolves_the_tool_without_executing ... ok test tui::app::tests::model_picker_flow_selects_a_model ... ok test tui::app::tests::resume_notice_renders_above_turns ... ok test tui::app::tests::skill_dispatches_even_when_registered_for_autocomplete ... ok test tui::app::tests::finished_shell_releases_ctrl_c_back_to_quit ... ok test tui::app::tests::status_bar_shows_usage_over_threshold ... ok test tui::app::tests::permission_prompt_renders_and_replaces_input ... ok test tui::app::tests::shift_enter_inserts_newline ... ok test tui::app::tests::permission_cursor_moves_and_wraps ... ok test tui::app::tests::suggested_command_key::case_1_blank_enter_executes ... ok test tui::app::tests::suggested_command_key::case_2_tab_inserts ... ok test tui::app::tests::tail_renders_conversation_turns ... ok test tui::app::tests::slash_suggestions_and_tab_accept ... ok test tui::app::tests::stream_error_offers_retry ... ok test tui::app::tests::new_session_notice_renders ... ok test tui::app::tests::tip_hangs_off_the_spinner_while_streaming ... ok test tui::app::tests::responded_line_replaces_the_spinner_on_done ... ok test tui::recall::tests::back_walks_newest_to_oldest_then_stops ... ok test tui::recall::tests::back_with_no_messages_is_a_noop ... ok test tui::recall::tests::forward_returns_to_the_draft ... ok test tui::recall::tests::reset_forgets_position_and_draft ... ok test tui::recall::tests::stale_index_clamps_to_the_newest_message ... ok test tui::app::tests::tips_disabled_in_settings_suppresses_the_tip_line ... ok test tui::tips::tests::disabled_setting_suppresses_all_tips ... ok test tui::app::tests::submit_resets_recall_to_the_newest_message ... ok test tui::app::tests::usage_snapshot_is_stored ... ok test tui::tips::tests::irrelevant_tips_are_skipped ... ok test tui::tips::tests::tips_have_unique_ids ... ok test tui::view::tests::always_allow_in_project_is_not_offered_for_the_home_directory::case_1_workspace ... ok test tui::tips::tests::rotation_walks_in_order_and_wraps ... ok test tui::view::tests::always_allow_in_project_is_not_offered_for_the_home_directory::case_2_directory ... ok test tui::view::tests::always_allow_in_project_is_not_offered_for_the_home_directory::case_3_home ... ok test tui::view::tests::edits_are_offered_the_same_options_in_every_scope::scope_1_ProjectScope__Workspace ... ok test tui::tips::tests::send_cwd_tip_respects_both_config_spellings ... ok test tui::view::tests::edits_are_offered_the_same_options_in_every_scope::scope_2_ProjectScope__Directory ... ok test tui::view::tests::edits_are_offered_the_same_options_in_every_scope::scope_3_ProjectScope__Home ... ok test tui::view::tests::elapsed_formats_by_magnitude ... ok test tui::view::trunc::tests::command_spinner_fits_untruncated_when_room ... ok test tui::view::trunc::tests::fit_middle_elides_the_middle ... ok test tui::view::trunc::tests::done_command_spinner_shows_both_ends ... ok test tui::view::trunc::tests::fit_middle_exact::case_1_keeps_short_commands ... ok test tui::view::trunc::tests::fit_middle_exact::case_2_flattens_multiline ... ok test tui::view::trunc::tests::running_command_spinner_reserves_marker_columns ... ok test tui::view::trunc::tests::truncated_line_elides_value_not_prefix ... ok test tui::view::trunc::tests::truncated_line_fits_untruncated_when_room ... ok test usage::tests::as_percentage_uses_higher_limited_bucket ... ok test usage::tests::cache_key_distinguishes_tokens ... ok test usage::tests::deserializes_server_payload ... ok test usage::tests::format_reset_delta_cases::case_1_days ... ok test tui::app::tests::streaming_text_renders_live_and_seals_on_done ... ok test usage::tests::format_reset_delta_cases::case_2_hours ... ok test usage::tests::format_reset_delta_cases::case_3_minutes ... ok test tui::app::tests::typing_does_not_reach_the_editor_while_picking ... ok test usage::tests::format_reset_delta_cases::case_4_sub_minute ... ok test usage::tests::snapshot_roundtrips_through_json ... ok test tui::tools_exec::tests::shell_stream_interrupt_still_delivers_outcome ... ok test tui::tools_exec::tests::shell_stream_yields_previews_then_outcome ... ok test tui::app::tests::typing_renders_in_the_editor ... ok test tui::app::tests::recall_includes_slash_commands_and_skills ... ok test tui::app::tests::up_moves_the_cursor_before_it_recalls ... ok test tui::app::tests::up_recalls_previous_messages_and_down_restores_the_draft ... ok test tui::app::tests::response_after_new_session_survives_stream_end ... ok test tui::app::tests::typing_disarms_command_execution ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_1_UiStyle__Auto::invert_1_false ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_3_UiStyle__Compact::invert_1_false ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_2_UiStyle__Full::invert_1_false ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_1_UiStyle__Auto::invert_2_true ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_2_UiStyle__Full::invert_2_true ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_3_UiStyle__Compact::invert_2_true ... ok test resume_tui::tests::a_long_session_opens_at_its_match_without_rendering_it_all ... ok test resume_tui::tests::the_list_never_cuts_a_row_or_doubles_a_heading::invert_2_true ... ok test resume_tui::tests::the_list_never_cuts_a_row_or_doubles_a_heading::invert_1_false ... ok test resume_tui::tests::rows_fit_every_width::global_1_false ... ok test resume_tui::tests::rows_fit_every_width::global_2_true ... ok test resume_tui::markdown::tests::odd_input_does_not_panic ... ok test result: ok. 1218 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 13.72s Running unittests src/lib.rs (target/debug/deps/atuin_client-2461def9776938fa) running 1106 tests test ai_session::database::heads::tests::a_copy_is_held_by_sync_only_whole::case_2_on_another_line ... ok test ai_session::database::heads::tests::a_copy_is_held_by_sync_only_whole::case_5_empty ... ok test ai_session::database::heads::tests::a_copy_is_held_by_sync_only_whole::case_4_a_merged_row_not_synced ... ok test ai_session::database::heads::tests::a_copy_is_held_by_sync_only_whole::case_1_on_the_heads_line ... ok test ai_session::database::heads::tests::a_copy_is_held_by_sync_only_whole::case_3_a_row_not_synced ... ok test ai_session::database::heads::tests::a_compaction_cycle_stays_on_the_line::case_1_in_order ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_6_rewound_here ... ok test ai_session::database::heads::tests::a_branchs_rows_hold_what_goes_with_it::case_5_not_stored ... ok test ai_session::database::heads::tests::a_branchs_rows_hold_what_goes_with_it::case_4_no_node ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_4_on_another_line ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_7_empty ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_5_went_on_here ... ok test ai_session::database::heads::tests::a_compaction_cycle_stays_on_the_line::case_2_below_stamped_earlier ... ok test ai_session::database::heads::tests::claude_code_heads::case_01_linear ... ok test ai_session::database::heads::tests::claude_code_heads::case_10_carried_on_below_a_tool_row ... ok test ai_session::database::heads::tests::claude_code_heads::case_02_tool_calls_continued ... ok test ai_session::database::heads::tests::claude_code_heads::case_03_tool_calls_ended ... ok test ai_session::database::heads::tests::claude_code_heads::case_04_reply_beside_a_newer_tool_result ... ok test ai_session::database::heads::tests::claude_code_heads::case_05_rewind ... ok test ai_session::database::heads::tests::claude_code_heads::case_06_two_hosts ... ok test ai_session::database::heads::tests::claude_code_heads::case_08_second_host_below_a_tool_row ... ok test ai_session::database::heads::tests::claude_code_heads::case_09_rewind_below_a_tool_row ... ok test ai_session::database::heads::tests::claude_code_heads::case_07_carried_on_past_a_rewind ... ok test ai_session::database::heads::tests::a_patch_beside_the_line_goes_with_its_calls_branch::case_1_its_branch ... ok test ai_session::database::heads::tests::a_fast_forward_keeps_the_lines_order ... ok test ai_session::database::heads::tests::a_fast_forward_takes_the_patches_beside_the_line::case_2_at_the_call ... ok test ai_session::database::heads::tests::a_branchs_rows_hold_what_goes_with_it::case_1_host_2s ... ok test ai_session::database::heads::tests::claude_code_heads::case_11_content_addressed_off_the_tree ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_1_behind ... ok test ai_session::database::heads::tests::claude_code_heads::case_12_missing_parent ... ok test ai_session::database::heads::tests::a_fast_forward_takes_the_patches_beside_the_line::case_4_up_to_date ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_3_up_to_date ... ok test ai_session::database::heads::tests::a_copy_fast_forwards_only_along_the_heads_line::case_2_behind_past_rows_merged_into_the_tip ... ok test ai_session::database::heads::tests::a_branchs_rows_hold_what_goes_with_it::case_3_before_the_split ... ok test ai_session::database::heads::tests::a_branchs_rows_hold_what_goes_with_it::case_2_host_1s ... ok test ai_session::database::heads::tests::claude_code_heads::case_13_missing_parent_follows_its_host ... ok test ai_session::database::heads::tests::a_hosts_rows_before_its_first_node_go_with_its_branch::case_2_host_1s ... ok test ai_session::database::heads::tests::a_fast_forward_takes_the_patches_beside_the_line::case_3_holding_the_patch ... ok test ai_session::database::heads::tests::a_hosts_rows_before_its_first_node_go_with_its_branch::case_1_host_2s ... ok test ai_session::database::heads::tests::a_patch_beside_the_line_goes_with_its_calls_branch::case_2_the_other ... ok test ai_session::database::heads::tests::claude_code_heads::case_14_missing_parent_first_on_its_host ... ok test ai_session::database::heads::tests::a_fast_forward_takes_the_patches_beside_the_line::case_1_behind_the_call ... ok test ai_session::database::heads::tests::codex_heads::case_3_old_rows_in_time_order ... ok test ai_session::database::heads::tests::codex_heads::case_5_old_rows_then_two_hosts ... ok test ai_session::database::heads::tests::codex_heads::case_1_one_line ... ok test ai_session::database::heads::tests::codex_heads::case_4_old_rows_follow_their_host ... ok test ai_session::database::heads::tests::codex_heads::case_2_two_hosts_continue_one_row ... ok test ai_session::database::heads::tests::copilot_and_kiro_heads::case_1_old_rows_then_two_hosts::harness_1_HarnessKind__Copilot ... ok test ai_session::database::heads::tests::copilot_and_kiro_heads::case_2_old_rows_follow_their_host::harness_1_HarnessKind__Copilot ... ok test ai_session::database::heads::tests::odd_sessions_keep_one_head::case_1_header ... ok test ai_session::database::heads::tests::odd_sessions_keep_one_head::case_2_only_content_addressed ... ok test ai_session::database::heads::tests::odd_sessions_keep_one_head::case_3_cycle ... ok test ai_session::database::heads::tests::copilot_and_kiro_heads::case_1_old_rows_then_two_hosts::harness_2_HarnessKind__Kiro ... ok test ai_session::database::heads::tests::copilot_and_kiro_heads::case_2_old_rows_follow_their_host::harness_2_HarnessKind__Kiro ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_2_interleaved ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_3_tool_row_between ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_6_three_hosts ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_5_tool_row_opens_a_side ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_4_late_tool_row ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_1_handed_on ... ok test ai_session::database::heads::tests::rows_for_a_branch_of_nodes_are_its_path::case_1_codex ... ok test ai_session::database::heads::tests::rows_for_a_branch_of_nodes_are_its_path::case_3_claude_code ... ok test ai_session::database::heads::tests::rows_for_a_branch_of_nodes_are_its_path::case_2_opencode ... ok test ai_session::database::tests::a_page_appends_nothing_after_an_invalidation ... ok test ai_session::database::tests::a_duplicate_row_settles_on_the_smaller_id ... ok test ai_session::database::heads::tests::heads_hold_their_invariants ... ok test ai_session::database::tests::a_late_parent_adopts_its_waiting_children ... ok test ai_session::database::tests::a_read_only_open_never_creates_the_file ... ok test ai_session::database::heads::tests::a_stored_sessions_branches_and_their_paths ... ok test ai_session::database::tests::a_continuation_from_a_slow_clock_follows_its_parent ... ok test ai_session::database::tests::a_child_of_unknown_kind_is_not_counted ... ok test ai_session::database::tests::a_read_only_open_refuses_another_schema::case_1_uninitialized ... ok test ai_session::database::tests::a_child_passing_the_filter_brings_its_root ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_5_the_unrecorded_before_the_limit ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_3_before_the_limit ... ok test ai_session::database::tests::a_call_counts_once_at_its_largest_usage ... ok test ai_session::database::tests::a_parent_cycle_groups_under_its_least_member::order_4__2_0_3_1_ ... ok test ai_session::database::tests::a_parent_cycle_groups_under_its_least_member::order_3__1_3_0_2_ ... ok test ai_session::database::tests::a_parent_cycle_groups_under_its_least_member::order_1__0_1_2_3_ ... ok test ai_session::database::tests::a_match_in_a_child_names_the_child ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_4_with_the_unrecorded ... ok test ai_session::database::tests::a_parent_cycle_groups_under_its_least_member::order_2__3_2_1_0_ ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_2_several_sessions ... ok test ai_session::database::tests::a_newer_builds_sidecar_is_kept ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_1_one ... ok test ai_session::database::tests::a_chatty_session_never_crowds_out_others ... ok test ai_session::database::tests::a_childs_match_counts_toward_its_root ... ok test ai_session::database::tests::a_recorded_parent_kind_decides_the_kind_and_the_group_size::case_1_codex_subagent ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_1_every_term ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_2_one_term_short ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_3_whole_word ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_4_any_term ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_5_any_prefix ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_6_typed_prefix ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_7_no_term ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_8_phrase ... ok test ai_session::database::tests::a_title_matches_the_query_alone::case_9_phrase_in_order ... ok test ai_session::database::tests::a_read_only_open_refuses_another_schema::case_2_outdated ... ok test ai_session::database::tests::a_recorded_parent_kind_decides_the_kind_and_the_group_size::case_2_codex_fork ... ok test ai_session::database::tests::a_read_only_open_refuses_another_schema::case_3_unknown ... ok test ai_session::database::tests::a_parent_learned_late_by_a_non_holder_joins_the_holders_counts::reversed_1_false ... ok test ai_session::database::tests::a_read_only_open_reads_beside_the_writer ... ok test ai_session::database::tests::a_recorded_parent_kind_decides_the_kind_and_the_group_size::case_3_opencode_fork ... ok test ai_session::database::tests::a_rows_provider_is_kept::provider_1_None ... ok test ai_session::database::tests::a_recorded_parent_kind_decides_the_kind_and_the_group_size::case_5_claude_subagent ... ok test ai_session::database::tests::a_recorded_parent_kind_decides_the_kind_and_the_group_size::case_4_claude_fork ... ok test ai_session::database::tests::a_parent_learned_late_by_a_non_holder_joins_the_holders_counts::reversed_2_true ... ok test ai_session::database::tests::a_rows_provider_is_kept::provider_2_Some___openai_codex___ ... ok test ai_session::database::tests::a_session_keeps_how_it_relates_to_its_parent ... ok test ai_session::database::tests::a_recorded_parent_kind_decides_the_kind_and_the_group_size::case_6_codex_continuation ... ok test ai_session::database::tests::a_replayed_row_fills_in_a_missing_host ... ok test ai_session::database::tests::a_summary_is_reply_text ... ok test ai_session::database::tests::a_renamed_session_is_searchable_by_its_new_title ... ok test ai_session::database::tests::a_session_converts_to_one_to_rehydrate ... ok test ai_session::database::tests::a_sidecar_from_another_build_is_refused ... ok test ai_session::database::tests::a_title_match_outranks_a_body_match ... ok test ai_session::database::tests::a_copy_is_listed_under_its_original ... ok test ai_session::database::tests::a_parent_learned_late_outranks_a_copy_link ... ok test ai_session::database::tests::a_resumed_copy_counts_shared_calls_once ... ok test ai_session::database::tests::an_atuin_id_or_its_prefix_finds_a_session::case_3_only_the_timestamp ... ok test ai_session::database::tests::an_atuin_id_or_its_prefix_finds_a_session::case_2_past_the_timestamp ... ok test ai_session::database::tests::an_atuin_id_or_its_prefix_finds_a_session::case_4_odd_length ... ok test ai_session::database::tests::an_atuin_id_or_its_prefix_finds_a_session::case_1_whole ... ok test ai_session::database::tests::a_title_propagates_to_earlier_rows_only_when_it_changes ... ok test ai_session::database::tests::content_blocks_tell_tool_output_as_the_content_does ... ok test ai_session::database::tests::an_empty_query_lists_sessions_newest_first::case_1_empty ... ok test ai_session::database::tests::an_empty_query_lists_sessions_newest_first::case_2_whitespace ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_4_exact ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_2_percent_is_literal ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_6_nothing ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_3_underscore_is_literal ... ok test ai_session::database::tests::an_empty_search_by_role_returns_sessions_with_such_a_message::case_1_user ... ok test ai_session::database::tests::every_kind_of_block_has_its_own_bit ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_1_plain ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_5_case_matters ... ok test ai_session::database::tests::an_empty_search_by_role_returns_sessions_with_such_a_message::case_2_tool ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_7_empty ... ok test ai_session::database::tests::an_id_prefix_is_not_a_pattern::case_8_the_last_code_point ... ok test ai_session::database::tests::checkpoint_round_trips_and_the_latest_write_wins ... ok test ai_session::database::tests::an_out_of_range_timestamp_reads_as_the_nearest_in_range::case_1_appended ... ok test ai_session::database::tests::an_out_of_range_timestamp_reads_as_the_nearest_in_range::case_2_stored_late ... ok test ai_session::database::tests::an_out_of_range_timestamp_reads_as_the_nearest_in_range::case_3_stored_early ... ok test ai_session::database::tests::any_term_preview_windows_around_a_late_prefix_match ... ok test ai_session::database::tests::contains_message_reflects_presence ... ok test ai_session::database::tests::content_z_round_trips_compressed_message ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_01_whole_token ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_02_no_substring_matches ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_03_folded_like_the_index ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_04_phrase_across_words ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_05_every_term ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_06_stray_markers_are_stripped ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_07_typed_prefix_marks_the_whole_token ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_08_typed_only_the_last_term_a_prefix ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_09_typed_finished_term_is_whole ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_10_any_prefix_marks_the_whole_token ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_11_any_term ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_12_any_every_term_a_prefix ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_13_any_phrase_last_token_a_prefix ... ok test ai_session::database::tests::highlights_mark_what_the_index_matched::case_14_words_of_a_term_are_a_phrase ... ok test ai_session::database::tests::append_is_idempotent_on_native_triple ... ok test ai_session::database::tests::compressed_message_is_searchable ... ok test ai_session::database::tests::any_term_search_matches_some_words_and_prefixes ... ok test ai_session::database::tests::degenerate_queries_yield_no_results_without_error::case_2_operator_soup ... ok test ai_session::database::tests::duplicate_append_does_not_double_index ... ok test ai_session::database::tests::degenerate_queries_yield_no_results_without_error::case_1_punctuation_only ... ok test ai_session::database::tests::continuations_in_other_harnesses_group_under_the_original::reversed_1_false ... ok test ai_session::database::tests::filters_select_sessions::case_2_workspace_is_a_path_prefix ... ok test ai_session::database::tests::continuations_in_other_harnesses_group_under_the_original::reversed_2_true ... ok test ai_session::database::tests::filters_select_sessions::case_3_root_workspace ... ok test ai_session::database::tests::filters_select_sessions::case_1_host ... ok test ai_session::database::tests::children_are_the_group_under_a_root ... ok test ai_session::database::tests::filters_select_sessions::case_6_model_substring_any_case ... ok test ai_session::database::tests::filters_select_sessions::case_4_directory_is_exact ... ok test ai_session::database::tests::filters_select_sessions::case_5_branch ... ok test ai_session::database::tests::filters_select_sessions::case_7_harness ... ok test ai_session::database::tests::prefix_successors::case_1_ascii ... ok test ai_session::database::tests::prefix_successors::case_2_empty ... ok test ai_session::database::tests::prefix_successors::case_3_last_code_point ... ok test ai_session::database::tests::prefix_successors::case_4_only_the_last_code_point ... ok test ai_session::database::tests::prefix_successors::case_5_skips_surrogates ... ok test ai_session::database::tests::fts5_operators_in_the_query_are_matched_literally ... ok test ai_session::database::tests::filters_select_sessions::case_8_all_must_hold ... ok test ai_session::database::tests::last_reply_is_the_newest_assistant_text_whatever_the_arrival_order ... ok test ai_session::database::tests::list_filters_by_activity_since::case_2_inclusive ... ok test ai_session::database::tests::last_message_is_the_newest_by_timestamp ... ok test ai_session::database::tests::list_filters_by_activity_since::case_1_all ... ok test ai_session::database::tests::list_filters_by_activity_since::case_3_none ... ok test ai_session::database::tests::links_resolve_to_atuin_ids_when_read ... ok test ai_session::database::tests::huge_usage_never_breaks_a_sessions_totals ... ok test ai_session::database::tests::holders_entering_a_parent_cycle_at_different_members_count_once::order_1__0_1_2_3_4_ ... ok test ai_session::database::tests::list_is_newest_first ... ok test ai_session::database::tests::holders_entering_a_parent_cycle_at_different_members_count_once::order_2__4_3_2_1_0_ ... ok test ai_session::database::tests::holders_entering_a_parent_cycle_at_different_members_count_once::order_3__3_0_4_1_2_ ... ok test ai_session::database::tests::messages_come_back_in_order ... ok test ai_session::database::tests::holders_entering_a_parent_cycle_at_different_members_count_once::order_4__1_4_0_3_2_ ... ok test ai_session::database::tests::preview_parts_use_the_session_time_index ... ok test ai_session::database::tests::matches_collapse_to_one_hit_per_session ... ok test ai_session::database::tests::forgetting_an_original_relinks_its_copies ... ok test ai_session::database::tests::forgetting_a_host_removes_only_its_sessions ... ok test ai_session::database::tests::preview_parts_order_messages_at_one_time_by_id ... ok test ai_session::database::tests::preview_parts_without_a_reply_or_a_session ... ok test ai_session::database::tests::rows_disagreeing_on_the_id_settle_on_the_smaller::reversed_1_false ... ok test ai_session::database::tests::preview_parts_read_only_the_first_prompt_and_the_last_reply_with_text ... ok test ai_session::database::tests::same_timestamp_orders_by_capture_id_not_source_id ... ok test ai_session::database::tests::rows_disagreeing_on_the_id_settle_on_the_smaller::reversed_2_true ... ok test ai_session::database::tests::recency_breaks_equal_relevance ... ok test ai_session::database::tests::search_can_leave_out_subagents::case_1_flat ... ok test ai_session::database::tests::search_highlights_the_title_and_snippet::case_1_all ... ok test ai_session::database::tests::roots_only_lists_each_group_once_with_its_size ... ok test ai_session::database::tests::search_highlights_the_title_and_snippet::case_2_any ... ok test ai_session::database::tests::search_finds_a_message_by_its_text ... ok test ai_session::database::tests::search_can_leave_out_subagents::case_2_roots_only ... ok test ai_session::database::tests::search_in_filters_by_directory_and_its_children_only ... ok test ai_session::database::tests::search_filters_by_harness ... ok test ai_session::database::tests::search_highlights_the_title_and_snippet::case_3_typed ... ok test ai_session::database::tests::search_in_matches_windows_subdirectories ... ok test ai_session::database::tests::search_in_uses_the_session_directory_not_the_message_one ... ok test ai_session::database::tests::search_matches_only_messages_from_the_roles_asked_for::case_1_user ... ok test ai_session::database::tests::search_limit_bounds_the_number_of_sessions ... ok test ai_session::database::tests::search_matches_only_messages_from_the_roles_asked_for::case_5_user_or_tool ... ok test ai_session::database::tests::search_matches_only_messages_from_the_roles_asked_for::case_2_assistant ... ok test ai_session::database::tests::search_matches_only_messages_from_the_roles_asked_for::case_4_harness ... ok test ai_session::database::tests::search_matches_the_files_a_patch_changed ... ok test ai_session::database::tests::search_matches_only_messages_from_the_roles_asked_for::case_3_tool ... ok test ai_session::database::tests::search_preview_contains_the_matched_term ... ok test ai_session::database::tests::source_ids_with_prefix_lists_only_matching_rows ... ok test ai_session::database::tests::search_preview_finds_phrases_across_words ... ok test ai_session::database::tests::search_reports_the_matched_message_index ... ok test ai_session::database::tests::search_preview_windows_around_a_late_match ... ok test ai_session::database::tests::search_preview_folds_diacritics_like_the_index ... ok test ai_session::database::tests::session_preview_and_last_reply_are_clipped ... ok test ai_session::database::tests::search_matches_reasoning_tool_calls_and_metadata ... ok test ai_session::database::tests::search_preview_matches_whole_tokens_not_substrings ... ok test ai_session::database::tests::the_blocks_migration_empties_the_projection_for_a_rebuild ... ok test ai_session::database::tests::search_preview_leaves_out_message_metadata ... ok test ai_session::database::tests::search_preview_is_char_bounded ... ok test ai_session::database::tests::structural_rows_are_not_counted_as_messages ... ok test ai_session::database::tests::the_schema_version_is_the_newest_migration ... ok test ai_session::database::tests::started_at_tracks_earliest_message ... ok test ai_session::database::tests::the_kiro_migration_empties_the_projection_for_a_rebuild ... ok test ai_session::database::tests::the_capturing_host_is_kept_on_rows_and_sessions ... ok test ai_session::database::tests::the_conversation_leaves_out_a_message_it_cant_decode_and_keeps_the_rest_in_place ... ok test ai_session::database::tests::text_interned_by_a_failed_page_is_stored_again ... ok test ai_session::model::tests::a_copied_session_is_a_fork ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_1_claude ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_2_codex ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_3_opencode ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_4_pi ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_5_copilot ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_6_kiro ... ok test ai_session::model::tests::a_kind_has_harness_tools_only_when_atuin_knows_the_harness::case_7_unknown ... ok test ai_session::model::tests::a_minted_id_is_a_fresh_v7_at_the_start ... ok test ai_session::database::tests::the_provider_migration_keeps_the_projection ... ok test ai_session::model::tests::a_parent_kind_round_trips::case_1_none ... ok test ai_session::model::tests::a_parent_kind_round_trips::case_2_subagent ... ok test ai_session::model::tests::a_parent_kind_round_trips::case_3_fork ... ok test ai_session::model::tests::a_parent_kind_round_trips::case_4_continuation ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_1_empty ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_2_odd_length ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_3_upper ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_4_whole ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_5_other ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_6_hyphenated ... ok test ai_session::model::tests::a_prefix_names_the_ids_it_starts::case_7_too_long ... ok test ai_session::model::tests::a_recorded_kind_decides::case_1_codex_subagent ... ok test ai_session::model::tests::a_recorded_kind_decides::case_2_codex_fork ... ok test ai_session::model::tests::a_recorded_kind_decides::case_3_opencode_fork ... ok test ai_session::model::tests::a_recorded_kind_decides::case_4_claude_fork_named_like_an_agent ... ok test ai_session::model::tests::a_recorded_kind_decides::case_5_pi_continuation ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_1_short ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_2_shortest ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_3_upper ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_4_whole ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_5_too_short ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_6_other ... ok test ai_session::model::tests::a_suffix_names_the_ids_it_ends::case_7_not_hex ... ok test ai_session::model::tests::a_v0_record_is_no_longer_read ... ok test ai_session::model::tests::a_v2_record_reads_without_a_provider ... ok test ai_session::model::tests::an_unknown_harness_reads_as_unknown ... ok test ai_session::model::tests::an_unknown_parent_kind_reads_as_none ... ok test ai_session::model::tests::an_unknown_version_is_refused ... ok test ai_session::model::tests::harness_kind_covers_every_known_harness ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_01_pi ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_02_omp ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_03_continued_from_omp ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_04_with_a_provider ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_05_grok ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_06_continued_from_grok ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_07_amp ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_08_continued_from_amp ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_09_kiro ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_11_grok_continued_from_amp ... ok test ai_session::model::tests::newer_harnesses_have_newer_versions::case_10_continued_from_kiro ... ok test ai_session::model::tests::the_v2_layout_is_pinned ... ok test ai_session::database::tests::the_end_of_an_atuin_id_finds_a_session::case_1_short ... ok test ai_session::database::tests::the_end_of_an_atuin_id_finds_a_session::case_3_too_short ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_1_partial_last_term ... ok test ai_session::database::tests::the_end_of_an_atuin_id_finds_a_session::case_2_shortest ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_2_partial_after_a_whole_term ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_4_only_the_last_term_is_a_prefix ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_3_finished_term ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_5_partial_phrase ... ok test ai_session::store::tests::a_patch_round_trips ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_6_a_lone_character_is_a_whole_token ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_7_two_characters_are_a_prefix ... ok test ai_session::database::tests::usage_absence_round_trips_as_none ... ok test ai_session::database::tests::unicode_tokens_are_searchable ... ok test ai_session::database::tests::updated_at_tracks_last_message_not_capture_time ... ok test ai_session::database::tests::the_newest_row_decides_the_title ... ok test ai_session::store::tests::a_hole_at_the_start_of_a_series_holds_the_watermark ... ok test ai_session::store::tests::a_hole_in_a_series_holds_the_watermark_below_it ... ok test ai_session::database::tests::unrelated_claimants_rank_by_start_then_id::case_2_tie_goes_to_the_smaller_id ... ok test ai_session::store::tests::a_malformed_watermark_is_replaced::case_1_bad_record_id ... ok test ai_session::store::tests::a_malformed_watermark_is_replaced::case_2_negative_idx ... ok test ai_session::database::tests::unrelated_claimants_rank_by_start_then_id::case_1_earlier_start_wins ... ok test ai_session::store::tests::a_record_the_key_cannot_decrypt_holds_the_watermark_below_it ... ok test ai_session::store::tests::a_malformed_watermark_is_replaced::case_3_text_idx ... ok test ai_session::store::tests::a_v0_record_is_skipped::written_with_1_key__ ... ok test ai_session::store::tests::a_v0_record_is_skipped::written_with_2_Key__from__1u832__ ... ok test ai_session::store::tests::an_authentic_but_undecodable_record_is_skipped ... ok test ai_session::store::tests::an_unknown_record_kind_holds_the_watermark_below_it ... ok test ai_session::store::tests::a_watermark_never_moves_across_an_invalidation ... ok test ai_session::store::tests::a_reprojection_invalidated_every_pass_is_incomplete ... ok test ai_session::store::tests::load_sorts_records_into_message_missing_held_and_skipped ... ok test ai_session::store::tests::page_stops_at_the_end_of_its_range ... ok test ai_session::store::tests::push_then_read_back_one_message ... ok test ai_session::store::tests::an_invalidation_mid_reproject_starts_it_over ... ok test ai_session::store::tests::build_recovers_session_title_from_message_records ... ok test ai_session::store::tests::record_body_roundtrips ... ok test ai_session::tests::legacy_sidecar_moves_to_threads_db ... ok test ai_session::store::tests::build_reconstructs_sidecar_from_all_records ... ok test ai_session::store::tests::build_records_the_host_each_record_came_from ... ok test api_client::tests::atuin_headers_override_extra_headers ... ok test api_client::tests::auth_header_is_sensitive::case_1_bearer ... ok test api_client::tests::auth_header_is_sensitive::case_2_token ... ok test ai_session::store::tests::a_series_rewritten_under_the_watermark_is_replayed_from_the_start ... ok test ai_session::store::tests::build_skips_api_request_blob_rows ... ok test api_client::tests::extra_headers_map_parses_headers ... ok test api_client::tests::extra_headers_map_rejects_invalid_names ... ok test ai_session::store::tests::beside_capture_rows_replayed_after_a_forget_are_not_new ... ok test api_client::tests::cross_origin_redirects_refused_with_extra_headers ... ok test ai_session::store::tests::resetting_keeps_capture_checkpoints ... ok test api_client::tests::resp_error_omits_the_query_string ... ok test api_client::records_stream_tests::records_yields_nothing_when_server_is_empty ... ok test api_client::tests::same_origin_redirects_followed_with_extra_headers ... ok test api_client::records_stream_tests::records_reassembles_pages_in_order ... ok test database::test::closest_db_mode_maps_every_search_mode::case_1_prefix ... ok test database::test::closest_db_mode_maps_every_search_mode::case_2_full_text ... ok test database::test::closest_db_mode_maps_every_search_mode::case_3_fuzzy ... ok test database::test::closest_db_mode_maps_every_search_mode::case_4_daemon_fuzzy_degrades_to_fuzzy ... ok test api_client::records_stream_tests::records_recovers_from_a_short_midstream_page ... ok test api_client::tests::bootstrap_enables_packfiles_then_is_idempotent ... ok test database::test::db_search_mode_round_trips_through_search_mode::case_1_prefix ... ok test database::test::db_search_mode_round_trips_through_search_mode::case_2_full_text ... ok test database::test::db_search_mode_round_trips_through_search_mode::case_3_fuzzy ... ok test ai_session::store::tests::cleared_watermark_replays_everything ... ok test api_client::tests::me_names_a_server_that_is_not_atuin::case_1_empty_body ... ok test api_client::tests::me_names_a_server_that_is_not_atuin::case_2_website ... ok test database::test::missing_migration_becomes_incompatible_version_guidance ... ok test database::test::other_migration_errors_pass_through_unchanged ... ok test ai_session::store::tests::forgetting_a_host_replays_the_hosts_that_added_to_its_sessions ... ok test ai_session::store::tests::forgetting_a_host_removes_its_rows_from_other_hosts_sessions ... ok test ai_session::store::tests::reproject_replays_only_records_past_the_watermark ... ok test ai_session::store::tests::purged_records_leave_the_sidecar_once_reset ... ok test ai_session::store::tests::invalidating_a_sidecar_on_disk_forces_a_full_replay ... ok test database::test::commands_only_since_excludes_commands_run_before ... ok test database::test::author_filter_treats_a_colonless_agent_hostname_as_human ... ok test ai_session::store::tests::a_session_is_on_the_host_of_its_earliest_row::case_1_started_on_the_lower_host ... ok test database::test::author_filter_treats_an_unknown_kind_as_unstated ... ok test database::test::inspector_stats_match_live_runs ... ok test ai_session::store::tests::beside_capture_a_reprojection_never_forgets_this_hosts_rows ... ok test database::test::command_runs_aggregate_live_rows_per_command_by_author ... ok test database::test::test_list_range_is_inclusive ... ok test database::test::author_filter_treats_a_placeholder_user_agent_hostname_as_human ... ok test database::test::inspector_history_preserves_occurrences_and_scope ... ok test database::test::test_load_active_empty_never_reaches_sqlite ... ok test database::test::test_load_active_missing_ids_are_omitted ... ok test database::test::test_load_active_returns_only_requested_rows ... ok test ai_session::store::tests::a_session_is_on_the_host_of_its_earliest_row::case_2_started_on_the_higher_host ... ok test database::test::test_load_active_skips_soft_deleted ... ok test database::test::test_paged_empty ... ok test ai_session::database::tests::only_a_harness_given_turn_id_links_copies ... ok test database::test::test_paged_basic ... ok test database::test::test_search_authors::case_1_all ... ok test ai_session::store::tests::watermark_never_passes_a_failed_append_and_the_replay_is_idempotent ... ok test database::test::test_paged_include_deleted ... ok test database::test::test_search_authors::case_6_unknown_author ... ok test database::test::test_search_authors::case_3_all_agent ... ok test database::test::test_search_authors::case_2_all_user ... ok test database::test::test_search_authors::case_5_claude_code_or_codex ... ok test database::test::test_search_authors_when_the_user_is_named_after_an_agent::case_1_all_user ... ok test database::test::test_search_authors::case_4_claude_code ... ok test database::test::test_search_authors_when_the_user_is_named_after_an_agent::case_2_all_agent ... ok test database::test::test_search_exit_filters::case_01_default::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_01_default::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_before_after::case_5_window_entirely_before_the_item ... ok test database::test::test_search_before_after::case_2_after_bound_is_exclusive ... ok test database::test::test_search_exit_filters::case_01_default::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_before_after::case_3_before_bound_is_exclusive ... ok test database::test::test_search_before_after::case_1_window_spans_the_item ... ok test database::test::test_search_exit_filters::case_02_single::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_authors_when_the_user_is_named_after_an_agent::case_3_by_name ... ok test database::test::test_search_exit_filters::case_03_single_exclusion::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_before_after::case_6_no_date_filter ... ok test database::test::test_search_before_after::case_4_window_entirely_after_the_item ... ok test database::test::test_search_exit_filters::case_03_single_exclusion::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_02_single::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_02_single::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_03_single_exclusion::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_04_include_union::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_04_include_union::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_07_all_excluded::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_07_all_excluded::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_05_exclude_multiple::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_06_overlap::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_04_include_union::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_06_overlap::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_05_exclude_multiple::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_05_exclude_multiple::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_06_overlap::mode_1_DbSearchMode__FullText ... ok test database::test::inspector_windows_are_bounded ... ok test database::test::test_search_exit_filters::case_07_all_excluded::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_08_duplicates::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_08_duplicates::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_08_duplicates::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_09_sentinel::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_09_sentinel::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters_before_deduplication::include_duplicates_1_false ... ok test database::test::test_search_exit_filters_before_deduplication::include_duplicates_2_true ... ok test database::test::test_search_exit_filters::case_09_sentinel::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_10_only_failed::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_11_unknown::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_10_only_failed::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_10_only_failed::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters_deletion_selection ... ok test database::test::test_search_exit_filters::case_11_unknown::mode_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_11_unknown::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_fulltext::case_01_matches_command ... ok test database::test::test_search_fulltext::case_02_matches_arg ... ok test database::test::test_search_fulltext::case_03_matches_multiple_words ... ok test database::test::test_search_fulltext::case_05_regex_anchored_start ... ok test database::test::test_search_fulltext::case_06_regex_anchored_end ... ok test database::test::test_search_fulltext::case_04_no_match ... ok test database::test::test_search_fulltext::case_08_regex_mixed_with_plain_term ... ok test database::test::test_search_fulltext::case_07_regex_negated_no_match ... ok test database::test::test_search_fulltext::case_09_regex_single_slash ... ok test database::test::test_search_fulltext::case_10_regex_double_slash ... ok test database::test::test_search_fulltext::case_11_regex_triple_slash ... ok test database::test::test_search_fulltext::case_12_plain_query_looks_like_regex ... ok test database::test::test_search_fuzzy::case_06_wrong_order_no_match ... ok test database::test::test_search_fuzzy::case_09_starts_with ... ok test database::test::test_search_fuzzy::case_05_typo_no_match ... ok test database::test::test_search_fuzzy::case_01_term_with_trailing_slash ... ok test database::test::test_search_fuzzy::case_07_concatenated_terms ... ok test database::test::test_search_fuzzy::case_02_adjacent_terms_no_space ... ok test database::test::test_search_fuzzy::case_11_ends_with ... ok test database::test::test_search_fuzzy::case_13_negated_term ... ok test database::test::test_search_fuzzy::case_08_bare_space_matches_all ... ok test database::test::test_search_fulltext::case_13_regex_wildcard ... ok test database::test::test_search_fuzzy::case_10_exact_word ... ok test database::test::test_search_fuzzy::case_14_negated_ends_with ... ok test database::test::test_search_fuzzy::case_03_short_terms ... ok test database::test::test_search_fuzzy::case_04_partial_match ... ok test database::test::test_search_fuzzy::case_12_negated_starts_with ... ok test database::test::test_search_fuzzy::case_16_starts_with_and_negated_ends_with ... ok test database::test::test_search_fuzzy::case_15_term_and_negated_term ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_2_plain_two_terms ... ok test database::test::test_search_fuzzy::case_20_case_insensitive_match ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_6_negated_term ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_1_plain_single_term ... ok test database::test::test_search_fuzzy::case_22_regex_character_class ... ok test database::test::test_search_fuzzy_operator ... ok test database::test::test_search_fuzzy::case_17_term_and_negated_starts_with ... ok test database::test::test_search_fuzzy::case_23_regex_combined_with_fuzzy_term ... ok test database::test::test_search_fuzzy::case_18_or_exact_terms ... ok test database::test::test_search_fuzzy_trailing_space::case_1_no_trailing_space ... ok test database::test::test_search_fuzzy_trailing_space::case_2_trailing_space ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_4_extra_middle_space ... ok test database::test::test_search_fuzzy::case_19_or_with_and_term ... ok test database::test::test_search_include_duplicates::case_1_with_duplicates_counts_every_execution ... ok test database::test::test_search_fuzzy::case_21_regex_anchored_start ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_5_end_anchor ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_3_trailing_space ... ok test ai_session::database::tests::a_deep_chain_is_one_group ... ok test database::test::workspace_filter_escapes_every_metacharacter::case_1_nothing_to_escape ... ok test database::test::workspace_filter_escapes_every_metacharacter::case_2_underscore ... ok test database::test::workspace_filter_escapes_every_metacharacter::case_3_percent ... ok test database::test::workspace_filter_escapes_every_metacharacter::case_4_the_escape_character_itself ... ok test database::test::workspace_filter_escapes_every_metacharacter::case_5_all_three ... ok test database::test::test_search_rejects_unparsable_date_filter::case_2_after ... ok test database::test::test_search_shells::case_2_bash ... ok test database::test::test_search_prefix::case_1_matches_prefix ... ok test database::test::test_search_reordered_fuzzy ... ok test database::test::test_search_shells::case_3_bash_unknown ... ok test database::test::test_search_timezone_before_after::case_2_bare_string_uses_configured_offset ... ok test database::test::workspace_filter_excludes_sibling_directories::case_01_name_prefix::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::test_search_prefix::case_2_not_a_prefix ... ok test database::test::test_search_shells::case_1_all ... ok test database::test::test_search_include_duplicates::case_2_without_duplicates_collapses_to_newest_row ... ok test database::test::test_search_prefix::case_3_trailing_whitespace ... ok test database::test::test_search_shells::case_6_fish ... ok test database::test::test_search_rejects_unparsable_date_filter::case_1_before ... ok test database::test::test_load_active_chunks_past_sqlite_param_limit ... ok test database::test::test_search_interactive_only_modes_rank_like_fuzzy::case_1_daemon_fuzzy ... ok test database::test::test_search_timezone_before_after::case_1_explicit_offset_wins ... ok test database::test::test_search_shells::case_4_bash_zsh ... ok test ai_session::database::tests::only_a_harness_given_turn_id_shares_usage_across_unrelated_sessions ... ok test database::test::test_search_shells::case_7_fish_unknown ... ok test database::test::test_search_shells::case_5_unknown ... ok test database::test::workspace_filter_excludes_sibling_directories::case_01_name_prefix::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_01_name_prefix::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_01_name_prefix::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_03_percent_wildcard::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_05_star_token::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_02_underscore_wildcard::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_04_apostrophe::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_04_apostrophe::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_02_underscore_wildcard::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_04_apostrophe::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_03_percent_wildcard::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_05_star_token::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_03_percent_wildcard::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_05_star_token::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_06_alter_token::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_03_percent_wildcard::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_05_star_token::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_04_apostrophe::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_02_underscore_wildcard::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_06_alter_token::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_06_alter_token::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_02_underscore_wildcard::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_06_alter_token::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_11_whitespace::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_08_statement_injection::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_08_statement_injection::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_11_whitespace::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_09_backslash::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_10_unicode::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_10_unicode::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_09_backslash::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_08_statement_injection::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_09_backslash::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_09_backslash::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_07_predicate_injection::has_vcs_root_1_false::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_07_predicate_injection::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_10_unicode::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_10_unicode::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_07_predicate_injection::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_08_statement_injection::has_vcs_root_2_true::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_11_whitespace::has_vcs_root_2_true::include_duplicates_1_false ... ok test database::test::workspace_filter_excludes_sibling_directories::case_07_predicate_injection::has_vcs_root_1_false::include_duplicates_2_true ... ok test database::test::workspace_filter_excludes_sibling_directories::case_11_whitespace::has_vcs_root_2_true::include_duplicates_2_true ... ok test history::store::tests::test_serialize_deserialize::case_1_create ... ok test history::store::tests::test_serialize_deserialize::case_2_delete ... ok test history::tests::an_all_author_filter_matches_everyone ... ok test history::tests::author_kind_variants_and_from_repr_agree ... ok test history::tests::capture_infers_agent_kind_from_an_explicit_author::case_1_known_agent_name ... ok test history::tests::capture_infers_agent_kind_from_an_explicit_author::case_3_human_name ... ok test history::tests::capture_infers_agent_kind_from_an_explicit_author::case_4_explicit_kind_wins ... ok test history::tests::deserialize_across_versions::case_1_from_v0::decode_as_1_Version__Zero ... ok test history::tests::deserialize_across_versions::case_1_from_v0::decode_as_2_Version__One ... ok test history::tests::deserialize_across_versions::case_1_from_v0::decode_as_3_Version__Two ... ok test history::tests::capture_infers_agent_kind_from_an_explicit_author::case_2_agent_name_is_the_username ... ok test history::tests::deserialize_across_versions::case_2_from_v1::decode_as_1_Version__Zero ... ok test history::tests::deserialize_across_versions::case_2_from_v1::decode_as_2_Version__One ... ok test history::tests::deserialize_across_versions::case_2_from_v1::decode_as_3_Version__Two ... ok test history::tests::deserialize_across_versions::case_3_from_v2::decode_as_1_Version__Zero ... ok test history::tests::deserialize_across_versions::case_3_from_v2::decode_as_3_Version__Two ... ok test history::tests::deserialize_across_versions::case_3_from_v2::decode_as_2_Version__One ... ok test history::tests::deserialize_v2_written_without_author_kind ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_1_agent_name_on_another_users_machine ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_2_agent_name_is_the_username ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_3_plain_user ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_5_colonless_hostname_is_the_agent_name ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_6_stated_agent ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_8_stated_agent_with_a_human_name ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_4_hostname_without_a_username ... ok test history::tests::is_agent_uses_the_username_when_no_kind_was_stated::case_7_stated_user ... ok test history::tests::serialize_deserialize_roundtrip::case_2_deleted ... ok test history::tests::disable_secrets ... ok test history::tests::serialize_deserialize_roundtrip::case_3_with_author_and_intent ... ok test history::tests::serialize_deserialize_roundtrip::case_1_basic ... ok test history::tests::known_agents_include_pi ... ok test history::tests::shell_session_tolerates_hostile_session_ids::case_2_not_a_uuid ... ok test history::tests::shell_session_tolerates_hostile_session_ids::case_1_a_real_v7_session ... ok test history::tests::shell_session_tolerates_hostile_session_ids::case_3_out_of_range_timestamp ... ok test history::tests::should_save_respects_privacy::case_2_leading_space ... ok test history::tests::should_save_respects_privacy::case_3_empty ... ok test history::tests::should_save_respects_privacy::case_5_secret_dir ... ok test hub::tests::browser_with_a_local_display::case_1_x11 ... ok test history::tests::the_all_user_filter_excludes_agents ... ok test hub::tests::browser_with_a_local_display::case_2_wayland ... ok test hub::tests::debug_omits_the_auth_code ... ok test hub::tests::no_browser_on_headless_unix ... ok test hub::tests::no_browser_over_ssh::case_1_ssh_connection ... ok test hub::tests::no_browser_over_ssh::case_2_ssh_tty ... ok test history::tests::should_save_respects_privacy::case_6_psql ... ok test history::tests::should_save_respects_privacy::case_4_stripe_key ... ok test import::bash::test::parse_strictly_sorted::case_1_no_timestamps ... ok test import::bash::test::parse_strictly_sorted::case_2_partial_timestamps ... ok test import::bash::test::parse_with_timestamps ... ok test import::bash::test::timestamp_near_range_start_does_not_panic_on_backfill ... ok test import::fish::test::parse_complex ... ok test import::nu_histdb::test::corrupt_rows_degrade::case_1_valid ... ok test import::nu_histdb::test::corrupt_rows_degrade::case_2_out_of_range_timestamp ... ok test import::nu_histdb::test::corrupt_rows_degrade::case_3_invalid_utf8_command ... ok test import::fish::test::parse_out_of_range_timestamp ... ok test import::powershell::test::imports_commands::case_1_lf ... ok test import::powershell::test::test_timestamps ... ok test import::powershell::test::imports_commands::case_2_crlf ... ok test import::replxx::test::parse_complex ... ok test import::replxx::test::skips_invalid_utf8_line ... ok test import::resh::test::single_entry_timestamp_and_duration::case_1_zero_duration ... ok test import::resh::test::single_entry_timestamp_and_duration::case_2_corrupt_before ... ok test import::resh::test::single_entry_timestamp_and_duration::case_3_corrupt_after ... ok test import::resh::test::out_of_range_timestamp_falls_back_to_epoch ... ok test import::xonsh::tests::out_of_range_timestamp_falls_back_to_epoch ... ok test import::xonsh::tests::test_hist_dir_xonsh ... ok test import::resh::test::single_entry_timestamp_and_duration::case_4_clock_skew ... ok test import::xonsh_sqlite::tests::out_of_range_timestamp_falls_back_to_epoch ... ok test import::xonsh_sqlite::tests::test_db_path_xonsh ... ok test import::zsh::test::parse_extended_simple::case_1_zero_duration ... ok test import::zsh::test::parse_extended_simple::case_2_multi_semicolon ... ok test import::zsh::test::parse_extended_simple::case_3_unicode_command ... ok test import::zsh::test::parse_extended_simple::case_4_trailing_newline_escape ... ok test import::zsh::test::parse_malformed_extended_lines::case_1_no_colon ... ok test import::zsh::test::parse_malformed_extended_lines::case_2_no_semicolon ... ok test import::zsh::test::parse_malformed_extended_lines::case_3_out_of_range_time ... ok test import::zsh::test::parse_malformed_extended_lines::case_4_duration_saturates ... ok test import::zsh::test::test_parse_metafied ... ok test import::zsh::test::test_parse_file ... ok test import::zsh::test::timestamp_near_range_start_does_not_panic_on_backfill ... ok test history::tests::should_save_respects_privacy::case_1_normal ... ok test import::zsh_histdb::test::duration_saturates_instead_of_overflowing ... ok test import::xonsh_sqlite::tests::test_import ... ok test import::xonsh::tests::test_import ... ok test database::test::workspace_filter_keeps_a_filesystem_root::case_1_separator ... ok test import::zsh_histdb::test::test_env_vars ... ok test meta::tests::logged_in_with_either_session::case_2_hub ... ok test meta::tests::logged_in_with_either_session::case_1_sync ... ok test import::bash::test::timestamp_near_range_end_does_not_panic_on_increment ... ok test history::store::tests::test_history_skips_corrupt_records ... ok test meta::tests::legacy_files_are_migrated_from_the_given_data_dir ... ok test meta::tests::memory_store_skips_file_migration ... ok test import::zsh::test::timestamp_near_range_end_does_not_panic_on_increment ... ok test meta::tests::test_host_id_generation_and_stability ... ok test ordering::tests::reorder_ranks::case_1_nonmatch_sorts_last ... ok test meta::tests::test_get_set_delete ... ok test import::zsh_histdb::test::test_import ... ok test database::test::workspace_filter_keeps_a_filesystem_root::case_2_absolute ... ok test ordering::tests::reorder_ranks::case_2_matches_by_span ... ok test packfile::record::tests::pack_ia_serialization_is_stable::case_1 ... ok test meta::tests::test_session_crud ... ok test plugin::tests::test_get_install_message ... ok test plugin::tests::test_get_plugin ... ok test plugin::tests::test_registry_creation ... ok test meta::tests::test_sync_time ... ok test meta::tests::test_latest_version ... ok test meta::tests::test_version_check_time ... ok test record::decode::tests::a_panic_in_decode_is_raised_to_the_caller - should panic ... ok test record::sqlite_store::tests::create_db ... ok test history::store::tests::missing_and_undecodable_ids_are_skipped ... ok test history::store::tests::a_database_error_aborts_the_build ... ok test history::store::tests::test_incremental_build_returns_created_histories ... ok test record::sqlite_store::tests::first ... ok test packfile::packer::tests::packs_multiple_and_leaves_remainder ... ok test history::store::tests::build_skips_rows_the_store_deletes ... ok test history::store::tests::interleaved_creates_and_deletes_keep_their_order ... ok test history::store::tests::delete_batch_appends_ordered_tombstones ... ok test database::test::workspace_filter_uses_the_active_jj_workspace::colocated_1_false ... ok test database::test::workspace_filter_uses_the_active_jj_workspace::colocated_2_true ... ok test record::sqlite_store::tests::get_record ... ok test record::sqlite_store::tests::get_many_leaves_a_missing_id_out ... ok test record::sqlite_store::tests::first_gap_finds_the_contiguous_frontier ... ok test record::sqlite_store::tests::last ... ok test record::sqlite_store::tests::len ... ok test record::sqlite_store::tests::push_record ... ok test record::sqlite_store::tests::len_tag ... ok test record::sqlite_store::tests::len_different_tags ... ok test record::sqlite_store::tests::push_batch_unique_is_all_or_nothing ... ok test record::sqlite_store::tests::verify_purge_and_rekey_skip_plaintext_packfile_manifests ... ok test record::sqlite_store::tests::append_a_bunch ... ok test record::sqlite_store::tests::re_encrypt ... ok test record::sync::packfile_sync_tests::an_inverted_range_is_rejected_when_building_the_view::case_1_far_apart ... ok test record::sync::packfile_sync_tests::an_inverted_range_is_rejected_when_building_the_view::case_2_adjacent ... ok test record::sync::packfile_sync_tests::an_inverted_range_is_rejected_when_building_the_view::case_3_extreme ... ok test record::sqlite_store::tests::reads_legacy_text_rows_and_new_blob_rows ... ok test history::store::tests::a_run_of_creates_is_one_bulk_write ... ok test record::sync::packfile_sync_tests::a_malformed_manifest_is_classified_permanent::case_1_unknown_version ... ok test record::sync::packfile_sync_tests::a_transport_failure_is_not_permanent ... ok test record::sync::packfile_sync_tests::a_malformed_manifest_is_classified_permanent::case_2_malformed_body ... ok test record::sync::packfile_capability_tests::bad_cap_skips_packfile_op::case_1_not_fetched ... ok test record::sync::packfile_sync_tests::a_malformed_manifest_is_classified_permanent::case_3_inverted_range ... ok test record::sync::packfile_sync_tests::check_encryption_key_still_detects_a_wrong_key_on_history ... ok test record::sync::packfile_capability_tests::bad_cap_skips_packfile_op::case_2_no_packfile_cap ... ok test record::sync::packfile_capability_tests::bad_cap_skips_packfile_op::case_3_malformed ... ok test record::sync::packfile_capability_tests::packfile_op_runs_when_server_advertises_cap ... ok test record::sync::packfile_sync_tests::check_encryption_key_ignores_plaintext_packfile_manifests ... ok test record::sync::packfile_capability_tests::absent_cap_skips_packfile_but_loose_history_still_syncs ... ok test database::test::workspace_filter_treats_generated_paths_as_data ... ok test record::sync::packfile_sync_tests::download_packed_fills_a_hole_a_higher_range_masks ... ok test record::sync::packfile_sync_tests::download_packed_returns_range_ids_when_already_local ... ok test record::sync::packfile_sync_tests::upload_packfiles_transfers_every_item ... ok test record::sync::packfile_sync_tests::sync_download_does_not_underflow_when_local_head_exceeds_remote ... ok test record::sync::tests::operations_resolves_each_diff::case_1_local_only ... ok test record::sync::tests::operations_resolves_each_diff::case_2_local_ahead ... ok test record::sync::tests::operations_resolves_each_diff::case_3_remote_only ... ok test record::sync::tests::operations_resolves_each_diff::case_4_remote_ahead ... ok test record::sync::tests::operations_resolves_each_diff::case_5_equal ... ok test record::sync::tests::operations_resolves_each_diff::case_6_neither ... ok test record::sync::packfile_sync_tests::sync_download_reassembles_loose_history::case_1_paginated ... ok test settings::daemon::unix_tests::a_socket_dir_reachable_by_others_is_rejected::case_1_group_readable ... ok test settings::daemon::unix_tests::a_socket_dir_reachable_by_others_is_rejected::case_2_other_readable ... ok test settings::daemon::unix_tests::a_socket_dir_reachable_by_others_is_rejected::case_3_world_writable ... ok test settings::daemon::unix_tests::a_symlinked_socket_dir_is_rejected ... ok test settings::daemon::unix_tests::default_socket_dir_is_created_privately_then_reused ... ok test settings::daemon::unix_tests::no_directory_is_created_for_a_user_defined_socket ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_01_unconfigured ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_02_unconfigured_without_runtime_dir ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_03_systemd ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_04_systemd_without_runtime_dir ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_05_configured ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_06_configured_with_systemd ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_07_tmpdir_set ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_08_tmpdir_set_without_runtime_dir ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_09_tmpdir_set_with_systemd ... ok test settings::daemon::unix_tests::socket_paths_are_tried_in_priority_order::case_10_tmpdir_set_and_configured ... ok test settings::daemon::unix_tests::the_default_socket_lives_in_a_per_uid_tmp_dir::case_1_default_tmp_dir ... ok test settings::daemon::unix_tests::the_default_socket_lives_in_a_per_uid_tmp_dir::case_2_tmpdir_set ... ok test settings::daemon::unix_tests::the_existing_socket_is_the_first_one_present::case_1_none_exist ... ok test settings::daemon::unix_tests::the_existing_socket_is_the_first_one_present::case_2_only_the_runtime_fallback_exists ... ok test settings::daemon::unix_tests::the_existing_socket_is_the_first_one_present::case_3_only_the_envless_fallback_exists ... ok test settings::daemon::unix_tests::the_existing_socket_is_the_first_one_present::case_4_runtime_fallback_beats_envless ... ok test settings::daemon::unix_tests::the_existing_socket_is_the_first_one_present::case_5_all_exist ... ok test settings::db_location::tests::an_absolute_db_file_is_kept ... ok test settings::db_location::tests::db_location_deserializes::case_1_relative ... ok test settings::db_location::tests::db_location_deserializes::case_2_unset_variable ... ok test settings::db_location::tests::db_location_deserializes::case_3_memory ... ok test settings::db_location::tests::db_location_deserializes::case_4_sqlite_uri ... ok test settings::db_location::tests::db_location_deserializes::case_5_file_uri ... ok test settings::db_location::tests::db_location_deserializes::case_6_variable_holding_a_uri ... ok test settings::disk_usage_limit::tests::an_absolute_limit_never_touches_the_filesystem ... ok test settings::disk_usage_limit::tests::converts_from_its_parts ... ok test settings::disk_usage_limit::tests::deserializes_from_text_or_an_integer::case_1_text_unlimited ... ok test settings::disk_usage_limit::tests::deserializes_from_text_or_an_integer::case_2_text_percent ... ok test settings::disk_usage_limit::tests::deserializes_from_text_or_an_integer::case_3_text_size ... ok test settings::disk_usage_limit::tests::deserializes_from_text_or_an_integer::case_4_integer_bytes ... ok test record::sync::packfile_sync_tests::sync_download_reassembles_loose_history::case_2_short_page_recovery ... ok test settings::disk_usage_limit::tests::displays_the_text_form::case_1_unlimited ... ok test settings::disk_usage_limit::tests::displays_the_text_form::case_2_size ... ok test settings::disk_usage_limit::tests::displays_the_text_form::case_3_percent ... ok test settings::disk_usage_limit::tests::parses_every_form::case_01_unlimited ... ok test settings::disk_usage_limit::tests::parses_every_form::case_02_unlimited_is_case_insensitive ... ok test settings::disk_usage_limit::tests::parses_every_form::case_03_unlimited_with_whitespace ... ok test settings::disk_usage_limit::tests::parses_every_form::case_04_percent ... ok test settings::disk_usage_limit::tests::parses_every_form::case_05_percent_with_whitespace ... ok test settings::disk_usage_limit::tests::parses_every_form::case_06_percent_above_the_disk ... ok test settings::disk_usage_limit::tests::parses_every_form::case_07_fractional_percent ... ok test settings::disk_usage_limit::tests::parses_every_form::case_08_size ... ok test settings::disk_usage_limit::tests::parses_every_form::case_09_binary_size ... ok test settings::disk_usage_limit::tests::parses_every_form::case_10_size_with_fraction ... ok test settings::disk_usage_limit::tests::parses_every_form::case_11_bare_bytes ... ok test settings::disk_usage_limit::tests::rejects_a_negative_percent ... ok test settings::disk_usage_limit::tests::rejects_an_invalid_size::case_1_empty ... ok test settings::disk_usage_limit::tests::rejects_an_invalid_size::case_2_unknown_unit ... ok test settings::disk_usage_limit::tests::rejects_an_invalid_size::case_3_misspelt_unlimited ... ok test record::sync::page_size_tests::get_page_size_negotiates_from_capabilities::case_1_advertised ... ok test settings::disk_usage_limit::tests::rejects_other_json_values::case_1_negative ... ok test settings::disk_usage_limit::tests::rejects_other_json_values::case_2_bool ... ok test settings::disk_usage_limit::tests::rejects_other_json_values::case_3_bad_text ... ok test settings::disk_usage_limit::tests::resolves_against_a_disk_size::case_1_unlimited_has_no_bound ... ok test settings::disk_usage_limit::tests::resolves_against_a_disk_size::case_2_bytes_are_absolute ... ok test settings::disk_usage_limit::tests::resolves_against_a_disk_size::case_3_bytes_are_not_clamped_to_the_disk ... ok test settings::disk_usage_limit::tests::resolves_against_a_disk_size::case_4_percent_is_a_share_of_the_disk ... ok test settings::output::tests::effective_limits_returns_the_configured_limits_when_enabled ... ok test settings::output::tests::effective_limits_uses_defaults_when_disabled ... ok test settings::shells::tests::all_and_the_empty_array_are_the_same_value ... ok test settings::shells::tests::deserialize::case_1_all ... ok test record::sync::packfile_sync_tests::sync_download_expands_packfiles::case_3_batch_with_poison ... ok test settings::shells::tests::deserialize::case_2_auto ... ok test settings::shells::tests::deserialize::case_4_array_with_duplicates ... ok test settings::shells::tests::deserialize::case_5_empty_array ... ok test settings::shells::tests::deserialize::case_3_array ... ok test settings::shells::tests::deserialize::case_6_invalid_string ... ok test settings::shells::tests::serialize::case_2_all ... ok test settings::shells::tests::serialize::case_1_auto ... ok test settings::shells::tests::serialize::case_3_empty_array ... ok test settings::shells::tests::serialize::case_4_array ... ok test settings::shells::tests::to_filter::case_01_all_bash ... ok test settings::shells::tests::to_filter::case_02_all_none ... ok test settings::shells::tests::to_filter::case_03_auto_bash ... ok test settings::shells::tests::to_filter::case_04_auto_none ... ok test settings::shells::tests::to_filter::case_05_fixed_bash_zsh ... ok test settings::shells::tests::to_filter::case_06_fixed_bash_unknown_zsh ... ok test settings::shells::tests::to_filter::case_07_fixed_bash_zsh_none ... ok test settings::shells::tests::to_filter::case_08_fixed_empty_bash ... ok test settings::shells::tests::to_filter::case_09_fixed_empty_none ... ok test settings::shells::tests::to_filter::case_10_auto_empty ... ok test settings::tests::a_data_dir_with_a_dollar_in_its_name_loads ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_01_data_dir ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_02_db_path ... ok test record::sync::page_size_tests::get_page_size_negotiates_from_capabilities::case_2_absent ... ok test settings::disk_usage_limit::tests::display_round_trips ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_03_record_store_path ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_04_key_path ... ok test record::sync::page_size_tests::get_page_size_negotiates_from_capabilities::case_3_zero_falls_back ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_07_search_log_file ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_05_pidfile_path ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_06_logs_dir ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_08_daemon_log_file ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_09_ai_log_file ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_10_kv_db_path ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_12_meta_db_path ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_11_scripts_db_path ... ok test settings::tests::ai_endpoint_protocol_resolution::case_1_auto_hub_address ... ok test settings::tests::a_path_setting_with_an_unset_variable_loads_as_written::case_13_ai_db_path ... ok test settings::tests::ai_endpoint_protocol_resolution::case_2_auto_api_address ... ok test settings::tests::ai_endpoint_protocol_resolution::case_3_auto_third_party_address ... ok test settings::tests::ai_endpoint_protocol_resolution::case_4_auto_localhost ... ok test settings::tests::ai_endpoint_protocol_resolution::case_5_explicit_hub_overrides_address ... ok test settings::tests::ai_endpoint_protocol_resolution::case_6_explicit_oss_overrides_address ... ok test record::sync::packfile_sync_tests::sync_download_expands_packfiles::case_1_single ... ok test settings::tests::an_empty_path_setting_is_its_default::key_02___db_path__ ... ok test settings::tests::an_empty_path_setting_is_its_default::key_04___key_path__ ... ok test settings::tests::an_empty_path_setting_is_its_default::key_01___data_dir__ ... ok test settings::tests::an_empty_path_setting_is_its_default::key_05___daemon_pidfile_path__ ... ok test settings::tests::an_empty_path_setting_is_its_default::key_06___logs_dir__ ... ok test record::sync::packfile_sync_tests::sync_download_expands_packfiles::case_2_batch ... ok test settings::tests::an_empty_path_setting_is_its_default::key_03___record_store_path__ ... ok test settings::disk_usage_limit::tests::serde_round_trips ... ok test settings::tests::an_empty_path_setting_is_its_default::key_08___logs_daemon_file__ ... ok test settings::tests::can_parse_offset_timezone_spec::case_01_plus_two_digit_hours ... ok test settings::tests::an_empty_path_setting_is_its_default::key_10___kv_db_path__ ... ok test settings::tests::can_parse_offset_timezone_spec::case_02_minus_two_digit_hours ... ok test settings::tests::an_empty_path_setting_is_its_default::key_09___logs_ai_file__ ... ok test settings::tests::can_parse_offset_timezone_spec::case_03_plus_hours_minutes ... ok test settings::tests::can_parse_offset_timezone_spec::case_04_minus_hours_minutes ... ok test settings::tests::can_parse_offset_timezone_spec::case_05_plus_single_digit_hour ... ok test settings::tests::can_parse_offset_timezone_spec::case_06_minus_single_digit_hour ... ok test settings::tests::builder_with_data_dir_uses_custom_paths ... ok test settings::tests::can_parse_offset_timezone_spec::case_07_plus_single_digit_hour_minutes ... ok test settings::tests::can_parse_offset_timezone_spec::case_09_plus_fully_qualified ... ok test settings::tests::can_parse_offset_timezone_spec::case_10_minus_fully_qualified ... ok test settings::tests::an_empty_path_setting_is_its_default::key_07___logs_search_file__ ... ok test settings::tests::can_parse_offset_timezone_spec::case_11_plus_zero_hour_minutes ... ok test settings::tests::an_empty_path_setting_is_its_default::key_11___scripts_db_path__ ... ok test settings::tests::can_parse_offset_timezone_spec::case_12_minus_zero_hour_minutes ... ok test settings::tests::can_parse_offset_timezone_spec::case_13_plus_with_seconds ... ok test settings::tests::can_parse_offset_timezone_spec::case_08_minus_single_digit_hour_minutes ... ok test record::sync::tests::build_complex_diff ... ok test settings::tests::can_parse_offset_timezone_spec::case_14_minus_with_seconds ... ok test settings::tests::an_empty_path_setting_is_its_default::key_12___meta_db_path__ ... ok test settings::tests::an_empty_path_setting_is_its_default::key_13___ai_db_path__ ... ok test record::sync::packfile_sync_tests::uploads_the_packed_range ... ok test settings::tests::data_dir_prefers_the_configured_one::case_1_configured ... ok test settings::tests::data_dir_prefers_the_configured_one::case_2_unset ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_1_db_path::value_1____memory___ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_1_db_path::value_3___file_history_dbmodememory__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_1_db_path::value_2___sqlite____tmp_history_db__ ... ok test record::sync::packfile_sync_tests::history_download_skips_the_range_a_packfile_covered ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_2_record_store_path::value_3___file_history_dbmodememory__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_2_record_store_path::value_2___sqlite____tmp_history_db__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_2_record_store_path::value_1____memory___ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_3_kv_db_path::value_1____memory___ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_3_kv_db_path::value_3___file_history_dbmodememory__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_3_kv_db_path::value_2___sqlite____tmp_history_db__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_4_scripts_db_path::value_1____memory___ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_4_scripts_db_path::value_3___file_history_dbmodememory__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_4_scripts_db_path::value_2___sqlite____tmp_history_db__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_5_meta_db_path::value_2___sqlite____tmp_history_db__ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_5_meta_db_path::value_1____memory___ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_5_meta_db_path::value_3___file_history_dbmodememory__ ... ok test settings::tests::default_addresses_parse ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_6_ai_db_path::value_1____memory___ ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_6_ai_db_path::value_2___sqlite____tmp_history_db__ ... ok test settings::tests::effective_search_mode_matches_requested::case_1 ... ok test settings::tests::effective_search_mode_matches_requested::case_2 ... ok test settings::tests::effective_search_mode_matches_requested::case_3 ... ok test settings::tests::effective_search_mode_matches_requested::case_4 ... ok test settings::tests::effective_search_mode_matches_requested::case_5 ... ok test settings::tests::database_paths_take_sqlite_urls_as_written::case_6_ai_db_path::value_3___file_history_dbmodememory__ ... ok test settings::tests::keymap_config_deserializes_conditional_binding ... ok test settings::tests::keymap_config_deserializes_simple_binding ... ok test settings::tests::keymap_config_deserializes_vim_normal ... ok test settings::tests::keymap_config_is_empty_when_default ... ok test settings::tests::keymap_config_mixed_modes ... ok test settings::tests::environment_overrides_the_config_file::case_1_env_overrides_the_file ... ok test settings::tests::environment_overrides_the_config_file::case_2_file_without_env ... ok test settings::tests::octavo_debug_address_is_read_from_its_hidden_table::case_2_absent ... ok test settings::tests::legacy_ai_session_settings_are_read_as_threads ... ok test settings::tests::output_command_filter_is_kept_with_capture_off::case_1_enabled ... ok test settings::tests::output_command_filter_matches_the_command_line::case_1_anchored ... ok test settings::tests::output_command_filter_is_kept_with_capture_off::case_2_disabled ... ok test settings::tests::octavo_debug_address_is_read_from_its_hidden_table::case_1_set ... ok test settings::tests::output_command_filter_matches_the_command_line::case_2_anchor_holds ... ok test settings::tests::output_command_filter_matches_the_command_line::case_3_unanchored ... ok test settings::tests::rejects_timezone_spec_without_leading_sign::case_1_bare_hour ... ok test settings::tests::rejects_timezone_spec_without_leading_sign::case_2_bare_hour_minutes ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_01_data_dir::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_02_db_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_02_db_path::config_dir_1____config__ ... ok test settings::tests::output_command_filter_matches_the_command_line::case_5_omitted ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_01_data_dir::config_dir_2___config__ ... ok test settings::tests::redact_patterns_reject_an_invalid_expression ... ok test settings::tests::output_command_filter_matches_the_command_line::case_4_any_of_several ... ok test settings::tests::example_config_empty_tables_change_nothing ... ok test settings::tests::output_command_filter_rejects_an_invalid_expression ... ok test settings::tests::negative_session_continue_minutes_disables_resume ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_03_record_store_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_04_key_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_05_socket_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_05_socket_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_04_key_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_06_pidfile_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_07_logs_dir::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_08_kv_db_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_07_logs_dir::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_08_kv_db_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_09_scripts_db_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_10_meta_db_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_09_scripts_db_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_06_pidfile_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_10_meta_db_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_03_record_store_path::config_dir_2___config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_11_ai_db_path::config_dir_1____config__ ... ok test settings::tests::relative_paths_resolve_next_to_config_toml::case_11_ai_db_path::config_dir_2___config__ ... ok test settings::tests::requested_search_mode_parses_correctly::case_1 ... ok test settings::tests::requested_search_mode_parses_correctly::case_3 ... ok test settings::tests::requested_search_mode_parses_correctly::case_2 ... ok test settings::tests::requested_search_mode_parses_correctly::case_4 ... ok test settings::tests::requested_search_mode_parses_correctly::case_5 ... ok test settings::tests::skim_is_requested_but_resolves_to_fuzzy ... ok test settings::tests::security_settings_default_to_the_built_in_rules ... ok test settings::tests::skim_shell_up_key_binding_resolves_to_fuzzy ... ok test settings::tests::threads_defaults_resolve ... ok test settings::tests::socket_path_loads_leniently::case_1_empty ... ok test settings::tests::socket_path_loads_leniently::case_2_unset_variable ... ok test settings::tests::the_builder_reads_the_mocked_environment::case_1_exported_in_the_mock ... ok test settings::tests::the_builder_reads_the_mocked_environment::case_2_unset_in_the_mock ... ok test settings::tests::threads_default_off_with_tools ... ok test settings::tests::threads_settings_win_over_legacy_ones ... ok test settings::tests::validate_accepts::case_1_valid_config ... ok test settings::tests::validate_accepts::case_3_plain_data_dir ... ok test settings::tests::validate_accepts::case_2_empty_config ... ok test settings::tests::validate_accepts::case_4_path_with_an_unset_variable ... ok test settings::tests::validate_accepts::case_6_sqlite_url ... ok test settings::tests::validate_accepts::case_5_empty_path ... ok test settings::tests::validate_rejects::case_2_value_of_the_wrong_type ... ok test settings::tests::workspace_filter_selection::case_2_not_in_vcs_repo ... ok test settings::tests::validate_rejects::case_1_invalid_enum_variant ... ok test settings::tests::workspace_filter_selection::case_1_in_vcs_repo ... ok test settings::threads::tests::empty_table_uses_defaults ... ok test settings::tests::workspace_filter_selection::case_3_workspaces_disabled ... ok test settings::threads::tests::parses_every_field ... ok test settings::watcher::tests::reloads_on_writes_creates_and_renames_onto_the_file ... ok test theme::theme_tests::parses_color_string::case_1_palette_name ... ok test theme::theme_tests::parses_color_string::case_2_hex ... ok test settings::tests::validate_rejects::case_3_invalid_nested_value ... ok test theme::theme_tests::debug_theme_logs::debug_2_false ... ok test theme::theme_tests::parses_color_string::case_3_at_named ... ok test theme::theme_tests::parses_color_string::case_5_at_ansi ... ok test settings::tests::validate_rejects::case_4_more_than_one_expanding_column ... ok test theme::theme_tests::rejects_at_prefixed_color_string::case_1_bare_at ... ok test theme::theme_tests::parses_color_string::case_4_at_rgb ... ok test theme::theme_tests::rejects_at_prefixed_color_string::case_2_wrong_case ... ok test theme::theme_tests::rejects_at_prefixed_color_string::case_3_malformed_name ... ok test theme::theme_tests::rejects_at_prefixed_color_string::case_4_ansi_out_of_range ... ok test theme::theme_tests::rejects_color_string::case_1_empty ... ok test theme::theme_tests::rejects_color_string::case_2_not_in_palette_word ... ok test theme::theme_tests::rejects_color_string::case_3_not_in_palette_phrase ... ok test theme::theme_tests::rejects_color_string::case_4_not_in_palette_digits ... ok test theme::theme_tests::rejects_color_string::case_5_hex_too_short ... ok test theme::theme_tests::debug_theme_logs::debug_1_true ... ok test theme::theme_tests::rejects_color_string::case_6_hex_too_long ... ok test theme::theme_tests::rejects_color_string::case_7_hex_not_hex ... ok test theme::theme_tests::test_can_create_theme ... ok test theme::theme_tests::test_can_get_colors_via_convenience_functions ... ok test theme::theme_tests::test_can_load_builtin_theme::case_1_autumn ... ok test theme::theme_tests::test_can_fallback_when_meaning_missing ... ok test theme::theme_tests::test_can_load_builtin_theme::case_2_pumpkin ... ok test theme::theme_tests::test_no_fallbacks_are_circular ... ok test tui::cursor::cursor_tests::back ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_1_from_start_to_end_of_aaa ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_2_from_within_aaa_to_end_of_aaa ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_3_from_gap_skips_parens_to_end_of_bbb ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_4_from_after_bbb_to_end_of_string ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_5_non_ascii_from_start_to_test ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_6_non_ascii_from_emoji_to_test ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_7_trailing_multibyte ... ok test theme::theme_tests::test_can_use_parent_theme_for_fallbacks ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_8_empty_string ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_2_from_trailing_space_to_start_of_bbb ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_1_from_end_of_string_to_start_of_bbb ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_3_from_start_of_bbb_to_start_of_aaa ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_4_from_start_of_aaa_to_string_start ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_5_non_ascii_from_test_to_start ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_6_non_ascii_from_emoji_to_start ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_7_trailing_multibyte ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_8_empty_string ... ok test tui::cursor::cursor_tests::insert ... ok test settings::tests::zero_log_retention_is_accepted ... ok test tui::cursor::cursor_tests::left ... ok test tui::cursor::cursor_tests::pop ... ok test tui::cursor::cursor_tests::right ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_01_from_string_start_to_start_of_aaa ... ok test settings::tests::sync_frequency_accepts_humantime_and_bare_seconds ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_04_from_first_parens_block_to_start_of_bbb ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_02_from_within_leading_spaces_to_start_of_aaa ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_03_from_start_of_aaa_to_first_parens_block ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_06_from_second_parens_block_to_end_of_string ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_05_from_start_of_bbb_to_second_parens_block ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_07_non_ascii_from_start_to_hi ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_08_non_ascii_from_hi_to_emoji ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_09_non_ascii_from_emoji_to_paren ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_10_trailing_multibyte ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_11_boundary_at_last_char ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_12_empty_string ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_01_from_end_of_string_to_second_parens_block ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_02_from_second_parens_block_to_start_of_bbb ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_03_from_start_of_bbb_to_first_parens_block ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_04_from_first_parens_block_to_start_of_aaa ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_05_from_start_of_aaa_to_string_start ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_06_non_ascii_from_hi_to_start ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_07_non_ascii_from_paren_to_after_hi ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_08_trailing_multibyte ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_09_boundary_at_first_char ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_10_empty_string ... ok test tui::key::tests::display_exact::case_1 ... ok test tui::key::tests::display_exact::case_2 ... ok test tui::key::tests::display_exact::case_3 ... ok test tui::key::tests::display_exact::case_4 ... ok test tui::key::tests::display_exact::case_5 ... ok test tui::key::tests::display_exact::case_6 ... ok test tui::key::tests::display_round_trip::s_01___ctrl_c__ ... ok test tui::key::tests::display_round_trip::s_02___alt_f__ ... ok test tui::key::tests::display_round_trip::s_03___enter__ ... ok test tui::key::tests::display_round_trip::s_04___G__ ... ok test tui::key::tests::display_round_trip::s_05___tab__ ... ok test tui::key::tests::display_round_trip::s_06___pageup__ ... ok test tui::key::tests::display_round_trip::s_07___f1__ ... ok test tui::key::tests::display_round_trip::s_08___f12__ ... ok test tui::key::tests::display_round_trip::s_09___ctrl_f5__ ... ok test tui::key::tests::display_round_trip::s_10___alt_f10__ ... ok test tui::key::tests::display_round_trip::s_11___insert__ ... ok test tui::key::tests::display_round_trip::s_12___super_a__ ... ok test tui::key::tests::display_round_trip::s_13___gg__ ... ok test tui::key::tests::from_event_cases::case_1_ctrl_c ... ok test tui::key::tests::from_event_cases::case_2_enter ... ok test tui::key::tests::from_event_cases::case_3_upper_g ... ok test tui::key::tests::from_event_cases::case_4_super_a ... ok test tui::key::tests::from_event_cases::case_5_f1 ... ok test tui::key::tests::from_event_cases::case_6_f12_ctrl ... ok test tui::key::tests::from_event_cases::case_7_insert ... ok test tui::key::tests::from_event_cases::case_8_backtab ... ok test tui::key::tests::from_event_cases::case_9_backtab_ctrl ... ok test tui::key::tests::from_event_matches_parsed::case_1 ... ok test tui::key::tests::from_event_matches_parsed::case_2 ... ok test tui::key::tests::from_event_matches_parsed::case_3 ... ok test tui::key::tests::from_event_matches_parsed::case_4 ... ok test tui::key::tests::from_event_matches_parsed::case_5 ... ok test tui::key::tests::parse_errors::case_1 ... ok test tui::key::tests::parse_errors::case_2 ... ok test tui::key::tests::parse_errors::case_3 ... ok test tui::key::tests::parse_errors::case_4 ... ok test tui::key::tests::parse_multi_key_sequence ... ok test tui::key::tests::parse_single_key::case_01_char_a ... ok test tui::key::tests::parse_single_key::case_02_enter ... ok test tui::key::tests::parse_single_key::case_03_esc ... ok test tui::key::tests::parse_single_key::case_04_tab ... ok test tui::key::tests::parse_single_key::case_05_space ... ok test tui::key::tests::parse_single_key::case_06_ctrl_c ... ok test tui::key::tests::parse_single_key::case_07_alt_f ... ok test record::sync::tests::remote_error_keeps_the_connect_cause ... ok test tui::key::tests::parse_single_key::case_08_ctrl_alt_x ... ok test tui::key::tests::parse_single_key::case_10_ctrl_lbracket ... ok test tui::key::tests::parse_single_key::case_09_upper_g ... ok test tui::key::tests::parse_single_key::case_11_question ... ok test tui::key::tests::parse_single_key::case_12_slash ... ok test tui::key::tests::parse_single_key::case_13_super_a ... ok test tui::key::tests::parse_single_key::case_14_super_ctrl_c ... ok test tui::key::tests::parse_single_key::case_16_f1 ... ok test tui::key::tests::parse_single_key::case_15_super_g ... ok test tui::key::tests::parse_single_key::case_17_f12_upper ... ok test tui::key::tests::parse_single_key::case_18_ctrl_f5 ... ok test tui::key::tests::parse_single_key::case_20_insert ... ok test tui::key::tests::parse_single_key::case_19_f24 ... ok test tui::key::tests::parse_single_key::case_21_ins ... ok test tui::key::tests::parse_single_key::case_22_ctrl_insert ... ok test record::sync::page_size_tests::with_page_size_overrides_negotiation ... ok test tui::key::tests::super_aliases_parse_equal::input_1___super_a__ ... ok test tui::key::tests::super_aliases_parse_equal::input_2___cmd_a__ ... ok test tui::key::tests::super_aliases_parse_equal::input_3___win_a__ ... ok test settings::tests::security_settings_load ... ok test settings::tests::every_path_setting_has_a_default ... ok test meta::tests::waits_out_another_process_committing_slowly ... ok test packfile::packer::tests::packing_tiles_a_maximal_prefix ... ok test record::decode::tests::decodes_every_record_in_order ... ok test packfile::packer::tests::packing_is_idempotent_and_monotonic ... ok test record::sqlite_store::tests::append_a_big_bunch ... ok test history::store::tests::creates_are_split_into_bounded_batches ... ok test database::test::test_search_bench_dupes ... ok test record::sqlite_store::tests::push_batch_unique_rolls_back_across_chunks ... ok test ai_session::database::tests::grouping_does_not_depend_on_arrival_order ... ok test ai_session::database::tests::a_content_derived_call_counts_once_per_lineage ... ok test ai_session::database::tests::shared_calls_are_attributed_the_same_in_any_order ... ok test ai_session::database::tests::copies_group_under_their_original_in_any_order has been running for over 60 seconds test ai_session::database::tests::copies_group_under_their_original_in_any_order ... ok test result: ok. 1106 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 76.96s Running unittests src/lib.rs (target/debug/deps/atuin_common-1ca1800f6295ca01) running 4038 tests test ansi::tests::empty_input_is_empty_regardless_of_size::rows_3_nz_u16__MAX_::cols_3_nz_u16__MAX_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_2_nz_24_::cols_2_nz_80_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_3_nz_u16__MAX_::cols_2_nz_80_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_2_nz_24_::cols_1_nz_1_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_1_nz_1_::cols_3_nz_u16__MAX_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_1_nz_1_::cols_1_nz_1_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_2_nz_24_::cols_3_nz_u16__MAX_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_1_nz_1_::cols_2_nz_80_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_3_nz_u16__MAX_::cols_1_nz_1_ ... ok test ansi::tests::renders_expected_plain_text::case_2_empty ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_01_empty ... ok test ansi::tests::onlcr_never_yields_an_empty_chunk ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_09_leading_cr ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_03_crlf ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_08_trailing_cr ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_07_consecutive_crlfs ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_10_crlf_then_bare_lf ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_02_bare_lf ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_04_bare_lf_between_text ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_06_consecutive_bare_lfs ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_05_crlf_between_text ... ok test ansi::tests::renders_expected_plain_text::case_5_ansi_and_percent_marker ... ok test ansi::tests::wide_character_on_a_one_column_screen ... ok test ansi::tests::output_still_on_the_alternate_screen_is_returned ... ok test ansi::tests::alternate_screen_output_is_dropped_once_it_is_left ... ok test ansi::tests::interior_and_leading_blank_lines_are_kept ... ok test ansi::tests::long_lines_wrap_at_the_column_boundary ... ok test ansi::tests::trailing_blank_lines_are_trimmed ... ok test ansi::tests::row_padding_is_trimmed_but_wrapped_spaces_are_kept ... ok test ansi::tests::renders_expected_plain_text::case_9_tab_expands_to_spaces ... ok test ansi::tests::renders_expected_plain_text::case_7_carriage_return_rewrite ... ok test ansi::tests::renders_expected_plain_text::case_6_utf8_after_backspace ... ok test ansi::tests::renders_expected_plain_text::case_8_bare_lf_is_newline ... ok test ansi::tests::renders_expected_plain_text::case_4_backspace_storm ... ok test ansi::tests::renders_expected_plain_text::case_1_plain ... ok test ansi::tests::renders_expected_plain_text::case_3_single_backspace ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_5_blank ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_4_quote ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_3_phrase ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_2_many ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_1_single ... ok test ansi::tests::rows_scrolled_off_the_screen_are_still_returned::case_1_one_row ... ok test ansi::tests::rows_scrolled_off_the_screen_are_still_returned::case_3_taller_than_the_output ... ok test ansi::tests::rows_scrolled_off_the_screen_are_still_returned::case_2_shorter_than_the_output ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_3_words_of_a_term_are_a_phrase ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_2_terms_are_anded ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_6_blank_term_is_skipped ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_7_operator_char_kept_literal ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_8_no_terms_is_none ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_9_whitespace_only_is_none ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_5_surrounding_whitespace_trimmed ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_1_single_term ... ok test db::sqlite::fts::tests::match_expression_escapes_each_term::case_4_embedded_quote_is_doubled ... ok test db::sqlite::fts::tests::prefix_match_expression_prefixes_the_last_term::case_5_empty_is_none ... ok test db::sqlite::fts::tests::prefix_match_expression_prefixes_the_last_term::case_4_embedded_quote_is_doubled ... ok test db::sqlite::fts::tests::prefix_match_expression_prefixes_the_last_term::case_2_only_the_last_term ... ok test db::sqlite::fts::tests::prefix_match_expression_prefixes_the_last_term::case_1_single_term ... ok test db::sqlite::fts::tests::prefix_match_expression_prefixes_the_last_term::case_3_trailing_whitespace_finishes_the_term ... ok test db::sqlite::fts::tests::prefix_match_expression_prefixes_the_last_term::case_6_whitespace_only_is_none ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_4_punctuation_only ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_1_start_of_body ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_5_operator_soup ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_1_partial_token ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_3_multibyte_prefix ... ok test db::sqlite::fts::tests::bind_match_query_neutralizes_fts5_operators ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_3_finished_term_is_not_a_prefix ... ok test db::sqlite::fts::tests::highlight_of_an_unmatched_column_yields_no_ranges ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_2_partial_phrase ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_2_middle_of_body ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_6_stray_source_marker ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_5_two_matches_case_preserved ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_4_multibyte_match ... ok test db::sqlite::observe::tests::handle_forwards_stream_items ... ok test db::sqlite::observe::driver::tests::append_rewinds_when_delivered_rows_are_deleted_and_their_rowids_reused ... ok test db::sqlite::tests::quote_ident_misspelled_column_is_an_error ... ok test db::sqlite::info::tests::query_version_waits_out_a_schema_lock ... ok test db::sqlite::tests::quote_ident_round_trips::case_2_double_quote ... ok test db::sqlite::tests::quote_ident_round_trips::case_3_statement_breakout ... ok test db::tests::banned_pattern_classifies::case_01_bare_star ... ok test db::tests::banned_pattern_classifies::case_02_many_spaces_star ... ok test db::tests::banned_pattern_classifies::case_03_tab_star ... ok test db::tests::banned_pattern_classifies::case_04_newline_star ... ok test db::tests::banned_pattern_classifies::case_05_qualified_star ... ok test db::tests::banned_pattern_classifies::case_06_star_amongst_columns ... ok test db::tests::banned_pattern_classifies::case_07_alter ... ok test db::tests::banned_pattern_classifies::case_08_alter_upper ... ok test db::tests::banned_pattern_classifies::case_09_explicit ... ok test db::tests::banned_pattern_classifies::case_10_count_star ... ok test db::tests::banned_pattern_classifies::case_11_pragma ... ok test db::tests::banned_pattern_classifies::case_12_scalar_fn ... ok test db::tests::banned_pattern_classifies::case_13_insert ... ok test db::tests::banned_pattern_classifies::case_14_migration_only_add ... ok test db::sqlite::tests::quote_ident_round_trips::case_1_backtick ... ok test db::tests::db_url_as_str_matches_view::case_1_postgres ... ok test db::tests::db_url_as_str_matches_view::case_2_mysql ... ok test db::tests::db_url_as_str_matches_view::case_3_sqlite ... ok test db::tests::db_url_debug_redacts_passwords::case_1_postgres_password ... ok test db::tests::db_url_debug_redacts_passwords::case_2_mysql_password ... ok test db::tests::db_url_debug_redacts_passwords::case_3_postgres_no_password ... ok test db::tests::db_url_debug_redacts_passwords::case_4_sqlite ... ok test db::tests::db_url_rejects_unknown_scheme::case_1_redis ... ok test db::tests::db_url_rejects_unknown_scheme::case_2_bare ... ok test db::sqlite::observe::driver::tests::from_now_anchors_on_the_newest_row::case_1_rowid_reused ... ok test db::tests::db_url_serde_round_trips_through_the_real_connection_string ... ok test db::sqlite::observe::driver::tests::from_now_anchors_on_the_newest_row::case_2_wiped ... ok test db::tests::sqlite_url_reaches_sqlx_byte_for_byte::case_1_path ... ok test db::tests::sqlite_url_reaches_sqlx_byte_for_byte::case_2_memory ... ok test db::sqlite::observe::driver::tests::append_tail_emits_new_rows_in_order ... ok test dirs::tests::ai_items_do_without_a_home_dir_given_xdg_config_home::child_1___permissions_ai_toml__ ... ok test dirs::tests::ai_items_do_without_a_home_dir_given_xdg_config_home::child_2___skills_foo_SKILL_md__ ... ok test dirs::tests::an_old_home_scoped_ai_file_is_not_the_global_one::item_2___skills__ ... ok test dirs::tests::an_old_home_scoped_ai_file_is_not_the_global_one::item_1___permissions_ai_toml__ ... ok test dirs::tests::atuin_home_converts_to_its_path::case_1_set ... ok test dirs::tests::atuin_home_converts_to_its_path::case_2_default ... ok test dirs::tests::atuin_theme_dir_is_ignored_for_other_items::child_1___config_toml__ ... ok test dirs::tests::atuin_theme_dir_is_ignored_for_other_items::child_2___permissions_ai_toml__ ... ok test dirs::tests::atuin_theme_dir_is_ignored_for_other_items::child_3___skills_foo_SKILL_md__ ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_1____themes________::atuin_home_set_1_false::in_home_1_false ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_1____themes________::atuin_home_set_2_true::in_home_1_false ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_1____themes________::atuin_home_set_1_false::in_home_2_true ... ok test db::tests::explicit_columns_survive_add_column::case_1_add_one ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_2____themes_dark_toml_____dark_toml___::atuin_home_set_1_false::in_home_1_false ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_1____themes________::atuin_home_set_2_true::in_home_2_true ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_2____themes_dark_toml_____dark_toml___::atuin_home_set_1_false::in_home_2_true ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_2____themes_dark_toml_____dark_toml___::atuin_home_set_2_true::in_home_1_false ... ok test dirs::tests::atuin_theme_dir_is_used_only_without_atuin_home_or_its_themes::__destruct_1_2____themes_dark_toml_____dark_toml___::atuin_home_set_2_true::in_home_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test db::sqlite::observe::driver::tests::concurrent_writers_no_loss ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test db::sqlite::observe::driver::tests::replay_controls_preexisting_rows::case_1_from_now ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test db::tests::explicit_columns_survive_add_column::case_2_add_several ... ok test db::sqlite::observe::driver::tests::a_query_error_surfaces_and_the_tail_takes_the_table_up_again ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test db::tests::a_qualified_star_is_always_rejected ... ok test db::sqlite::observe::driver::tests::append_tails_reserved_word_identifiers ... ok test db::sqlite::observe::driver::tests::mutate_ignores_value_preserving_write ... ok test db::sqlite::observe::driver::tests::mutate_detects_insert_update_delete ... ok test db::sqlite::observe::driver::tests::replay_controls_preexisting_rows::case_2_all ... ok test db::sqlite::observe::driver::tests::append_without_identity_never_rewinds ... ok test db::sqlite::observe::driver::tests::append_replay_all_crosses_page_boundary ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test db::tests::a_bare_star_selector_is_always_rejected ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_1____config_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_2____server_toml___true_false_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test db::sqlite::observe::driver::tests::slow_consumer_loses_no_rows ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_3____themes_dark_toml___false_true_false_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_4____permissions_ai_toml___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_1_false::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_1_false::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_1_Install__AtuinHomeSet::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_2_Install__Legacy::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_looked_up_in_priority_order::__destruct_1_5____skills_foo_SKILL_md___false_false_true_::config_dir_set_2_true::in_config_dir_2_true::install_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_1___config_toml__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_2___server_toml__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___permissions_ai_toml__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___skills__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___themes__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_path_does_without_a_home_dir_where_it_can::case_1_atuin_config_dir ... ok test dirs::tests::config_path_does_without_a_home_dir_where_it_can::case_2_atuin_theme_dir ... ok test dirs::tests::config_path_panics_without_a_home_dir_as_a_last_resort - should panic ... ok test dirs::tests::empty_atuin_theme_dir_is_unset ... ok test dirs::tests::config_path_rejects_non_items::case_1_empty - should panic ... ok test dirs::tests::config_path_rejects_non_items::case_2_absolute - should panic ... ok test dirs::tests::config_path_rejects_non_items::case_3_parent - should panic ... ok test dirs::tests::legacy_config_is_shadowed_once_atuin_home_has_one ... ok test dirs::tests::legacy_data_dir_is_shadowed_once_atuin_home_has_one::xdg_data_2_true ... ok test dirs::tests::missing_config_avoids_hiding_the_home_config::item_1___config_toml__ ... ok test dirs::tests::missing_config_avoids_hiding_the_home_config::item_2___server_toml__ ... ok test dirs::tests::missing_uncreated_item_resolves_to_atuin_home ... ok test dirs::tests::legacy_data_dir_is_shadowed_once_atuin_home_has_one::xdg_data_1_false ... ok test dirs::tests::test_atuin_home ... ok test dirs::tests::nested_config_paths_are_resolved_by_their_top_level_item ... ok test dirs::tests::test_atuin_home_empty ... ok test dirs::tests::test_atuin_home_relative ... ok test dirs::tests::test_atuin_home_absolute ... ok test dirs::tests::test_legacy_config_dir_xdg ... ok test dirs::tests::test_legacy_config_dir_xdg_empty ... ok test dirs::tests::test_legacy_config_dir ... ok test dirs::tests::test_legacy_data_dir ... ok test dirs::tests::test_legacy_data_dir_xdg ... ok test dirs::tests::test_legacy_data_dir_xdg_empty ... ok test dirs::tests::unconfigured_data_dir_avoids_hiding_the_home_data_dir ... ok test dirs::tests::unconfigured_data_dir_ignores_legacy_when_atuin_home_is_set ... ok test dirs::tests::unconfigured_data_dir_is_new_by_default ... ok test dirs::tests::unconfigured_data_dir_is_legacy_when_only_legacy_exists ... ok test docs::tests::this_build_resolves_to_a_published_version ... ok test dirs::tests::unconfigured_data_dir_is_new_when_both_exist ... ok test docs::tests::urls_are_absolute_and_versioned ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_1_stable_patch_zero ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_2_stable_patch_one ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_3_stable_major_bump ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_4_stable_large ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_5_prerelease_beta ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_7_prerelease_rc ... ok test db::tests::explicit_column_lists_are_allowed ... ok test encryption::paseto_v4::test::decode_blank_key_is_error_not_panic::case_1_empty ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_6_prerelease_beta_older ... ok test encryption::paseto_v4::test::decodes_supported_key_encoding::case_1_legacy_v11 ... ok test encryption::paseto_v4::test::decode_blank_key_is_error_not_panic::case_2_whitespace ... ok test encryption::paseto_v4::test::key_encodes_to_canonical_form ... ok test encryption::paseto_v4::test::key_file_is_owner_only::preexisting_1_false ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_5_non_canonical_base64 ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_1_empty ... ok test encryption::paseto_v4::test::key_file_is_owner_only::preexisting_2_true ... ok test encryption::paseto_v4::test::encrypted_data_wire_format_is_stable ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_2_plaintext_manifest ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_4_not_base64 ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_3_token_with_footer ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_6_cek_wrong_shape ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_reformatted_cek_json ... ok test encryption::paseto_v4::test::encrypted_bytes_round_trip_and_shrink ... ok test encryption::paseto_v4::test::overwrite_path_replaces_an_existing_key ... ok test encryption::paseto_v4::test::decodes_supported_key_encoding::case_2_canonical ... ok test env::tests::dropping_the_mock_uninstalls_it ... ok test env::tests::non_unicode_values_are_reported_like_std ... ok test env::tests::set_and_removed_variables_are_read_from_the_mock ... ok test env::tests::a_mock_starts_out_empty ... ok test encryption::paseto_v4::test::try_write_path_leaves_no_temporary_files ... ok test env::tests::the_real_environment_is_read_without_a_mock ... ok test env::tests::var_abspath_ignores_relative_paths::case_1_absolute ... ok test env::tests::var_abspath_ignores_relative_paths::case_2_relative ... ok test env::tests::var_abspath_ignores_relative_paths::case_3_empty ... ok test env::tests::var_nonempty_treats_empty_as_unset::case_1_empty ... ok test env::tests::var_nonempty_treats_empty_as_unset::case_2_nonempty ... ok test executable::tests::finds_programs_on_path_and_by_path_on_windows ... ignored, Windows programs and PATHEXT test filter::tests::all_filter_contains_everything ... ok test executable::tests::finds_programs_on_path_and_by_path_on_unix ... ok test filter::tests::all_filter_has_no_items ... ok test filter::tests::compare_with_a_non_all_filter::case_1 ... ok test filter::tests::compare_with_a_non_all_filter::case_2 ... ok test filter::tests::compare_with_a_non_all_filter::case_3 ... ok test filter::tests::compare_with_a_non_all_filter::case_4 ... ok test filter::tests::compare_with_a_non_all_filter::case_7 ... ok test filter::tests::compare_with_a_non_all_filter::case_5 ... ok test filter::tests::compare_with_a_non_all_filter::case_6 ... ok test filter::tests::compare_with_an_all_filter::case_1 ... ok test filter::tests::compare_with_an_all_filter::case_2 ... ok test filter::tests::compare_with_an_all_filter::case_3 ... ok test filter::tests::contains_only_listed_items::case_3 ... ok test filter::tests::contains_only_listed_items::case_2 ... ok test filter::tests::contains_only_listed_items::case_5 ... ok test filter::tests::contains_only_listed_items::case_1 ... ok test filter::tests::contains_only_listed_items::case_6 ... ok test filter::tests::contains_only_listed_items::case_4 ... ok test filter::tests::from_list_of_a_mut_slice_sorts_and_dedupes::case_1 ... ok test filter::tests::from_list_of_a_mut_slice_sorts_and_dedupes::case_2 ... ok test filter::tests::from_list_of_a_mut_slice_sorts_and_dedupes::case_4 ... ok test filter::tests::from_list_of_a_mut_slice_sorts_and_dedupes::case_3 ... ok test filter::tests::from_list_of_a_mut_slice_sorts_and_dedupes::case_5 ... ok test filter::tests::from_list_rejects_an_empty_list ... ok test filter::tests::from_list_of_none_is_an_all_filter ... ok test fs::lock::tests::test_open_creates_file_and_parents::mode_1_LockMode__Shared ... ok test filter::tests::from_list_sorts_and_dedupes ... ok test fs::lock::tests::test_open_without_create::mode_1_LockMode__Shared ... ok test fs::lock::tests::test_open_without_create::mode_2_LockMode__Exclusive ... ok test fs::lock::tests::test_try_open_contention::case_1_shared_shared ... ok test filter::tests::into_list_returns_the_sorted_items ... ok test fs::lock::tests::test_try_open_contention::case_2_shared_exclusive ... ok test fs::lock::tests::test_open_creates_file_and_parents::mode_2_LockMode__Exclusive ... ok test executable::tests::finds_programs_on_path ... ok test fs::lock::tests::test_try_open_contention::case_3_exclusive_shared ... ok test fs::lock::tests::test_try_open_contention::case_4_exclusive_exclusive ... ok test fs::lock::tests::test_wait_contention::case_1_shared_shared ... ok test fs::tests::newest_modified_finds_the_newest_file_in_the_tree ... ok test fs::tests::a_file_that_appears_meanwhile_is_never_replaced ... ok test fs::tests::a_replace_whose_directory_fails_to_sync_says_it_replaced_the_file ... ok test fs::tests::newest_modified_is_none_without_files::case_1_missing ... ok test fs::tests::newest_modified_is_none_without_files::case_2_empty ... ok test fs::tests::replace_moves_a_whole_new_file_into_place_only_if_unchanged::case_1_unchanged ... ok test fs::tests::replace_moves_a_whole_new_file_into_place_only_if_unchanged::case_2_changed ... ok test fs::tests::write_new_writes_a_new_file_and_never_replaces_one ... ok test fs::tree_watcher::poller::tests::a_new_directory_yields_the_files_already_in_it::case_1_created ... ok test fs::tree_watcher::poller::tests::a_new_directory_yields_the_files_already_in_it::case_2_moved_in ... ok test fs::tree_watcher::poller::tests::observe_content_event_forgets_vanished_file::case_2_metadata ... ok test fs::tree_watcher::poller::tests::observe_content_event_forgets_vanished_file::case_1_data ... ok test fs::tree_watcher::poller::tests::observe_content_event_ignores_the_root ... ok test fs::tree_watcher::poller::tests::observe_content_event_signals_change::case_1_data ... ok test fs::tree_watcher::poller::tests::observe_content_event_signals_change::case_2_metadata ... ok test fs::tree_watcher::poller::tests::observe_content_event_signals_change::case_3_any ... ok test fs::tree_watcher::poller::tests::a_new_directory_yields_the_files_already_in_it::case_3_renamed ... ok test fs::tree_watcher::poller::tests::observe_create_event_observes_only_existing::case_1 ... ok test fs::tree_watcher::poller::tests::observe_content_event_signals_change::case_4_close_write ... ok test fs::tree_watcher::poller::tests::observe_create_event_observes_only_existing::case_2 ... ok test fs::tree_watcher::poller::tests::observe_rename_any_forgets_moved_out_file ... ok test fs::tree_watcher::poller::tests::observe_remove_event_forgets ... ok test fs::tree_watcher::poller::tests::observe_rename_any_observes_moved_in_file ... ok test fs::tree_watcher::poller::tests::observe_rename_both_moves_the_file ... ok test filter::tests::an_all_filter_contains_everything ... ok test fs::lock::tests::test_wait_contention::case_2_shared_exclusive ... ok test fs::lock::tests::test_wait_after_release ... ok test fs::lock::tests::test_wait_contention::case_3_exclusive_shared ... ok test fs::tree_watcher::tests::content_mark_written_within::case_1_fresh ... ok test fs::tree_watcher::tests::content_mark_written_within::case_3_past_window ... ok test fs::tree_watcher::tests::content_mark_written_within::case_2_at_window ... ok test fs::lock::tests::test_wait_contention::case_4_exclusive_exclusive ... ok test fs::tree_watcher::tests::content_mark_written_within::case_4_future ... ok test fs::tree_watcher::tests::content_mark_written_within::case_5_far_future ... ok test fs::tree_watcher::tests::content_mark_written_within::case_6_unknown ... ok test fs::tree_watcher::tests::append_signals_change_via_events ... ok test fs::tree_watcher::tests::created_file_is_yielded ... ok test fs::tree_watcher::tests::dropping_the_watcher_closes_every_stat ... ok test fs::tree_watcher::tests::only_regular_files_are_yielded ... ok test filter::tests::an_all_filter_compares_equal_only_to_none ... ok test fs::tree_watcher::tests::periodic_scan_reconciles_when_events_are_delayed::case_1_appearance ... ok test fs::tree_watcher::tests::append_signals_change_when_events_are_delayed::case_1_content_poll ... ok test filter::tests::from_list_sorts_dedupes_and_rejects_empty_lists ... ok test fs::tree_watcher::tests::recursion_controls_nested_files::case_1 ... ok test fs::tree_watcher::tests::watch_rejects_bad_root::case_1_missing_root ... ok test fs::tree_watcher::tests::watch_rejects_bad_root::case_2_file_root ... ok test fs::tree_watcher::tracker::tests::forget_closes_the_stat ... ok test fs::tree_watcher::tracker::tests::forget_tree_drops_subtree::case_1_of_a_directory ... ok test filter::tests::mut_slice_storage_agrees_with_vec_storage ... ok test fs::tree_watcher::tracker::tests::forget_tree_drops_subtree::case_2_of_a_path_with_no_entry ... ok test fs::tree_watcher::tracker::tests::forget_tree_of_a_file_removes_only_that_entry::case_1_tracked ... ok test fs::tree_watcher::tracker::tests::forget_tree_of_a_file_removes_only_that_entry::case_2_rejected ... ok test fs::tree_watcher::tracker::tests::mark_change_updates_the_stat_in_place ... ok test filter::tests::contains_agrees_with_the_item_set ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_kind_change_from_dir_drops_descendants::case_1_accepted ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_kind_change_from_dir_drops_descendants::case_2_rejected ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_re_yields_a_file_after_a_kind_change ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_yields_a_file_once ... ok test fs::tree_watcher::tracker::tests::reconcile_adds_and_removes ... ok test fs::tree_watcher::tracker::tests::reconcile_keeps_nodes_under_unreadable_dir ... ok test filter::tests::slice_and_vec_views_preserve_the_items ... ok test fs::tree_watcher::tracker::tests::reconcile_prunes_removed_subtree_descendants ... ok test fs::tree_watcher::tests::deleted_file_closes_its_stat ... ok test fs::tree_watcher::tests::truncate_signals_smaller_size ... ok test fs::tree_watcher::tracker::tests::reconcile_signals_mark_change ... ok test fs::tree_watcher::tracker::tests::reconcile_repairs_kind_swap ... ok test fs::tree_watcher::tracker::tests::reconcile_without_prune_keeps_missing ... ok test fs::tree_watcher::tracker::tests::rejected_files_are_re_offered_and_not_recorded ... ok test fs::tree_watcher::tracker::tests::written_within_selects_tracked_files_inside_the_window ... ok test filter::tests::into_list_returns_the_items ... ok test fs::tree_watcher::walk::tests::scan_recursion_controls_descent::case_2 ... ok test fs::tree_watcher::walk::tests::poll_of_unreadable_root_prunes_nothing ... ok test fs::tree_watcher::walk::tests::scan_does_not_follow_symlinked_dirs ... ok test fs::tree_watcher::walk::tests::scan_recursion_controls_descent::case_1 ... ok test fs::tree_watcher::walk::tests::scan_reports_incomplete_on_unreadable_root ... ok test futures::stream::chunked::tests::dropping_midstream_drops_every_item_exactly_once ... ok test fs::tree_watcher::tests::append_signals_change_when_events_are_delayed::case_2_scan ... ok test futures::stream::chunked::tests::constructors_pull_lazily ... ok test futures::stream::chunked::tests::collects_from_an_iterator_of_chunks ... ok test futures::stream::chunked::tests::empty_yields_no_chunks_not_one_empty_chunk ... ok test futures::stream::chunked::tests::forwards_pending_and_the_upstream_wake ... ok test futures::stream::chunked::tests::from_error_is_one_err_chunk ... ok test futures::stream::chunked::tests::map_and_items_move_owned_elements_without_cloning ... ok test futures::stream::chunked::tests::items_resumes_across_a_pending_chunk_boundary ... ok test futures::stream::chunked::tests::items_yields_a_nameable_stream_type ... ok test futures::stream::chunked::tests::map_runs_closure_lazily_once_per_item ... ok test futures::stream::chunked::tests::map_transforms_per_item_and_keeps_chunk_boundaries::case_1 ... ok test futures::stream::chunked::tests::map_transforms_per_item_and_keeps_chunk_boundaries::case_2 ... ok test futures::stream::chunked::tests::stream_keeps_empty_chunks_items_flattens_them::case_1 ... ok test futures::stream::chunked::tests::map_closure_panic_surfaces_at_the_offending_chunks_poll ... ok test futures::stream::chunked::tests::stream_keeps_empty_chunks_items_flattens_them::case_3 ... ok test futures::stream::chunked::tests::stream_keeps_empty_chunks_items_flattens_them::case_2 ... ok test futures::stream::chunked::tests::stream_keeps_empty_chunks_items_flattens_them::case_4 ... ok test futures::stream::chunked::tests::stream_keeps_empty_chunks_items_flattens_them::case_5 ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_1 ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_2 ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_3 ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_4 ... ok test fs::tree_watcher::tests::rename_moves_the_file ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_6 ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_5 ... ok test futures::stream::chunked::tests::try_collect_gathers_ok_or_short_circuits_first_error::case_7 ... ok test futures::stream::chunked::tests::try_collect_short_circuits_before_a_pending_tail ... ok test futures::stream::merge::tests::joins_by_key_across_differing_item_types ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_1 ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_2 ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_3 ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_4 ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_5 ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_6 ... ok test futures::stream::merge::tests::stops_reading_after_the_first_error ... ok test fs::tree_watcher::tests::periodic_scan_reconciles_when_events_are_delayed::case_2_disappearance ... ok test futures::stream::merge::tests::surfaces_the_first_error::case_1_left_first ... ok test filter::tests::compare_matches_set_equality ... ok test futures::stream::merge::tests::surfaces_the_first_error::case_2_left_mid ... ok test futures::stream::merge::tests::surfaces_the_first_error::case_3_right_first ... ok test futures::stream::merge::tests::surfaces_the_first_error::case_4_right_mid ... ok test futures::stream::tests::chunks_match_expected::case_1_empty ... ok test futures::stream::tests::chunks_match_expected::case_2_single ... ok test futures::stream::tests::chunks_match_expected::case_3_max_one_splits_every_item ... ok test filter::tests::equality_is_set_equality ... ok test futures::stream::tests::chunks_match_expected::case_4_alternating_keys ... ok test futures::stream::tests::chunks_match_expected::case_5_run_exactly_max ... ok test futures::stream::tests::chunks_match_expected::case_8_split_run_then_key_change ... ok test futures::stream::tests::chunks_match_expected::case_9_huge_max ... ok test futures::stream::tests::full_chunk_emits_without_peeking_past_the_bound ... ok test futures::stream::tests::chunks_match_expected::case_6_run_longer_than_max ... ok test futures::stream::tests::chunks_match_expected::case_7_mixed ... ok test futures::stream::tests::groups_by_key_not_value ... ok test futures::stream::tests::groups_owned_items_by_projected_key::case_1 ... ok test futures::stream::tests::groups_owned_items_by_projected_key::case_2 ... ok test futures::stream::tests::items_are_borrowed_for_keying_and_moved_into_chunks_never_cloned ... ok test futures::stream::tests::key_is_invoked_per_peek_and_per_chunk_target::case_1 ... ok test futures::stream::tests::key_is_invoked_per_peek_and_per_chunk_target::case_2 ... ok test futures::stream::tests::key_is_invoked_per_peek_and_per_chunk_target::case_3 ... ok test futures::stream::tests::key_is_invoked_per_peek_and_per_chunk_target::case_4 ... ok test futures::stream::tests::key_panic_surfaces_on_the_poll_that_peeks_the_offending_item ... ok test futures::stream::tests::pending_then_closed_empty_source_yields_nothing ... ok test futures::stream::tests::split_run_stays_grouped_by_key ... ok test futures::stream::tests::sub_max_run_withheld_until_a_differing_key_is_peeked ... ok test futures::tests::retry_blocking_breaks_after::case_1_first_attempt ... ok test futures::tests::retry_blocking_breaks_after::case_2_after_retries ... ok test futures::stream::chunked::tests::chunk_views_agree ... ok test futures::tests::retry_blocking_gives_up_after_timeout ... ok test futures::stream::chunked::tests::streams_are_send_and_drive_by_reference ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_1_member_assigned ... ok test futures::tests::second_attempt_waits_for_the_backoff ... ok test futures::stream::chunked::tests::map_commutes_with_items ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_4_passed_elsewhere ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_5_pushed ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_6_incremented ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_7_changed_in_template ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_8_reassigned_in_template ... ok test futures::stream::merge::tests::by_variant_matches_itertools_under_a_custom_order ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_1_paren_in_object ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_2_shadowed_in_block ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_3_shadowed_by_parameter ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_2_bracket_in_object ... ok test futures::stream::merge::tests::matches_itertools_merge_join_by ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_4_brace_in_list ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_3_paren_in_list ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_1_single_quotes ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_2_hex_and_unicode ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_3_continuation ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_4_nested ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_5_shorthand ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_6_named ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_7_joined ... ok test harnesstools::access::script::tests::arguments_are_read_as_literals::case_8_comments ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_1_computed_member ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_2_unknown_name ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_3_interpolation ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_5_joined_with_other ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_4_reassigned ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_6_indexed ... ok test harnesstools::access::script::tests::what_is_not_literal_is_not_whole::case_7_passed_on ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_01_regex_after_if ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_02_regex_after_block ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_03_division_after_increment ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_04_regex_after_empty_block ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_05_open_string ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_06_open_comment ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_07_tools_in_a_string ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_08_escaped_tools ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_09_escaped_tools_braced ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_10_escaped_name ... ok test harnesstools::access::script::tests::what_may_be_misread_is_not_whole::case_11_escaped_shadow ... ok test harnesstools::access::tests::a_call_not_a_script_is_one_access::case_1_other_tool ... ok test harnesstools::access::tests::what_a_call_touches::case_01_claude_bash ... ok test harnesstools::access::tests::a_call_not_a_script_is_one_access::case_2_exec_with_arguments ... ok test harnesstools::access::tests::what_a_call_touches::case_03_codex_exec ... ok test harnesstools::access::tests::what_a_call_touches::case_04_kiro_bash ... ok test harnesstools::access::tests::what_a_call_touches::case_02_codex_argv ... ok test harnesstools::access::tests::what_a_call_touches::case_05_kiro_bash_redirect ... ok test harnesstools::access::tests::what_a_call_touches::case_07_claude_read ... ok test harnesstools::access::tests::what_a_call_touches::case_06_kiro_pwsh ... ok test harnesstools::access::tests::what_a_call_touches::case_09_grep ... ok test harnesstools::access::tests::what_a_call_touches::case_08_opencode_read ... ok test harnesstools::access::tests::what_a_call_touches::case_11_pi_edit ... ok test harnesstools::access::tests::what_a_call_touches::case_12_kiro_fs_write ... ok test harnesstools::access::tests::what_a_call_touches::case_10_claude_write ... ok test futures::stream::chunked::tests::items_flattens_under_arbitrary_pending ... ok test harnesstools::access::tests::what_a_call_touches::case_14_kiro_str_replace ... ok test harnesstools::access::tests::what_a_call_touches::case_13_kiro_fs_append ... ok test harnesstools::access::tests::what_a_call_touches::case_15_mcp_write ... ok test harnesstools::access::tests::what_a_call_touches::case_16_patch_freeform ... ok test harnesstools::access::tests::what_a_call_touches::case_18_patch_amp ... ok test harnesstools::access::tests::what_a_call_touches::case_19_patch_by_shell ... ok test harnesstools::access::tests::what_a_call_touches::case_20_redirect ... ok test harnesstools::access::tests::what_a_call_touches::case_17_patch_object ... ok test harnesstools::access::tests::what_a_call_touches::case_21_redirect_attached ... ok test harnesstools::access::tests::what_a_call_touches::case_22_heredoc ... ok test harnesstools::access::tests::what_a_call_touches::case_23_tee ... ok test harnesstools::access::tests::what_a_call_touches::case_25_opencode_patch ... ok test harnesstools::access::tests::what_a_call_touches::case_26_other ... ok test harnesstools::access::tests::what_a_call_touches::case_24_descriptor ... ok test harnesstools::access::tests::what_a_call_touches::case_27_uncaptured ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_1_joined_list ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_3_template_of_pieces ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_4_appended ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_2_split_joined ... ok test futures::stream::tests::holds_invariants ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_5_computed_workdir ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_6_patch_interpolated ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_7_indexed ... ok test harnesstools::access::tests::what_a_script_runs_is_known_only_read_whole::case_8_literal ... ok test harnesstools::access::tests::what_a_script_touches::case_1_one_command ... ok test harnesstools::access::tests::what_a_script_touches::case_3_parallel ... ok test harnesstools::access::tests::what_a_script_touches::case_4_template ... ok test harnesstools::access::tests::what_a_script_touches::case_2_quoted_keys_and_escapes ... ok test harnesstools::amp::export::tests::a_summary_block_is_a_summary ... ok test harnesstools::access::tests::what_a_script_touches::case_5_patch_by_name ... ok test harnesstools::access::tests::what_a_script_touches::case_6_regex_holding_a_quote ... ok test harnesstools::access::tests::what_a_script_touches::case_7_no_tools ... ok test harnesstools::amp::export::tests::messages_without_ids_are_kept ... ok test harnesstools::amp::export::tests::reads_why_a_message_stopped::case_1_cancelled ... ok test harnesstools::amp::export::tests::reads_why_a_message_stopped::case_2_errored ... ok test harnesstools::amp::export::tests::reads_why_a_message_stopped::case_3_complete ... ok test harnesstools::amp::export::tests::reads_an_exported_thread ... ok test harnesstools::amp::export::tests::reads_why_a_message_stopped::case_4_none ... ok test harnesstools::amp::tests::resumes_by_continuing_the_thread ... ok test harnesstools::ccode::rehydrate::tests::a_compaction_starts_a_new_tree ... ok test futures::stream::tests::key_tagged_invariants ... ok test harnesstools::ccode::rehydrate::tests::a_cycle_closed_by_clock_skew_is_cut ... ok test harnesstools::ccode::rehydrate::tests::a_compaction_synced_as_a_cycle_keeps_its_history ... ok test harnesstools::ccode::rehydrate::tests::a_result_without_a_patch_keeps_its_text ... ok test fs::tree_watcher::tests::filter_limits_the_yielded_files ... ok test harnesstools::ccode::rehydrate::tests::a_system_line_with_text_above_attachments_is_no_boundary ... ok test harnesstools::ccode::rehydrate::tests::a_shell_commands_result_gets_its_diff_back ... ok test harnesstools::ccode::rehydrate::tests::an_edits_result_gets_its_record_back::case_1_edit ... ok test harnesstools::ccode::rehydrate::tests::an_edits_result_gets_its_record_back::case_2_write ... ok test harnesstools::ccode::rehydrate::tests::an_edits_result_gets_its_record_back::case_3_multi_edit ... ok test harnesstools::ccode::rehydrate::tests::an_edits_result_gets_its_record_back::case_4_created ... ok test futures::stream::tests::grouping_is_invariant_to_upstream_readiness ... ok test harnesstools::ccode::rehydrate::tests::line_directories_have_no_trailing_separator::case_1_same_directory::pwd_with_slash_1_false ... ok test harnesstools::ccode::rehydrate::tests::line_directories_have_no_trailing_separator::case_1_same_directory::pwd_with_slash_2_true ... ok test harnesstools::ccode::rehydrate::tests::line_directories_have_no_trailing_separator::case_2_subdirectory::pwd_with_slash_1_false ... ok test harnesstools::ccode::rehydrate::tests::calls_keep_their_turn_usage_and_model ... ok test harnesstools::ccode::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_1_session1 ... ok test harnesstools::ccode::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_4_compacted ... ok test harnesstools::ccode::rehydrate::tests::line_directories_have_no_trailing_separator::case_2_subdirectory::pwd_with_slash_2_true ... ok test harnesstools::ccode::rehydrate::tests::line_directories_have_no_trailing_separator::case_3_elsewhere::pwd_with_slash_1_false ... ok test harnesstools::ccode::rehydrate::tests::long_project_directories_are_shortened_with_a_hash ... ok test harnesstools::ccode::rehydrate::tests::line_directories_have_no_trailing_separator::case_3_elsewhere::pwd_with_slash_2_true ... ok test harnesstools::ccode::rehydrate::tests::never_overwrites_a_transcript ... ok test harnesstools::ccode::rehydrate::tests::project_directories_are_named_as_claude_code_names_them::case_1_root ... ok test harnesstools::ccode::rehydrate::tests::project_directories_are_named_as_claude_code_names_them::case_2_punctuation ... ok test harnesstools::ccode::rehydrate::tests::refuses_ids_that_are_not_file_names::case_1_bad_id ... ok test harnesstools::ccode::rehydrate::tests::refuses_ids_that_are_not_file_names::case_2_empty ... ok test harnesstools::ccode::rehydrate::tests::project_directories_are_named_as_claude_code_names_them::case_3_trailing_separator ... ok test harnesstools::ccode::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_2_session2 ... ok test harnesstools::ccode::rehydrate::tests::calls_synced_with_their_payloads_come_back_as_calls_the_api_takes::case_1_session1 ... ok test harnesstools::ccode::rehydrate::tests::the_tree_is_relinked_whatever_the_order ... ok test harnesstools::ccode::rehydrate::tests::calls_synced_with_their_payloads_come_back_as_calls_the_api_takes::case_3_compacted ... ok test harnesstools::ccode::rehydrate::tests::thinking_and_server_tools_are_dropped_and_the_tree_relinked ... ok test harnesstools::ccode::session::tests::a_compaction_that_kept_messages_follows_the_line_before_it::resumed_after_1_0 ... ok test harnesstools::ccode::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_3_session3 ... ok test harnesstools::ccode::session::tests::a_compaction_that_kept_messages_follows_the_line_before_it::resumed_after_2_2 ... ok test harnesstools::ccode::session::tests::a_compaction_that_kept_messages_reads_as_one_line ... ok test harnesstools::ccode::session::tests::a_compaction_that_kept_messages_follows_the_line_before_it::resumed_after_3_4 ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_1_lone_high_surrogate_at_the_end ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_3_two_high_surrogates ... ok test harnesstools::ccode::rehydrate::tests::calls_synced_with_their_payloads_come_back_as_calls_the_api_takes::case_2_session3 ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_2_lone_high_surrogate_before_text ... ok test harnesstools::ccode::session::tests::a_line_nothing_repairs_keeps_its_error ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_4_lone_low_surrogate ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_5_byte_order_mark ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_6_invalid_utf8 ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_1_session1 ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_1_edit ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_2_created ... ok test harnesstools::ccode::session::tests::a_shell_commands_record_keeps_its_diffs ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_4_shell_unknown_diff_shape ... ok test harnesstools::ccode::session::tests::a_transcript_is_read_as_claude_code_reads_it ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_5_text ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_4_compacted ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_3_shell ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_6_unknown_patch_shape ... ok test harnesstools::ccode::session::tests::api_error_line_is_an_error_not_a_synthetic_model ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_2_session2 ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_7_path_not_text ... ok test harnesstools::ccode::session::tests::api_request_blob_is_no_message::case_2_assistant ... ok test harnesstools::ccode::session::tests::api_request_blob_is_no_message::case_1_user ... ok test harnesstools::ccode::session::tests::away_recap_is_a_summary_of_its_own_role ... ok test harnesstools::ccode::session::tests::api_request_blob_is_no_message::case_3_system ... ok test harnesstools::ccode::session::tests::cache_write_falls_back_to_the_lifetime_split::case_1_total ... ok test harnesstools::ccode::session::tests::cache_write_falls_back_to_the_lifetime_split::case_2_split_only ... ok test harnesstools::ccode::session::tests::cache_write_falls_back_to_the_lifetime_split::case_3_neither ... ok test harnesstools::ccode::session::tests::compact_summary_is_a_summary::case_1 ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_1_current ... ok test harnesstools::ccode::session::tests::compact_boundary_keeps_its_logical_parent ... ok test harnesstools::ccode::session::tests::compact_summary_is_a_summary::case_2 ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_3_session3 ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_2_no_summary_tags ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_4_unknown_wrapper ... ok test harnesstools::access::script::tests::a_quoted_command_reads_back ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_3_older ... ok test harnesstools::ccode::session::tests::enrichment_is_none_when_the_harness_did_not_provide_it ... ok test harnesstools::ccode::session::tests::compaction_lines_are_system::case_1 ... ok test harnesstools::ccode::session::tests::compaction_lines_are_system::case_2 ... ok test harnesstools::ccode::session::tests::exposes_parent_line_parent_session_and_turn ... ok test harnesstools::ccode::session::tests::forked_line_names_the_session_it_was_forked_from ... ok test harnesstools::ccode::session::tests::image_blocks_drop_their_bytes ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_1_meta ... ok test harnesstools::ccode::session::tests::existing_skips_files_that_are_not_transcripts ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_2_task_notification ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_3_peer ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_5_interrupt ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_4_command_output ... ok test harnesstools::ccode::session::tests::events_read_a_transcript_written_just_before_since_at_once ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_6_fork_directive ... ok test harnesstools::ccode::session::tests::events_resume_each_session_from_its_checkpoint ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_7_subagent_meta ... ok test harnesstools::ccode::session::tests::interrupt_lines_end_the_turn::case_3 ... ok test harnesstools::ccode::session::tests::events_yields_messages_tagged_with_their_session ... ok test harnesstools::ccode::session::tests::interrupt_lines_end_the_turn::case_1 ... ok test harnesstools::ccode::session::tests::listener_opens_an_existing_root ... ok test harnesstools::ccode::session::tests::listener_reports_not_found_for_a_missing_root ... ok test harnesstools::ccode::session::tests::local_command_record_is_user_text ... ok test harnesstools::ccode::session::tests::interrupt_lines_end_the_turn::case_2 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_1 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_2 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_3 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_4 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_5 ... ok test harnesstools::ccode::session::tests::messages_streams_each_turn_of_a_session_file ... ok test harnesstools::ccode::session::tests::mock_session_calls_keep_their_turn_and_usage ... ok test harnesstools::ccode::session::tests::mock_session_tool_result_is_a_tool_line ... ok test harnesstools::ccode::session::tests::mock_session_user_text_is_each_prompt_once ... ok test harnesstools::ccode::session::tests::mock_session_compaction ... ok test harnesstools::ccode::session::tests::normalizes_a_user_string_message ... ok test harnesstools::ccode::session::tests::normalizes_assistant_enrichment_fields ... ok test harnesstools::ccode::session::tests::normalizes_assistant_tool_use_blocks ... ok test harnesstools::ccode::session::tests::queue_operation_has_no_content::case_1_enqueue ... ok test harnesstools::ccode::session::tests::queue_operation_has_no_content::case_2_remove ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_4 ... ok test harnesstools::ccode::session::tests::queue_operation_is_not_user_text::case_2 ... ok test harnesstools::ccode::session::tests::queue_operation_is_not_user_text::case_1 ... ok test harnesstools::ccode::session::tests::queue_operation_is_not_user_text::case_3 ... ok test harnesstools::ccode::session::tests::queued_harness_message_is_system::case_1_task_notification ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_2 ... ok test db::sqlite::observe::driver::tests::append_stream_is_a_strictly_ascending_run ... ok test harnesstools::ccode::session::tests::queued_harness_message_is_system::case_2_meta ... ok test harnesstools::ccode::session::tests::queued_prompt_is_user_text::case_2_prompt_mode ... ok test harnesstools::ccode::session::tests::queued_prompt_is_user_text::case_1_origin_human ... ok test harnesstools::ccode::session::tests::queued_prompt_is_user_text::case_3_coordinator ... ok test harnesstools::ccode::session::tests::queued_prompt_is_user_text::case_4_peer ... ok test harnesstools::ccode::session::tests::rejected_tool_call_feedback_is_the_users::case_1_with_feedback ... ok test harnesstools::ccode::session::tests::rejected_tool_call_feedback_is_the_users::case_2_without_feedback ... ok test harnesstools::ccode::session::tests::rejected_tool_call_feedback_is_the_users::case_3_blank_feedback ... ok test harnesstools::ccode::session::tests::response_aborted_mid_stream_is_aborted ... ok test harnesstools::ccode::session::tests::retried_api_error_keeps_what_went_wrong ... ok test harnesstools::ccode::session::tests::safeguard_notice_is_kept::case_1_refusal ... ok test harnesstools::ccode::session::tests::split_line_without_thinking_gains_no_reasoning_block::case_1_tool_use ... ok test harnesstools::ccode::session::tests::split_line_without_thinking_gains_no_reasoning_block::case_2_text ... ok test harnesstools::ccode::session::tests::server_tool_blocks_are_tool_calls ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_1 ... ok test harnesstools::ccode::session::tests::summary_line_exposes_its_title ... ok test harnesstools::ccode::session::tests::subagent_task_prompt_is_user_text ... ok test harnesstools::ccode::session::tests::subagent_parent_is_the_session_that_spawned_it::case_1_nested ... ok test harnesstools::ccode::session::tests::teammate_message_is_system ... ok test harnesstools::ccode::session::tests::thinking_line_carries_the_calls_thinking_tokens::case_1_final_usage::kind_1___thinking__ ... ok test harnesstools::ccode::session::tests::subagent_parent_is_the_session_that_spawned_it::case_2_top_level ... ok test harnesstools::ccode::session::tests::subagent_parent_is_the_session_that_spawned_it::case_3_no_metadata ... ok test harnesstools::ccode::session::tests::thinking_line_carries_the_calls_thinking_tokens::case_2_opening_usage::kind_1___thinking__ ... ok test harnesstools::ccode::session::tests::thinking_line_carries_the_calls_thinking_tokens::case_1_final_usage::kind_2___redacted_thinking__ ... ok test harnesstools::ccode::session::tests::thinking_line_carries_the_calls_thinking_tokens::case_2_opening_usage::kind_2___redacted_thinking__ ... ok test harnesstools::ccode::session::tests::title_lines_expose_the_title::case_1 ... ok test harnesstools::ccode::session::tests::title_lines_expose_the_title::case_2 ... ok test harnesstools::ccode::session::tests::title_lines_expose_the_title::case_3 ... ok test harnesstools::ccode::session::tests::title_lines_expose_the_title::case_4 ... ok test harnesstools::ccode::session::tests::tool_result_line_is_the_tools::case_2_without_tool_use_result ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_1_session ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_2_legacy_subagent ... ok test harnesstools::ccode::session::tests::tool_result_line_is_the_tools::case_1_tool_result ... ok test harnesstools::ccode::session::tests::tool_result_line_is_the_tools::case_3_split_image ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_3_subagent ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_4_workflow_agent ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_6_session_sidecar ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_5_workflow_journal ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_7_at_the_root ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_8_not_jsonl ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_01_stdout ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_02_stderr ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_3 ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_03_bash_output ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_07_inline_output ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_04_slash_command ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_06_bash_input ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_05_slash_command_without_args ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_08_unclosed_output ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_12_reminder_only ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_09_system_reminder ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_10_ide_opened_file ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_11_ide_selection ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_14_memory_note ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_13_not_a_known_tag ... ok test harnesstools::ccode::tests::the_config_dir_is_dot_claude_unless_overridden ... ok test harnesstools::codex::hook_trust::tests::a_config_trust_cant_be_recorded_in_is_refused::case_2_state_not_a_table ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_1_pre_dev ... ok test harnesstools::ccode::session::tests::watch_emits_sessions_as_files_appear ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_2_post_dev ... ok test harnesstools::codex::hook_trust::tests::a_config_trust_cant_be_recorded_in_is_refused::case_1_not_toml ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_3_pre ... ok test harnesstools::ccode::tests::hooks_install_under_claude_config_dir ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_4_post ... ok test harnesstools::codex::hook_trust::tests::atuins_hooks_are_trusted_where_they_are::case_2_inline ... ok test harnesstools::codex::hook_trust::tests::atuins_hooks_are_trusted_where_they_are::case_1_tables ... ok test harnesstools::codex::hook_trust::tests::the_key_names_hooks_json_in_codexs_real_home ... ok test fs::tree_watcher::tests::benign_mutation_does_not_re_yield_the_file::case_1_append ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_names_the_configured_provider::case_1_configured ... ok test harnesstools::codex::rehydrate::tests::a_compaction_comes_back_as_codex_writes_it::case_2_unreadable ... ok test harnesstools::codex::rehydrate::tests::a_compaction_comes_back_as_codex_writes_it::case_1_readable ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_names_the_configured_provider::case_2_default ... ok test harnesstools::codex::rehydrate::tests::a_patch_comes_back_as_its_file_changes::case_1_call ... ok test harnesstools::codex::rehydrate::tests::a_patch_comes_back_as_its_file_changes::case_2_script ... ok test fs::tree_watcher::tests::benign_mutation_does_not_re_yield_the_file::case_2_overwrite ... ok test harnesstools::codex::rehydrate::tests::an_archived_rollout_counts_as_existing ... ok test ansi::tests::to_plain_text_is_idempotent_on_clean_single_line ... ok test harnesstools::codex::rehydrate::tests::an_existing_rollout_is_never_replaced ... ok test harnesstools::codex::rehydrate::tests::an_id_codex_would_not_read_back_is_refused::case_2_a_path ... ok test harnesstools::codex::rehydrate::tests::an_id_codex_would_not_read_back_is_refused::case_1_not_a_uuid ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_recaptures_as_the_same_rows::case_4_forked_subagent ... ok test harnesstools::codex::rehydrate::tests::a_rollout_the_index_cant_be_pointed_at_is_left_in_place ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_recaptures_as_the_same_rows::case_3_legacy_forked_subagent ... ok test harnesstools::codex::rehydrate::tests::the_rollout_is_written_whole_and_in_place ... ok test harnesstools::codex::rehydrate::tests::call_id_and_token_count_keys_come_back ... ok test harnesstools::codex::rehydrate::tests::a_restore_forgets_codexs_history_of_the_rollout_gone ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_2_newer ... ok test harnesstools::codex::rehydrate::tests::turns_are_written_for_codex_to_show ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_1_released ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_4_first_prerelease ... ok test harnesstools::codex::rehydrate::tests::a_left_rollout_is_pointed_at_on_the_next_restore ... ok test harnesstools::codex::rehydrate::tests::notes_join_the_message_before_them_or_take_the_calls_id ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_3_prerelease ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_5_major ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_6_before_records ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_7_old ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_8_development_build ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_9_unreadable ... ok test harnesstools::codex::session::tests::a_commands_exit_code_is_in_its_rollout::case_2_succeeded ... ok test harnesstools::codex::session::tests::a_commands_exit_code_is_in_its_rollout::case_3_a_patch ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_recaptures_as_the_same_rows::case_1_paginated_with_compaction ... ok test harnesstools::codex::session::tests::a_commands_exit_code_is_in_its_rollout::case_1_failed ... ok test harnesstools::codex::session::tests::a_commands_exit_code_is_in_its_rollout::case_4_unknown ... ok test harnesstools::codex::session::tests::a_fork_keeps_its_own_session_meta ... ok test harnesstools::codex::session::tests::a_forked_subagent_keeps_only_its_own_history ... ok test harnesstools::codex::session::tests::a_legacy_forked_subagent_counts_only_its_own_call ... ok test harnesstools::codex::session::tests::a_pre_envelope_rollout_is_read ... ok test harnesstools::codex::session::tests::a_resumed_read_follows_the_checkpointed_line ... ok test harnesstools::codex::session::tests::a_resumed_reader_knows_its_codex_records_usage ... ok test harnesstools::codex::session::tests::a_compaction_keeps_its_summary ... ok test harnesstools::codex::session::tests::a_resumed_reader_still_hides_inherited_history ... ok test harnesstools::codex::session::tests::a_resumed_reader_still_knows_usage_is_recorded::case_2_from_a_stale_checkpoint ... ok test harnesstools::codex::session::tests::a_reverted_rollout_continues_its_history_base::case_1_from_the_first_rollout ... ok test harnesstools::codex::session::tests::a_reverted_rollout_continues_its_history_base::case_2_from_an_earlier_revert ... ok test harnesstools::codex::session::tests::a_resumed_reader_still_knows_usage_is_recorded::case_1_from_its_checkpoint ... ok test harnesstools::codex::rehydrate::tests::usage_recaptures_with_its_counts_and_turn ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_recaptures_as_the_same_rows::case_2_custom_tools_and_records ... ok test harnesstools::codex::session::tests::a_reverted_rollout_follows_where_it_continues::case_1_from_the_first_rollout ... ok test harnesstools::ccode::session::tests::a_followed_subagent_finds_its_spawner_once_the_metadata_lands ... ok test harnesstools::codex::session::tests::a_reverted_rollout_follows_where_it_continues::case_2_from_an_earlier_revert ... ok test harnesstools::codex::session::tests::a_rollout_name_carries_its_session::case_2_date_only ... ok test harnesstools::codex::session::tests::a_rollout_name_carries_its_session::case_1_current ... ok test harnesstools::codex::session::tests::a_rollout_name_carries_its_session::case_3_reverted ... ok test harnesstools::codex::session::tests::a_rewritten_rollout_forgets_what_its_old_lines_said::case_1_truncated ... ok test harnesstools::codex::session::tests::a_rewritten_rollout_forgets_what_its_old_lines_said::case_2_replaced ... ok test harnesstools::codex::session::tests::a_thread_name_is_named_by_the_user::case_1_named ... ok test harnesstools::codex::session::tests::a_rollout_reports_each_call_once::case_3_resumed ... ok test harnesstools::codex::session::tests::a_rollout_reports_each_call_once::case_1_legacy ... ok test harnesstools::codex::session::tests::a_thread_name_titles_the_session::case_2 ... ok test harnesstools::codex::session::tests::a_thread_name_is_named_by_the_user::case_2_cleared ... ok test harnesstools::codex::session::tests::a_rollout_reports_each_call_once::case_2_modern ... ok test harnesstools::codex::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes ... ok test harnesstools::codex::session::tests::a_thread_name_titles_the_session::case_1 ... ok test harnesstools::codex::session::tests::a_user_shell_command_keeps_the_command_not_its_output ... ok test harnesstools::codex::session::tests::a_real_rollout_counts_each_recorded_call_once ... ok test harnesstools::codex::session::tests::a_voice_transcript_segment_is_conversation::case_2_assistant ... ok test harnesstools::codex::session::tests::an_agent_message_is_kept_without_its_ciphertext::case_1_new_task ... ok test harnesstools::codex::session::tests::an_agent_message_is_kept_without_its_ciphertext::case_2_final_answer ... ok test harnesstools::codex::session::tests::an_applied_patch_keeps_its_file_changes::case_1_legacy ... ok test harnesstools::codex::session::tests::a_voice_transcript_segment_is_conversation::case_1_user ... ok test harnesstools::codex::session::tests::an_applied_patch_keeps_its_file_changes::case_3_paginated ... ok test harnesstools::codex::session::tests::an_agent_message_is_kept_without_its_ciphertext::case_3_inter_agent_communication ... ok test harnesstools::codex::session::tests::an_applied_patch_keeps_its_file_changes::case_2_legacy_without_status ... ok test harnesstools::codex::session::tests::an_applied_patch_keeps_its_file_changes::case_4_declined ... ok test harnesstools::codex::session::tests::an_applied_patch_keeps_its_file_changes::case_5_failed_item ... ok test harnesstools::codex::session::tests::an_atuin_fork_names_the_segment_it_forked::case_1_a_segment_of_the_thread ... ok test harnesstools::codex::session::tests::an_atuin_fork_names_the_segment_it_forked::case_2_another_threads ... ok test harnesstools::codex::session::tests::an_image_generation_keeps_its_prompt_not_its_image ... ok test harnesstools::codex::session::tests::a_scripts_failures_and_patches_are_its_calls ... ok test harnesstools::codex::session::tests::bookkeeping_keeps_no_row::case_2 ... ok test harnesstools::codex::session::tests::bookkeeping_keeps_no_row::case_3 ... ok test harnesstools::codex::session::tests::bookkeeping_keeps_no_row::case_1 ... ok test harnesstools::codex::session::tests::compaction_output_is_not_a_reply ... ok test harnesstools::codex::session::tests::bookkeeping_keeps_no_row::case_4 ... ok test harnesstools::codex::session::tests::compacted_summary_is_kept::case_1_readable ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_2 ... ok test harnesstools::codex::session::tests::compacted_summary_is_kept::case_2_encrypted ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_1 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_3 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_4 ... ok test harnesstools::codex::session::tests::an_event_goes_to_the_call_that_ran_it ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_5 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_6 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_8 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_7 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_9 ... ok test harnesstools::codex::session::tests::developer_role_is_system ... ok test harnesstools::codex::session::tests::enrichment_is_none_when_the_harness_did_not_provide_it ... ok test harnesstools::codex::session::tests::id_less_tool_output_does_not_collide_with_its_call::case_1 ... ok test harnesstools::codex::session::tests::id_less_tool_output_does_not_collide_with_its_call::case_2 ... ok test harnesstools::codex::session::tests::legacy_token_count_usage_is_captured ... ok test harnesstools::codex::session::tests::listener_reports_not_found_for_a_missing_root ... ok test harnesstools::codex::session::tests::last_active_counts_archived_threads::case_2_live_is_newest ... ok test harnesstools::codex::session::tests::last_active_counts_archived_threads::case_1_archived_is_newest ... ok test harnesstools::codex::session::tests::copied_snapshots_count_only_where_nothing_recorded_them::case_2_older_codex ... ok test harnesstools::codex::session::tests::copied_snapshots_count_only_where_nothing_recorded_them::case_1_recording_codex ... ok test harnesstools::codex::session::tests::existing_includes_archived_threads ... ok test harnesstools::codex::session::tests::normalizes_a_codex_assistant_message ... ok test harnesstools::codex::session::tests::normalizes_a_codex_custom_tool_call ... ok test harnesstools::codex::session::tests::messages_streams_turns_from_a_rollout_file ... ok test harnesstools::codex::session::tests::normalizes_a_codex_function_call ... ok test harnesstools::codex::session::tests::other_tool_calls_normalize_to_tool_use::case_4 ... ok test harnesstools::codex::session::tests::other_tool_calls_normalize_to_tool_use::case_1 ... ok test harnesstools::codex::session::tests::other_tool_calls_normalize_to_tool_use::case_2 ... ok test harnesstools::codex::session::tests::other_tool_outputs_answer_their_call::case_1 ... ok test harnesstools::ccode::session::tests::messages_ends_when_the_session_file_is_removed ... ok test harnesstools::codex::session::tests::other_tool_calls_normalize_to_tool_use::case_3 ... ok test harnesstools::codex::session::tests::other_tool_outputs_answer_their_call::case_2 ... ok test harnesstools::ccode::session::tests::messages_yields_lines_appended_after_discovery ... ok test harnesstools::codex::session::tests::prefix_contains_finds_a_needle_across_chunks ... ok test harnesstools::codex::session::tests::prefix_contains_stops_at_the_end::case_1 ... ok test harnesstools::codex::session::tests::prefix_contains_stops_at_the_end::case_2 ... ok test harnesstools::codex::session::tests::session_meta_git_branch_is_read ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_1_fork ... ok test harnesstools::codex::session::tests::prefix_contains_stops_at_the_end::case_3 ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_3_legacy_spawn ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_4_spawned_with_history ... ok test harnesstools::codex::session::tests::repeated_token_count_snapshots_name_one_turn ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_2_spawned ... ok test harnesstools::codex::session::tests::token_count_without_new_tokens_has_no_usage::case_1 ... ok test harnesstools::codex::session::tests::token_usage_record_exposes_usage ... ok test harnesstools::codex::session::tests::token_count_after_a_usage_record_has_no_usage ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_01_exec_ok ... ok test harnesstools::codex::session::tests::tool_call_and_output_have_distinct_ids_despite_shared_call_id ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_02_exec_failed ... ok test harnesstools::codex::session::tests::token_count_without_new_tokens_has_no_usage::case_2 ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_03_unified_ok ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_04_unified_killed ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_05_unified_still_running ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_06_output_quotes_a_failure ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_07_output_quotes_a_success ... ok test harnesstools::codex::session::tests::a_compressed_rollout_reads_as_its_plain_file ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_08_json_ok ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_09_json_failed ... ok test harnesstools::codex::session::tests::turn_aborted_events_end_the_turn::case_2 ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_11_legacy_metadata ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_10_json_output_quotes_a_failure ... ok test harnesstools::codex::session::tests::per_call_usage_adds_up_to_the_running_total::case_2_compacted_with_empty_snapshots ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_12_plain_text ... ok test harnesstools::codex::session::tests::turn_aborted_events_end_the_turn::case_1 ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_1 ... ok test harnesstools::codex::session::tests::normalizes_a_real_redacted_session::case_1 ... ok test harnesstools::codex::session::tests::turn_context_exposes_model_and_cwd ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_6_task_complete_ok ... ok test harnesstools::codex::session::tests::typed_user_messages_stay_user_turns::case_1 ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_3 ... ok test harnesstools::codex::session::tests::typed_user_messages_stay_user_turns::case_2 ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_4_task_complete_failed ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_5_task_complete_context_window ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_2 ... ok test harnesstools::codex::session::tests::typed_user_messages_stay_user_turns::case_3 ... ok test harnesstools::codex::session::tests::usage_input_excludes_cache_writes ... ok test harnesstools::codex::session::tests::usage_input_excludes_cached_input ... ok test harnesstools::codex::session::tests::usage_record_is_keyed_by_its_response ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_1_CLAUDE ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_2_CODEX ... ok test harnesstools::codex::session::tests::watch_emits_sessions_as_files_appear ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_4_GROK ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_3_COPILOT ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_5_OPENCODE ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_6_PI ... ok test harnesstools::continuation::tests::a_conversation_opening_with_a_reply_gets_a_user_turn_first ... ok test harnesstools::continuation::tests::a_marker_names_both_ids ... ok test harnesstools::codex::state_db::tests::no_index_or_no_row_leaves_it_to_codex ... ok test harnesstools::continuation::tests::a_pasted_marker_is_no_link::case_1_first_line_only ... ok test harnesstools::continuation::tests::a_pasted_marker_is_no_link::case_3_other_rest ... ok test harnesstools::continuation::tests::a_pasted_marker_is_no_link::case_2_more_after ... ok test harnesstools::continuation::tests::a_typed_marker_is_no_link ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_1_CLAUDE ... ok test harnesstools::continuation::tests::an_away_recap_is_not_carried_over ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_2_CODEX ... ok test harnesstools::codex::session::tests::per_call_usage_adds_up_to_the_running_total::case_1_recorded ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_3_COPILOT ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_4_GROK ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_5_OPENCODE ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_6_PI ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_2_CODEX ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_1_CLAUDE ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_4_GROK ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_3_COPILOT ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_1_CLAUDE ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_5_OPENCODE ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_6_PI ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_2_CODEX ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_6_PI ... ok test harnesstools::codex::state_db::tests::the_row_is_pointed_at_the_new_rollout::case_3_from_another_one ... ok test harnesstools::codex::state_db::tests::the_row_is_pointed_at_the_new_rollout::case_2_from_a_deleted_one ... ok test encryption::paseto_v4::test::concurrent_generation_yields_one_complete_key ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_4_GROK ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_5_OPENCODE ... ok test harnesstools::continuation::tests::an_unreadable_compaction_starts_the_conversation ... ok test harnesstools::codex::state_db::tests::the_row_is_pointed_at_the_new_rollout::case_1_from_what_it_continues ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_3_COPILOT ... ok test harnesstools::continuation::tests::calls_become_notes_and_turns_merge ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_2_codex ... ok test harnesstools::continuation::tests::calls_that_cant_be_carried_become_notes ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_1_claude ... ok test harnesstools::continuation::tests::each_model_call_is_a_step_and_the_assistant_ends ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_3_opencode ... ok test harnesstools::codex::state_db::tests::a_threads_history_is_forgotten ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_4_pi ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_5_KIRO ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_2_CODEX ... ok test harnesstools::continuation::tests::a_long_conversation_starts_where_it_fits ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_7_PI ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_6_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_6_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_5_KIRO ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_7_PI ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_2_CODEX ... ok test fs::tree_watcher::tracker::tests::reconcile_with_rejections_keeps_one_stat_per_tracked_file ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_5_KIRO ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_5_KIRO ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_6_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_COPILOT::target_7_PI ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_5_KIRO ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_6_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_GROK::target_7_PI ... ok test fs::tree_watcher::tests::recursion_controls_nested_files::case_2 ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_6_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_6_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_5_KIRO::target_7_PI ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_7_PI ... ok test harnesstools::continuation::tests::markers_read_back::case_1_claude::atuin_id_1_Some_ATUIN_ID_ ... ok test harnesstools::continuation::tests::markers_read_back::case_2_opencode::atuin_id_2_None ... ok test harnesstools::continuation::tests::markers_read_back::case_1_claude::atuin_id_2_None ... ok test harnesstools::continuation::tests::markers_read_back::case_2_opencode::atuin_id_1_Some_ATUIN_ID_ ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_2_unknown_harness ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_1_typed_prompt ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_3_path_id ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_4_not_first_line ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_5_unclosed_atuin_id ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_6_other_aside ... ok test harnesstools::continuation::tests::repeated_notes_are_counted ... ok test harnesstools::continuation::tests::rows_chain_where_the_target_keeps_a_tree::case_1 ... ok test harnesstools::continuation::tests::opencode_writes_each_step_as_a_message ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_6_OPENCODE ... ok test harnesstools::continuation::tests::rows_chain_where_the_target_keeps_a_tree::case_2 ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_7_PI::target_5_KIRO ... ok test harnesstools::continuation::tests::rows_chain_where_the_target_keeps_a_tree::case_3 ... ok test harnesstools::continuation::tests::rows_chain_where_the_target_keeps_a_tree::case_4 ... ok test harnesstools::continuation::tests::summaries_are_short::case_2 ... ok test harnesstools::continuation::tests::summaries_are_short::case_3 ... ok test harnesstools::continuation::tests::summaries_are_short::case_1 ... ok test harnesstools::continuation::tests::the_prompts_before_a_cut_leave_out_a_marker ... ok test harnesstools::continuation::tests::summaries_are_short::case_4 ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_1_CLAUDE ... ok test harnesstools::codex::session::tests::messages_ends_when_the_session_file_is_removed ... ok test harnesstools::codex::session::tests::messages_yields_lines_appended_after_discovery ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_4_GROK ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_3_COPILOT ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_3_COPILOT ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_6_OPENCODE::target_5_KIRO ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_5_KIRO ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_3_COPILOT ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_4_GROK ... ok test ansi::tests::all_rows_are_returned_however_short_the_screen ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_3_COPILOT ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_4_GROK ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_4_GROK ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_4_GROK ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_5_KIRO ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_5_KIRO ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_3_COPILOT ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_5_KIRO ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_6_OPENCODE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_5_KIRO ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_6_OPENCODE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_3_COPILOT ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_4_GROK ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_3_COPILOT ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_7_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_COPILOT::target_6_OPENCODE ... ok test harnesstools::continuation::tools::tests::a_read_file_keeps_its_sources_line_numbers::case_1_kiro ... ok test harnesstools::continuation::tools::tests::a_read_file_keeps_its_sources_line_numbers::case_2_kiro_whole ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_4_GROK ... ok test harnesstools::continuation::tools::tests::a_shell_result_for_kiro_reports_an_exit_code::case_1_ok ... ok test harnesstools::continuation::tools::tests::a_read_file_keeps_its_sources_line_numbers::case_3_grok ... ok test harnesstools::continuation::tools::tests::a_shell_result_for_kiro_reports_an_exit_code::case_2_failed ... ok test harnesstools::continuation::tools::tests::call_ids_are_ones_the_apis_take_and_unique ... ok test harnesstools::continuation::tools::tests::calls_translate::case_03_codex_within ... ok test harnesstools::continuation::tools::tests::calls_translate::case_01_claude_to_opencode ... ok test harnesstools::continuation::tools::tests::calls_translate::case_02_codex_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_04_codex_elsewhere ... ok test harnesstools::continuation::tools::tests::calls_translate::case_05_codex_argv ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_5_KIRO ... ok test harnesstools::continuation::tools::tests::calls_translate::case_07_read ... ok test harnesstools::continuation::tools::tests::calls_translate::case_06_claude_to_codex ... ok test harnesstools::continuation::tools::tests::calls_translate::case_08_edit_to_pi ... ok test harnesstools::continuation::tools::tests::calls_translate::case_09_pi_edit ... ok test harnesstools::continuation::tools::tests::calls_translate::case_10_replace_all_kept_foreign ... ok test harnesstools::continuation::tools::tests::calls_translate::case_11_multi_edit_kept_foreign ... ok test harnesstools::continuation::tools::tests::calls_translate::case_13_glob_to_pi ... ok test harnesstools::continuation::tools::tests::calls_translate::case_12_codex_item_name ... ok test harnesstools::continuation::tools::tests::calls_translate::case_15_read_to_codex ... ok test harnesstools::continuation::tools::tests::calls_translate::case_14_grep ... ok test harnesstools::continuation::tools::tests::calls_translate::case_16_mcp ... ok test harnesstools::continuation::tools::tests::calls_translate::case_17_patch_freeform ... ok test harnesstools::continuation::tools::tests::calls_translate::case_18_odd_name ... ok test harnesstools::continuation::tools::tests::calls_translate::case_19_claude_to_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_21_whole_read_to_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_20_read_to_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_22_read_from_an_offset_kept_foreign_by_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_23_read_of_a_limit_kept_foreign_by_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_26_write_to_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_27_copilot_create_to_pi ... ok test harnesstools::continuation::tools::tests::calls_translate::case_24_whole_read_to_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_25_copilot_view_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_28_edit_to_copilot ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_6_OPENCODE ... ok test harnesstools::continuation::tools::tests::calls_translate::case_29_copilot_edit_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_30_replace_all_kept_foreign_by_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_31_grep_kept_foreign_by_copilot ... ok test harnesstools::continuation::tools::tests::calls_translate::case_33_read_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_36_kiro_write_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_34_read_from_line_0_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_35_write_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_32_claude_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_37_edit_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_38_replace_all_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_39_kiro_edit_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_41_grep_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_42_grep_under_a_dir_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_40_kiro_edit_to_pi ... ok test harnesstools::continuation::tools::tests::calls_translate::case_43_insensitive_grep_to_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_44_kiro_grep_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_46_insensitive_grep_to_pi ... ok test harnesstools::continuation::tools::tests::calls_translate::case_47_pi_insensitive_grep_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_45_kiro_case_sensitive_grep_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_49_kiro_grep_kept_foreign_by_opencode ... ok test harnesstools::continuation::tools::tests::calls_translate::case_48_insensitive_grep_kept_foreign_by_opencode ... ok test harnesstools::continuation::tools::tests::calls_translate::case_50_grep_under_a_path_kept_foreign_by_kiro ... ok test harnesstools::continuation::tools::tests::calls_translate::case_51_kiro_grep_excluding_kept_foreign ... ok test harnesstools::continuation::tools::tests::calls_translate::case_53_kiro_append_kept_foreign ... ok test harnesstools::continuation::tools::tests::calls_translate::case_52_glob_kept_foreign_by_kiro ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_GROK::target_6_OPENCODE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_3_COPILOT ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_2_blocks ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_3_uncaptured ... ok test harnesstools::continuation::tools::tests::calls_translate::case_54_kiro_file_search_kept_foreign ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_4_structured ... ok test harnesstools::continuation::tools::tests::calls_translate::case_55_kiro_list_kept_foreign ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_1_string ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_4_GROK ... ok test harnesstools::copilot::rehydrate::tests::a_call_id_too_long_for_the_api_is_shortened ... ok test harnesstools::copilot::rehydrate::tests::a_row_of_several_results_is_several_events ... ok test harnesstools::copilot::session::tests::a_compaction_that_changed_nothing_is_skipped::case_1_failed ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_7_PI ... ok test harnesstools::copilot::session::tests::a_compaction_that_changed_nothing_is_skipped::case_2_not_applied ... ok test harnesstools::copilot::session::tests::a_reply_that_reasoned_carries_a_marker_with_its_tokens ... ok test harnesstools::copilot::session::tests::a_failed_command_is_an_ok_result_with_its_exit_in_the_output ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_6_OPENCODE::target_5_KIRO ... ok test harnesstools::copilot::session::tests::event_logs_are_the_sessions::case_1_log ... ok test harnesstools::copilot::session::tests::event_logs_are_the_sessions::case_2_sidecar ... ok test harnesstools::copilot::session::tests::event_logs_are_the_sessions::case_3_lock ... ok test harnesstools::copilot::session::tests::event_logs_are_the_sessions::case_4_nested ... ok test harnesstools::copilot::session::tests::event_logs_are_the_sessions::case_5_operation_lock ... ok test harnesstools::copilot::session::tests::event_logs_are_the_sessions::case_6_at_root ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_5_KIRO::target_6_OPENCODE ... ok test harnesstools::copilot::session::tests::assistant_message_holds_its_calls_and_usage ... ok test harnesstools::copilot::session::tests::injected_rows_are_skipped::case_1_memory ... ok test harnesstools::copilot::session::tests::injected_rows_are_skipped::case_2_system_prompt ... ok test harnesstools::copilot::session::tests::a_missing_sidecar_names_nothing ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_7_PI::target_6_OPENCODE ... ok test harnesstools::copilot::session::tests::existing_lists_every_session_under_the_root ... ok test harnesstools::copilot::session::tests::injected_rows_are_skipped::case_4_turn ... ok test harnesstools::codex::session::tests::a_large_commands_exit_code_is_found ... ok test harnesstools::copilot::session::tests::injected_rows_are_skipped::case_3_folder_trust ... ok test harnesstools::copilot::session::tests::injected_rows_are_skipped::case_5_permission ... ok test harnesstools::copilot::session::tests::injected_rows_are_skipped::case_6_empty_prompt ... ok test harnesstools::copilot::session::tests::a_compaction_is_a_summary_and_a_rename_only_the_sidecar ... ok test harnesstools::copilot::session::tests::locate_finds_the_log_by_id ... ok test harnesstools::copilot::session::tests::lanes_are_found_by_call_or_interaction ... ok test harnesstools::copilot::session::tests::session_id_is_the_directory_name ... ok test harnesstools::copilot::session::tests::sidecar_names_the_session::case_1_generated ... ok test harnesstools::copilot::session::tests::sidecar_names_the_session::case_2_named ... ok test harnesstools::copilot::session::tests::sidecar_names_the_session::case_3_quoted ... ok test harnesstools::copilot::session::tests::sidecar_names_the_session::case_4_escaped ... ok test harnesstools::copilot::session::tests::sidecar_names_the_session::case_5_single_quoted ... ok test harnesstools::copilot::session::tests::sidecar_names_the_session::case_6_unnamed ... ok test harnesstools::copilot::session::tests::existing_lists_subagents_after_their_parent ... ok test harnesstools::copilot::session::tests::messages_carry_the_sessions_directory_and_branch ... ok test harnesstools::copilot::session::tests::keeps_the_parents_conversation_and_skips_the_subagents ... ok test harnesstools::copilot::session::tests::usage_takes_the_cached_input_out::case_1_shrunk ... ok test harnesstools::copilot::session::tests::usage_takes_the_cached_input_out::case_2_missing ... ok test harnesstools::copilot::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_2_compacted ... ok test harnesstools::copilot::tests::a_subagent_is_not_resumable_on_its_own ... ok test harnesstools::copilot::tests::is_found_by_its_names ... ok test harnesstools::copilot::rehydrate::tests::a_session_already_there_is_not_written_over ... ok test harnesstools::copilot::tests::resumes_by_id_from_anywhere ... ok test harnesstools::copilot::session::tests::tool_results_name_their_call_and_an_edit_its_patch ... ok test harnesstools::copilot::rehydrate::tests::uncaptured_calls_become_notes ... ok test harnesstools::copilot::session::tests::rows_name_the_row_before_them_in_their_lane ... ok test harnesstools::copilot::rehydrate::tests::the_log_opens_with_its_start_and_the_sidecar_names_it ... ok test harnesstools::copilot::rehydrate::tests::a_title_reads_back_as_it_was_written ... ok test harnesstools::copilot::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_1_task_and_edit ... ok test harnesstools::copilot::rehydrate::tests::a_marker_is_a_prompt_the_user_did_not_type ... ok test harnesstools::copilot::rehydrate::tests::a_fork_names_the_original_in_its_start ... ok test harnesstools::grok::rehydrate::tests::a_restore_stopped_before_its_transcript_finishes_next_time ... ok test harnesstools::grok::rehydrate::tests::a_restored_session_starts_on_a_model_the_account_can_use::case_1_its_own ... ok test harnesstools::copilot::session::tests::a_subagent_is_a_child_session_over_the_same_log ... ok test harnesstools::grok::rehydrate::tests::a_restored_session_starts_on_a_model_the_account_can_use::case_2_none ... ok test harnesstools::grok::rehydrate::tests::a_restored_session_starts_on_a_model_the_account_can_use::case_3_another_agents ... ok test harnesstools::grok::rehydrate::tests::a_restored_session_starts_on_a_model_the_account_can_use::case_4_nothing_fetched_yet ... ok test harnesstools::grok::rehydrate::tests::an_edits_result_gets_its_diff_back::on_reply_1_false ... ok test harnesstools::grok::rehydrate::tests::a_written_session_keeps_its_ids_when_grok_omits_old_tool_results ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_7_PI ... ok test harnesstools::grok::rehydrate::tests::an_edits_result_gets_its_diff_back::on_reply_2_true ... ok test harnesstools::grok::rehydrate::tests::uncaptured_calls_flatten_into_notes_and_record_merged_in_sidecar ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_1_CLAUDE ... ok test harnesstools::grok::rehydrate::tests::restores_of_one_session_at_once_leave_it_whole ... ok test harnesstools::fork::tests::a_fork_of_a_codex_segment_continues_its_history::base_here_2_false ... ok test harnesstools::grok::session::tests::a_compaction_read_before_its_request_is_written_is_timed_when_it_happened ... ok test harnesstools::grok::session::tests::a_tool_results_key_ignores_its_output ... ok test harnesstools::grok::rehydrate::tests::rehydrate_emits_no_system_row_writes_updates_and_survives_grok_rewrite ... ok test harnesstools::grok::session::tests::a_session_keeps_its_ids_when_grok_omits_old_tool_results ... ok test harnesstools::fork::tests::a_fork_from_a_tip_keeps_the_rows_up_to_it ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_4_GROK ... ok test harnesstools::fork::tests::a_fork_of_a_codex_segment_continues_its_history::base_here_1_true ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_3_COPILOT ... ok test harnesstools::grok::session::tests::a_compacted_session_reads_back_whole ... ok test harnesstools::copilot::session::tests::resuming_from_a_checkpoint_keeps_the_state_before_it ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_5_KIRO ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_2_CODEX ... ok test harnesstools::grok::session::tests::an_edit_after_a_command_changed_its_file_gets_no_diff ... ok test harnesstools::grok::session::tests::encode_cwd_matches_grok_workspace_encoding::case_3 ... ok test harnesstools::grok::session::tests::encode_cwd_caps_long_paths_under_filesystem_limit ... ok test harnesstools::grok::session::tests::encode_cwd_matches_grok_workspace_encoding::case_1 ... ok test harnesstools::grok::session::tests::line_key_distinguishes_identical_prompts_across_diverged_branches ... ok test harnesstools::grok::session::tests::encode_cwd_matches_grok_workspace_encoding::case_2 ... ok test harnesstools::grok::tests::lookup_resolves_name_and_alias::case_1 ... ok test harnesstools::grok::tests::lookup_resolves_name_and_alias::case_2 ... ok test harnesstools::json_hooks::tests::add_hook_entries_keeps_an_installed_entry_in_place ... ok test harnesstools::json_hooks::tests::add_hook_entries_replaces_a_command_with_exec ... ok test harnesstools::grok::tests::resume_plan_prefers_session_cwd ... ok test harnesstools::json_hooks::tests::add_hook_entries_replaces_legacy_commands_without_duplicates ... ok test harnesstools::json_hooks::tests::exec_hook_entry_runs_the_executable_without_a_shell ... ok test harnesstools::json_hooks::tests::hook_command_quotes_posix_executable_paths::case_1_plain ... ok test harnesstools::json_hooks::tests::hook_command_quotes_posix_executable_paths::case_3_metacharacters ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_1_bare ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_2_absolute ... ok test harnesstools::json_hooks::tests::hook_command_quotes_posix_executable_paths::case_2_apostrophe ... ok test harnesstools::copilot::session::tests::the_sidecars_name_is_a_row_of_its_own ... ok test harnesstools::grok::tests::install_hooks_writes_atuin_json_and_is_idempotent ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_3_windows_suffix ... ok test harnesstools::grok::session::tests::reads_summary_updates_timestamps_and_transcript_entries::case_1_fork ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_6_different_harness ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_5_backup ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_4_wrapper ... ok test harnesstools::grok::session::tests::reads_summary_updates_timestamps_and_transcript_entries::case_4_subagent ... ok test harnesstools::grok::session::tests::checkpointed_resume_keeps_safe_checkpoints_and_delivers_late_titles_without_new_lines ... ok test harnesstools::grok::session::tests::reads_summary_updates_timestamps_and_transcript_entries::case_3_subagent_resume ... ok test harnesstools::kiro::hooks::tests::an_outdated_file_is_rewritten::case_2_edited_by_hand ... ok test harnesstools::grok::session::tests::reads_summary_updates_timestamps_and_transcript_entries::case_2_subagent_fork ... ok test harnesstools::kiro::hooks::tests::a_second_install_changes_nothing ... ok test harnesstools::kiro::hooks::tests::an_outdated_file_is_rewritten::case_3_not_json ... ok test harnesstools::kiro::rehydrate::tests::a_call_with_no_result_is_completed ... ok test harnesstools::kiro::hooks::tests::an_outdated_file_is_rewritten::case_1_moved_binary ... ok test harnesstools::kiro::hooks::tests::a_reformatted_file_counts_as_installed ... ok test harnesstools::kiro::hooks::tests::quotes_the_executable_path ... ok test harnesstools::kiro::hooks::tests::writes_both_entries_for_the_shell_tool ... ok test harnesstools::kiro::rehydrate::tests::the_bucket_is_the_directorys_hash ... ok test harnesstools::kiro::rehydrate::tests::a_row_of_text_and_calls_is_a_say_and_a_call_each ... ok test harnesstools::access::script::tests::a_name_read_many_times_reads_whole ... ok test harnesstools::kiro::rehydrate::tests::a_summary_covers_the_rows_before_it ... ok test harnesstools::fork::tests::an_opencode_fork_of_only_replies_names_its_original ... ok test harnesstools::kiro::rehydrate::tests::the_header_names_the_session_and_the_index_lists_it ... ok test harnesstools::ccode::session::tests::events_leave_an_untouched_transcript_alone_until_it_changes::case_1_untouched ... ok test harnesstools::ccode::session::tests::events_leave_an_untouched_transcript_alone_until_it_changes::case_2_imported_meanwhile ... ok test harnesstools::kiro::rehydrate::tests::the_header_opens_under_the_users_default_profile::case_1_unset ... ok test harnesstools::kiro::session::tests::a_denied_call_is_an_error_result ... ok test harnesstools::kiro::rehydrate::tests::a_session_already_there_is_not_written_over ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_01_log ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_02_header ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_03_subagent ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_04_v2 ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_05_v2_header ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_06_v2_subagent ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_07_index ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_08_at_root ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_09_tool_output ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_10_snapshot ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_11_not_a_log ... ok test harnesstools::kiro::session::tests::a_sessions_files_are_named_by_its_directory::case_12_too_deep ... ok test harnesstools::kiro::rehydrate::tests::the_header_opens_under_the_users_default_profile::case_2_set ... ok test harnesstools::kiro::rehydrate::tests::the_header_opens_under_the_users_default_profile::case_3_blank ... ok test harnesstools::kiro::rehydrate::tests::a_fork_names_the_original_in_its_header ... ok test fs::tree_watcher::tracker::tests::reconcile_entries_always_equal_truth ... ok test harnesstools::kiro::session::tests::a_subagents_answer_is_its_spawns_result::case_1_success ... ok test harnesstools::kiro::session::tests::a_subagents_answer_is_its_spawns_result::case_2_error ... ok test harnesstools::kiro::session::tests::a_subagents_answer_is_its_spawns_result::case_3_cancelled ... ok test harnesstools::kiro::session::tests::a_subagents_id_has_no_session_prefix::case_1_session ... ok test harnesstools::kiro::session::tests::a_subagents_answer_is_its_spawns_result::case_4_partial_answer ... ok test harnesstools::kiro::session::tests::a_subagents_id_has_no_session_prefix::case_3_planned ... ok test harnesstools::kiro::rehydrate::tests::a_marker_is_a_note_to_the_model ... ok test harnesstools::kiro::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_1_resumed ... ok test harnesstools::kiro::session::tests::a_subagents_id_has_no_session_prefix::case_2_subagent ... ok test harnesstools::kiro::session::tests::a_subagents_id_has_no_session_prefix::case_4_empty ... ok test harnesstools::kiro::session::tests::a_subagents_id_has_no_session_prefix::case_5_escaping ... ok test harnesstools::kiro::rehydrate::tests::the_header_opens_under_the_users_default_profile::case_4_malformed ... ok test harnesstools::kiro::session::tests::a_subagents_id_has_no_session_prefix::case_6_a_path ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_01_session_start ... ok test harnesstools::kiro::rehydrate::tests::a_title_reads_back_as_it_was_written ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_02_turn_start ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_04_usage ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_03_session_event ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_06_hook ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_05_metadata ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_07_approval ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_08_resolved ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_10_subagent_progress ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_11_subagent_unnamed ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_09_tombstone ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_13_synthetic_user ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_15_empty_prompt ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_16_empty_reply ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_12_mode ... ok test harnesstools::kiro::session::tests::bookkeeping_rows_are_skipped::case_14_cleared_steer ... ok test harnesstools::kiro::rehydrate::tests::a_partial_write_is_finished_or_cleaned_up ... ok test harnesstools::kiro::session::tests::other_rows_keep_their_text::case_1_steer ... ok test harnesstools::kiro::session::tests::other_rows_keep_their_text::case_2_note ... ok test harnesstools::kiro::session::tests::other_rows_keep_their_text::case_3_system ... ok test harnesstools::kiro::session::tests::locate_finds_the_log_in_its_bucket ... ok test harnesstools::kiro::session::tests::other_rows_keep_their_text::case_4_error ... ok test harnesstools::kiro::session::tests::other_rows_keep_their_text::case_5_print ... ok test harnesstools::kiro::session::tests::calls_and_results_name_each_other ... ok test harnesstools::kiro::session::tests::existing_lists_every_session_under_every_bucket ... ok test harnesstools::grok::session::tests::a_live_turns_reply_gets_what_grok_writes_once_the_turn_ends ... ok test harnesstools::kiro::session::tests::a_missing_header_names_nothing ... ok test harnesstools::kiro::session::tests::reasoning_is_a_marker_unless_kiro_kept_it::case_1_redacted ... ok test harnesstools::kiro::session::tests::reasoning_is_a_marker_unless_kiro_kept_it::case_3_empty ... ok test harnesstools::kiro::session::tests::a_title_row_waits_for_held_replies ... ok test harnesstools::kiro::session::tests::keeps_the_conversation_in_file_order ... ok test harnesstools::kiro::session::tests::reasoning_is_a_marker_unless_kiro_kept_it::case_2_kept ... ok test harnesstools::kiro::session::tests::the_header_names_the_session::case_1_generated ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_6_OPENCODE ... ok test harnesstools::kiro::session::tests::the_header_names_the_session::case_2_renamed ... ok test harnesstools::kiro::session::tests::the_header_names_the_session::case_3_flag_off ... ok test harnesstools::kiro::rehydrate::tests::a_restored_title_reads_back_under_its_original_row ... ok test harnesstools::kiro::session::tests::the_header_names_the_session::case_4_untitled ... ok test harnesstools::kiro::session::tests::the_header_names_the_session::case_5_no_title ... ok test harnesstools::kiro::session::tests::the_header_names_the_sessions_parent::case_2_fork ... ok test harnesstools::kiro::session::tests::the_header_names_the_sessions_parent::case_1_none ... ok test harnesstools::kiro::session::tests::the_header_names_the_sessions_parent::case_3_rewind ... ok test harnesstools::kiro::session::tests::stop_reasons_land_on_the_turns_replies ... ok test harnesstools::kiro::session::tests::the_header_names_the_sessions_parent::case_4_subagent ... ok test harnesstools::kiro::tests::a_subagent_is_not_resumable_on_its_own ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_1_unset ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_4_relative ... ok test harnesstools::kiro::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_2_compacted ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_3_under_home ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_2_elsewhere ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_5_root ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_6_home ... ok test harnesstools::kiro::tests::is_found_by_its_names ... ok test harnesstools::kiro::rehydrate::tests::uncaptured_calls_become_notes ... ok test harnesstools::kiro::tests::home_follows_kiros_rule::case_7_above_home ... ok test harnesstools::kiro::tests::resumes_by_id_from_anywhere ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_3 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_1 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_2 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_4 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_5 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_6 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_7 ... ok test harnesstools::mcp::tests::detection_respects_config_overrides::case_8 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_1 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_2 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_4 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_3 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_5 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_6 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_7 ... ok test harnesstools::mcp::tests::detects_existing_config_files::case_8 ... ok test harnesstools::mcp::tests::launch_path_takes_atuin_only_from_absolute_path_entries::case_1_absolute_entry ... ok test harnesstools::mcp::tests::launch_path_takes_atuin_only_from_absolute_path_entries::case_2_relative_entry ... ok test harnesstools::kiro::session::tests::a_rename_back_to_an_earlier_title_is_a_row_of_its_own ... ok test harnesstools::mcp::tests::kiro_gets_a_new_config ... ok test harnesstools::kiro::session::tests::a_subagent_is_named_once_its_spawn_is_in_the_parents_log ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_01_claude_bash ... ok test harnesstools::note::tests::long_inputs_are_cut ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_02_claude_write ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_03_claude_read ... ok test harnesstools::mcp::tests::kiro_keeps_the_rest_of_its_config ... ok test harnesstools::kiro::session::tests::a_compaction_is_a_summary_and_a_subagents_spawn_is_a_call ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_04_claude_grep ... ok test harnesstools::mcp::tests::opencode_gets_a_new_config ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_06_claude_task ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_05_claude_glob ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_07_codex_shell ... ok test harnesstools::mcp::tests::opencode_keeps_a_linked_config_linked ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_08_codex_argv ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_10_kiro_exec ... ok test harnesstools::mcp::tests::opencode_keeps_the_rest_of_its_config ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_09_codex_exec ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_12_codex_plan ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_11_codex_patch ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_13_opencode_edit ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_14_opencode_patch ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_15_pi_read ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_16_pi_ls ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_17_grok_terminal ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_18_grok_read ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_19_grok_edit ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_20_grok_subagent ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_21_captured_bash ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_22_captured_exec ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_23_captured_edit ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_24_captured_patch ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_25_captured_task ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_26_captured_other ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_27_mcp ... ok test harnesstools::note::tests::repeated_notes_are_counted ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_1_edit ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_2_apply_patch ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_3_runner ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_4_older_filediff ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_5_bare_diff ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_7_glob ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_6_read ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_8_none ... ok test harnesstools::opencode::rehydrate::tests::a_patch_comes_back_as_the_metadata_opencode_shows::case_1_edit ... ok test harnesstools::opencode::rehydrate::tests::a_patch_comes_back_as_the_metadata_opencode_shows::case_2_apply_patch ... ok test harnesstools::opencode::rehydrate::tests::a_reply_is_written_on_its_provider::case_1_captured_routed ... ok test harnesstools::opencode::rehydrate::tests::a_reply_is_written_on_its_provider::case_2_named ... ok test harnesstools::opencode::rehydrate::tests::a_fork_renames_ids_not_what_was_said ... ok test harnesstools::opencode::rehydrate::tests::an_id_opencode_would_not_take_is_refused::case_1_not_opencodes ... ok test harnesstools::opencode::rehydrate::tests::a_result_apart_from_its_call_joins_it ... ok test harnesstools::opencode::rehydrate::tests::an_id_opencode_would_not_take_is_refused::case_2_a_path ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_01_end_turn ... ok test harnesstools::opencode::rehydrate::tests::an_unfinished_call_is_pending_and_minted_ids_are_stable ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_02_stop_sequence ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_03_max_tokens ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_04_tool_use ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_05_refusal ... ok test harnesstools::kiro::session::tests::resuming_from_a_checkpoint_yields_the_rest ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_06_error ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_07_aborted ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_08_another_harness_s ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_09_opencode_s_own ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_10_none ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_is_written_on_its_provider::case_1_captured ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_is_written_on_its_provider::case_2_captured_routed ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_is_written_on_its_provider::case_3_named ... ok test harnesstools::kiro::session::tests::rows_name_the_row_before_them ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_is_written_on_its_provider::case_4_neither ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_without_a_result_is_written_aborted ... ok test harnesstools::opencode::rehydrate::v2::tests::a_prompt_is_the_rows_that_follow_on_from_one_row::case_1_one_prompt ... ok test harnesstools::opencode::rehydrate::v2::tests::a_prompt_is_the_rows_that_follow_on_from_one_row::case_2_two_prompts ... ok test db::sqlite::observe::driver::tests::mutate_stream_reconstructs_final_state ... ok test harnesstools::kiro::session::tests::rows_carry_the_headers_directory_and_model ... ok test harnesstools::kiro::session::tests::the_log_read_at_once_is_what_a_read_yields ... ok test harnesstools::opencode::rehydrate::tests::import_runs_opencode_from_the_session_directory ... ok test harnesstools::kiro::session::tests::a_subagent_is_a_child_session_over_its_own_log ... ok test harnesstools::opencode::rehydrate::v2::tests::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_1_opencode_s_own ... ok test harnesstools::opencode::rehydrate::v2::tests::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_2_a_claude_image ... ok test harnesstools::opencode::rehydrate::v2::tests::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_3_codex_s_text ... ok test harnesstools::opencode::rehydrate::v2::tests::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_4_a_failed_command ... ok test harnesstools::opencode::rehydrate::v2::tests::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_5_another_tool_s_failure ... ok test harnesstools::opencode::rehydrate::v2::tests::every_kind_of_1_x_row_goes_into_a_message ... ok test harnesstools::opencode::rehydrate::tests::a_session_opencode_already_holds_is_not_imported_again ... ok test harnesstools::opencode::rehydrate::v2::tests::the_session_ended_as_its_last_turn_did::case_1_succeeded ... ok test harnesstools::opencode::rehydrate::v2::tests::the_session_ended_as_its_last_turn_did::case_2_failed ... ok test harnesstools::opencode::rehydrate::v2::tests::the_session_ended_as_its_last_turn_did::case_3_interrupted ... ok test harnesstools::opencode::rehydrate::v2::tests::opencode_2_imports_its_own_export ... ok test harnesstools::opencode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes ... ok test harnesstools::opencode::rehydrate::v2::tests::a_copy_of_a_restored_message_in_another_session_is_its_own ... ok test harnesstools::opencode::rehydrate::v2::tests::a_session_opencode_2_holds_is_not_imported_again ... ok test harnesstools::opencode::session::tests::a_command_that_exited_non_zero_is_an_error::case_1_succeeded ... ok test harnesstools::opencode::session::tests::a_command_that_exited_non_zero_is_an_error::case_2_failed ... ok test harnesstools::opencode::rehydrate::tests::every_kind_of_row_recaptures_as_itself ... ok test harnesstools::opencode::rehydrate::v2::tests::a_1_x_session_restored_on_2_recaptures_as_nothing_new ... ok test harnesstools::opencode::rehydrate::v2::tests::a_row_no_message_is_written_for_is_held::case_1_a_reasoning_only_turn ... ok test harnesstools::opencode::rehydrate::v2::tests::a_row_no_message_is_written_for_is_held::case_3_a_reasoning_only_turn_first ... ok test harnesstools::opencode::session::tests::a_part_keeps_its_own_clock::case_1_text_part_clock ... ok test harnesstools::opencode::session::tests::a_part_keeps_its_own_clock::case_2_tool_state_clock ... ok test harnesstools::opencode::session::tests::a_part_keeps_its_own_clock::case_3_retry_clock ... ok test harnesstools::opencode::session::tests::a_part_keeps_its_own_clock::case_4_envelope_fallback ... ok test harnesstools::opencode::rehydrate::tests::a_partly_imported_session_is_imported_again ... ok test harnesstools::opencode::session::tests::a_part_keeps_its_own_clock::case_5_no_clock ... ok test harnesstools::kiro::session::tests::the_headers_title_is_a_row_of_its_own ... ok test harnesstools::opencode::rehydrate::v2::tests::a_row_no_message_is_written_for_is_held::case_2_a_retry_only_turn ... ok test harnesstools::opencode::session::tests::a_retry_reports_the_error_it_retries_after ... ok test harnesstools::opencode::rehydrate::v2::tests::a_row_no_message_is_written_for_is_held::case_4_a_result_apart ... ok test harnesstools::opencode::session::tests::a_bad_row_is_reported_and_the_tail_continues ... ok test harnesstools::opencode::session::tests::a_checkpoint_resumes_only_past_the_row_it_was_taken_after::case_1_the_row_is_still_there ... ok test harnesstools::opencode::session::tests::a_checkpoint_resumes_only_past_the_row_it_was_taken_after::case_2_a_wipe_reused_its_seq ... ok test harnesstools::opencode::rehydrate::tests::how_much_of_a_session_opencode_holds ... ok test harnesstools::opencode::rehydrate::tests::a_real_session_recaptures_as_the_same_rows ... ok test harnesstools::copilot::session::tests::the_listener_reports_a_subagent_its_parent_comes_across ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_1_0::waits_1_1 ... ok test harnesstools::opencode::session::tests::a_part_with_a_lone_surrogate_is_delivered ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_1_0::waits_2_2 ... ok test harnesstools::kiro::session::tests::a_header_rewrite_is_a_change ... ok test harnesstools::opencode::session::tests::a_part_whose_role_row_predates_the_tail_takes_its_role_from_the_projection::case_2_unknown_without_it ... ok test harnesstools::kiro::session::tests::the_listener_reports_a_subagents_log_as_it_appears ... ok test harnesstools::kiro::session::tests::the_listener_follows_the_log_and_the_header ... ok test harnesstools::opencode::session::tests::a_part_is_delivered_only_once_it_is_finished ... ok test harnesstools::opencode::session::tests::a_rewind_re_delivers_nothing_of_a_session_whose_ids_stepped_back ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_1_0::waits_3_3 ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_1_0::waits_5_5 ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_1_0::waits_6_6 ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_1_0::waits_4_4 ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_1_the_row_a_session_was_offered_on_is_delivered_first ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_2_the_rows_after_the_last_one_delivered_go_on ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_3_an_id_that_sorts_below_the_ones_before_it_is_still_the_same_row ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_2_1::waits_1_1 ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_4_a_wipe_restarts_the_aggregate_under_the_same_seqs ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_5_a_restored_backup_ends_below_the_row_resumed_at ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_6_a_null_id_still_anchors ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_7_a_new_incarnation_starts_at_the_first_row ... ok test harnesstools::opencode::session::tests::a_session_resumes_only_in_the_incarnation_it_left_off_in::case_8_an_aggregate_with_no_rows_delivers_nothing ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_2_1::waits_2_2 ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_2_1::waits_3_3 ... ok test harnesstools::opencode::rehydrate::v2::tests::a_real_session_recaptures_as_the_same_rows ... ok test harnesstools::opencode::session::tests::a_shapeless_part_payload_is_an_error::case_1_string ... ok test harnesstools::opencode::session::tests::a_shapeless_part_payload_is_an_error::case_2_part_not_an_object ... ok test harnesstools::opencode::session::tests::a_shapeless_part_payload_is_an_error::case_3_no_part ... ok test harnesstools::opencode::rehydrate::v2::tests::a_fork_is_linked_to_its_original ... ok test harnesstools::opencode::session::tests::a_step_says_why_it_ended::case_1_stop ... ok test harnesstools::opencode::session::tests::a_step_says_why_it_ended::case_2_length ... ok test harnesstools::opencode::session::tests::a_step_says_why_it_ended::case_3_tool_calls ... ok test harnesstools::opencode::session::tests::a_step_says_why_it_ended::case_4_content_filter ... ok test harnesstools::opencode::session::tests::a_step_says_why_it_ended::case_5_error ... ok test harnesstools::opencode::session::tests::a_step_says_why_it_ended::case_6_unknown ... ok test harnesstools::opencode::session::tests::a_steps_usage_counts_reasoning_as_output::case_1_whole ... ok test harnesstools::opencode::session::tests::a_steps_usage_counts_reasoning_as_output::case_2_fractional_and_negative ... ok test harnesstools::opencode::session::tests::a_steps_usage_counts_reasoning_as_output::case_3_no_output_at_all ... ok test harnesstools::opencode::session::tests::a_steps_usage_counts_reasoning_as_output::case_4_no_tokens ... ok test harnesstools::opencode::session::tests::a_subtask_says_its_prompt ... ok test harnesstools::opencode::session::tests::an_aborted_call_keeps_what_it_had_output ... ok test harnesstools::opencode::session::tests::a_session_left_mid_read_stalls_no_other ... ok test harnesstools::opencode::session::tests::a_session_nobody_reads_holds_none_of_its_rows ... ok test harnesstools::opencode::session::tests::a_shell_command_and_a_retry_of_the_experimental_event_system_are_read ... ok test harnesstools::opencode::session::tests::a_session_whose_id_is_not_utf8_reads_its_own_rows::case_1_a_blob ... ok test harnesstools::opencode::session::tests::a_session_whose_tail_is_gone_reads_its_aggregate_out ... ok test harnesstools::opencode::session::tests::an_ignored_first_row_spawns_no_session ... ok test harnesstools::opencode::session::tests::a_session_whose_id_is_not_utf8_reads_its_own_rows::case_2_text_sqlite_never_checked ... ok test harnesstools::opencode::session::tests::a_session_of_the_experimental_event_system_is_read ... ok test harnesstools::opencode::session::tests::captured::a_child_session_names_its_parent ... ok test harnesstools::opencode::session::tests::captured::a_compaction_request_is_the_systems ... ok test harnesstools::opencode::session::tests::captured::a_compaction_summary_is_a_summary ... ok test harnesstools::opencode::session::tests::a_session_that_is_never_drained_stalls_no_other ... ok test harnesstools::opencode::session::tests::captured::a_failed_assistant_turn_is_captured::case_2_api ... ok test harnesstools::opencode::session::tests::captured::a_failed_assistant_turn_is_captured::case_3_output_length ... ok test harnesstools::opencode::session::tests::a_db_without_an_event_table_is_watched_until_it_has_one ... ok test harnesstools::opencode::session::tests::captured::a_failed_assistant_turn_is_captured::case_1_aborted ... ok test harnesstools::opencode::session::tests::a_session_drains_past_one_page_on_one_thread ... ok test harnesstools::opencode::session::tests::captured::a_failed_assistant_turn_is_captured::case_4_content_filter ... ok test harnesstools::opencode::session::tests::captured::a_parts_context_is_looked_up_when_its_message_row_is_not_to_hand ... ok test harnesstools::opencode::session::tests::a_session_keeps_the_roles_of_its_newest_messages_only::up_front_1_false ... ok test harnesstools::opencode::session::tests::discover_prefers_opencode_db_then_the_newest_channel_db ... ok test harnesstools::opencode::session::tests::captured::a_revert_leaves_what_was_captured_as_it_stands::case_1_part ... ok test harnesstools::opencode::session::tests::falls_back_to_other_for_an_unknown_part_type ... ok test harnesstools::opencode::session::tests::listener_reports_not_found_for_a_missing_db ... ok test harnesstools::opencode::session::tests::normalizes_a_completed_tool_part ... ok test harnesstools::opencode::session::tests::normalizes_a_text_part ... ok test harnesstools::opencode::session::tests::normalizes_an_errored_tool_part ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_01_streaming_text ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_02_finished_text ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_03_a_prompt_written_once ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_04_streaming_reasoning ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_05_finished_reasoning ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_06_a_pending_call ... ok test harnesstools::opencode::session::tests::captured::each_step_of_a_message_is_a_turn_of_its_own ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_08_a_completed_call ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_07_a_running_call ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_09_a_failed_call ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_10_a_status_this_module_does_not_know ... ok test harnesstools::opencode::session::tests::captured::a_revert_leaves_what_was_captured_as_it_stands::case_2_message ... ok test harnesstools::opencode::session::tests::only_a_part_opencode_is_still_writing_is_a_draft::case_11_a_step_written_once ... ok test harnesstools::opencode::session::tests::preserves_a_structured_tool_output ... ok test harnesstools::opencode::session::tests::captured::text_the_harness_injected_is_the_systems::case_1_synthetic ... ok test ansi::tests::onlcr_is_idempotent ... ok test harnesstools::opencode::session::tests::a_session_keeps_the_roles_of_its_newest_messages_only::up_front_2_true ... ok test harnesstools::opencode::session::tests::a_dropped_session_handle_is_offered_again_with_nothing_lost ... ok test harnesstools::opencode::session::tests::captured::a_turns_usage_is_captured_once_from_its_step ... ok test harnesstools::opencode::session::tests::captured::an_assistant_part_carries_its_messages_context ... ok test harnesstools::opencode::session::tests::captured::a_forked_copy_of_a_step_is_the_same_turn_as_its_original ... ok test harnesstools::opencode::session::tests::captured::a_read_that_fails_partway_says_so ... ok test harnesstools::opencode::session::tests::captured::text_the_harness_injected_is_the_systems::case_2_ignored ... ok test ansi::tests::onlcr_agrees_with_the_byte_at_a_time_implementation ... ok test harnesstools::opencode::session::tests::events_demultiplex_sessions_on_one_thread ... ok test harnesstools::opencode::session::v2::tests::a_call_s_content_is_its_text_reasoning_and_tools ... ok test harnesstools::opencode::session::v2::tests::a_call_s_usage_counts_its_reasoning_as_output::case_1_assistant ... ok test harnesstools::opencode::session::v2::tests::a_call_s_usage_counts_its_reasoning_as_output::case_2_compaction ... ok test harnesstools::opencode::session::tests::captured::the_session_title_is_captured_as_it_changes ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_1_stop ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_2_length ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_3_tool_calls ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_4_unknown ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_5_a_provider_error ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_7_a_refusal ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_6_an_interrupted_step ... ok test harnesstools::opencode::session::v2::tests::a_call_says_how_it_ended::case_8_a_step_a_newer_one_superseded ... ok test harnesstools::opencode::session::tests::a_part_whose_role_row_predates_the_tail_takes_its_role_from_the_projection::case_1_from_the_projection ... ok test harnesstools::opencode::session::tests::replay_all_backfills_preexisting_rows ... ok test harnesstools::opencode::session::v2::tests::a_checkpoint_grows_with_either_place ... ok test harnesstools::opencode::session::tests::rows_written_after_an_event_log_wipe_are_delivered ... ok test harnesstools::opencode::session::tests::projected::a_projected_draft_is_not_delivered ... ok test harnesstools::opencode::session::v2::tests::a_fork_s_copy_of_a_call_is_the_same_call ... ok test harnesstools::opencode::session::tests::projected::a_session_only_the_projection_holds_is_listed_and_read ... ok test harnesstools::opencode::session::tests::reconstructs_two_interleaved_sessions_from_a_fixture ... ok test harnesstools::opencode::session::v2::tests::a_checkpoint_names_both_places ... ok test harnesstools::opencode::session::tests::projected::a_session_older_than_its_log_is_read_from_the_projection ... ok test harnesstools::opencode::session::tests::projected::a_session_whose_log_holds_its_start_is_read_from_the_log_alone ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_2_1::waits_5_5 ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_2_1::waits_4_4 ... ok test harnesstools::opencode::session::tests::projected::a_title_the_log_changed_since_the_wipe_is_the_last ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_01_a_prompt ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_02_a_subagent_s_prompt ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_03_synthetic ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_04_a_goal ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_05_a_goal_with_attachments ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_06_a_goal_s_continuation ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_07_a_resumed_goal ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_08_system ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_09_skill ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_10_a_shell_command ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_11_a_compaction ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_12_a_provider_s_compaction ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_13_a_failed_compaction ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_14_a_row_of_a_type_this_module_does_not_know ... ok test harnesstools::opencode::session::v2::tests::a_row_was_written_where_the_session_was_then::case_1_before_any_move ... ok test harnesstools::opencode::session::v2::tests::a_row_was_written_where_the_session_was_then::case_2_after_the_first ... ok test harnesstools::opencode::session::v2::tests::a_row_was_written_where_the_session_was_then::case_3_after_the_second ... ok test harnesstools::opencode::session::v2::tests::a_row_with_nothing_to_say_is_no_message::case_1_an_idle_session ... ok test harnesstools::opencode::session::v2::tests::a_row_with_nothing_to_say_is_no_message::case_2_an_agent_switch ... ok test harnesstools::opencode::session::v2::tests::a_row_with_nothing_to_say_is_no_message::case_3_a_model_switch ... ok test harnesstools::opencode::session::v2::tests::a_row_with_nothing_to_say_is_no_message::case_4_a_move ... ok test harnesstools::opencode::session::v2::tests::a_session_s_info_is_stamped_when_its_title_changed::case_1_as_it_stands ... ok test harnesstools::opencode::session::v2::tests::a_session_s_info_is_stamped_when_its_title_changed::case_2_renamed ... ok test harnesstools::opencode::session::v2::tests::a_session_s_info_names_its_title_and_where_it_came_from ... ok test harnesstools::opencode::session::v2::tests::a_shell_call_that_exited_non_zero_is_an_error::case_1_succeeded ... ok test harnesstools::opencode::session::v2::tests::a_shell_call_that_exited_non_zero_is_an_error::case_2_failed ... ok test harnesstools::opencode::session::tests::a_session_dropped_while_it_waits_loses_no_row::taken_2_1::waits_6_6 ... ok test harnesstools::opencode::session::v2::tests::a_turn_that_did_not_succeed_says_why::case_1_failed ... ok test harnesstools::opencode::session::v2::tests::a_shell_call_that_exited_non_zero_is_an_error::case_3_timed_out ... ok test harnesstools::opencode::session::v2::tests::a_turn_that_did_not_succeed_says_why::case_2_interrupted ... ok test harnesstools::opencode::session::v2::tests::a_turn_that_failed_says_its_error ... ok test harnesstools::opencode::session::v2::tests::an_edit_s_diff_is_its_patch ... ok test harnesstools::opencode::session::v2::tests::a_2_0_only_database_is_read_whole ... ok test harnesstools::opencode::session::tests::a_session_taken_up_again_resumes_where_it_stopped ... ok test harnesstools::opencode::session::v2::tests::a_failed_turn_says_its_error_once ... ok test harnesstools::opencode::tests::each_opencode_gets_the_plugin_it_loads::case_1_none ... ok test harnesstools::opencode::tests::each_opencode_gets_the_plugin_it_loads::case_2_one ... ok test harnesstools::opencode::tests::each_opencode_gets_the_plugin_it_loads::case_3_two ... ok test harnesstools::opencode::tests::each_opencode_gets_the_plugin_it_loads::case_4_three ... ok test harnesstools::opencode::tests::the_opencode_2_plugin_records_commands_that_ended ... ok test harnesstools::pi::rehydrate::tests::a_bang_command_is_a_bash_execution::case_1_bash ... ok test harnesstools::pi::rehydrate::tests::a_bang_command_is_a_bash_execution::case_2_python ... ok test harnesstools::pi::rehydrate::tests::a_cycle_closed_by_clock_skew_is_cut ... ok test harnesstools::pi::rehydrate::tests::a_new_file_opens_on_the_agents_default_model::flavour_1_Flavour__Pi ... ok test harnesstools::pi::rehydrate::tests::a_new_file_opens_on_the_agents_default_model::flavour_2_Flavour__Omp ... ok test harnesstools::pi::rehydrate::tests::a_parent_cycle_hangs_from_the_entry_before ... ok test harnesstools::pi::rehydrate::tests::a_reply_names_its_provider::case_1_captured ... ok test harnesstools::pi::rehydrate::tests::a_reply_names_its_provider::case_2_guessed ... ok test harnesstools::pi::rehydrate::tests::a_reply_names_its_provider::case_3_unknown ... ok test harnesstools::opencode::session::tests::projected::a_live_session_delivers_its_backlog_ahead_of_its_log ... ok test harnesstools::opencode::session::v2::tests::a_fork_s_copies_count_no_call_twice ... ok test harnesstools::pi::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_2_session1 ... ok test harnesstools::pi::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_4_v1 ... ok test harnesstools::pi::rehydrate::tests::an_edits_result_gets_its_details_back ... ok test harnesstools::pi::rehydrate::tests::an_omp_session_starts_with_its_title_slot::flavour_1_Flavour__Pi ... ok test harnesstools::pi::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_1_mock ... ok test harnesstools::opencode::session::tests::a_dropped_offer_waits_for_the_session_s_next_row ... ok test harnesstools::pi::rehydrate::tests::an_omp_session_starts_with_its_title_slot::flavour_2_Flavour__Omp ... ok test harnesstools::pi::rehydrate::tests::entries_are_linked_named_and_compacted ... ok test harnesstools::pi::rehydrate::tests::every_write_of_a_session_opens_on_one_root::case_1_continued_here ... ok test harnesstools::pi::rehydrate::tests::never_overwrites_a_session ... ok test harnesstools::pi::rehydrate::tests::every_write_of_a_session_opens_on_one_root::case_2_restored ... ok test harnesstools::pi::rehydrate::tests::omp_config_names_its_default_model::case_1_plain ... ok test harnesstools::pi::rehydrate::tests::no_opening_model_without_a_default_or_on_an_append ... ok test harnesstools::pi::rehydrate::tests::every_write_of_a_session_opens_on_one_root::case_3_restored_after_a_split ... ok test harnesstools::pi::rehydrate::tests::omp_config_names_its_default_model::case_2_quoted ... ok test harnesstools::pi::rehydrate::tests::omp_config_names_its_default_model::case_3_comment ... ok test harnesstools::pi::rehydrate::tests::omp_config_names_its_default_model::case_4_other_block ... ok test harnesstools::pi::rehydrate::tests::omp_config_names_its_default_model::case_5_missing ... ok test harnesstools::pi::rehydrate::tests::output_not_captured_says_so ... ok test harnesstools::pi::rehydrate::tests::omp_without_a_default_opens_on_the_model_it_last_started_on ... ok test harnesstools::opencode::session::v2::tests::a_renamed_session_read_from_scratch_is_titled_at_its_start ... ok test harnesstools::pi::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_2_session1 ... ok test harnesstools::pi::rehydrate::tests::the_tree_is_relinked_whatever_the_order ... ok test harnesstools::pi::session::tests::a_failed_assistant_turn_keeps_its_error_message::case_1 ... ok test harnesstools::pi::session::tests::a_failed_assistant_turn_keeps_its_error_message::case_2 ... ok test harnesstools::pi::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_4_v1 ... ok test harnesstools::pi::session::tests::a_line_json_parse_reads_is_read::case_1_lone_surrogate ... ok test harnesstools::pi::session::tests::a_fork_resolves_its_parent_through_the_parents_header ... ok test harnesstools::pi::session::tests::a_reused_response_id_does_not_merge_calls ... ok test harnesstools::pi::session::tests::a_line_json_parse_reads_is_read::case_2_invalid_utf8 ... ok test harnesstools::pi::session::tests::a_shared_session_dir_is_split_by_flavour::flavour_1_Flavour__Pi ... ok test harnesstools::pi::session::tests::a_shared_session_dir_splits_last_active_by_flavour::flavour_1_Flavour__Pi ... ok test harnesstools::pi::session::tests::a_shared_session_dir_is_split_by_flavour::flavour_2_Flavour__Omp ... ok test harnesstools::pi::session::tests::a_successful_assistant_turn_has_no_error ... ok test harnesstools::pi::session::tests::a_shared_session_dir_splits_last_active_by_flavour::flavour_2_Flavour__Omp ... ok test harnesstools::pi::session::tests::an_assistant_turn_is_named_by_what_a_fork_copies::case_1_response_id ... ok test harnesstools::opencode::session::v2::tests::a_row_at_the_last_seq_is_read ... ok test harnesstools::pi::session::tests::an_assistant_turn_is_named_by_what_a_fork_copies::case_2_blank_response_id ... ok test harnesstools::pi::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_1_mock ... ok test harnesstools::pi::session::tests::an_assistant_turn_is_named_by_what_a_fork_copies::case_3_no_response_id ... ok test harnesstools::pi::session::tests::an_edits_result_keeps_its_patch::case_1_patch ... ok test harnesstools::pi::session::tests::an_edits_result_keeps_its_patch::case_2_diff_only ... ok test harnesstools::pi::session::tests::an_edits_result_keeps_its_patch::case_3_no_details ... ok test harnesstools::pi::session::tests::an_event_embedding_a_message_is_no_message::case_1_message_start ... ok test harnesstools::pi::session::tests::an_event_embedding_a_message_is_no_message::case_3_turn_end ... ok test harnesstools::pi::session::tests::an_event_embedding_a_message_is_no_message::case_2_message_end ... ok test harnesstools::pi::session::tests::bash_execution_is_a_user_command_with_its_output::case_1_ok ... ok test harnesstools::pi::session::tests::a_v1_session_reads_the_same_after_pi_migrates_it ... ok test harnesstools::pi::session::tests::bash_execution_is_a_user_command_with_its_output::case_2_failed ... ok test harnesstools::pi::session::tests::bash_execution_is_a_user_command_with_its_output::case_3_cancelled ... ok test harnesstools::pi::session::tests::an_omp_subagent_is_its_parents_subagent::case_1_subagent ... ok test harnesstools::pi::session::tests::bash_execution_is_a_user_command_with_its_output::case_4_kept_out_of_context ... ok test harnesstools::pi::session::tests::an_omp_subagent_is_its_parents_subagent::case_2_advisor ... ok test harnesstools::pi::session::tests::custom_messages_keep_their_content::case_1_entry_shown ... ok test harnesstools::pi::session::tests::custom_messages_keep_their_content::case_3_message ... ok test harnesstools::pi::session::tests::custom_messages_keep_their_content::case_2_entry_hidden ... ok test harnesstools::pi::session::tests::custom_messages_keep_their_content::case_4_v2_hook_message ... ok test harnesstools::pi::session::tests::enrichment_is_none_when_the_harness_did_not_provide_it ... ok test harnesstools::pi::session::tests::entries_with_their_own_usage_report_it::case_1_compaction ... ok test harnesstools::pi::session::tests::entries_with_their_own_usage_report_it::case_2_branch_summary ... ok test harnesstools::pi::session::tests::entries_with_their_own_usage_report_it::case_3_cache_warm ... ok test harnesstools::pi::session::tests::existing_does_not_follow_symlinked_dirs ... ok test harnesstools::pi::session::tests::exposes_parent_id_and_session_info_title ... ok test harnesstools::pi::session::tests::existing_skips_a_file_whose_header_is_not_written_yet ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_1_default ... ok test harnesstools::pi::session::tests::existing_finds_every_session_file_under_root ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_2_env ... ok test harnesstools::pi::session::tests::file_mentions_keep_the_files ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_3_env_tilde ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_4_settings ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_5_settings_bom ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_6_settings_tilde ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_8_settings_without ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_7_settings_relative ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_9_settings_malformed ... ok test harnesstools::pi::session::tests::header_parent_session_path_resolves_to_the_parent_id::case_2 ... ok test harnesstools::pi::session::tests::header_parent_session_path_resolves_to_the_parent_id::case_1 ... ok test harnesstools::pi::session::tests::listener_reports_not_found_for_a_missing_root ... ok test harnesstools::pi::session::tests::maps_pi_stop_reason_vocabulary::case_1 ... ok test harnesstools::pi::session::tests::image_blocks_drop_their_bytes ... ok test harnesstools::pi::session::tests::maps_pi_stop_reason_vocabulary::case_2 ... ok test harnesstools::pi::session::tests::maps_pi_stop_reason_vocabulary::case_4 ... ok test harnesstools::pi::session::tests::maps_pi_stop_reason_vocabulary::case_3 ... ok test harnesstools::pi::session::tests::maps_pi_stop_reason_vocabulary::case_5 ... ok test harnesstools::opencode::session::v2::tests::a_restored_backup_is_read_again_from_the_start ... ok test harnesstools::pi::session::tests::normalizes_a_pi_user_message ... ok test harnesstools::pi::session::tests::messages_streams_turns_from_a_pi_session_file ... ok test harnesstools::pi::session::tests::normalizes_pi_assistant_enrichment_fields ... ok test harnesstools::pi::session::tests::normalizes_a_real_redacted_session::case_1 ... ok test harnesstools::pi::session::tests::normalizes_pi_tool_call_and_result ... ok test harnesstools::pi::session::tests::omp_model_usage_is_a_call_of_its_own ... ok test harnesstools::pi::session::tests::omp_narration_is_text_and_redacted_thinking_reasoning ... ok test harnesstools::pi::session::tests::omp_title_changes_are_titles::case_1_user ... ok test harnesstools::pi::session::tests::omp_title_changes_are_titles::case_2_auto ... ok test harnesstools::pi::session::tests::omp_title_changes_are_titles::case_3_blank ... ok test harnesstools::pi::session::tests::python_execution_is_a_user_command_with_its_output::case_1_in_context ... ok test harnesstools::pi::session::tests::omp_usage_and_model_read_as_pis ... ok test harnesstools::pi::session::tests::python_execution_is_a_user_command_with_its_output::case_2_kept_out_of_context ... ok test harnesstools::pi::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_3_session2 ... ok test harnesstools::pi::session::tests::read_yields_all_messages_and_terminates ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_01_empty ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_02_half_written ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_03_unterminated_but_whole ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_04_after_blank_lines ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_05_not_a_header ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_06_id_not_a_string ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_07_garbage ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_08_after_garbage ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_09_bom ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_10_event_log ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_11_after_omp_title_slot ... ok test harnesstools::pi::session::tests::reads_the_header_line::case_12_omp_title_slot_alone ... ok test harnesstools::pi::session::tests::session_info_names_are_trimmed_titles::case_1 ... ok test harnesstools::pi::session::tests::session_id_comes_from_the_header_not_the_file_name ... ok test harnesstools::pi::session::tests::session_info_names_are_trimmed_titles::case_2 ... ok test harnesstools::pi::session::tests::session_info_names_are_trimmed_titles::case_3 ... ok test harnesstools::pi::session::tests::summary_entries_keep_their_summary::case_1 ... ok test harnesstools::pi::session::tests::summary_entries_keep_their_summary::case_2 ... ok test harnesstools::pi::session::tests::the_header_names_the_parent_session::case_1_fork ... ok test harnesstools::pi::session::tests::reads_a_session_pi_wrote ... ok test harnesstools::pi::session::tests::the_header_names_the_parent_session::case_2_bare_file_name ... ok test harnesstools::pi::session::tests::the_header_names_the_parent_session::case_3_v1_branched_from ... ok test harnesstools::pi::session::tests::the_header_names_the_parent_session::case_5_not_a_header ... ok test harnesstools::pi::session::tests::the_header_names_the_parent_session::case_4_root ... ok test harnesstools::pi::session::tests::tool_result_usage_is_not_session_usage ... ok test harnesstools::pi::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_3_session2 ... ok test harnesstools::rehydrate::tests::a_failed_row_is_not_merged ... ok test harnesstools::rehydrate::tests::a_note_without_text_before_it_takes_its_calls_row::case_1_own_row ... ok test harnesstools::pi::session::tests::watch_emits_sessions_as_files_appear ... ok test harnesstools::rehydrate::tests::a_note_without_text_before_it_takes_its_calls_row::case_2_no_row_to_change ... ok test harnesstools::rehydrate::tests::a_run_ending_on_a_flattened_call_ends_the_turn ... ok test harnesstools::rehydrate::tests::calls_kept_with_their_input_stay_calls::case_1_runs ... ok test harnesstools::rehydrate::tests::calls_kept_with_their_input_stay_calls::case_2_notes ... ok test harnesstools::rehydrate::tests::no_row_precedes_its_parent::case_1_a_turn_behind ... ok test harnesstools::rehydrate::tests::no_row_precedes_its_parent::case_2_in_order ... ok test harnesstools::rehydrate::tests::no_row_precedes_its_parent::case_3_followers_come_along ... ok test harnesstools::rehydrate::tests::no_row_precedes_its_parent::case_4_unlinked_rows_keep_their_place ... ok test harnesstools::rehydrate::tests::no_row_precedes_its_parent::case_5_waiting_on_each_other ... ok test harnesstools::rehydrate::tests::no_row_precedes_its_parent::case_6_its_own_parent ... ok test harnesstools::rehydrate::tests::notes_join_only_text_they_follow::case_1_refused ... ok test harnesstools::rehydrate::tests::notes_join_only_text_they_follow::case_2_across_a_prompt ... ok test harnesstools::pi::session::tests::normalizes_a_real_redacted_session::case_2 ... ok test harnesstools::rehydrate::tests::notes_join_only_text_they_follow::case_3_across_a_kept_call ... ok test harnesstools::rehydrate::tests::notes_join_the_text_before_them ... ok test harnesstools::rehydrate::tests::nothing_to_flatten_changes_nothing ... ok test harnesstools::rehydrate::tests::runs_merge_into_their_last_row ... ok test harnesstools::resume::tests::harnesses::a_claude_subagent_is_not_resumable ... ok test harnesstools::resume::tests::harnesses::a_non_utf8_path_is_an_error ... ok test harnesstools::resume::tests::harnesses::a_template_keeps_the_harness_cwd_requirement ... ok test harnesstools::resume::tests::harnesses::codex_resumes_a_reverted_rollout_by_its_thread ... ok test harnesstools::resume::tests::harnesses::pi_resumes_a_known_file_by_path ... ok test harnesstools::resume::tests::harnesses::plans_by_id::case_1_claude ... ok test harnesstools::resume::tests::harnesses::plans_by_id::case_2_codex ... ok test harnesstools::resume::tests::harnesses::plans_by_id::case_3_opencode ... ok test harnesstools::resume::tests::harnesses::plans_by_id::case_4_pi_by_id ... ok test harnesstools::resume::tests::locate::an_id_that_is_no_plain_name_is_never_looked_up::case_1_traversal ... ok test harnesstools::resume::tests::locate::an_id_that_is_no_plain_name_is_never_looked_up::case_2_dot ... ok test harnesstools::resume::tests::locate::an_id_that_is_no_plain_name_is_never_looked_up::case_3_empty ... ok test harnesstools::resume::tests::locate::an_id_that_is_no_plain_name_is_never_looked_up::case_4_separator ... ok test harnesstools::resume::tests::locate::claude_finds_a_transcript_in_any_project ... ok test harnesstools::resume::tests::locate::codex_finds_a_rollout_by_its_id ... ok test harnesstools::resume::tests::locate::opencode_finds_a_2_0_session ... ok test harnesstools::resume::tests::locate::pi_finds_a_session_by_its_file_name_and_header ... ok test harnesstools::opencode::session::tests::rows_written_after_a_session_delete_are_delivered_once ... ok test harnesstools::resume::tests::locate::opencode_finds_a_session_in_its_database ... ok test harnesstools::resume::tests::prepare_drops_a_preferred_cwd_that_is_gone ... ok test harnesstools::resume::tests::prepare_rejects_a_required_cwd_that_is_gone ... ok test harnesstools::resume::tests::locate::pi_trusts_the_header_over_the_file_name ... ok test harnesstools::resume::tests::prepare_keeps_a_cwd_that_exists ... ok test harnesstools::resume::tests::quote_words::case_01_bare ... ok test harnesstools::resume::tests::quote_words::case_02_uuid ... ok test harnesstools::resume::tests::quote_words::case_03_empty ... ok test harnesstools::resume::tests::quote_words::case_06_only_quote ... ok test harnesstools::resume::tests::quote_words::case_04_space ... ok test harnesstools::opencode::session::tests::replay_from_now_skips_preexisting_rows ... ok test harnesstools::resume::tests::quote_words::case_05_single_quote ... ok test harnesstools::resume::tests::quote_words::case_07_backslash ... ok test harnesstools::resume::tests::quote_words::case_08_double_backslash_quote ... ok test harnesstools::resume::tests::quote_words::case_09_leading_equals ... ok test harnesstools::resume::tests::quote_words::case_10_inner_equals ... ok test harnesstools::resume::tests::quote_words::case_11_dollar ... ok test harnesstools::resume::tests::quote_words::case_12_glob ... ok test harnesstools::resume::tests::quote_words::case_13_tilde ... ok test harnesstools::resume::tests::quote_words::case_14_unicode ... ok test harnesstools::resume::tests::quote_words::case_15_newline ... ok test harnesstools::resume::tests::quote_words::case_16_bang ... ok test harnesstools::resume::tests::render_puts_cd_first ... ok test harnesstools::resume::tests::render_without_a_cwd_is_the_command_alone ... ok test harnesstools::resume::tests::shells_read_quoted_words_back::shell_1___bash__ ... ok test harnesstools::resume::tests::shells_read_quoted_words_back::shell_2___zsh__ ... ok test harnesstools::resume::tests::shells_run_a_rendered_plan::shell_1___bash__ ... ok test harnesstools::resume::tests::template_errors::case_1_path ... ok test harnesstools::resume::tests::template_errors::case_2_cwd ... ok test harnesstools::resume::tests::template_errors::case_3_empty ... ok test harnesstools::resume::tests::template_errors::case_4_unbalanced ... ok test harnesstools::resume::tests::template_leaves_other_braces_alone ... ok test harnesstools::resume::tests::template_substitutes_each_placeholder_in_its_word ... ok test harnesstools::session::any::tests::any_message_dispatches_the_message_trait ... ok test harnesstools::session::any::tests::any_sessions_listener_reports_not_found ... ok test harnesstools::session::checkpoint::tests::the_digest_of_an_item_never_changes ... ok test harnesstools::session::error::tests::message_error_is_from_jsonl ... ok test harnesstools::session::error::tests::runtime_not_found_names_the_path ... ok test harnesstools::resume::tests::shells_run_a_rendered_plan::shell_2___zsh__ ... ok test harnesstools::session::model::tests::content_variants_are_distinct ... ok test harnesstools::session::model::tests::session_id_round_trips_through_string::case_1 ... ok test harnesstools::session::model::tests::session_id_round_trips_through_string::case_2 ... ok test harnesstools::session::model::tests::tool_result_output_text_unwraps_json_strings::case_1_string ... ok test harnesstools::session::model::tests::tool_result_output_text_unwraps_json_strings::case_2_structured ... ok test harnesstools::session::model::tests::tool_result_output_text_unwraps_json_strings::case_3_blocks ... ok test harnesstools::session::model::tests::tool_result_output_text_unwraps_json_strings::case_4_blocks_without_text ... ok test harnesstools::session::model::tests::tool_result_output_text_unwraps_json_strings::case_5_uncaptured ... ok test harnesstools::session::patch::tests::a_patch_between_two_contents_holds_whole_lines::case_1_within_a_line ... ok test harnesstools::resume::tests::shells_read_quoted_words_back::shell_3___fish__ ... ok test harnesstools::session::patch::tests::a_patch_between_two_contents_holds_whole_lines::case_2_added ... ok test harnesstools::session::patch::tests::a_patch_between_two_contents_holds_whole_lines::case_3_no_newline_at_the_end ... ok test harnesstools::session::patch::tests::a_short_hunk_does_not_swallow_the_next ... ok test harnesstools::session::patch::tests::added_and_deleted_files_give_their_content_back::case_1_trailing_newline ... ok test harnesstools::session::patch::tests::added_and_deleted_files_give_their_content_back::case_2_no_trailing_newline ... ok test harnesstools::session::patch::tests::an_added_files_path::case_1_plain ... ok test harnesstools::resume::tests::shells_run_a_rendered_plan::shell_3___fish__ ... ok test harnesstools::session::patch::tests::an_added_files_path::case_2_git ... ok test harnesstools::session::patch::tests::carriage_returns_are_part_of_the_line ... ok test harnesstools::session::patch::tests::counts_additions_and_deletions ... ok test harnesstools::session::patch::tests::keeps_a_missing_newline_marker::case_1_mid_hunk ... ok test harnesstools::session::patch::tests::keeps_a_missing_newline_marker::case_2_last_line ... ok test harnesstools::session::patch::tests::parses_lines_that_look_like_headers_inside_a_hunk ... ok test harnesstools::session::patch::tests::parses_unified_diffs::case_2_headers ... ok test harnesstools::session::patch::tests::parses_unified_diffs::case_1_bare ... ok test harnesstools::session::patch::tests::parses_unified_diffs::case_3_jsdiff ... ok test harnesstools::session::patch::tests::parses_unified_diffs::case_4_git ... ok test harnesstools::session::patch::tests::parses_several_files ... ok test harnesstools::session::patch::tests::parses_unified_diffs::case_5_directory_named_b ... ok test harnesstools::session::patch::tests::summarises_the_files_changed ... ok test harnesstools::session::patch::tests::writes_pi_diffs_of_hunks_numbered_past_the_last_line ... ok test harnesstools::session::patch::tests::writes_pi_diffs ... ok test harnesstools::pi::session::tests::messages_ends_when_the_session_file_is_removed ... ok test harnesstools::pi::session::tests::messages_yields_lines_appended_after_discovery ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_01____ccode_____session1_jsonl___ ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_03____codex_____code_mode_jsonl___ ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_02____codex_____session1_jsonl___ ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_05____codex_____forked_subagent_jsonl___ ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_06____pi_____session1_jsonl___ ... ok test harnesstools::pi::session::tests::watch_waits_for_a_header_being_written ... ok test harnesstools::session::model::tests::message_id_display_equals_source ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_10____copilot_____reasoning_jsonl___ ... ok test harnesstools::session::pushed::tests::blocks_read_as_content ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_1_no_version ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_2_another_version ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_3_unknown_field ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_4_no_role ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_5_malformed_known_block ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_6_unknown_field_in_known_block ... ok test harnesstools::session::pushed::tests::malformed_lines_are_refused::case_7_unknown_title_source ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_04____codex_____paginated_compacted_jsonl___ ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_08____pi_____session_mock_0_85_jsonl___ ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_1_untouched::harness_1_JsonlHarness__Ccode ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_1_untouched::harness_2_JsonlHarness__Codex ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_1_untouched::harness_3_JsonlHarness__Grok ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_1_untouched::harness_4_JsonlHarness__Pi ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_2_without_a_checkpoint::harness_1_JsonlHarness__Ccode ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_2_without_a_checkpoint::harness_2_JsonlHarness__Codex ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_2_without_a_checkpoint::harness_4_JsonlHarness__Pi ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_2_without_a_checkpoint::harness_3_JsonlHarness__Grok ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_3_rewritten_to_the_same_length::harness_1_JsonlHarness__Ccode ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_11____copilot_____compacted_jsonl___ ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_3_rewritten_to_the_same_length::harness_2_JsonlHarness__Codex ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_09____copilot_____task_and_edit_jsonl___ ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_3_rewritten_to_the_same_length::harness_3_JsonlHarness__Grok ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_3_rewritten_to_the_same_length::harness_4_JsonlHarness__Pi ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_4_cut_shorter::harness_1_JsonlHarness__Ccode ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_4_cut_shorter::harness_2_JsonlHarness__Codex ... ok test harnesstools::session::tests::message_trait_exposes_a_normalized_view ... ok test harnesstools::session::tests::last_active_reads_the_harness_sessions_directory ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_4_cut_shorter::harness_3_JsonlHarness__Grok ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_4_cut_shorter::harness_4_JsonlHarness__Pi ... ok test harnesstools::sync::ccode::tests::a_domain_off_linux_is_this_machines_unless_a_linux_namespaces::case_1_the_platform ... ok test harnesstools::sync::ccode::tests::a_domain_off_linux_is_this_machines_unless_a_linux_namespaces::case_2_windows_and_its_host ... ok test harnesstools::sync::ccode::tests::a_domain_off_linux_is_this_machines_unless_a_linux_namespaces::case_3_a_linux_namespace ... ok test harnesstools::sync::ccode::tests::a_registered_process_that_cant_be_read_is_unknown::case_1_its_record_readable ... ok test harnesstools::sync::ccode::tests::a_registered_process_that_cant_be_read_is_unknown::case_2_its_record_unreadable ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_1_macos_running ... ok test harnesstools::session::tests::a_reported_again_session_replaces_its_earlier_stream ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_2_macos_pid_reused ... ok test harnesstools::sync::ccode::tests::a_fast_forward_resumes_from_the_last_row::case_1_linear ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_3_macos_crashed ... ok test harnesstools::sync::ccode::tests::a_fast_forward_resumes_from_the_last_row::case_3_after_a_torn_line ... ok test harnesstools::sync::ccode::tests::a_fast_forward_resumes_from_the_last_row::case_2_rewound_here_to_the_tip ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_4_macos_no_start_read ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_5_macos_unparsed ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_6_windows_running ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_7_windows_pid_reused ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_checked_against_the_process_table::case_8_windows_unparsed ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_1_running ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_2_another_session ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_3_crashed ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_4_pid_reused ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_5_another_pid_namespace ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_7_unreadable_and_gone ... ok test harnesstools::sync::ccode::tests::a_registered_session_is_live_while_its_process_runs::case_6_unreadable_while_running ... ok test harnesstools::sync::ccode::tests::a_subagents_lines_are_keyed_as_capture_keys_them::case_1_spawned ... ok test harnesstools::sync::ccode::tests::a_subagents_lines_are_keyed_as_capture_keys_them::case_2_no_metadata ... ok test harnesstools::sync::ccode::tests::a_switch_inside_a_merged_run_keeps_its_text::case_1_off_the_call ... ok test harnesstools::sync::ccode::tests::a_switch_inside_a_merged_run_keeps_its_text::case_2_off_its_result ... ok test harnesstools::sync::ccode::tests::a_switch_inside_a_merged_run_past_a_failed_call_keeps_its_text ... ok test harnesstools::sync::ccode::tests::a_switch_that_cant_be_made_writes_nothing::case_1_changed ... ok test harnesstools::sync::ccode::tests::a_switch_that_cant_be_made_writes_nothing::case_2_shares_nothing ... ok test harnesstools::sync::ccode::tests::a_switch_that_cant_be_made_writes_nothing::case_3_another_session ... ok test harnesstools::sync::ccode::tests::a_transcript_changed_since_it_was_read_is_left_alone ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_01_linear ... ok test harnesstools::sync::ccode::tests::lines_with_no_id_are_keyed_as_capture_keys_them ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_02_the_lines_hanging_from_the_leaf_follow_it ... ok test harnesstools::sync::ccode::tests::a_switch_passes_the_rows_beside_the_tree_by ... ok test harnesstools::sync::ccode::tests::a_switch_keeps_the_shared_history_as_it_is_and_backs_the_copy_up ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_04_a_leaf_the_last_line_descends_from ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_05_rewound ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_03_in_timestamp_order ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_06_a_leaf_on_another_branch ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_07_the_last_line_on_another_branch_without_a_leaf ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_08_cleared ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_09_a_leaf_that_is_not_there ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_10_compaction_forgets_the_leaf_before_it ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_12_sidechains_are_not_the_main_chain ... ok test harnesstools::sync::ccode::tests::the_tip_is_where_claude_code_resumes::case_11_progress_lines_are_skipped_over ... ok test harnesstools::sync::ccode::tests::the_tip_records_where_the_copy_works ... ok test harnesstools::sync::ccode::tests::what_is_no_clean_fast_forward_is_refused::case_1_off_an_older_line ... ok test harnesstools::sync::ccode::tests::what_is_no_clean_fast_forward_is_refused::case_4_already_here ... ok test harnesstools::sync::ccode::tests::what_is_no_clean_fast_forward_is_refused::case_3_a_cleared_transcript ... ok test harnesstools::sync::ccode::tests::what_is_no_clean_fast_forward_is_refused::case_2_a_root ... ok test harnesstools::sync::ccode::tests::what_is_no_clean_fast_forward_is_refused::case_5_the_last_row_would_not_be_resumed ... ok test harnesstools::opencode::session::v2::tests::a_migrated_session_s_tip_is_its_last_2_0_row ... ok test harnesstools::sync::codex::tests::a_compressed_rollout_is_made_plain_to_resume ... ok test harnesstools::sync::codex::tests::a_legacy_rollout_is_not_appended_to ... ok test harnesstools::session::pushed::tests::a_transcript_pushed_reads_as_captured::__destruct_1_07____pi_____session2_jsonl___ ... ok test harnesstools::opencode::session::v2::tests::the_fixture_s_sessions_read_as_opencode_wrote_them ... ok test harnesstools::session::patch::tests::unified_diffs_round_trip ... ok test harnesstools::sync::codex::tests::a_fast_forward_numbers_on_from_the_last_line::case_3_under_the_writer_lock ... ok test harnesstools::sync::codex::tests::a_fast_forward_numbers_on_from_the_last_line::case_1_mid_session ... ok test harnesstools::sync::codex::tests::liveness_is_the_writer_lock_or_any_codex::case_1_locks_kept_none_held ... ok test harnesstools::sync::codex::tests::liveness_is_the_writer_lock_or_any_codex::case_2_no_locks_a_codex_running ... ok test harnesstools::sync::codex::tests::liveness_is_the_writer_lock_or_any_codex::case_3_no_locks_none_running ... ok test harnesstools::opencode::session::tests::capture_resumes_after_the_event_table_is_gone_for_a_while ... ok test harnesstools::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_1_one_rollout ... ok test harnesstools::sync::codex::tests::a_fast_forward_numbers_on_from_the_last_line::case_2_near_the_end ... ok test harnesstools::sync::codex::tests::a_thread_codex_holds_is_left_alone ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_1_two_rollouts ... ok test harnesstools::opencode::session::v2::tests::a_database_without_an_event_log_is_captured ... ok test harnesstools::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_2_two_rollouts ... ok test harnesstools::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_3_a_segment ... ok test harnesstools::sync::codex::tests::without_locks_a_codex_counts_where_the_session_works::case_1_in_the_sessions_directory ... ok test harnesstools::sync::codex::tests::without_locks_a_codex_counts_where_the_session_works::case_2_elsewhere ... ok test harnesstools::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_5_legacy ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_2_a_segment ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_3_changed ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_4_locked ... ok test harnesstools::sync::copilot::tests::a_lock_names_the_process_that_has_the_session_open ... ok test harnesstools::sync::codex::tests::without_locks_a_codex_elsewhere_counts_when_named_or_writing::case_1_changed_lately_named_nowhere ... ok test harnesstools::sync::copilot::tests::a_session_with_no_lock_is_not_live ... ok test harnesstools::sync::codex::tests::without_locks_a_codex_elsewhere_counts_when_named_or_writing::case_2_changed_long_ago_named_nowhere ... ok test harnesstools::sync::copilot::tests::lock_files_name_their_pid::case_1_lock ... ok test harnesstools::sync::copilot::tests::lock_files_name_their_pid::case_2_hold ... ok test harnesstools::sync::copilot::tests::lock_files_name_their_pid::case_3_other ... ok test harnesstools::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_4_continuing_another ... ok test harnesstools::sync::copilot::tests::lock_files_name_their_pid::case_4_not_a_pid ... ok test harnesstools::sync::codex::tests::without_locks_a_codex_elsewhere_counts_when_named_or_writing::case_3_changed_long_ago_named ... ok test harnesstools::sync::copilot::tests::the_tip_is_the_last_row ... ok test harnesstools::sync::copilot::tests::appending_fast_forwards_the_log ... ok test harnesstools::sync::copilot::tests::rows_from_before_links_still_fast_forward ... ok test harnesstools::sync::grok::tests::a_catch_up_that_cannot_write_its_scrollback_changes_nothing ... ok test harnesstools::sync::grok::tests::a_switch_keeps_an_unkeyed_line_of_the_shared_history ... ok test harnesstools::sync::codex::tests::what_is_no_clean_fast_forward_is_refused::case_1_changed_since ... ok test harnesstools::sync::grok::tests::a_restored_copy_holds_every_row ... ok test harnesstools::sync::grok::tests::a_compacted_copy_holds_what_the_compaction_replaced ... ok test harnesstools::sync::copilot::tests::switching_keeps_the_shared_history_and_backs_the_rest_up ... ok test harnesstools::sync::codex::tests::what_is_no_clean_fast_forward_is_refused::case_2_off_an_older_row ... ok test harnesstools::sync::codex::tests::the_tip_records_where_the_copy_works ... ok test harnesstools::sync::grok::tests::a_catch_up_tried_again_writes_its_scrollback_once ... ok test harnesstools::sync::grok::tests::taking_back_scrollback_keeps_what_grok_wrote_since ... ok test harnesstools::sync::grok::tests::append_survives_grok_rewriting_chat_history_with_system_prompt ... ok test harnesstools::sync::kiro::tests::a_half_written_header_is_a_writer ... ok test harnesstools::sync::grok::tests::append_and_replace_reject_concurrent_edits_taken_ids_and_disjoint_branches ... ok test harnesstools::sync::kiro::tests::a_stale_running_turn_may_or_may_not_have_a_writer::case_2_asking ... ok test harnesstools::sync::grok::tests::appending_after_a_compaction_keeps_the_ids_of_what_it_replaced ... ok test harnesstools::sync::kiro::tests::a_stale_running_turn_may_or_may_not_have_a_writer::case_1_running ... ok test harnesstools::sync::grok::tests::switching_from_shared_session_meta_drops_entire_old_conversation_keeping_system_prompt ... ok test harnesstools::sync::grok::tests::switching_inside_a_merged_run_merges_into_the_new_branch ... ok test harnesstools::sync::grok::tests::append_and_replace_fast_forward_and_switch_branches ... ok test harnesstools::sync::kiro::tests::the_headers_status_says_whether_a_turn_runs::case_1_running ... ok test harnesstools::sync::kiro::tests::the_headers_status_says_whether_a_turn_runs::case_2_asking ... ok test harnesstools::sync::kiro::tests::between_turns_the_processes_say ... ok test harnesstools::sync::kiro::tests::the_headers_status_says_whether_a_turn_runs::case_3_idle ... ok test harnesstools::sync::kiro::tests::the_headers_status_says_whether_a_turn_runs::case_4_over ... ok test harnesstools::sync::kiro::tests::appending_fast_forwards_the_log ... ok test harnesstools::sync::kiro::tests::rows_from_before_links_still_fast_forward ... ok test harnesstools::sync::kiro::tests::the_headers_status_says_whether_a_turn_runs::case_5_failed ... ok test harnesstools::sync::kiro::tests::the_headers_status_says_whether_a_turn_runs::case_6_unknown_status ... ok test harnesstools::sync::grok::tests::a_switch_past_a_compaction_numbers_its_prompts_as_its_scrollback ... ok test harnesstools::sync::liveness::tests::a_harness_counts_in_any_of_the_sessions_directories::case_1_the_first ... ok test harnesstools::sync::liveness::tests::a_harness_counts_in_any_of_the_sessions_directories::case_2_the_second ... ok test harnesstools::sync::liveness::tests::a_harness_counts_in_any_of_the_sessions_directories::case_3_neither ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_1_the_sessions_directory ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_2_below_it ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_3_the_same_once_resolved ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_4_another_directory ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_5_a_sibling_sharing_its_prefix ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_6_above_it ... ok test harnesstools::sync::kiro::tests::the_tip_is_the_last_row ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_7_its_directory_unread ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_9_the_sessions_directory_unknown ... ok test harnesstools::sync::kiro::tests::switching_before_a_compaction_drops_its_tombstone ... ok test harnesstools::sync::kiro::tests::switching_keeps_the_shared_history_and_backs_the_rest_up ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_8_its_directory_read_empty ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_01_named_by_opencode_s ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_02_named_by_session_eq ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_04_named_by_its_file ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_03_named_by_codex_resume ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_05_named_under_node ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_06_another_session_named ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_07_nothing_named ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_08_nothing_named_but_changing ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_09_another_program_naming_it ... ok test harnesstools::sync::liveness::tests::a_harness_elsewhere_counts_when_named_or_changing::case_10_an_unrelated_interpreter_naming_the_harness ... ok test harnesstools::sync::liveness::tests::a_held_flock_is_a_writer ... ok test harnesstools::sync::liveness::tests::a_process_table_is_read_as_sysinfo_reads_it ... ok test harnesstools::sync::liveness::tests::a_process_table_tells_whether_the_harness_runs::case_1_none_running ... ok test harnesstools::sync::liveness::tests::a_proc_filesystem_is_read_as_linux_lays_it_out ... ok test harnesstools::sync::liveness::tests::a_proc_filesystem_tells_where_a_process_works ... ok test harnesstools::sync::liveness::tests::a_process_table_tells_whether_the_harness_runs::case_2_the_harness ... ok test harnesstools::sync::liveness::tests::a_process_table_tells_whether_the_harness_runs::case_3_its_command_line_unreadable ... ok test harnesstools::sync::liveness::tests::a_process_table_tells_whether_the_harness_runs::case_4_another_program_unread ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_is_listed_unread ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_1_no_command_line_named_the_agent ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_2_no_command_line_under_an_interpreter ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_3_nothing_readable ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_4_no_command_line_another_program ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_5_no_name_the_agent ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_6_no_name_another_program ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_7_no_name_nor_command_line ... ok test harnesstools::sync::liveness::tests::a_recent_change_is_changing::case_1_ten_seconds_ago ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_8_no_stat_the_agent ... ok test harnesstools::sync::liveness::tests::a_process_that_cant_be_read_may_be_the_agent::case_9_no_stat_another_program ... ok test harnesstools::sync::liveness::tests::a_recent_change_is_changing::case_3_just_over_the_window ... ok test harnesstools::sync::liveness::tests::a_recent_change_is_changing::case_2_just_under_the_window ... ok test harnesstools::sync::liveness::tests::a_recent_change_is_changing::case_4_an_hour_ago ... ok test harnesstools::sync::liveness::tests::a_recent_change_is_changing::case_5_in_the_future ... ok test harnesstools::sync::liveness::tests::a_recent_change_is_changing::case_6_unreadable ... ok test harnesstools::sync::liveness::tests::a_running_process_whose_stat_cant_be_read_is_unknown::case_1_readable ... ok test harnesstools::sync::liveness::tests::a_running_process_whose_stat_cant_be_read_is_unknown::case_2_unreadable ... ok test harnesstools::sync::liveness::tests::a_running_process_whose_stat_cant_be_read_is_unknown::case_3_its_command_line_unreadable ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_01_the_program ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_02_a_windows_program ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_03_a_node_launcher ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_05_by_its_package ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_06_another_program ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_04_by_its_process_name ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_07_a_name_it_merely_contains ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_08_a_script_bun_runs ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_09_a_script_after_flags ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_10_a_script_after_flags_by_name ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_11_a_windows_interpreter ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_12_another_interpreted_script ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_13_a_flag_naming_the_agent ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_14_an_argument_of_another_script ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_16_an_argument_of_a_script_by_name ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_17_a_required_module ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_18_a_script_after_an_unknown_valued_flag ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_19_a_script_after_a_required_module ... ok test harnesstools::sync::liveness::tests::processes_that_cant_be_read_are_unknown ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_15_an_argument_of_a_script_bun_runs ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_21_past_a_programs_first_argument ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_20_a_script_deno_runs ... ok test harnesstools::sync::opencode::tests::a_message_is_known_by_its_id::case_1_a_distinct_reply_of_the_same_millisecond ... ok test harnesstools::sync::opencode::tests::a_message_is_known_by_its_id::case_2_a_reply_held_by_its_id ... ok test harnesstools::sync::opencode::tests::a_message_is_known_by_its_id::case_3_a_minted_reply_that_may_be_the_held_one ... ok test harnesstools::sync::opencode::tests::a_message_is_known_by_its_id::case_4_a_minted_reply_none_may_be ... ok test harnesstools::sync::opencode::tests::a_message_is_known_by_its_id::case_6_a_minted_reply_that_may_be_either ... ok test harnesstools::sync::opencode::tests::a_message_is_known_by_its_id::case_5_a_minted_reply_beside_the_held_one ... ok test harnesstools::sync::opencode::tests::a_new_message_must_sort_after_the_last::case_1_a_later_millisecond ... ok test harnesstools::sync::opencode::tests::a_new_message_must_sort_after_the_last::case_2_the_same_millisecond_and_a_later_id ... ok test harnesstools::sync::opencode::tests::a_new_message_must_sort_after_the_last::case_3_the_same_millisecond_and_an_earlier_id ... ok test harnesstools::sync::opencode::tests::a_new_message_must_sort_after_the_last::case_4_an_earlier_millisecond ... ok test harnesstools::resume::tests::any_word_survives_quoting ... ok test harnesstools::sync::codex::tests::a_switch_writes_the_rollout_out_along_the_branch_in_place::case_1_without_locks ... ok test harnesstools::sync::codex::tests::a_switch_writes_the_rollout_out_along_the_branch_in_place::case_2_under_the_writer_lock ... ok test harnesstools::sync::opencode::tests::any_opencode_running_may_be_writing::case_1_an_opencode_running ... ok test harnesstools::sync::opencode::tests::any_opencode_running_may_be_writing::case_2_none ... ok test harnesstools::sync::opencode::tests::a_reply_still_being_written_is_live::case_1_running_its_last_reply_completed ... ok test harnesstools::sync::opencode::tests::a_reply_still_being_written_is_live::case_2_running_its_last_reply_unfinished ... ok test harnesstools::sync::opencode::tests::a_reply_still_being_written_is_live::case_3_none_running_its_last_reply_unfinished ... ok test harnesstools::sync::grok::tests::catch_ups_of_one_session_at_once_keep_the_ids_one_wrote ... ok test harnesstools::sync::opencode::tests::a_2_0_session_s_tip_is_the_last_row_capture_delivers ... ok test harnesstools::sync::opencode::tests::an_opencode_elsewhere_counts_when_named_or_writing::case_1_changed_lately_named_nowhere ... ok test harnesstools::pi::session::tests::watch_reads_a_file_again_after_a_failed_read ... ok test harnesstools::sync::opencode::tests::an_opencode_elsewhere_counts_when_named_or_writing::case_2_changed_long_ago_named_nowhere ... ok test harnesstools::sync::opencode::tests::an_opencode_elsewhere_counts_when_named_or_writing::case_3_changed_long_ago_named ... ok test harnesstools::sync::pi::tests::a_fast_forward_resumes_from_the_last_entry ... ok test harnesstools::sync::pi::tests::a_forks_header_is_keyed_as_capture_keys_it::case_1_named_by_pi ... ok test harnesstools::sync::pi::tests::a_forks_header_is_keyed_as_capture_keys_it::case_2_custom_name ... ok test harnesstools::sync::pi::tests::a_forks_header_is_keyed_as_capture_keys_it::case_3_custom_name_relative ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_2_a_prompt_before_the_last ... ok test harnesstools::sync::pi::tests::a_forks_header_is_keyed_as_capture_keys_it::case_4_unreadable ... ok test harnesstools::sync::pi::tests::a_pi_elsewhere_counts_when_named_or_writing::case_1_changed_lately_named_nowhere ... ok test harnesstools::sync::pi::tests::a_pi_elsewhere_counts_when_named_or_writing::case_2_changed_long_ago_named_nowhere ... ok test harnesstools::sync::pi::tests::a_pi_is_told_apart_by_where_it_works::case_1_in_the_sessions_directory ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_1_a_new_prompt_after_the_last ... ok test harnesstools::sync::pi::tests::a_pi_elsewhere_counts_when_named_or_writing::case_3_changed_long_ago_named ... ok test harnesstools::sync::pi::tests::a_pi_is_told_apart_by_where_it_works::case_2_elsewhere ... ok test harnesstools::sync::opencode::tests::a_fast_forward_imports_the_tail::case_2_mid_turn ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_3_a_row_already_here ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_4_a_revert_pending ... ok test harnesstools::sync::pi::tests::a_switch_inside_a_merged_run_keeps_its_text::case_1_off_the_call ... ok test harnesstools::sync::pi::tests::a_switch_inside_a_merged_run_keeps_its_text::case_2_off_its_result ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_5_a_part_removed_since ... ok test harnesstools::sync::pi::tests::a_switch_inside_a_merged_run_past_a_failed_call_keeps_its_text ... ok test harnesstools::sync::pi::tests::an_old_file_is_unswitchable::case_1_version_1 ... ok test harnesstools::sync::pi::tests::a_switch_that_cant_be_made_writes_nothing::case_3_shares_nothing ... ok test harnesstools::sync::pi::tests::a_switch_that_cant_be_made_writes_nothing::case_1_changed ... ok test harnesstools::sync::pi::tests::a_switch_that_cant_be_made_writes_nothing::case_2_version_1 ... ok test harnesstools::sync::pi::tests::an_old_file_is_unswitchable::case_2_version_3 ... ok test harnesstools::sync::pi::tests::an_omp_entry_off_the_branch_keeps_its_tip::case_1_named ... ok test harnesstools::sync::pi::tests::any_pi_running_may_be_writing::case_1_a_pi_running ... ok test harnesstools::sync::pi::tests::a_switch_keeps_the_shared_entries_and_the_names ... ok test harnesstools::sync::pi::tests::any_pi_running_may_be_writing::case_2_none ... ok test harnesstools::sync::pi::tests::an_omp_entry_off_the_branch_keeps_its_tip::case_2_cleared ... ok test harnesstools::sync::pi::tests::an_omp_entry_off_the_branch_keeps_its_tip::case_3_gone ... ok test harnesstools::sync::pi::tests::the_tip_records_where_the_copy_works ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_01_after_the_tip ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_02_merged_into_a_line ... ok test harnesstools::sync::pi::tests::what_is_no_clean_fast_forward_is_refused::case_1_off_an_older_entry ... ok test harnesstools::sync::pi::tests::what_is_no_clean_fast_forward_is_refused::case_2_an_old_file ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_03_shares_nothing ... ok test harnesstools::sync::pi::tests::what_is_no_clean_fast_forward_is_refused::case_3_an_id_the_file_holds ... ok test harnesstools::sync::pi::tests::lines_pi_gave_ids_converting_a_file_are_keyed_as_capture_keys_them ... ok test harnesstools::sync::pi::tests::what_is_no_clean_fast_forward_is_refused::case_4_changed ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_04_holds_rows_past_it ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_06_beside_the_tree_after_it ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_05_beside_the_tree_not_held ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_08_only_beside_the_tree ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_07_beside_the_tree_first ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_09_codex_content_keyed ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_10_chained_parents_beside_the_tree ... ok test harnesstools::sync::tests::a_switch_resumes_from_the_head::case_1_the_tip ... ok test harnesstools::sync::tests::a_switch_keeps_its_backup_unless_nothing_was_replaced::case_2_changed_meanwhile ... ok test harnesstools::sync::tests::a_switch_keeps_its_backup_unless_nothing_was_replaced::case_1_replaced ... ok test harnesstools::sync::tests::a_switch_writes_the_rows_past_the_branch_point_the_copy_kept_none_of ... ok test harnesstools::sync::pi::tests::a_switch_writes_the_rows_beside_the_tree_that_go_with_the_branch ... ok test harnesstools::sync::tests::a_switch_resumes_from_the_head::case_3_another_row ... ok test harnesstools::sync::tests::a_switch_resumes_from_the_head::case_2_merged_into_the_tip ... ok test harnesstools::sync::tests::a_switch_resumes_from_the_head::case_4_empty ... ok test harnesstools::sync::tests::a_switch_keeps_its_backup_unless_nothing_was_replaced::case_3_failed_before_the_rename ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_6_a_part_edited_since ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_04_in_the_same_one ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_03_in_neither ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_01_in_the_recorded_directory ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_02_in_the_callers_directory ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_05_elsewhere_than_the_same_one ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_06_caller_saw_nowhere ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_07_recorded_gone ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_08_recorded_gone_caller_saw_nowhere ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_09_recorded_nowhere ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_01_from_the_tip ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_10_known_nowhere ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_02_from_a_row_merged_into_it ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_03_from_an_older_line ... ok test harnesstools::sync::tests::backups_never_overwrite_each_other ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_05_chained_from_nothing ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_04_from_nothing ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_07_chained_parents_from_an_older_line ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_08_chained_from_an_older_line ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_09_in_order ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_10_an_id_held ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_7_a_message_edited_since ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_06_chained_parents_from_nothing ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_11_an_id_twice ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_12_beside_the_tree ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_13_beside_the_tree_after_a_row ... ok test harnesstools::sync::tests::opencode_is_never_switched ... ok test io::follow_lines::tests::a_change_while_the_stream_is_suspended_is_not_lost ... ok test io::follow_lines::tests::read_to_end_reads_a_single_pass ... ok test io::follow_lines::tests::a_failed_read_after_the_sender_drops_ends_the_stream_quietly ... ok test io::follow_lines::tests::a_failing_read_is_retried_and_only_its_first_failure_yielded ... ok test io::line_reader::tests::a_file_rewritten_in_place_restarts::case_1_as_long::resumed_1_false ... ok test io::line_reader::tests::a_failed_open_keeps_the_position ... ok test io::line_reader::tests::a_file_replaced_at_the_path_restarts ... ok test io::line_reader::tests::a_file_rewritten_in_place_restarts::case_2_longer::resumed_1_false ... ok test io::line_reader::tests::a_file_rewritten_in_place_restarts::case_1_as_long::resumed_2_true ... ok test io::line_reader::tests::a_file_rewritten_with_what_was_read_reads_on ... ok test io::line_reader::tests::a_file_rewritten_in_place_restarts::case_2_longer::resumed_2_true ... ok test io::line_reader::tests::a_line_being_written_is_copied_once ... ok test io::line_reader::tests::a_held_file_is_followed_past_a_replacement_at_its_path ... ok test io::line_reader::tests::a_line_read_in_part_rewritten_in_place_restarts ... ok test io::line_reader::tests::a_reader_at_the_end_holds_no_buffer::case_1_whole_lines ... ok test io::line_reader::tests::a_reader_resumed_past_the_end_restarts ... ok test io::line_reader::tests::a_resumed_reader_continues_at_its_offset::case_1_at_a_boundary ... ok test io::line_reader::tests::a_resumed_reader_continues_at_its_offset::case_2_at_the_end ... ok test io::line_reader::tests::a_reader_at_the_end_holds_no_buffer::case_2_a_line_read_in_part ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_1_first_line ... ok test io::line_reader::tests::a_line_longer_than_a_read_is_returned_whole ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_2_last_line ... ok test io::line_reader::tests::finds_a_line_longer_than_a_read::before_1_____ ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_3_blank_line ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_4_start_of_file ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_5_mid_line ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_6_past_the_end ... ok test io::line_reader::tests::returns_complete_lines_only::case_1_empty ... ok test io::line_reader::tests::returns_complete_lines_only::case_2_one ... ok test io::line_reader::tests::returns_complete_lines_only::case_3_blank_lines_are_lines ... ok test io::line_reader::tests::finds_a_line_longer_than_a_read::before_2___an__ ... ok test io::line_reader::tests::returns_complete_lines_only::case_4_unterminated_tail_withheld ... ok test io::line_reader::tests::returns_complete_lines_only::case_5_only_a_fragment ... ok test io::line_reader::tests::the_iterator_ends_after_its_first_error ... ok test io::line_reader::tests::truncation_below_the_read_position_restarts ... ok test io::pooled_read_lines::tests::a_restart_is_read_through_in_the_same_batch::restart_1_ReadLinesError__Truncated ... ok test io::pooled_read_lines::tests::a_batch_stops_once_it_is_full ... ok test io::pooled_read_lines::tests::a_restart_is_read_through_in_the_same_batch::restart_3_ReadLinesError__Rewritten ... ok test json::js::tests::a_malformed_value_keeps_its_error ... ok test io::pooled_read_lines::tests::a_restart_is_read_through_in_the_same_batch::restart_2_ReadLinesError__Replaced ... ok test json::js::tests::a_value_json_parse_reads_is_read::case_3_invalid_utf8 ... ok test json::js::tests::a_value_json_parse_reads_is_read::case_1_lone ... ok test json::js::tests::a_value_json_parse_reads_is_read::case_2_whole ... ok test harnesstools::sync::opencode::tests::a_copy_left_mid_reply_is_not_live_but_forked ... ok test io::pooled_read_lines::tests::the_lines_before_a_failure_are_yielded_then_the_stream_ends ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_01_lone_low ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_02_lone_high_at_the_end ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_03_high_before_a_non_surrogate ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_04_high_before_a_pair ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_05_low_after_a_pair ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_06_invalid_utf8 ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_07_a_pair ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_08_an_escaped_backslash ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_09_other_escapes ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_10_not_an_escape_at_all ... ok test json::js::tests::well_formed_replaces_only_what_json_parse_would_make_u_fffd::case_11_cut_short ... ok test json::jsonl::tests::deserializes_each_non_blank_line::case_1_values ... ok test json::jsonl::tests::a_line_whose_decoding_panics_is_malformed ... ok test json::jsonl::tests::deserializes_each_non_blank_line::case_2_blank_lines_are_skipped ... ok test json::jsonl::tests::deserializes_each_non_blank_line::case_3_a_malformed_line_is_not_the_end ... ok test json::jsonl::tests::deserializes_each_non_blank_line::case_4_a_read_error_is_not_the_end ... ok test harnesstools::sync::opencode::tests::the_tip_is_the_last_row_opencode_reads ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_8_edited_before_the_tip_was_read ... ok test num::tests::for_i16::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_i16::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test num::tests::for_i16::widening_mul_is_the_product_of_the_magnitudes_signed ... ok test num::tests::for_i32::saturating_mul_div_by_one_is_saturating_mul ... ok test harnesstools::sync::opencode::tests::a_fast_forward_imports_the_tail::case_1_before_the_last_turn ... ok test num::tests::for_i32::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test num::tests::for_i64::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_i32::widening_mul_is_the_product_of_the_magnitudes_signed ... ok test num::tests::for_i64::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test num::tests::for_isize::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test num::tests::for_i64::widening_mul_is_the_product_of_the_magnitudes_signed ... ok test num::tests::for_isize::widening_mul_is_the_product_of_the_magnitudes_signed ... ok test num::tests::for_isize::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_u16::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_u16::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test io::pooled_read_lines::tests::a_file_larger_than_a_batch_is_read_to_its_end ... ok test json::js::tests::fully_escaped_strings_are_read ... ok test num::tests::for_u16::widening_mul_is_carrying_mul_without_a_carry ... ok test num::tests::for_u64::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_u32::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_u32::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test num::tests::for_u64::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test num::tests::saturating_mul_div_is_exact_until_the_quotient_overflows::case_1_two_64_kib_lengths ... ok test num::tests::saturating_mul_div_is_exact_until_the_quotient_overflows::case_2_product_past_usize ... ok test num::tests::saturating_mul_div_is_exact_until_the_quotient_overflows::case_3_scaled_down_from_past_usize ... ok test num::tests::saturating_mul_div_is_exact_until_the_quotient_overflows::case_4_saturates ... ok test num::tests::for_u64::widening_mul_is_carrying_mul_without_a_carry ... ok test os::fs::tests::distinct_files_have_distinct_identities ... ok test os::fs::tests::metadata_identity_matches_the_handle_identity ... ok test os::fs::tests::the_same_file_keeps_its_identity_across_handles ... ok test num::tests::for_u32::widening_mul_is_carrying_mul_without_a_carry ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_1_named ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_2_resource ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_3_hybrid ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_4_v2_only ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_5_v2_by_no_controller ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_6_unbound ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_7_colon_in_path ... ok test os::linux::cgroup::cgroupv1::tests::finds_the_hierarchy_entry::case_8_empty ... ok test os::linux::cgroup::cgroupv1::tests::reads_the_active_process ... ok test os::linux::cgroup::cgroupv2::tests::finds_the_v2_entry::case_1_v2 ... ok test os::linux::cgroup::cgroupv2::tests::finds_the_v2_entry::case_2_hybrid ... ok test os::linux::cgroup::cgroupv2::tests::finds_the_v2_entry::case_3_v1_only ... ok test os::linux::cgroup::cgroupv2::tests::finds_the_v2_entry::case_4_colon_in_path ... ok test os::linux::cgroup::cgroupv2::tests::finds_the_v2_entry::case_5_empty ... ok test os::linux::cgroup::cgroupv2::tests::reads_the_active_process ... ok test os::umask::tests::displays_as_octal::case_2 ... ok test os::umask::tests::displays_as_octal::case_3 ... ok test os::umask::tests::displays_as_octal::case_1 ... ok test os::umask::tests::only_install_remembers_the_first_umask_it_replaced ... ok test os::unix::io::tests::a_read_at_the_end_of_input_returns_zero::nonblocking_1_false ... ok test os::unix::io::tests::a_read_at_the_end_of_input_returns_zero::nonblocking_2_true ... ok test num::tests::for_usize::saturating_mul_div_by_one_is_saturating_mul ... ok test num::tests::for_usize::saturating_mul_div_cancels_a_mul_it_divides_by ... ok test os::unix::io::tests::writes_everything::case_1_single_write::nonblocking_1_false ... ok test os::unix::io::tests::writes_everything::case_1_single_write::nonblocking_2_true ... ok test os::unix::io::tests::writes_everything::case_2_short_write_loop::nonblocking_1_false ... ok test num::tests::for_usize::widening_mul_is_carrying_mul_without_a_carry ... ok test os::unix::io::tests::writes_everything::case_2_short_write_loop::nonblocking_2_true ... ok test os::unix::process::close_fds::tests::a_failed_exec_is_still_reported ... ok test os::unix::io::tests::a_read_waits_for_input::nonblocking_2_true ... ok test os::unix::io::tests::a_read_waits_for_input::nonblocking_1_false ... ok test os::unix::io::tests::a_reader_that_vanishes_mid_write_errors_instead_of_hanging ... ok test os::unix::process::tests::a_process_that_has_gone_has_no_working_directory ... ok test os::unix::process::close_fds::tests::the_child_inherits_a_descriptor::case_1_by_default ... ok test os::unix::process::tests::reads_the_working_directory_of_another_process ... ok test os::unix::process::tests::test_pid_from_u32::case_1_zero ... ok test os::unix::process::tests::test_pid_from_u32::case_2_one ... ok test os::unix::process::tests::test_pid_from_u32::case_3_max ... ok test os::unix::process::tests::test_pid_from_u32::case_4_just_over_max ... ok test os::unix::process::tests::test_pid_from_u32::case_5_minus_one_if_wrapped ... ok test os::unix::process::tests::names_a_process_by_its_executable_rather_than_its_argv0 ... ok test os::unix::secure_temp_dir::tests::a_directory_is_moved_aside_only_from_a_private_parent_and_unused::case_1_empty_in_a_private_parent ... ok test os::unix::process::tests::the_generic_lookup_reads_the_working_directory_too ... ok test os::unix::secure_temp_dir::tests::a_directory_is_moved_aside_only_from_a_private_parent_and_unused::case_2_stale_socket ... ok test os::unix::secure_temp_dir::tests::a_directory_is_moved_aside_only_from_a_private_parent_and_unused::case_3_listening_socket ... ok test os::unix::secure_temp_dir::tests::a_directory_is_moved_aside_only_from_a_private_parent_and_unused::case_4_parent_others_can_open ... ok test os::unix::secure_temp_dir::tests::a_directory_is_moved_aside_only_from_a_private_parent_and_unused::case_5_parent_group_can_write ... ok test os::unix::secure_temp_dir::tests::a_held_lock_makes_the_next_taker_wait ... ok test os::unix::secure_temp_dir::tests::the_lock_is_taken_only_in_a_private_parent::case_1_private_parent ... ok test os::unix::secure_temp_dir::tests::the_lock_is_taken_only_in_a_private_parent::case_2_parent_others_can_open ... ok test os::unix::tests::touching_a_socket_refreshes_its_timestamps ... ok test os::unix::tests::touching_a_symlink_leaves_its_target_alone ... ok test os::unix::process::close_fds::tests::the_child_inherits_a_descriptor::case_2_not_with_close_fds ... ok test os::unix::tty::tests::a_pty_is_not_a_virtual_console ... ok test os::unix::tty::tests::a_read_waits_on_the_reactor_for_input ... ok test os::unix::tty::tests::dev_null_is_not_a_terminal ... ok test os::unix::tty::tests::a_write_reaches_the_other_end ... ok test os::unix::tty::tests::current_finds_the_terminal_on_stdin ... ok test os::unix::tty::tests::only_a_terminal_can_be_reopened ... ok test os::unix::tty::tests::from_fd_of_a_pty_matches_a_stat_of_its_path ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_1_tty0 ... ok test os::unix::tty::tests::reopening_leaves_the_original_descriptor_blocking::access_2_Access__Write ... ok test os::unix::tty::tests::reopening_leaves_the_original_descriptor_blocking::access_1_Access__Read ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_2_tty1 ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_3_tty63 ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_4_ttys0 ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_5_console ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_6_dev_tty ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_7_ptmx ... ok test os::unix::tty::tests::virtual_consoles_are_recognised_by_device_number::case_8_pts0 ... ok test path::absolute::tests::compares_and_hashes_as_a_path ... ok test path::absolute::tests::new_accepts_only_absolute_paths::case_1_root ... ok test path::absolute::tests::new_accepts_only_absolute_paths::case_2_absolute ... ok test path::absolute::tests::new_accepts_only_absolute_paths::case_3_tilde ... ok test path::absolute::tests::new_accepts_only_absolute_paths::case_4_relative ... ok test path::absolute::tests::new_accepts_only_absolute_paths::case_5_dot ... ok test path::absolute::tests::new_accepts_only_absolute_paths::case_6_empty ... ok test path::absolute::tests::parses_and_round_trips_through_serde_only_when_absolute::case_1_accepted ... ok test path::absolute::tests::parses_and_round_trips_through_serde_only_when_absolute::case_2_rejected ... ok test path::absolute::tests::resolve_puts_relative_paths_under_the_base::case_1_relative ... ok test path::absolute::tests::resolve_puts_relative_paths_under_the_base::case_2_absolute ... ok test path::absolute::tests::resolve_puts_relative_paths_under_the_base::case_3_parent_is_kept ... ok test path::display_rich::tests::base_output_matches_path_display::case_1 ... ok test path::display_rich::tests::base_output_matches_path_display::case_2 ... ok test path::display_rich::tests::composes_with_trailing_slash::case_1_tilde ... ok test path::display_rich::tests::composes_with_trailing_slash::case_2_tilde_home_root_is_idempotent ... ok test path::display_rich::tests::composes_with_trailing_slash::case_3_relative_to_base_itself ... ok test path::display_rich::tests::relative_to_rendering::case_1_strips_prefix ... ok test path::display_rich::tests::relative_to_rendering::case_2_base_itself_is_empty ... ok test path::display_rich::tests::relative_to_rendering::case_3_passes_through_when_not_under_base ... ok test path::display_rich::tests::relative_to_takes_priority_over_tilde ... ok test path::display_rich::tests::tilde_rendering::case_1_abbreviates_home ... ok test path::display_rich::tests::tilde_rendering::case_2_home_root_is_tilde_separator ... ok test path::display_rich::tests::tilde_rendering::case_3_passes_through_when_not_under_home ... ok test path::display_rich::tests::trailing_slash_rendering::case_1_appends_when_missing ... ok test os::unix::process::close_fds::tests::the_child_inherits_a_descriptor::case_3_not_bashs_saved_stdout_with_the_fallback ... ok test path::display_rich::tests::trailing_slash_rendering::case_2_idempotent_when_terminated ... ok test path::display_rich::tests::trailing_slash_rendering::case_3_disabled_is_base ... ok test path::display_rich::tests::trailing_slash_rendering::case_4_empty_becomes_bare_separator ... ok test path::display_rich::tests::works_for_all_asref_path_types ... ok test path::serde_with::tests::expand_names_the_unset_variable::case_1_empty ... ok test io::line_reader::tests::a_line_past_the_longest_is_passed_over ... ok test path::serde_with::tests::expand_names_the_unset_variable::case_2_unset_variable ... ok test path::serde_with::tests::expand_names_the_unset_variable::case_3_unset_braced_variable ... ok test path::serde_with::tests::expand_names_the_unset_variable::case_4_unset_after_a_set_one ... ok test path::serde_with::tests::relative_to_needs_the_anchor_only_for_relative_paths::case_1_relative ... ok test path::serde_with::tests::relative_to_needs_the_anchor_only_for_relative_paths::case_2_absolute ... ok test path::serde_with::tests::relative_to_rejects::case_1_empty ... ok test path::serde_with::tests::relative_to_resolves::case_01_bare_name ... ok test path::serde_with::tests::relative_to_resolves::case_02_nested ... ok test path::serde_with::tests::relative_to_resolves::case_03_parent ... ok test path::serde_with::tests::relative_to_resolves::case_04_absolute ... ok test path::serde_with::tests::relative_to_resolves::case_05_tilde ... ok test path::serde_with::tests::relative_to_resolves::case_06_bare_tilde ... ok test path::serde_with::tests::relative_to_resolves::case_07_tilde_mid_name ... ok test path::serde_with::tests::relative_to_resolves::case_08_absolute_variable ... ok test path::serde_with::tests::relative_to_resolves::case_09_relative_variable ... ok test path::serde_with::tests::relative_to_resolves::case_10_unset_variable_with_a_default ... ok test path::serde_with::tests::relative_to_resolves::case_11_lone_dollar ... ok test path::serde_with::tests::relative_to_resolves::case_12_escaped_dollar ... ok test path::serde_with::tests::relative_to_resolves::case_13_unset_variable ... ok test path::serde_with::tests::relative_to_resolves::case_14_unset_braced_variable ... ok test path::serde_with::tests::relative_to_resolves::case_15_unset_variable_in_an_absolute_path ... ok test path::serde_with::tests::relative_to_resolves::case_16_unset_variable_beside_a_tilde ... ok test path::serde_with::tests::shell_expanded_leaves_relative_paths_relative::case_1_relative ... ok test path::serde_with::tests::shell_expanded_leaves_relative_paths_relative::case_2_tilde ... ok test path::serde_with::tests::shell_expanded_leaves_relative_paths_relative::case_3_variable ... ok test path::serde_with::tests::variables_are_those_expansion_reads::case_1_bare ... ok test path::serde_with::tests::variables_are_those_expansion_reads::case_2_braced ... ok test path::serde_with::tests::variables_are_those_expansion_reads::case_3_several ... ok test path::serde_with::tests::variables_are_those_expansion_reads::case_4_escaped ... ok test path::serde_with::tests::variables_are_those_expansion_reads::case_5_home ... ok test path::tests::is_same_path_compares_paths ... ok test path::tests::is_same_path_sees_through_symlinks ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_1_clamped_tail ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_2_exact_multiple ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_3_size_exceeds_range ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_4_offset_start ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_5_empty_range ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_6_zero_width_falls_back_to_one ... ok test range::chunks::tests::exposes_its_bounds_and_stride ... ok test range::chunks::tests::is_generic_over_the_index_type ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_1_missing ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_2_null ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_3_in_range ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_4_at_min ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_5_below_min ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_6_above_max ... ok test range::clamped::tests::exposes_its_bounds ... ok test range::clamped::tests::json_schema_carries_the_bounds ... ok test range::clamped::tests::rejects_non_integers::case_1_negative ... ok test range::clamped::tests::works_for_signed_types::case_1_missing ... ok test range::clamped::tests::works_for_signed_types::case_2_negative_in_range ... ok test range::clamped::tests::rejects_non_integers::case_2_string ... ok test range::clamped::tests::works_for_signed_types::case_3_below_min ... ok test range::numbering::tests::from_fold_splits_head_and_tail::case_2_nothing_discarded ... ok test range::numbering::tests::from_fold_splits_head_and_tail::case_1_truncated ... ok test range::numbering::tests::from_fold_splits_head_and_tail::case_3_empty ... ok test range::numbering::tests::head_range_numbers_from_the_start::case_1 ... ok test range::numbering::tests::head_range_numbers_from_the_start::case_2 ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_1 ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_2 ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_3 ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_4 ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_5 ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_6 ... ok test range::numbering::tests::tail_range_numbers_back_from_the_end::case_1 ... ok test range::numbering::tests::tail_range_numbers_back_from_the_end::case_2 ... ok test range::py_style::tests::resolve_for_empty_slice_never_panics::case_1_everything ... ok test range::py_style::tests::resolve_for_empty_slice_never_panics::case_2_last_line ... ok test range::py_style::tests::resolve_for_empty_slice_never_panics::case_3_positive ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_01_in_bounds ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_02_single_line ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_03_last_line_no_sentinel ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_04_whole_via_negative_end ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_05_negative_from_end ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_06_more_than_available_clamps ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_07_clamped_past_end ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_08_backwards_resolves_empty ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_09_negative_backwards_resolves_empty ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_10_end_before_the_slice ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_11_end_before_the_slice_from_within ... ok test range::py_style::tests::resolve_for_is_always_sliceable::case_12_both_bounds_before_the_slice ... ok test range::py_style::tests::resolve_for_split_empty_halves_never_panic::case_1_everything ... ok test range::py_style::tests::resolve_for_split_empty_halves_never_panic::case_2_positive ... ok test range::py_style::tests::resolve_for_split_empty_halves_never_panic::case_3_negative ... ok test range::py_style::tests::resolve_for_split_empty_halves_never_panic::case_4_spanning ... ok test range::py_style::tests::resolve_for_split_empty_halves_never_panic::case_5_extremes ... ok test range::py_style::tests::resolve_for_split_empty_halves_never_panic::case_6_reversed_extremes ... ok test range::py_style::tests::resolve_for_split_matches_resolve_for_when_nothing_is_missing ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_01_first_line ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_02_within_the_start ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_03_exactly_the_start ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_04_just_past_the_start ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_05_wholly_inside_the_gap ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_06_backwards_is_empty ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_07_last_line ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_08_exactly_the_end ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_09_just_past_the_end ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_10_wholly_inside_the_gap_from_behind ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_11_negative_backwards_is_empty ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_12_everything ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_13_across_the_gap ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_14_across_into_the_gap ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_15_from_the_end_back_to_the_start ... ok test range::py_style::tests::resolve_for_split_picks_from_both_halves::case_16_from_the_end_back_to_line_zero ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_1_no_hits ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_2_middle ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_3_clamps_at_start ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_4_clamps_at_end ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_5_radius_zero_is_the_hit_line ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_6_adjacent_windows_merge ... ok test range::windows::tests::context_windows_are_merged_clamped_neighbourhoods::case_7_distant_windows_leave_a_gap ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_1_empty ... ok test os::unix::process::close_fds::tests::the_child_inherits_a_descriptor::case_4_one_past_the_fallbacks_end ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_2_single ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_3_disjoint_kept ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_4_touching_fuse ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_5_overlapping_fuse ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_6_nested_absorbed ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_7_chain ... ok test secrets::files::tests::commands_naming_them::case_01_cat ... ok test secrets::files::tests::commands_naming_them::case_02_redirect ... ok test secrets::files::tests::commands_naming_them::case_03_redirect_attached ... ok test secrets::files::tests::commands_naming_them::case_04_curl_data ... ok test secrets::files::tests::commands_naming_them::case_05_flag_value ... ok test secrets::files::tests::commands_naming_them::case_06_piped ... ok test secrets::files::tests::commands_naming_them::case_07_shell_script ... ok test secrets::files::tests::commands_naming_them::case_08_example ... ok test secrets::files::tests::commands_naming_them::case_09_other ... ok test secrets::files::tests::commands_naming_them::case_10_mention_in_words ... ok test secrets::files::tests::files_holding_credentials::case_01_dotenv ... ok test secrets::files::tests::files_holding_credentials::case_02_dotenv_local ... ok test secrets::files::tests::files_holding_credentials::case_03_dotenv_example ... ok test secrets::files::tests::files_holding_credentials::case_04_named_env ... ok test secrets::files::tests::files_holding_credentials::case_05_ssh_key ... ok test secrets::files::tests::files_holding_credentials::case_06_ssh_public_key ... ok test secrets::files::tests::files_holding_credentials::case_07_pem ... ok test secrets::files::tests::files_holding_credentials::case_08_aws ... ok test secrets::files::tests::files_holding_credentials::case_09_aws_by_tilde ... ok test secrets::files::tests::files_holding_credentials::case_10_aws_config ... ok test secrets::files::tests::files_holding_credentials::case_11_kube_from_home ... ok test secrets::files::tests::files_holding_credentials::case_12_claude_login ... ok test secrets::files::tests::files_holding_credentials::case_13_codex_login ... ok test secrets::files::tests::files_holding_credentials::case_14_atuin_key ... ok test secrets::files::tests::files_holding_credentials::case_15_source ... ok test secrets::files::tests::files_holding_credentials::case_16_readme ... ok test secrets::files::tests::files_holding_credentials::case_17_users_name ... ok test secrets::files::tests::files_holding_credentials::case_18_users_name_over_an_exception ... ok test secrets::files::tests::files_holding_credentials::case_19_users_path ... ok test range::py_style::tests::resolve_for_split_reports_the_gap_when_a_bound_overshoots ... ok test range::py_style::tests::resolve_for_split_is_always_sliceable ... ok test secrets::files::tests::files_holding_credentials::case_20_users_relative_path ... ok test secrets::files::tests::files_holding_credentials::case_21_windows_home ... ok test secrets::files::tests::files_holding_credentials::case_22_windows_dotenv ... ok test secrets::files::tests::files_holding_credentials::case_23_windows_relative ... ok test secrets::files::tests::files_holding_credentials::case_24_network_share ... ok test secrets::files::tests::files_holding_credentials::case_25_network_share_slashes ... ok test secrets::files::tests::files_holding_credentials::case_26_extra_slashes ... ok test secrets::files::tests::files_holding_credentials::case_27_extra_slashes_from_home ... ok test secrets::files::tests::files_holding_credentials::case_28_empty ... ok test secrets::files::tests::windows_paths::case_1_backslashes ... ok test secrets::files::tests::windows_paths::case_2_forward_slashes ... ok test secrets::files::tests::windows_paths::case_3_from_home ... ok test secrets::files::tests::windows_paths::case_4_relative ... ok test path::serde_with::tests::escaped_paths_expand_to_themselves ... ok test range::windows::tests::merge_ranges_preserves_the_covered_points_as_disjoint_runs ... ok test path::absolute::tests::derived_paths_stay_absolute ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_01_key ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_02_key_base64 ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_03_highlighted_account_login ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_04_account_register ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_06_change_password ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_05_register ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_07_login ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_08_keys_subcommand ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_10_unrelated_key_word ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_11_plain ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_09_history ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_12_echoed_mention ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_13_printed_mention ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_14_grepped_mention ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_15_commit_message ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_16_help_lookup ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_17_after_and ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_18_after_semicolon ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_19_after_pipe ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_20_piped_out ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_21_command_substitution ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_22_backticks ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_23_subshell ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_24_next_line ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_25_sudo ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_26_timed ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_27_env_prefix ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_28_by_path ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_29_brace_group ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_30_shell_script ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_31_shell_script_flags_apart ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_32_shell_script_after ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_33_shell_script_mention ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_34_shell_script_long_flag ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_36_negated ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_35_shell_script_long_flag_joined ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_37_in_a_branch ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_38_in_a_loop ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_40_absolute_path ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_39_otherwise ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_41_gh_token ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_42_gh_status_token ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_43_gh_status ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_44_gcloud ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_46_aws_configure ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_45_gcloud_adc ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_47_aws_ecr ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_48_aws_sts ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_49_aws_other ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_50_az ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_51_kubectl_secret ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_53_kubectl_raw ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_52_kubectl_pods ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_54_vault ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_55_op ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_56_pass ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_57_keychain ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_59_printenv ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_58_keychain_no_password ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_61_env_piped ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_60_env_alone ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_62_env_prefix_runs ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_63_set_alone ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_64_set_option ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_65_export_p ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_66_terraform_json ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_67_terraform ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_68_git_credential ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_69_wrapped ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_70_mentioned ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_71_beside_non_ascii ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_72_non_ascii_suffix ... ok test os::unix::io::tests::waits_out_a_stalled_nonblocking_fd ... ok test io::line_reader::tests::a_line_is_found_by_its_end ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_01_bare_name ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_03_azure_with_space ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_04_azure_with_tab ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_06_azure_no_key ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_05_azure_tokens_apart ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_02_mention ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_07_login_newline ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_09_login_bare ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_11_marker ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_12_empty ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_13_azure_across_lines ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_10_lowercase_aws ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_14_login_crlf ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_08_login_no_space ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_16_stripe_test_one_short ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_15_login_nbsp ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_03____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_04____NAME_AQoDYXdzEJr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_06____NAME_abc_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_02____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_05____NAME_abcdef_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_08____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_01____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_07____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_09____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_10____exportNAME__abc_______exportNAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_13_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_12_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_14______NAME_____wJalr_____X_____1_________NAME__________X_____1___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_11____NAME_____type_____service_account_____k_____v__________NAME__ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_17____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_18____NAMEtwJalrXUtnFEMI_____NAMEt_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_15____os_environ___NAME_____wJalr_______os_environ___NAME__________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_16_______NAME____wJalr__________NAME_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_19____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_23____NAMEwJalr_K7_MD_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_20____NAME_str__wJalr_______NAME_str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_21____constNAME__str__wJalr_______constNAME__str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_24____NAMEabc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_26____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_22____NAME_Optional_str___wJalr_______NAME_Optional_str________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_27____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_25_____NAMEabc_______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_30____echoNAME_____echoNAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_31____NAMEisrequired_____NAMEisrequired___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_29____NAME_npassword_hunter2_____NAME_npassword________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_32____setNAME_andOTHER_____setNAME_andOTHER___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_33____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_36_______NAME______a___1____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_34____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_35____NAME___a______b______c___1___tail_____NAME____tail___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_37____NAME___a_____b___rest_____NAME____rest___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_39____NAMEx1b_311mwJalrx1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_40____NAMEx1b_38216622646m__wJalr__x1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_38____NAME___type_____service_account________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_41_______NAMEV_____PATH_usr_bin_____HOME_root___________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_42____Environment__NAMEV____FOObar_______Environment__NAME________F ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_45____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_44____NAME__wJalr_K7______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_43_______NAME_____ab__cd_____Expiration_____2026___________NAME____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_46____NAMEnOTHERx_____NAMEnOTHERx___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_47____pubconstNAME____staticstr__wJalr_______pubconstNAME____static ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_49____NAME_dict_str_str____k_____wJalr________NAME_dict_str_str____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_48____NAME_str_None__wJalr_______NAME_str_None_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_50____NAME_typing_Optional_str___wJalr_______NAME_typing_Optional_s ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_53____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_52____constNAME_Cow__static_str__wJalr_______constNAME_Cow__static_ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_54____NAME_wJalr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_51____constNAME_string_undefined__wJalr_______constNAME_string_unde ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_55____NAME_1___wJalr_K7______NAME_1_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_57____NAME_OLDwJalr_____NAME_OLD_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_56____NAME_JSON___type_____service_account________NAME_JSON_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_59____NAME_abc123AWS_REGIONus_east_1_____NAME_____AWS_REGIONus_east ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_58_______NAME_____wJalr_____X_____yz___________NAME__________X_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_60____NAME_wJalr_OTHER_TOKENtok_____NAME______OTHER_TOKENtok___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_61____NAME___wJalr_____Expiration_____2026x_______NAME________Expir ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_63____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_64____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_65____NAME___a______b______c______d___1_________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_62____NAME_Dict_str_Dict_str_str_____a______b_____c_________NAME_Di ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_66____NAMEabc__def_______NAME______def_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_1___AWS_SECRET_ACCESS_KEY__::shape_67____NAME_FILE_run_secrets_aws_____NAME_FILE_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_03____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_01____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_04____NAME_AQoDYXdzEJr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_02____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_05____NAME_abcdef_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_06____NAME_abc_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_07____NAME_wJalrXUtnFEMI_____NAME________ ... ok test json::js::tests::any_string_javascript_wrote_is_read ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_09____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_08____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_10____exportNAME__abc_______exportNAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_12_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_13_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_11____NAME_____type_____service_account_____k_____v__________NAME__ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_14______NAME_____wJalr_____X_____1_________NAME__________X_____1___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_17____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_18____NAMEtwJalrXUtnFEMI_____NAMEt_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_15____os_environ___NAME_____wJalr_______os_environ___NAME__________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_16_______NAME____wJalr__________NAME_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_19____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_20____NAME_str__wJalr_______NAME_str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_23____NAMEwJalr_K7_MD_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_24____NAMEabc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_21____constNAME__str__wJalr_______constNAME__str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_26____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_22____NAME_Optional_str___wJalr_______NAME_Optional_str________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_27____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_25_____NAMEabc_______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_30____echoNAME_____echoNAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_31____NAMEisrequired_____NAMEisrequired___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_29____NAME_npassword_hunter2_____NAME_npassword________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_32____setNAME_andOTHER_____setNAME_andOTHER___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_33____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_36_______NAME______a___1____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_35____NAME___a______b______c___1___tail_____NAME____tail___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_34____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_37____NAME___a_____b___rest_____NAME____rest___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_39____NAMEx1b_311mwJalrx1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_41_______NAMEV_____PATH_usr_bin_____HOME_root___________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_40____NAMEx1b_38216622646m__wJalr__x1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_38____NAME___type_____service_account________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_42____Environment__NAMEV____FOObar_______Environment__NAME________F ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_45____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_46____NAMEnOTHERx_____NAMEnOTHERx___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_44____NAME__wJalr_K7______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_43_______NAME_____ab__cd_____Expiration_____2026___________NAME____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_48____NAME_str_None__wJalr_______NAME_str_None_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_49____NAME_dict_str_str____k_____wJalr________NAME_dict_str_str____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_47____pubconstNAME____staticstr__wJalr_______pubconstNAME____static ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_50____NAME_typing_Optional_str___wJalr_______NAME_typing_Optional_s ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_51____constNAME_string_undefined__wJalr_______constNAME_string_unde ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_53____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_54____NAME_wJalr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_52____constNAME_Cow__static_str__wJalr_______constNAME_Cow__static_ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_55____NAME_1___wJalr_K7______NAME_1_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_57____NAME_OLDwJalr_____NAME_OLD_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_58_______NAME_____wJalr_____X_____yz___________NAME__________X_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_59____NAME_abc123AWS_REGIONus_east_1_____NAME_____AWS_REGIONus_east ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_56____NAME_JSON___type_____service_account________NAME_JSON_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_60____NAME_wJalr_OTHER_TOKENtok_____NAME______OTHER_TOKENtok___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_61____NAME___wJalr_____Expiration_____2026x_______NAME________Expir ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_65____NAME___a______b______c______d___1_________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_63____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_64____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_66____NAMEabc__def_______NAME______def_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_62____NAME_Dict_str_Dict_str_str_____a______b_____c_________NAME_Di ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_2___AWS_SESSION_TOKEN__::shape_67____NAME_FILE_run_secrets_aws_____NAME_FILE_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_01____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_04____NAME_AQoDYXdzEJr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_05____NAME_abcdef_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_02____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_03____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_06____NAME_abc_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_07____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_08____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_09____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_10____exportNAME__abc_______exportNAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_12_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_11____NAME_____type_____service_account_____k_____v__________NAME__ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_13_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_14______NAME_____wJalr_____X_____1_________NAME__________X_____1___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_17____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_16_______NAME____wJalr__________NAME_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_18____NAMEtwJalrXUtnFEMI_____NAMEt_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_19____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_20____NAME_str__wJalr_______NAME_str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_21____constNAME__str__wJalr_______constNAME__str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_23____NAMEwJalr_K7_MD_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_15____os_environ___NAME_____wJalr_______os_environ___NAME__________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_26____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_27____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_22____NAME_Optional_str___wJalr_______NAME_Optional_str________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_25_____NAMEabc_______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_24____NAMEabc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_30____echoNAME_____echoNAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_32____setNAME_andOTHER_____setNAME_andOTHER___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_29____NAME_npassword_hunter2_____NAME_npassword________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_31____NAMEisrequired_____NAMEisrequired___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_35____NAME___a______b______c___1___tail_____NAME____tail___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_34____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_33____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_36_______NAME______a___1____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_39____NAMEx1b_311mwJalrx1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_37____NAME___a_____b___rest_____NAME____rest___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_38____NAME___type_____service_account________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_40____NAMEx1b_38216622646m__wJalr__x1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_41_______NAMEV_____PATH_usr_bin_____HOME_root___________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_42____Environment__NAMEV____FOObar_______Environment__NAME________F ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_43_______NAME_____ab__cd_____Expiration_____2026___________NAME____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_45____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_46____NAMEnOTHERx_____NAMEnOTHERx___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_44____NAME__wJalr_K7______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_48____NAME_str_None__wJalr_______NAME_str_None_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_47____pubconstNAME____staticstr__wJalr_______pubconstNAME____static ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_49____NAME_dict_str_str____k_____wJalr________NAME_dict_str_str____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_53____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_50____NAME_typing_Optional_str___wJalr_______NAME_typing_Optional_s ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_54____NAME_wJalr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_51____constNAME_string_undefined__wJalr_______constNAME_string_unde ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_52____constNAME_Cow__static_str__wJalr_______constNAME_Cow__static_ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_55____NAME_1___wJalr_K7______NAME_1_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_59____NAME_abc123AWS_REGIONus_east_1_____NAME_____AWS_REGIONus_east ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_57____NAME_OLDwJalr_____NAME_OLD_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_58_______NAME_____wJalr_____X_____yz___________NAME__________X_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_56____NAME_JSON___type_____service_account________NAME_JSON_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_61____NAME___wJalr_____Expiration_____2026x_______NAME________Expir ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_60____NAME_wJalr_OTHER_TOKENtok_____NAME______OTHER_TOKENtok___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_63____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_62____NAME_Dict_str_Dict_str_str_____a______b_____c_________NAME_Di ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_64____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_66____NAMEabc__def_______NAME______def_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_65____NAME___a______b______c______d___1_________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_67____NAME_FILE_run_secrets_aws_____NAME_FILE_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_03____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_04____NAME_AQoDYXdzEJr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_01____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_05____NAME_abcdef_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_02____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_06____NAME_abc_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_08____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_09____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_10____exportNAME__abc_______exportNAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_07____NAME_wJalrXUtnFEMI_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_12_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_13_______NAME_____wJalr_____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_11____NAME_____type_____service_account_____k_____v__________NAME__ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_14______NAME_____wJalr_____X_____1_________NAME__________X_____1___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_17____NAMEwJalrXUtnFEMI_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_19____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_16_______NAME____wJalr__________NAME_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_18____NAMEtwJalrXUtnFEMI_____NAMEt_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_15____os_environ___NAME_____wJalr_______os_environ___NAME__________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_20____NAME_str__wJalr_______NAME_str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_23____NAMEwJalr_K7_MD_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_21____constNAME__str__wJalr_______constNAME__str_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_22____NAME_Optional_str___wJalr_______NAME_Optional_str________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_25_____NAMEabc_______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_24____NAMEabc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_26____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_27____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_30____echoNAME_____echoNAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_29____NAME_npassword_hunter2_____NAME_npassword________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_32____setNAME_andOTHER_____setNAME_andOTHER___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_31____NAMEisrequired_____NAMEisrequired___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_33____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_35____NAME___a______b______c___1___tail_____NAME____tail___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_36_______NAME______a___1____X___1_________NAME__________X___1____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_34____NAME___type_____service_account_____private_key__________BEGI ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_39____NAMEx1b_311mwJalrx1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_38____NAME___type_____service_account________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_37____NAME___a_____b___rest_____NAME____rest___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_41_______NAMEV_____PATH_usr_bin_____HOME_root___________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_42____Environment__NAMEV____FOObar_______Environment__NAME________F ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_40____NAMEx1b_38216622646m__wJalr__x1b_m_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_43_______NAME_____ab__cd_____Expiration_____2026___________NAME____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_45____NAME_____NAME___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_44____NAME__wJalr_K7______NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_46____NAMEnOTHERx_____NAMEnOTHERx___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_49____NAME_dict_str_str____k_____wJalr________NAME_dict_str_str____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_48____NAME_str_None__wJalr_______NAME_str_None_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_47____pubconstNAME____staticstr__wJalr_______pubconstNAME____static ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_50____NAME_typing_Optional_str___wJalr_______NAME_typing_Optional_s ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_53____NAMEwJalr_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_52____constNAME_Cow__static_str__wJalr_______constNAME_Cow__static_ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_54____NAME_wJalr_____NAME________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_51____constNAME_string_undefined__wJalr_______constNAME_string_unde ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_55____NAME_1___wJalr_K7______NAME_1_________ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_57____NAME_OLDwJalr_____NAME_OLD_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_58_______NAME_____wJalr_____X_____yz___________NAME__________X_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_60____NAME_wJalr_OTHER_TOKENtok_____NAME______OTHER_TOKENtok___ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_56____NAME_JSON___type_____service_account________NAME_JSON_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_59____NAME_abc123AWS_REGIONus_east_1_____NAME_____AWS_REGIONus_east ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_61____NAME___wJalr_____Expiration_____2026x_______NAME________Expir ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_65____NAME___a______b______c______d___1_________NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_66____NAMEabc__def_______NAME______def_____ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_63____NAME___abc_____NAME_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_62____NAME_Dict_str_Dict_str_str_____a______b_____c_________NAME_Di ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_67____NAME_FILE_run_secrets_aws_____NAME_FILE_______ ... ok test secrets::tests::every_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_64____NAME___abc_____NAME_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_01____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_02____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_03____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_04____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_05____atuinlogin_umeFLAGhunter2__otherx_____atuinlogin_umeFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_09____atuinloginFLAG__oopsnls_lancatf_____atuinloginFLAG____nls_lan ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_10____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_06____atuinloginFLAG__it__s__quoted__here_______atuinloginFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_11____atuinloginFLAG_________atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_08____atuinloginFLAG__hun__ter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_07____atuinloginFLAG__it__________s_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_13____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_12____atuinloginFLAGx1b_311mhunter2x1b_m_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_14____atuinlogin_umenFLAGhunter2n_____atuinlogin_umenFLAG____n___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_15____atuinloginntFLAGhunter2_____atuinloginntFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_16____atuinloginnFLAGhunter2_____atuinloginnFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_01____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_02____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_04____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_05____atuinlogin_umeFLAGhunter2__otherx_____atuinlogin_umeFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_03____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_06____atuinloginFLAG__it__s__quoted__here_______atuinloginFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_10____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_09____atuinloginFLAG__oopsnls_lancatf_____atuinloginFLAG____nls_lan ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_08____atuinloginFLAG__hun__ter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_07____atuinloginFLAG__it__________s_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_11____atuinloginFLAG_________atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_13____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_12____atuinloginFLAGx1b_311mhunter2x1b_m_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_16____atuinloginnFLAGhunter2_____atuinloginnFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_14____atuinlogin_umenFLAGhunter2n_____atuinlogin_umenFLAG____n___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_15____atuinloginntFLAGhunter2_____atuinloginntFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_02____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_01____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_03____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_04____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_05____atuinlogin_umeFLAGhunter2__otherx_____atuinlogin_umeFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_06____atuinloginFLAG__it__s__quoted__here_______atuinloginFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_07____atuinloginFLAG__it__________s_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_10____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_11____atuinloginFLAG_________atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_09____atuinloginFLAG__oopsnls_lancatf_____atuinloginFLAG____nls_lan ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_13____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_12____atuinloginFLAGx1b_311mhunter2x1b_m_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_08____atuinloginFLAG__hun__ter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_14____atuinlogin_umenFLAGhunter2n_____atuinlogin_umenFLAG____n___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_15____atuinloginntFLAGhunter2_____atuinloginntFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_01____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_3____k__::shape_16____atuinloginnFLAGhunter2_____atuinloginnFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_02____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_03____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_04____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_05____atuinlogin_umeFLAGhunter2__otherx_____atuinlogin_umeFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_06____atuinloginFLAG__it__s__quoted__here_______atuinloginFLAG_____ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_07____atuinloginFLAG__it__________s_______atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_10____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_11____atuinloginFLAG_________atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_08____atuinloginFLAG__hun__ter2_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_09____atuinloginFLAG__oopsnls_lancatf_____atuinloginFLAG____nls_lan ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_12____atuinloginFLAGx1b_311mhunter2x1b_m_____atuinloginFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_13____atuinloginFLAG_____atuinloginFLAG___ ... ok test secrets::tests::every_pattern_has_a_case_that_actually_redacts ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_14____atuinlogin_umenFLAGhunter2n_____atuinlogin_umenFLAG____n___ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_15____atuinloginntFLAGhunter2_____atuinloginntFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_16____atuinloginnFLAGhunter2_____atuinloginnFLAG_______ ... ok test secrets::tests::every_pattern_names_its_secret_group ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_01_prefixed ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_02_spaced_out ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_03_fish ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_04_flag_after_a_pipe ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_05_flag_on_a_continued_line ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_06_flag_opening_a_continued_line ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_07_header ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_08_header_without_a_blank ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_09_substituted ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_10_referenced ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_11_fish_substituted ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_12_fish_erased ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_13_flag_referenced ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_14_header_substituted ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_15_token_file_flag ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_16_token_file_variable ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_17_mentioned ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_18_subcommand ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_19_too_short_to_be_a_token ... ok test secrets::tests::hashicorp_tokens_are_recognised_where_they_sit::case_20_flag_of_another_command ... ok test secrets::tests::login_attached_and_adjacent_flags::case_1_attached_password ... ok test secrets::tests::login_attached_and_adjacent_flags::case_2_attached_key ... ok test secrets::tests::login_attached_and_adjacent_flags::case_3_both_attached ... ok test secrets::tests::login_attached_and_adjacent_flags::case_4_flag_as_value_is_over_redacted ... ok test secrets::tests::merges_spans::case_1_overlapping ... ok test secrets::tests::merges_spans::case_2_adjacent ... ok test secrets::tests::merges_spans::case_3_touching ... ok test secrets::tests::merges_spans::case_4_runs_past ... ok test secrets::tests::near_misses_are_not_credentials::case_01_ghp_one_short ... ok test secrets::tests::near_misses_are_not_credentials::case_03_akia_one_short ... ok test secrets::tests::near_misses_are_not_credentials::case_02_ghs_one_short ... ok test secrets::tests::near_misses_are_not_credentials::case_04_pulumi_uppercase_hex ... ok test secrets::tests::near_misses_are_not_credentials::case_05_v1_unescaped_dot ... ok test secrets::tests::near_misses_are_not_credentials::case_06_github_pat_no_leading_digit ... ok test secrets::tests::near_misses_are_not_credentials::case_07_login_without_whitespace ... ok test secrets::tests::near_misses_are_not_credentials::case_08_stripe_one_short ... ok test secrets::tests::near_misses_are_not_credentials::case_09_slack_webhook_short_team ... ok test secrets::tests::near_misses_are_not_credentials::case_10_slack_webhook_wrong_team_prefix ... ok test secrets::tests::near_misses_are_not_credentials::case_11_slack_bot_short_first_group ... ok test secrets::tests::every_pattern_is_recognised ... ok test secrets::tests::near_misses_are_not_credentials::case_13_netlify_unknown_kind ... ok test secrets::tests::near_misses_are_not_credentials::case_12_npm_one_short ... ok test secrets::tests::passes_text_through_borrowed::case_01_ordinary_command ... ok test secrets::tests::near_misses_are_not_credentials::case_14_stripe_test_one_short ... ok test secrets::tests::passes_text_through_borrowed::case_02_empty ... ok test secrets::tests::passes_text_through_borrowed::case_03_the_marker_itself ... ok test secrets::tests::passes_text_through_borrowed::case_04_named_but_never_assigned ... ok test secrets::tests::passes_text_through_borrowed::case_05_login_without_arguments ... ok test secrets::tests::passes_text_through_borrowed::case_06_almost_a_token ... ok test secrets::tests::passes_text_through_borrowed::case_07_already_redacted_assignment ... ok test secrets::tests::passes_text_through_borrowed::case_08_already_redacted_login ... ok test secrets::tests::passes_text_through_borrowed::case_09_two_markers_as_value ... ok test secrets::tests::passes_text_through_borrowed::case_10_yaml_literal_block ... ok test secrets::tests::passes_text_through_borrowed::case_11_yaml_folded_block ... ok test secrets::tests::passes_text_through_borrowed::case_13_shell_continuation ... ok test secrets::tests::passes_text_through_borrowed::case_15_yaml_anchor ... ok test secrets::tests::passes_text_through_borrowed::case_14_yaml_tag ... ok test secrets::tests::passes_text_through_borrowed::case_12_heredoc ... ok test secrets::tests::recognises_text_involving_a_credential::case_1_assignment ... ok test secrets::tests::passes_text_through_borrowed::case_16_multiline_json_opener ... ok test secrets::tests::recognises_text_involving_a_credential::case_2_mere_mention_with_no_value ... ok test secrets::tests::recognises_text_involving_a_credential::case_3_login_without_arguments ... ok test secrets::tests::recognises_text_involving_a_credential::case_4_bare_credential ... ok test secrets::tests::recognises_text_involving_a_credential::case_5_ordinary_command ... ok test secrets::tests::recognises_text_involving_a_credential::case_6_empty ... ok test secrets::tests::recognises_text_involving_a_credential::case_7_the_marker_itself ... ok test secrets::tests::redacted_but_not_kept_out_of_history::case_1_lowercase_aws_name ... ok test secrets::tests::redacted_but_not_kept_out_of_history::case_2_url_password ... ok test secrets::tests::redacted_but_not_kept_out_of_history::case_3_quoted_password ... ok test secrets::tests::redaction_past_its_budget_gives_up ... ok test secrets::tests::redaction_reaches_a_fixed_point_in_one_call::case_1_credential_in_a_type_position ... ok test secrets::tests::a_planted_credential_goes_whatever_surrounds_it ... ok test secrets::tests::redaction_reaches_a_fixed_point_in_one_call::case_2_credential_in_a_type_position_with_a_value ... ok test secrets::tests::redaction_shares_the_vendor_regexes ... ok test secrets::tests::redacts::case_01_assignment_keeps_its_name ... ok test secrets::tests::redacts::case_02_colon_separated_assignment ... ok test secrets::tests::redacts::case_04_single_quoted_login_password ... ok test secrets::tests::redacts::case_03_both_credentials_of_one_login ... ok test secrets::tests::redacts::case_06_two_assignments_stay_two_matches ... ok test secrets::tests::redacts::case_05_long_login_flag ... ok test secrets::tests::redacts::case_07_surrounding_text_survives ... ok test secrets::tests::redacts::case_08_multibyte_neighbours_survive ... ok test secrets::tests::redacts::case_09_credential_at_the_very_start ... ok test secrets::tests::redacts::case_10_two_credentials_on_separate_lines ... ok test secrets::tests::redacts::case_11_five_stars_are_a_value ... ok test secrets::tests::redacts::case_12_added_to_a_patch ... ok test secrets::tests::redacts::case_14_added_aws_credentials ... ok test secrets::tests::redacts::case_13_changed_in_a_patch ... ok test secrets::tests::redacts::case_15_added_env_var ... ok test secrets::tests::redacts::case_16_added_list_item ... ok test secrets::tests::redacts::case_17_patch_in_json_text ... ok test secrets::tests::redacts::case_18_setting_in_json_text ... ok test secrets::tests::redacts::case_19_env_var_in_json_text ... ok test secrets::tests::redacts::case_20_bearer_in_json_text ... ok test secrets::tests::redacts::case_21_clipped_json_text ... ok test secrets::tests::redacts::case_22_command_in_json_text ... ok test secrets::tests::redacts::case_23_password_flag_in_a_script ... ok test secrets::tests::redacts::case_24_password_flag_in_json_text ... ok test secrets::tests::redacts::case_25_password_flag_then_command ... ok test secrets::tests::redacts::case_26_password_flag_in_a_subshell ... ok test secrets::tests::redacts::case_27_password_flag_then_and ... ok test secrets::tests::redacts::case_28_clipped_json_line_in_output ... ok test secrets::tests::redacts::case_29_password_flag_quoted_in_prose ... ok test secrets::tests::redacts::case_30_jwt_in_json_text ... ok test secrets::tests::redacts::case_31_password_flag_apart ... ok test secrets::tests::stand_ins_are_kept::case_01_reference ... ok test secrets::tests::redacts::case_32_lowercase_aws_assignment ... ok test secrets::tests::stand_ins_are_kept::case_02_braced ... ok test secrets::tests::stand_ins_are_kept::case_03_actions ... ok test secrets::tests::stand_ins_are_kept::case_04_stand_in ... ok test secrets::tests::every_pattern_redacts_to_its_declared_value::embed_1_false ... ok test secrets::tests::stand_ins_are_kept::case_05_masked ... ok test secrets::tests::stand_ins_are_kept::case_06_masked_x ... ok test secrets::tests::stand_ins_are_kept::case_07_typed_field ... ok test secrets::tests::stand_ins_are_kept::case_08_usage ... ok test secrets::tests::stand_ins_are_kept::case_09_count ... ok test secrets::tests::stand_ins_are_kept::case_10_prose ... ok test secrets::tests::stand_ins_are_kept::case_12_password_from_stdin ... ok test secrets::tests::stand_ins_are_kept::case_13_password_flag_then_flag ... ok test secrets::tests::stand_ins_are_kept::case_11_password_flag_reference ... ok test secrets::tests::stand_ins_are_kept::case_16_password_flag_in_urfave_help ... ok test secrets::tests::stand_ins_are_kept::case_14_password_flag_in_help ... ok test secrets::tests::stand_ins_are_kept::case_15_password_flag_in_click_help ... ok test secrets::tests::stand_ins_are_kept::case_17_passwd_flag_in_help ... ok test secrets::tests::stand_ins_are_kept::case_18_password_flag_in_prose ... ok test secrets::tests::stand_ins_are_kept::case_19_password_flag_listed ... ok test secrets::tests::stand_ins_are_kept::case_20_password_flag_in_a_subject ... ok test secrets::tests::stand_ins_are_kept::case_21_password_flag_reference_in_json_text ... ok test secrets::tests::stand_ins_are_kept::case_23_setting_joined ... ok test secrets::tests::stand_ins_are_kept::case_22_setting_concatenated ... ok test secrets::tests::stand_ins_are_kept::case_25_command_in_a_string ... ok test secrets::tests::stand_ins_are_kept::case_26_password_flag_then_or ... ok test secrets::tests::stand_ins_are_kept::case_24_setting_in_prose ... ok test secrets::tests::stand_ins_are_kept::case_27_password_flag_then_redirect ... ok test secrets::tests::stand_ins_are_kept::case_28_password_flag_substituted ... ok test secrets::tests::stand_ins_are_kept::case_29_password_flag_in_a_subshell ... ok test secrets::tests::stand_ins_are_kept::case_30_added_field ... ok test secrets::tests::stand_ins_are_kept::case_31_short_lowercase_aws ... ok test secrets::tests::stripe_keys_of_any_modern_length_are_fully_redacted::case_1_modern_live ... ok test secrets::tests::stripe_keys_of_any_modern_length_are_fully_redacted::case_3_old_format_still_exact ... ok test secrets::tests::stripe_keys_of_any_modern_length_are_fully_redacted::case_2_modern_test ... ok test secrets::tests::stripe_keys_of_any_modern_length_are_fully_redacted::case_4_followed_by_punctuation ... ok test secrets::tests::the_users_patterns_redact_too::case_1_whole ... ok test secrets::tests::the_users_patterns_redact_too::case_2_group ... ok test secrets::tests::the_users_patterns_redact_too::case_3_with_builtin ... ok test secrets::tests::the_users_patterns_redact_too::case_4_nothing ... ok test secrets::tests::the_users_patterns_redact_too::case_5_like_a_block_opener ... ok test secrets::tests::window_gap_and_quote_bounds::case_1_long_username_inside_the_window ... ok test secrets::tests::contains_secret_matches_the_old_pattern_set_exactly ... ok test secrets::tests::window_gap_and_quote_bounds::case_2_beyond_the_window_is_left_alone ... ok test secrets::tests::window_gap_and_quote_bounds::case_3_two_space_table_gap ... ok test secrets::tests::window_gap_and_quote_bounds::case_5_single_quote_stops_at_the_line_end ... ok test secrets::tests::window_gap_and_quote_bounds::case_4_double_quote_stops_at_the_line_end ... ok test shell::tests::command_missing ... ok test shell::tests::command_failed ... ok test secrets::tests::every_pattern_redacts_to_its_declared_value::embed_2_true ... ok test json::jsonl::tests::records_come_back_with_their_ends ... ok test secrets::tests::borrowed_exactly_when_nothing_changed ... ok test shell::tests::command_output_to_shell::case_2_bash ... ok test shell::tests::command_output_to_shell::case_4_unsupported ... ok test shell::tests::command_output_to_shell::case_3_bare_name ... ok test shell::tests::command_output_to_shell::case_1_zsh ... ok test shell::tests::command_output_to_shell::case_5_non_utf8_dir ... ok test shell::tests::dscl_shell::case_1_simple ... ok test shell::tests::command_output_to_shell::case_6_non_utf8_name ... ok test shell::tests::dscl_shell::case_2_extra_spaces ... ok test shell::tests::dscl_shell::case_3_no_trailing_newline ... ok test shell::tests::command_output_unparseable::case_1_no_shell_field ... ok test shell::tests::dscl_shell::case_5_missing_value ... ok test shell::tests::dscl_shell::case_4_non_utf8 ... ok test shell::tests::dscl_shell::case_6_empty ... ok test shell::tests::getent_passwd::case_1_simple ... ok test shell::tests::command_output_unparseable::case_2_root_path ... ok test shell::tests::getent_passwd::case_2_no_trailing_newline ... ok test shell::tests::getent_passwd::case_3_crlf ... ok test shell::tests::getent_passwd::case_4_first_line_only ... ok test shell::tests::command_output_unparseable::case_3_parent_dir ... ok test shell::tests::getent_passwd::case_5_non_utf8 ... ok test shell::tests::getent_passwd::case_6_empty_shell ... ok test shell::tests::getent_passwd::case_7_blank_shell ... ok test shell::tests::getent_passwd::case_8_too_few_fields ... ok test shell::tests::getent_passwd::case_9_empty ... ok test slice::tests::comparer_ignores_the_stack_size ... ok test slice::tests::comparer_is_reflexive ... ok test slice::tests::excerpt_selects_context_around_hits::case_1_none_shows_everything ... ok test slice::tests::excerpt_selects_context_around_hits::case_2_none_on_empty ... ok test slice::tests::excerpt_selects_context_around_hits::case_3_some_without_hits_is_empty ... ok test slice::tests::excerpt_selects_context_around_hits::case_4_some_windows_the_hit ... ok test slice::tests::comparer_ignores_order_and_duplicates ... ok test slice::tests::excerpt_selects_context_around_hits::case_5_some_merges_adjacent ... ok test slice::tests::excerpt_selects_context_around_hits::case_6_radius_zero_is_just_the_hits ... ok test slice::tests::comparer_matches_set_equality ... ok test slice::tests::test_partition_dedup::case_01 ... ok test slice::tests::test_partition_dedup::case_02 ... ok test slice::tests::test_partition_dedup::case_03 ... ok test slice::tests::test_partition_dedup::case_04 ... ok test slice::tests::test_partition_dedup::case_05 ... ok test slice::tests::test_partition_dedup::case_06 ... ok test slice::tests::test_partition_dedup::case_07 ... ok test slice::tests::test_partition_dedup::case_08 ... ok test slice::tests::test_partition_dedup::case_09 ... ok test slice::tests::test_partition_dedup::case_10 ... ok test slice::tests::test_partition_dedup::case_11 ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_01::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_01::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_01::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_01::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_01::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_01::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_02::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_02::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_02::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_02::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_02::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_02::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_03::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_03::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_03::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_03::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_03::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_03::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_4____3_ ... ok test slice::tests::partition_dedup_leaves_no_consecutive_duplicates ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_05::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_05::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_05::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_05::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_05::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_05::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_06::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_06::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_06::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_06::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_06::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_06::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_07::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_07::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_07::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_07::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_07::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_07::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_08::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_08::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_08::_stack_size_3____2_ ... ok test slice::tests::partition_dedup_matches_vec_dedup ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_08::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_08::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_08::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_09::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_09::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_09::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_09::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_09::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_09::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_10::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_10::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_10::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_10::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_10::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_10::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_11::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_11::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_11::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_11::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_11::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_11::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_12::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_12::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_12::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_12::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_12::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_12::_stack_size_6____5_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_13::_stack_size_1____0_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_13::_stack_size_2____1_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_13::_stack_size_3____2_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_13::_stack_size_4____3_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_13::_stack_size_5____4_ ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_13::_stack_size_6____5_ ... ok test string::align::tests::borrows_only_when_no_padding_needed::case_1_borrowed_exact_fit ... ok test string::align::tests::borrows_only_when_no_padding_needed::case_2_borrowed_too_wide ... ok test string::align::tests::borrows_only_when_no_padding_needed::case_3_owned_padding_needed ... ok test string::align::tests::pads_per_table::case_1_start_pads_on_the_end ... ok test string::align::tests::pads_per_table::case_2_end_pads_on_the_start ... ok test string::align::tests::pads_per_table::case_3_center_splits_evenly ... ok test string::align::tests::pads_per_table::case_4_center_odd_extra_on_right ... ok test string::align::tests::pads_per_table::case_5_exact_fit_unchanged ... ok test string::align::tests::pads_per_table::case_6_empty_pads ... ok test string::align::tests::pads_per_table::case_7_wide_glyph_pads_by_display_columns ... ok test string::align::tests::pads_per_table::case_8_pads_by_bytes_under_byte_budget ... ok test string::align::tests::pads_per_table::case_9_too_wide_is_never_truncated ... ok test string::auto_os_string::tests::test_in_containers::case_1_some ... ok test slice::tests::partition_dedup_permutes_the_input ... ok test string::auto_os_string::tests::test_in_containers::case_2_none ... ok test string::auto_os_string::tests::test_missing_option_is_none ... ok test string::auto_os_string::tests::test_non_utf8_uses_os_string_encoding ... ok test string::auto_os_string::tests::test_rejects_other_encodings::case_1_string ... ok test string::auto_os_string::tests::test_rejects_other_encodings::case_2_unknown_variant ... ok test string::auto_os_string::tests::test_rejects_other_encodings::case_3_number ... ok test string::auto_os_string::tests::test_utf8_is_a_string::case_1_path ... ok test string::auto_os_string::tests::test_utf8_is_a_string::case_3_unicode ... ok test string::auto_os_string::tests::test_utf8_is_a_string::case_2_empty ... ok test string::bounded_buffer::tests::a_zero_limit_keeps_nothing_but_still_reports_the_cut ... ok test string::bounded_buffer::tests::clear_forgets_the_dropped_middle ... ok test string::auto_os_string::tests::prop_utf8_is_a_string ... ok test string::bounded_buffer::tests::chunking_does_not_matter ... ok test string::bounded_buffer::tests::clear_resets_the_buffer ... ok test string::bounded_buffer::tests::keeps_everything_that_fits::case_1_empty ... ok test string::bounded_buffer::tests::keeps_everything_that_fits::case_2_one_write ... ok test string::bounded_buffer::tests::keeps_everything_that_fits::case_3_several_writes ... ok test string::bounded_buffer::tests::keeps_everything_that_fits::case_4_exactly_the_limit ... ok test string::bounded_buffer::tests::keeps_everything_that_fits::case_5_exactly_the_limit_in_pieces ... ok test string::bounded_buffer::tests::keeps_everything_that_fits::case_6_spills_into_the_end_portion ... ok test string::bounded_buffer::tests::keeps_the_start_and_the_end::case_1_one_byte_over ... ok test string::bounded_buffer::tests::keeps_the_start_and_the_end::case_2_far_over ... ok test string::bounded_buffer::tests::keeps_the_start_and_the_end::case_3_overflows_part_way ... ok test string::bounded_buffer::tests::keeps_the_start_and_the_end::case_4_byte_at_a_time ... ok test string::bounded_buffer::tests::keeps_the_start_and_the_end::case_5_full_then_more ... ok test secrets::tests::redaction_is_idempotent ... ok test string::bounded_buffer::tests::never_splits_a_character::case_1_does_not_fit_in_the_start ... ok test string::bounded_buffer::tests::never_splits_a_character::case_2_does_not_fit_in_the_end ... ok test string::bounded_buffer::tests::never_splits_a_character::case_3_fits_the_end_exactly ... ok test string::bounded_buffer::tests::one_huge_write_is_capped_like_many_small_ones ... ok test string::auto_os_string::tests::prop_round_trip ... ok test string::bounded_buffer::tests::take_hands_over_the_contents_and_resets ... ok test secrets::tests::planted_credentials_go_and_their_surroundings_stay ... ok test string::bounded_buffer::tests::the_end_portion_is_a_sliding_window ... ok test string::bounded_buffer::tests::keeps_as_much_as_it_can ... ok test string::bounded_buffer::tests::writes_always_succeed ... ok test string::bounded_buffer::tests::keeps_a_prefix_and_a_suffix ... ok test string::bounded_buffer::tests::zero_sided_limits::case_1_no_end_kept ... ok test string::bounded_buffer::tests::zero_sided_limits::case_2_no_start_kept ... ok test string::bounded_buffer::tests::zero_sided_limits::case_3_nothing_kept ... ok test string::bounded_buffer::tests::never_exceeds_the_limit ... ok test string::ellipsis::tests::display_writes_without_allocating_via_cow ... ok test string::bounded_buffer::tests::reports_a_dropped_middle_exactly_when_data_was_dropped ... ok test string::bounded_buffer::tests::take_resets_the_buffer ... ok test harnesstools::opencode::session::v2::tests::a_database_being_written_is_captured_row_for_row ... ok test string::ellipsis::tests::pad_ellipsize_borrows_only_when_no_alloc_needed ... ok test string::ellipsis::tests::pad_ellipsize_table::case_01_start_pads_when_shorter ... ok test string::ellipsis::tests::pad_ellipsize_table::case_02_unchanged_when_exact_budget ... ok test string::ellipsis::tests::pad_ellipsize_table::case_03_ellipsizes_end_when_too_wide ... ok test string::ellipsis::tests::pad_ellipsize_table::case_04_ellipsizes_start_when_too_wide ... ok test string::ellipsis::tests::pad_ellipsize_table::case_05_empty_pads_to_budget ... ok test string::ellipsis::tests::pad_ellipsize_table::case_06_wide_glyph_exact_column_budget ... ok test string::ellipsis::tests::pad_ellipsize_table::case_07_wide_glyph_pads_by_display_columns ... ok test string::ellipsis::tests::pad_ellipsize_table::case_08_pads_by_bytes_under_byte_budget ... ok test string::ellipsis::tests::pad_ellipsize_table::case_09_end_align_left_pads ... ok test string::ellipsis::tests::pad_ellipsize_table::case_10_center_even_split ... ok test string::ellipsis::tests::pad_ellipsize_table::case_11_center_odd_extra_on_right ... ok test string::ellipsis::tests::pad_ellipsize_table::case_12_align_ignored_when_elided ... ok test string::ellipsis::tests::source_index_fits_is_identity ... ok test string::ellipsis::tests::source_index_middle_maps_head_gap_tail ... ok test string::bounded_buffer::tests::the_limits_decide_whether_anything_is_dropped ... ok test string::ellipsis::tests::truncates_per_table::case_01_ascii_fits_under_column_budget ... ok test string::bounded_buffer::tests::writes_never_fail ... ok test string::ellipsis::tests::truncates_per_table::case_02_ascii_exactly_fits_column_budget ... ok test string::ellipsis::tests::truncates_per_table::case_03_ascii_truncates_end_with_ascii_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_04_ascii_truncates_start_with_ascii_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_05_ascii_truncates_middle_with_ascii_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_06_ascii_truncates_end_with_unicode_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_07_ascii_truncates_start_with_unicode_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_08_cjk_truncates_under_column_budget ... ok test string::ellipsis::tests::truncates_per_table::case_09_cjk_truncates_to_indicator_only_under_tiny_column_budget ... ok test string::ellipsis::tests::truncates_per_table::case_10_cjk_exactly_fits_column_budget ... ok test string::ellipsis::tests::truncates_per_table::case_11_emoji_truncates_end_under_column_budget_with_unicode_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_12_emoji_exactly_fits_column_budget ... ok test string::ellipsis::tests::truncates_per_table::case_13_ascii_hard_truncates_end_when_budget_below_indicator_cost ... ok test string::ellipsis::tests::truncates_per_table::case_14_ascii_hard_truncates_start_when_budget_below_indicator_cost ... ok test string::ellipsis::tests::truncates_per_table::case_15_ascii_zero_budget_yields_empty_string ... ok test string::ellipsis::tests::truncates_per_table::case_16_empty_input_yields_empty_string ... ok test string::ellipsis::tests::truncates_per_table::case_17_ascii_truncates_end_under_byte_budget ... ok test string::ellipsis::tests::truncates_per_table::case_18_ascii_truncates_end_under_byte_budget_with_unicode_indicator ... ok test string::ellipsis::tests::truncates_per_table::case_19_accented_truncates_end_under_byte_budget ... ok test string::ellipsis::tests::truncates_per_table::case_20_accented_exactly_fits_byte_budget ... ok test string::ellipsis::tests::truncates_per_table::case_21_cjk_truncates_to_indicator_only_under_byte_budget ... ok test shell::tests::getent_passwd_returns_seventh_field ... ok test string::escape_non_printable_posix_ext::tests::escapes_all_c0_controls_as_caret ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_01_plain_text_unchanged ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_02_two_words_unchanged ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_03_multibyte_unicode_preserved_around_escaped_control ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_04_esc_0x1b ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_05_tab_0x09 ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_06_nul_0x00 ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_07_del_0x7f ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_08_c1_control_0x80 ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_09_single_char_csi_0x9b ... ok test string::escape_non_printable_posix_ext::tests::escapes_as_cat_v::case_10_c1_control_0x9f ... ok test string::escape_non_printable_posix_ext::tests::control_free_input_is_borrowed ... ok test harnesstools::opencode::session::v2::tests::a_rename_is_delivered ... ok test string::highlighted::tests::display_plain_strips_every_marker::case_1_clean ... ok test string::highlighted::tests::display_plain_strips_every_marker::case_2_single_span ... ok test string::highlighted::tests::display_plain_strips_every_marker::case_3_orphan_and_nested ... ok test string::highlighted::tests::display_plain_strips_every_marker::case_4_doubled ... ok test string::highlighted::tests::display_raw_is_verbatim ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_1_clean ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_2_single_span ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_3_two_spans ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_4_orphan_open ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_5_orphan_close ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_6_nested_open ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_7_doubled ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_8_empty_span ... ok test string::highlighted::tests::display_subs_substitutes_every_marker::case_9_multibyte_text ... ok test string::highlighted::tests::identical_markers_error_carries_the_markers ... ok test string::highlighted::tests::lines_keep_each_lines_own_markers::case_1_single ... ok test string::highlighted::tests::lines_keep_each_lines_own_markers::case_2_mixed ... ok test string::highlighted::tests::lines_keep_each_lines_own_markers::case_3_blank_lines ... ok test string::highlighted::tests::lines_keep_each_lines_own_markers::case_4_span_across_lines ... ok test string::highlighted::tests::lines_keep_each_lines_own_markers::case_5_span_across_a_blank_line ... ok test string::highlighted::tests::lines_keep_each_lines_own_markers::case_6_empty ... ok test string::highlighted::tests::markers_are_positional_so_swapping_them_inverts_parsing ... ok test string::highlighted::tests::markers_chosen_from_ordinary_text_delete_that_text ... ok test secrets::tests::the_credential_dense_generator_reaches_the_owned_path ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_1_clean ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_2_span_between_text ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_3_back_to_back ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_4_no_markers ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_5_empty_span_skipped ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_6_nested_open_outer_is_text ... ok test string::highlighted::tests::pieces_split_text_and_matches::case_7_orphan_close_stripped ... ok test string::highlighted::tests::proto_rejects_identical_markers ... ok test string::highlighted::tests::proto_rejects_non_char_markers::case_1_open_surrogate ... ok test string::highlighted::tests::proto_rejects_non_char_markers::case_2_close_above_char_max ... ok test string::escape_non_printable_posix_ext::tests::escaping_is_idempotent ... ok test string::escape_non_printable_posix_ext::tests::output_never_contains_control_chars ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_01_single_span ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_02_each_span_its_own_range ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_03_multibyte_prefix_keeps_offsets ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_04_no_markers ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_05_nested_open_keeps_inner ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_06_nested_pair_keeps_inner ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_07_doubled_markers_collapse ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_08_empty_span ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_09_adjacent_empty_spans ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_10_empty_span_between_real ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_11_back_to_back_spans ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_12_whitespace_span ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_13_unterminated_opens ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_14_orphan_close_then_open ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_15_orphan_close_ignored ... ok test string::highlighted::tests::ranges_index_the_raw_text::case_16_extra_close_ignored ... ok test string::highlighted::tests::ranges_with_default_multibyte_markers::case_1_multibyte_text_before ... ok test string::highlighted::tests::ranges_with_default_multibyte_markers::case_2_multibyte_text_inside ... ok test string::highlighted::tests::ranges_with_default_multibyte_markers::case_3_splits_combining_mark ... ok test harnesstools::opencode::session::v2::tests::replay_from_now_skips_preexisting_rows ... ok test string::highlighted::tests::sanitize_strips_markers_and_borrows_only_when_clean::case_1_empty ... ok test string::highlighted::tests::sanitize_strips_markers_and_borrows_only_when_clean::case_2_clean ... ok test string::highlighted::tests::sanitize_strips_markers_and_borrows_only_when_clean::case_3_only_open ... ok test string::highlighted::tests::sanitize_strips_markers_and_borrows_only_when_clean::case_4_only_close ... ok test string::highlighted::tests::sanitize_strips_markers_and_borrows_only_when_clean::case_5_both_markers ... ok test string::highlighted::tests::sanitize_strips_markers_and_borrows_only_when_clean::case_6_all_markers ... ok test string::highlighted::tests::to_plain_indexes_the_plain_text::case_1_clean ... ok test string::highlighted::tests::to_plain_indexes_the_plain_text::case_2_span_between_text ... ok test string::highlighted::tests::to_plain_indexes_the_plain_text::case_3_back_to_back ... ok test string::highlighted::tests::to_plain_indexes_the_plain_text::case_4_multibyte_before_span ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_1_ascii ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_2_emoji ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_3_whitespace ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_4_null ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_5_brackets ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_6_mixed_whitespace ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_7_control ... ok test string::highlighted::tests::with_markers_ok_iff_distinct::case_8_default_pua ... ok test harnesstools::opencode::session::v2::tests::an_untouched_session_is_left_alone_until_it_is_updated ... ok test string::non_blank::tests::holds_the_text_verbatim::case_1_plain ... ok test string::non_blank::tests::holds_the_text_verbatim::case_2_padded ... ok test string::non_blank::tests::json_schema_requires_a_character ... ok test string::non_blank::tests::rejects_blank_text::case_1_empty ... ok test string::non_blank::tests::rejects_blank_text::case_2_whitespace ... ok test string::non_nul_str::tests::deserialize_rejects::case_1_embedded_nul ... ok test string::non_nul_str::tests::deserialize_rejects::case_2_non_string ... ok test string::non_nul_str::tests::deserializes_nul_free_string ... ok test string::non_nul_str::tests::rejects_strings_with_nul::case_1_interior ... ok test string::non_nul_str::tests::rejects_strings_with_nul::case_2_trailing ... ok test string::non_nul_str::tests::rejects_strings_with_nul::case_3_leading ... ok test string::non_nul_str::tests::rejects_strings_with_nul::case_4_first_of_many ... ok fatal runtime error: IO Safety violation: owned file descriptor already closed, aborting error: test failed, to rerun pass `-p atuin-common --lib` Caused by: process didn't exit successfully: `/build/atuin/src/atuin-18.24.6/target/debug/deps/atuin_common-1ca1800f6295ca01 --test-threads=25 --skip 'ai_session::store::tests::reproject_takes_the_capture_lock_for_this_hosts_records' --skip 'utils::tests::a_real_worktree_is_its_own_checkout_in_the_main_repository' --skip 'resume_tui::tests::a_worktree_is_its_own_workspace_and_branch' --skip 'harnesstools::opencode::session::tests::rows_written_after_a_restored_backup_are_delivered'` (signal: 6, SIGABRT: process abort signal) ==> ERROR:(B A failure occurred in check().(B  Aborting...(B ]3008;end=497046fae5f442eda768df7881102287\[!p]104\[?7h]3008;end=b609f92a78d248d68d25fb37a579a92b\==> ERROR:(B Build failed, check /var/lib/archbuild/extra-riscv64/felix-1/build(B [?12l[?25h[?12l[?25h]3008;end=d9ad4ee6141c497fbad1bf9c0c884ad8\[?12l[?25hreceiving incremental file list atuin-18.24.6-1-riscv64-build.log atuin-18.24.6-1-riscv64-check.log atuin-18.24.6-1-riscv64-prepare.log sent 81 bytes received 90,514 bytes 36,238.00 bytes/sec total size is 679,656 speedup is 7.50