==>(B Building on shinx(B ==>(B Checking for remote environment...(B ==>(B Syncing package to remote host...(B sending incremental file list created directory packages/atuin ./ .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% 114,000B/s 0:00:00 114B 100% 114,000B/s 0:00:00 (xfr#2, to-chk=6/9) LICENSE 646B 100% 646,000B/s 0:00:00 646B 100% 646,000B/s 0:00:00 (xfr#3, to-chk=5/9) PKGBUILD 3,156B 100% 3,156,000B/s 0:00:00 3,156B 100% 3,156,000B/s 0:00:00 (xfr#4, to-chk=4/9) REUSE.toml 375B 100% 375,000B/s 0:00:00 375B 100% 375,000B/s 0:00:00 (xfr#5, to-chk=3/9) atuin-18.24.1-1.log 741B 100% 741,000B/s 0:00:00 741B 100% 741,000B/s 0:00:00 (xfr#6, to-chk=2/9) LICENSES/ LICENSES/0BSD.txt -> ../LICENSE sent 3,321 bytes received 181 bytes 7,004.00 bytes/sec total size is 5,269 speedup is 1.50 ==>(B Applying RISC-V patches...(B sending incremental file list ./ meta-test-timeout.patch 785B 100% 0B/s 0:00:00 785B 100% 0B/s 0:00:00 (xfr#1, to-chk=2/4) riscv64.patch 1,128B 100% 1,128,000B/s 0:00:00 1,128B 100% 1,128,000B/s 0:00:00 (xfr#2, to-chk=1/4) secrets-test-timeout.patch 1,327B 100% 1,327,000B/s 0:00:00 1,327B 100% 1,327,000B/s 0:00:00 (xfr#3, to-chk=0/4) sent 1,926 bytes received 76 bytes 4,004.00 bytes/sec total size is 3,240 speedup is 1.62 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-8(B ==>(B Building atuin for [extra] (riscv64)(B ]3008;start=5cd71aa845f94f3f9adcc40f5cdde8a4;user=felix;hostname=shinx.felixc.at;machineid=49ee0d8bc12d4691a2e31342e4159c5a;bootid=3585d7d995b04972a92d40ed97568c24;pid=2050422;pidfdid=73328956;comm=sudo;targetuser=root;type=session\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=e9feedd9f108442e8e0b7a55392a6852;user=root;hostname=shinx.felixc.at;machineid=49ee0d8bc12d4691a2e31342e4159c5a;bootid=3585d7d995b04972a92d40ed97568c24;pid=2050467;pidfdid=73381084;comm=systemd-nspawn;container=arch-nspawn-2050467;type=container\]11;?\]2;πŸ”΅ Container arch-nspawn-2050467 on shinx.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=e9feedd9f108442e8e0b7a55392a6852\==>(B Building in chroot for [extra] (riscv64)...(B ==>(B Synchronizing chroot copy [/var/lib/archbuild/extra-riscv64/root] -> [felix-8]...(Bdone(B ]3008;start=25386bf44235435f8d8facef8c19f41a;user=root;hostname=shinx.felixc.at;machineid=49ee0d8bc12d4691a2e31342e4159c5a;bootid=3585d7d995b04972a92d40ed97568c24;pid=2050588;pidfdid=73334500;comm=sudo;targetuser=felix;type=session\==>(B Making package: atuin 18.24.1-1 (Wed Oct 21 21:41:04 2026)(B ==>(B Retrieving sources...(B  ->(B Downloading atuin-18.24.1.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 0 100 4.67M 0 4.67M 0 0 4.10M 0 00:01 0 100 4.67M 0 4.67M 0 0 4.10M 0 00:01 0 100 4.67M 0 4.67M 0 0 4.10M 0 00:01 0  ->(B Found meta-test-timeout.patch(B  ->(B Found secrets-test-timeout.patch(B ==>(B Validating source files with sha256sums...(B atuin-18.24.1.tar.gz ... Passed meta-test-timeout.patch ... Passed secrets-test-timeout.patch ... Passed ]3008;end=25386bf44235435f8d8facef8c19f41a\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=b2a1355a29374ccc8e02472dfb8bbda7;user=root;hostname=shinx.felixc.at;machineid=49ee0d8bc12d4691a2e31342e4159c5a;bootid=3585d7d995b04972a92d40ed97568c24;pid=2053447;pidfdid=73366097;comm=systemd-nspawn;container=makechrootpkg-atuin.build.2050443;type=container\]11;?\]2;πŸ”΅ Container makechrootpkg-atuin.build.2050443 on shinx.felixc.at\]3008;start=2f8ba48b67ab403ab6775b2d104f946f;user=root;hostname=makechrootpkg-atuin.build.2050443;machineid=3f305d9254cc43beaea66ac45a1f7f1b;bootid=0d6c5ba4b645454e980b28e48bb81c38;pid=34;pidfdid=73316167;comm=sudo;targetuser=builduser;type=session\==>(B Making package: atuin 18.24.1-1 (Wed Oct 21 19:41:49 2026)(B ==>(B Checking runtime dependencies...(B ==>(B Checking buildtime dependencies...(B ==>(B Installing missing dependencies...(B ]3008;start=9d72fd84825e4ecfa5ac97a876f797e8;user=builduser;hostname=makechrootpkg-atuin.build.2050443;machineid=3f305d9254cc43beaea66ac45a1f7f1b;bootid=0d6c5ba4b645454e980b28e48bb81c38;pid=6275;pidfdid=73308866;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 (7) New Version Net Change extra/compiler-rt 23.1.3-4 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.3-4 6.91 MiB extra/llhttp 9.3.1-1 0.11 MiB extra/llvm-libs 23.1.3-4 157.98 MiB extra/rust 1:1.99.1-1 266.66 MiB Total Installed Size: 488.67 MiB :: Proceed with installation? [Y/n] checking keyring... checking package integrity... loading package files... checking for file conflicts... :: Processing package changes... installing compiler-rt... installing llhttp... installing libgit2... installing libedit... installing llvm-libs... installing lld... installing rust... Optional dependencies for rust gdb: rust-gdb script [installed] lldb: rust-lldb script :: Running post-transaction hooks... (1/1) Arming ConditionNeedsUpdate... [?25h]3008;end=9d72fd84825e4ecfa5ac97a876f797e8\==>(B Retrieving sources...(B  ->(B Found atuin-18.24.1.tar.gz(B  ->(B Found meta-test-timeout.patch(B  ->(B Found secrets-test-timeout.patch(B ==> WARNING:(B Skipping all source file integrity checks.(B ==>(B Extracting sources...(B  ->(B Extracting atuin-18.24.1.tar.gz with bsdtar(B ==>(B Starting prepare()...(B patching file crates/atuin-client/src/meta.rs patching file crates/atuin-common/src/secrets.rs Updating crates.io index Downloading crates ... Downloaded signal-hook-registry v1.4.8 Downloaded unicode-ident v1.0.24 Downloaded quote v1.0.47 Downloaded errno v0.3.14 Downloaded tracing-core v0.1.36 Downloaded sharded-slab v0.1.7 Downloaded tower-service v0.3.3 Downloaded futures-io v0.3.33 Downloaded futures-channel v0.3.33 Downloaded openssl-probe v0.2.1 Downloaded foreign-types v0.3.2 Downloaded crossbeam-queue v0.3.12 Downloaded tinyvec_macros v0.1.1 Downloaded tokio-macros v2.7.0 Downloaded proc-macro2 v1.0.107 Downloaded socket2 v0.6.4 Downloaded pin-project-lite v0.2.17 Downloaded parking_lot v0.12.5 Downloaded serde v1.0.229 Downloaded log v0.4.32 Downloaded powerfmt v0.2.0 Downloaded num_threads v0.1.7 Downloaded colorchoice v1.0.5 Downloaded itoa v1.0.18 Downloaded equivalent v1.0.2 Downloaded tower-layer v0.3.3 Downloaded futures-task v0.3.33 Downloaded futures-core v0.3.33 Downloaded sync_wrapper v1.0.2 Downloaded tonic-build v0.14.6 Downloaded parking v2.2.1 Downloaded crypto-common v0.2.2 Downloaded hex v0.4.3 Downloaded sha1 v0.11.0 Downloaded ident_case v1.0.1 Downloaded ref-cast-impl v1.0.25 Downloaded serde_spanned v1.1.1 Downloaded glob v0.3.3 Downloaded compression-core v0.4.32 Downloaded compression-codecs v0.4.38 Downloaded adler2 v2.0.1 Downloaded hyper-tls v0.6.0 Downloaded rand_chacha v0.3.1 Downloaded universal-hash v0.5.1 Downloaded opaque-debug v0.3.1 Downloaded aead v0.5.2 Downloaded syn v2.0.119 Downloaded serde_core v1.0.229 Downloaded cfg-if v1.0.4 Downloaded scopeguard v1.2.0 Downloaded time-core v0.1.9 Downloaded num-conv v0.2.2 Downloaded easy-cast v0.5.4 Downloaded condtype v1.3.0 Downloaded clap_derive v4.6.1 Downloaded heck v0.5.0 Downloaded terminal_size v0.4.4 Downloaded strsim v0.11.1 Downloaded utf8parse v0.2.2 Downloaded is_terminal_polyfill v1.70.2 Downloaded anstyle-query v1.1.5 Downloaded anstyle-parse v1.0.0 Downloaded rand_core v0.10.1 Downloaded atomic v0.6.1 Downloaded tracing-serde v0.2.0 Downloaded tracing-attributes v0.1.31 Downloaded thread_local v1.1.9 Downloaded lazy_static v1.5.0 Downloaded nu-ansi-term v0.50.3 Downloaded matchers v0.2.0 Downloaded slab v0.4.12 Downloaded futures-sink v0.3.33 Downloaded futures-macro v0.3.33 Downloaded tonic-prost-build v0.14.6 Downloaded prettyplease v0.2.37 Downloaded tempfile v3.27.0 Downloaded fastrand v2.4.1 Downloaded openssl-macros v0.1.1 Downloaded foreign-types-shared v0.1.1 Downloaded hashlink v0.11.0 Downloaded crc v3.4.0 Downloaded atoi v2.0.0 Downloaded ctutils v0.4.2 Downloaded cmov v0.5.4 Downloaded block-buffer v0.12.1 Downloaded md-5 v0.11.0 Downloaded sqlx-macros v0.9.0 Downloaded darling_macro v0.23.0 Downloaded schemars_derive v1.2.1 Downloaded serde_derive_internals v0.29.1 Downloaded ref-cast v1.0.25 Downloaded dyn-clone v1.0.20 Downloaded bs58 v0.5.1 Downloaded rustc_version v0.4.1 Downloaded relative-path v1.9.3 Downloaded proc-macro-crate v3.5.0 Downloaded toml_datetime v1.1.1+spec-1.1.0 Downloaded futures-timer v3.0.4 Downloaded tokio-native-tls v0.3.1 Downloaded ppv-lite86 v0.2.21 Downloaded parking_lot_core v0.9.12 Downloaded lock_api v0.4.14 Downloaded time-macros v0.2.32 Downloaded deranged v0.5.8 Downloaded divan-macros v0.1.21 Downloaded clap v4.6.1 Downloaded bitflags v2.13.0 Downloaded clap_lex v1.1.0 Downloaded anstyle v1.0.14 Downloaded anstream v1.0.0 Downloaded getrandom v0.4.3 Downloaded tracing-log v0.2.0 Downloaded zmij v1.0.23 Downloaded foldhash v0.2.0 Downloaded allocator-api2 v0.2.21 Downloaded prost-types v0.14.3 Downloaded event-listener v5.4.2 Downloaded crossbeam-utils v0.8.22 Downloaded crc-catalog v2.5.0 Downloaded futures-executor v0.3.32 Downloaded spin v0.9.9 Downloaded autocfg v1.5.1 Downloaded whoami v2.1.1 Downloaded stringprep v0.1.5 Downloaded unicode-properties v0.1.4 Downloaded tinyvec v1.11.0 Downloaded sha2 v0.11.0 Downloaded digest v0.11.3 Downloaded hybrid-array v0.4.13 Downloaded chacha20 v0.10.2 Downloaded hmac v0.13.0 Downloaded dotenvy v0.15.7 Downloaded byteorder v1.5.0 Downloaded sqlx-macros-core v0.9.0 Downloaded serde_with_macros v3.21.0 Downloaded darling v0.23.0 Downloaded iana-time-zone v0.1.65 Downloaded indexmap v1.9.3 Downloaded rstest_macros v0.27.0 Downloaded semver v1.0.28 Downloaded toml_writer v1.1.1+spec-1.1.0 Downloaded toml_parser v1.1.2+spec-1.1.0 Downloaded zstd-safe v7.2.4 Downloaded zstd v0.13.3 Downloaded simd-adler32 v0.3.10 Downloaded crc32fast v1.5.0 Downloaded rustls-pki-types v1.14.1 Downloaded glob-match v0.2.1 Downloaded fs-err v3.3.1 Downloaded dirs v6.0.0 Downloaded dirs-sys v0.5.0 Downloaded option-ext v0.2.0 Downloaded crypto_secretbox v0.1.1 Downloaded salsa20 v0.10.2 Downloaded poly1305 v0.8.0 Downloaded minspan v0.1.5 Downloaded signal-hook-mio v0.2.5 Downloaded document-features v0.2.12 Downloaded pathdiff v0.2.3 Downloaded smallvec v1.15.2 Downloaded serde_derive v1.0.229 Downloaded bytes v1.12.1 Downloaded divan v0.1.21 Downloaded regex-lite v0.1.9 Downloaded uuid v1.26.1 Downloaded bytemuck v1.25.0 Downloaded once_cell v1.21.4 Downloaded memchr v2.8.3 Downloaded tower v0.5.3 Downloaded pulldown-cmark-escape v0.11.0 Downloaded multimap v0.10.1 Downloaded percent-encoding v2.3.2 Downloaded want v0.3.1 Downloaded httpdate v1.0.3 Downloaded hashbrown v0.16.1 Downloaded futures-intrusive v0.5.0 Downloaded flume v0.12.0 Downloaded num-traits v0.2.19 Downloaded unicode-bidi v0.3.18 Downloaded const-oid v0.10.2 Downloaded rand v0.10.1 Downloaded sqlx-mysql v0.9.0 Downloaded darling_core v0.23.0 Downloaded schemars v1.2.1 Downloaded schemars v0.9.0 Downloaded hashbrown v0.12.3 Downloaded rstest v0.27.0 Downloaded toml_edit v0.25.12+spec-1.1.0 Downloaded async-compression v0.4.43 Downloaded flate2 v1.1.9 Downloaded miniz_oxide v0.8.9 Downloaded rand v0.8.7 Downloaded humantime v2.3.0 Downloaded fast-srgb8 v1.0.0 Downloaded approx v0.5.1 Downloaded interim v0.2.1 Downloaded unit-prefix v0.5.2 Downloaded console v0.16.3 Downloaded filedescriptor v0.8.3 Downloaded tracing-tree v0.4.1 Downloaded sketches-ddsketch v0.3.1 Downloaded rand_xoshiro v0.7.0 Downloaded memo-map v0.3.3 Downloaded portable-pty v0.9.0 Downloaded shell-words v1.1.1 Downloaded cfg_aliases v0.1.1 Downloaded downcast-rs v1.2.1 Downloaded mio v1.2.1 Downloaded prost-derive v0.14.3 Downloaded either v1.16.0 Downloaded pulldown-cmark-to-cmark v22.0.0 Downloaded unicase v2.9.0 Downloaded fixedbitset v0.5.7 Downloaded tonic-prost v0.14.6 Downloaded tokio-stream v0.1.18 Downloaded pin-project-internal v1.1.13 Downloaded ipnet v2.12.0 Downloaded try-lock v0.2.5 Downloaded httparse v1.10.1 Downloaded crypto-common v0.1.7 Downloaded sqlx-postgres v0.9.0 Downloaded unicode-normalization v0.1.25 Downloaded hkdf v0.13.0 Downloaded winnow v1.0.3 Downloaded reqwest v0.13.4 Downloaded tower-http v0.6.11 Downloaded async-stream-impl v0.3.6 Downloaded signal-hook v0.3.18 Downloaded litrs v1.0.0 Downloaded config v0.15.25 Downloaded metrics-exporter-prometheus v0.18.1 Downloaded quanta v0.12.6 Downloaded metrics-util v0.20.1 Downloaded metrics v0.24.3 Downloaded serial2 v0.2.36 Downloaded yaml-rust2 v0.11.1 Downloaded wayland-sys v0.31.10 Downloaded tree_magic_mini v3.2.2 Downloaded os_pipe v1.2.3 Downloaded tracing-appender v0.2.5 Downloaded symlink v0.1.0 Downloaded rust-embed-utils v8.12.0 Downloaded rust-embed-impl v8.12.0 Downloaded mime_guess v2.0.5 Downloaded runtime-format v0.1.3 Downloaded rpassword v7.5.4 Downloaded rtoolbox v0.0.3 Downloaded opentelemetry-http v0.32.0 Downloaded norm v0.1.1 Downloaded locked-tripwire v0.1.1 Downloaded indexmap v2.14.0 Downloaded hashbrown v0.17.1 Downloaded tokio-util v0.7.19 Downloaded prost v0.14.3 Downloaded anyhow v1.0.104 Downloaded prost-build v0.14.3 Downloaded getopts v0.2.24 Downloaded foldhash v0.1.5 Downloaded pin-project v1.1.13 Downloaded mime v0.3.17 Downloaded writeable v0.6.3 Downloaded tinystr v0.8.3 Downloaded litemap v0.8.2 Downloaded potential_utf v0.1.5 Downloaded sha2 v0.10.9 Downloaded digest v0.10.7 Downloaded subtle v2.6.1 Downloaded serde_with v3.21.0 Downloaded chrono v0.4.45 Downloaded logos-derive v0.15.1 Downloaded beef v0.5.2 Downloaded wait-timeout v0.2.1 Downloaded quick-error v1.2.3 Downloaded bit-set v0.8.0 Downloaded bytesize v2.7.0 Downloaded async-stream v0.3.6 Downloaded tracing-futures v0.2.5 Downloaded indicatif v0.18.4 Downloaded arraydeque v0.5.1 Downloaded tracing-opentelemetry v0.33.0 Downloaded crossbeam-channel v0.5.15 Downloaded opentelemetry-otlp v0.32.0 Downloaded clap_builder v4.6.0 Downloaded serde_json v1.0.151 Downloaded aho-corasick v1.1.4 Downloaded http-body v1.0.1 Downloaded fnv v1.0.7 Downloaded atomic-waker v1.1.2 Downloaded hyper-timeout v0.5.2 Downloaded serde_urlencoded v0.7.1 Downloaded form_urlencoded v1.2.2 Downloaded serde_path_to_error v0.1.20 Downloaded utf8_iter v1.0.4 Downloaded icu_provider v2.2.0 Downloaded protox v0.9.1 Downloaded protox-parse v0.9.0 Downloaded miette-derive v7.6.0 Downloaded logos-codegen v0.15.1 Downloaded unarray v0.1.4 Downloaded rusty-fork v0.3.1 Downloaded rand_xorshift v0.4.0 Downloaded rand_core v0.9.5 Downloaded rand_chacha v0.9.0 Downloaded bit-vec v0.8.0 Downloaded listenfd v1.0.2 Downloaded ahash v0.8.12 Downloaded dashmap v6.2.1 Downloaded futures v0.3.32 Downloaded varint-rs v2.2.1 Downloaded byteorder-lite v0.1.0 Downloaded rustc-hash v2.1.3 Downloaded interval-heap v0.0.5 Downloaded compare v0.0.6 Downloaded enum_dispatch v0.3.13 Downloaded atuin-vt100 v0.19.1 Downloaded vte v0.15.0 Downloaded arrayvec v0.7.8 Downloaded toml v1.1.2+spec-1.1.0 Downloaded sql-builder v3.1.1 Downloaded crossterm v0.29.0 Downloaded minijinja v2.18.0 Downloaded unicode-truncate v2.0.1 Downloaded strum v0.28.0 Downloaded lru v0.18.2 Downloaded kasuari v0.4.12 Downloaded critical-section v1.2.0 Downloaded static_assertions v1.1.0 Downloaded rustversion v1.0.22 Downloaded line-clipping v0.3.5 Downloaded instability v0.3.12 Downloaded wayland-backend v0.3.14 Downloaded opentelemetry v0.32.0 Downloaded fluent-langneg v0.13.1 Downloaded fluent v0.17.0 Downloaded futures-util v0.3.33 Downloaded tonic v0.14.6 Downloaded hyper-util v0.1.20 Downloaded http-body-util v0.1.3 Downloaded matchit v0.8.4 Downloaded async-trait v0.1.92 Downloaded thiserror v2.0.21 Downloaded thiserror-impl v2.0.21 Downloaded strum_macros v0.28.0 Downloaded strum v0.27.2 Downloaded strum_macros v0.27.2 Downloaded icu_locale_core v2.2.0 Downloaded icu_collections v2.2.0 Downloaded icu_normalizer_data v2.2.0 Downloaded rand_core v0.6.4 Downloaded openssl v0.10.81 Downloaded getrandom v0.3.4 Downloaded lasso v0.7.3 Downloaded xxhash-rust v0.8.19 Downloaded lz4_flex v0.13.1 Downloaded twox-hash v2.1.4 Downloaded sfa v1.0.0 Downloaded self_cell v1.3.0 Downloaded crossbeam-skiplist v0.1.3 Downloaded crossbeam-epoch v0.9.20 Downloaded byteview v0.10.2 Downloaded eyre v0.6.14 Downloaded indenter v0.3.4 Downloaded unicode-xid v0.2.6 Downloaded tui-textarea-2 v0.13.2 Downloaded castaway v0.2.4 Downloaded indoc v2.0.7 Downloaded tree-sitter-fish v3.6.0 Downloaded fluent-syntax v0.12.0 Downloaded intl_pluralrules v7.0.2 Downloaded daemonix v0.1.0 Downloaded homedir v0.3.6 Downloaded axotag v0.3.0 Downloaded axoprocess v0.2.1 Downloaded tracing-subscriber v0.3.23 Downloaded hashbrown v0.15.5 Downloaded hyper v1.10.1 Downloaded base64 v0.22.1 Downloaded ryu v1.0.23 Downloaded axum-core v0.5.6 Downloaded idna_adapter v1.2.2 Downloaded zerovec-derive v0.11.3 Downloaded zerofrom v0.1.8 Downloaded zerofrom-derive v0.1.7 Downloaded synstructure v0.13.2 Downloaded yoke-derive v0.8.2 Downloaded stable_deref_trait v1.2.1 Downloaded icu_normalizer v2.2.0 Downloaded typenum v1.20.1 Downloaded generic-array v0.14.7 Downloaded zeroize_derive v1.5.0 Downloaded version_check v0.9.5 Downloaded block-buffer v0.10.4 Downloaded native-tls v0.2.18 Downloaded miette v7.6.0 Downloaded prost-reflect v0.16.3 Downloaded rand v0.9.5 Downloaded fjall v3.1.10 Downloaded quick_cache v0.6.24 Downloaded convert_case v0.10.0 Downloaded secrecy v0.10.3 Downloaded num_cpus v1.17.0 Downloaded deadpool-runtime v0.1.4 Downloaded assert-json-diff v2.0.2 Downloaded serde_regex v1.2.0 Downloaded portable-atomic v1.14.0 Downloaded compact_str v0.9.0 Downloaded tree-sitter-language v0.1.8 Downloaded streaming-iterator v0.1.9 Downloaded opentelemetry-proto v0.32.0 Downloaded i18n-embed-fl v0.10.1 Downloaded unic-langid v0.9.6 Downloaded toml v0.5.11 Downloaded fluent-bundle v0.16.0 Downloaded arc-swap v1.9.2 Downloaded colored v3.1.1 Downloaded clap_complete_nushell v4.6.0 Downloaded clap_complete v4.6.9 Downloaded axoupdater v0.10.0 Downloaded camino v1.2.5 Downloaded ansi-to-tui v8.0.1 Downloaded syn v3.0.0 Downloaded time v0.3.55 Downloaded regex-syntax v0.8.11 Downloaded itertools v0.14.0 Downloaded regex v1.12.4 Downloaded pulldown-cmark v0.13.4 Downloaded http v1.5.0 Downloaded sqlx-sqlite v0.9.0 Downloaded url v2.5.8 Downloaded icu_properties v2.2.0 Downloaded yoke v0.8.3 Downloaded displaydoc v0.2.6 Downloaded sqlx-core v0.9.0 Downloaded getrandom v0.2.17 Downloaded zeroize v1.9.0 Downloaded openssl-sys v0.9.117 Downloaded pkg-config v0.3.33 Downloaded shlex v2.0.1 Downloaded jobserver v0.1.35 Downloaded hashbrown v0.14.5 Downloaded frizbee v0.13.0 Downloaded derive_more-impl v2.1.1 Downloaded deadpool v0.12.3 Downloaded typed-builder v0.23.2 Downloaded thiserror v1.0.69 Downloaded rustc-hash v1.1.0 Downloaded untrusted v0.9.0 Downloaded shellexpand v3.1.2 Downloaded hashlink v0.9.1 Downloaded fallible-streaming-iterator v0.1.9 Downloaded fallible-iterator v0.3.0 Downloaded nix v0.28.0 Downloaded pastey v0.2.3 Downloaded ratatui-termwiz v0.1.0 Downloaded wezterm-input-types v0.1.0 Downloaded wezterm-dynamic v0.2.1 Downloaded wezterm-dynamic-derive v0.1.1 Downloaded proc-macro-error3 v3.1.1 Downloaded proc-macro-error-attr3 v3.1.1 Downloaded h2 v0.4.16 Downloaded axum v0.8.9 Downloaded idna v1.1.0 Downloaded zerotrie v0.2.4 Downloaded icu_properties_data v2.2.0 Downloaded find-msvc-tools v0.1.9 Downloaded itertools v0.15.0 Downloaded lsm-tree v3.1.10 Downloaded derive_more v2.1.1 Downloaded unicode-segmentation v1.13.3 Downloaded wiremock v0.6.5 Downloaded typed-builder-macro v0.23.2 Downloaded reqwest-middleware v0.5.2 Downloaded diff v0.1.13 Downloaded thiserror-impl v1.0.69 Downloaded pbkdf2 v0.12.2 Downloaded hmac v0.12.1 Downloaded iso8601 v0.6.3 Downloaded ed25519 v2.2.3 Downloaded signature v2.2.0 Downloaded pkcs8 v0.10.2 Downloaded spki v0.7.3 Downloaded const-oid v0.9.6 Downloaded base64ct v1.8.3 Downloaded inout v0.1.4 Downloaded same-file v1.0.6 Downloaded inotify-sys v0.1.8 Downloaded file-id v0.2.3 Downloaded rmp-serde v1.3.1 Downloaded siphasher v1.0.3 Downloaded phf_generator v0.11.3 Downloaded ordered-float v4.6.0 Downloaded lab v0.11.0 Downloaded wezterm-blob-leases v0.1.1 Downloaded mac_address v1.1.8 Downloaded memoffset v0.9.1 Downloaded tree-sitter-powershell v0.26.4 Downloaded opentelemetry_sdk v0.32.1 Downloaded unic-langid-impl v0.9.6 Downloaded cc v1.2.64 Downloaded proptest v1.11.0 Downloaded pretty_assertions v1.4.1 Downloaded yansi v1.0.1 Downloaded chacha20 v0.9.1 Downloaded cipher v0.4.4 Downloaded blake2 v0.10.6 Downloaded rusty_paserk v0.5.0 Downloaded argon2 v0.5.3 Downloaded password-hash v0.5.0 Downloaded rmp v0.8.15 Downloaded notify-debouncer-full v0.7.0 Downloaded walkdir v2.5.0 Downloaded notify-types v2.1.0 Downloaded notify v8.2.0 Downloaded inotify v0.11.4 Downloaded phf_shared v0.11.3 Downloaded phf_macros v0.11.3 Downloaded palette_derive v0.7.6 Downloaded by_address v1.2.1 Downloaded ratatui-widgets v0.3.0 Downloaded ratatui-core v0.1.2 Downloaded ratatui v0.30.0 Downloaded bitflags v1.3.2 Downloaded wezterm-color-types v0.3.0 Downloaded csscolorparser v0.6.2 Downloaded vtparse v0.6.2 Downloaded num-derive v0.4.2 Downloaded memmem v0.1.1 Downloaded bit-set v0.5.3 Downloaded moxcms v0.8.1 Downloaded zerovec v0.11.6 Downloaded zerocopy v0.8.52 Downloaded unicode-width v0.1.14 Downloaded tiny-bip39 v2.0.0 Downloaded rusqlite v0.32.1 Downloaded phf v0.11.3 Downloaded tree-sitter v0.27.0 Downloaded cfg_aliases v0.2.1 Downloaded termios v0.3.3 Downloaded phf_codegen v0.11.3 Downloaded fixedbitset v0.4.2 Downloaded bit-vec v0.6.3 Downloaded eye_declare_engine v0.7.1 Downloaded eventsource-stream v0.2.3 Downloaded chrono-humanize v0.2.3 Downloaded gethostname v1.1.0 Downloaded intl-memoizer v0.5.3 Downloaded i18n-embed-impl v0.8.4 Downloaded i18n-config v0.4.8 Downloaded find-crate v0.6.3 Downloaded unicode-width v0.2.2 Downloaded sqlx v0.9.0 Downloaded ed25519-dalek v2.2.0 Downloaded der v0.7.10 Downloaded euclid v0.22.13 Downloaded ucd-trie v0.1.7 Downloaded pest_generator v2.8.6 Downloaded ratatui-macros v0.7.0 Downloaded ratatui-crossterm v0.1.0 Downloaded wayland-protocols-wlr v0.3.11 Downloaded type-map v0.5.1 Downloaded rustix v1.1.5 Downloaded nom v8.0.0 Downloaded terminfo v0.9.0 Downloaded pest_derive v2.8.6 Downloaded finl_unicode v1.4.0 Downloaded wl-clipboard-rs v0.9.3 Downloaded wezterm-bidi v0.2.3 Downloaded minimal-lexical v0.2.1 Downloaded pest_meta v2.8.6 Downloaded arboard v3.6.1 Downloaded wayland-scanner v0.31.9 Downloaded i18n-embed v0.16.0 Downloaded basic-toml v0.1.10 Downloaded fancy-regex v0.11.0 Downloaded eye_declare v0.7.1 Downloaded wayland-client v0.31.13 Downloaded tracing v0.1.44 Downloaded nom v7.1.3 Downloaded vcpkg v0.2.15 Downloaded palette v0.7.6 Downloaded libm v0.2.16 Downloaded pest v2.8.6 Downloaded image v0.25.10 Downloaded libc v0.2.190 Downloaded sysinfo v0.39.6 Downloaded imara-diff v0.2.0 Downloaded syn v1.0.109 Downloaded wayland-protocols v0.32.11 Downloaded nix v0.30.1 Downloaded tokio v1.52.3 Downloaded regex-automata v0.4.14 Downloaded curve25519-dalek v4.1.3 Downloaded nix v0.29.0 Downloaded quick-xml v0.39.4 Downloaded x11rb v0.13.2 Downloaded zstd-sys v2.1.0+zstd.1.5.7 Downloaded rusty_paseto v0.8.0 Downloaded termwiz v0.23.3 Downloaded tree-sitter-bash v0.25.1 Downloaded rmcp v3.3.0 Downloaded x11rb-protocol v0.13.2 Downloaded petgraph v0.8.3 Downloaded rust-embed v8.12.0 Downloaded pxfm v0.1.30 Downloaded encoding_rs v0.8.35 Downloaded logos v0.15.1 Downloaded ring v0.17.14 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 unicode-ident v1.0.24 Compiling quote v1.0.47 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 version_check v0.9.5 Compiling equivalent v1.0.2 Compiling foldhash v0.2.0 Compiling parking_lot_core v0.9.12 Compiling once_cell v1.21.4 Compiling futures-core v0.3.33 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 futures-sink v0.3.33 Compiling bytes v1.12.1 Compiling stable_deref_trait v1.2.1 Compiling autocfg v1.5.1 Compiling icu_normalizer_data v2.2.0 Compiling lock_api v0.4.14 Compiling icu_properties_data v2.2.0 Compiling futures-task v0.3.33 Compiling slab v0.4.12 Compiling futures-channel v0.3.33 Compiling futures-io v0.3.33 Compiling tracing-core v0.1.36 Compiling getrandom v0.4.3 Compiling heck v0.5.0 Compiling num-conv v0.2.2 Compiling time-core v0.1.9 Compiling anyhow v1.0.104 Compiling percent-encoding v2.3.2 Compiling hashbrown v0.17.1 Compiling zerocopy v0.8.52 Compiling semver v1.0.28 Compiling serde_json v1.0.151 Compiling subtle v2.6.1 Compiling generic-array v0.14.7 Compiling hashbrown v0.16.1 Compiling base64 v0.22.1 Compiling rustix v1.1.5 Compiling cmov v0.5.4 Compiling time-macros v0.2.32 Compiling litemap v0.8.2 Compiling ryu v1.0.23 Compiling writeable v0.6.3 Compiling rustc_version v0.4.1 Compiling crossbeam-utils v0.8.22 Compiling thiserror v1.0.69 Compiling linux-raw-sys v0.12.1 Compiling num-traits v0.2.19 Compiling utf8_iter v1.0.4 Compiling ctutils v0.4.2 Compiling const-oid v0.10.2 Compiling http v1.5.0 Compiling form_urlencoded v1.2.2 Compiling foreign-types-shared v0.1.1 Compiling powerfmt v0.2.0 Compiling indexmap v2.14.0 Compiling num_threads v0.1.7 Compiling openssl v0.10.81 Compiling foreign-types v0.3.2 Compiling native-tls v0.2.18 Compiling unicode-width v0.2.2 Compiling hybrid-array v0.4.13 Compiling openssl-probe v0.2.1 Compiling rand_core v0.10.1 Compiling strsim v0.11.1 Compiling syn v2.0.119 Compiling syn v3.0.0 Compiling tower-service v0.3.3 Compiling httparse v1.10.1 Compiling try-lock v0.2.5 Compiling fnv v1.0.7 Compiling ident_case v1.0.1 Compiling getrandom v0.3.4 Compiling atomic-waker v1.1.2 Compiling httpdate v1.0.3 Compiling want v0.3.1 Compiling regex-syntax v0.8.11 Compiling aho-corasick v1.1.4 Compiling sync_wrapper v1.0.2 Compiling ipnet v2.12.0 Compiling zstd-safe v7.2.4 Compiling crc32fast v1.5.0 Compiling jobserver v0.1.35 Compiling tower-layer v0.3.3 Compiling simd-adler32 v0.3.10 Compiling block-buffer v0.12.1 Compiling crypto-common v0.2.2 Compiling adler2 v2.0.1 Compiling http-body v1.0.1 Compiling unicode-segmentation v1.13.3 Compiling cc v1.2.64 Compiling http-body-util v0.1.3 Compiling miniz_oxide v0.8.9 Compiling socket2 v0.6.4 Compiling mio v1.2.1 Compiling logos-codegen v0.15.1 Compiling ahash v0.8.12 Compiling errno v0.3.14 Compiling getrandom v0.2.17 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.7 Compiling signal-hook-registry v1.4.8 Compiling rand_core v0.6.4 Compiling rand_core v0.9.5 Compiling tokio v1.52.3 Compiling digest v0.10.7 Compiling flate2 v1.1.9 Compiling futures-util v0.3.33 Compiling crc-catalog v2.5.0 Compiling same-file v1.0.6 Compiling bitflags v2.13.0 Compiling digest v0.11.3 Compiling openssl-src v300.6.1+3.6.3 Compiling deranged v0.5.8 Compiling lazy_static v1.5.0 Compiling beef v0.5.2 Compiling compression-core v0.4.32 Compiling sha2 v0.11.0 Compiling parking v2.2.1 Compiling convert_case v0.10.0 Compiling crossbeam-queue v0.3.12 Compiling walkdir v2.5.0 Compiling crc v3.4.0 Compiling hashlink v0.11.0 Compiling event-listener v5.4.2 Compiling sha2 v0.10.9 Compiling nom v8.0.0 Compiling tinyvec_macros v0.1.1 Compiling uuid v1.26.1 Compiling unicase v2.9.0 Compiling unicode-xid v0.2.6 Compiling tinyvec v1.11.0 Compiling regex-automata v0.4.14 Compiling rustversion v1.0.22 Compiling hmac v0.13.0 Compiling spin v0.9.9 Compiling chacha20 v0.10.2 Compiling curve25519-dalek v4.1.3 Compiling dotenvy v0.15.7 Compiling unicode-normalization v0.1.25 Compiling unicode-properties v0.1.4 Compiling byteorder v1.5.0 Compiling inotify-sys v0.1.8 Compiling mime v0.3.17 Compiling unicode-bidi v0.3.18 Compiling flume v0.12.0 Compiling time v0.3.55 Compiling rand v0.10.1 Compiling hkdf v0.13.0 Compiling sha1 v0.11.0 Compiling md-5 v0.11.0 Compiling whoami v2.1.1 Compiling atoi v2.0.0 Compiling winnow v1.0.3 Compiling hex v0.4.3 Compiling stringprep v0.1.5 Compiling ref-cast v1.0.25 Compiling signature v2.2.0 Compiling iana-time-zone v0.1.65 Compiling signal-hook v0.3.18 Compiling utf8parse v0.2.2 Compiling fastrand v2.4.1 Compiling ed25519 v2.2.3 Compiling anstyle-parse v1.0.0 Compiling sharded-slab v0.1.7 Compiling toml_datetime v1.1.1+spec-1.1.0 Compiling openssl-sys v0.9.117 Compiling zstd-sys v2.1.0+zstd.1.5.7 Compiling synstructure v0.13.2 Compiling darling_core v0.23.0 Compiling ppv-lite86 v0.2.21 Compiling libsqlite3-sys v0.30.1 Compiling ring v0.17.14 Compiling serde_derive_internals v0.29.1 Compiling tracing-log v0.2.0 Compiling thread_local v1.1.9 Compiling base64ct v1.8.3 Compiling anstyle-query v1.1.5 Compiling xxhash-rust v0.8.19 Compiling option-ext v0.2.0 Compiling futures-executor v0.3.32 Compiling rand_chacha v0.3.1 Compiling untrusted v0.9.0 Compiling is_terminal_polyfill v1.70.2 Compiling colorchoice v1.0.5 Compiling nu-ansi-term v0.50.3 Compiling toml_writer v1.1.1+spec-1.1.0 Compiling anstyle v1.0.14 Compiling rand v0.8.7 Compiling password-hash v0.5.0 Compiling dirs-sys v0.5.0 Compiling toml_parser v1.1.2+spec-1.1.0 Compiling anstream v1.0.0 Compiling inotify v0.11.4 Compiling notify-types v2.1.0 Compiling serde_path_to_error v0.1.20 Compiling tokio-stream v0.1.18 Compiling fs-err v3.3.1 Compiling iso8601 v0.6.3 Compiling opaque-debug v0.3.1 Compiling matchit v0.8.4 Compiling dyn-clone v1.0.20 Compiling litrs v1.0.0 Compiling clap_lex v1.1.0 Compiling arrayvec v0.7.8 Compiling notify v8.2.0 Compiling signal-hook-mio v0.2.5 Compiling dirs v6.0.0 Compiling hashbrown v0.14.5 Compiling rmp v0.8.15 Compiling file-id v0.2.3 Compiling easy-cast v0.5.4 Compiling rustc-hash v1.1.0 Compiling clap_builder v4.6.0 Compiling regex v1.12.4 Compiling matchers v0.2.0 Compiling vte v0.15.0 Compiling siphasher v1.0.3 Compiling toml_edit v0.25.12+spec-1.1.0 Compiling bytesize v2.7.0 Compiling notify-debouncer-full v0.7.0 Compiling serde_spanned v1.1.1 Compiling atuin-vt100 v0.19.1 Compiling phf_shared v0.11.3 Compiling sysinfo v0.39.6 Compiling eyre v0.6.14 Compiling portable-atomic v1.14.0 Compiling humantime v2.3.0 Compiling tree-sitter-language v0.1.8 Compiling glob-match v0.2.1 Compiling toml v1.1.2+spec-1.1.0 Compiling document-features v0.2.12 Compiling pulldown-cmark v0.13.4 Compiling prettyplease v0.2.37 Compiling pathdiff v0.2.3 Compiling phf_generator v0.11.3 Compiling indenter v0.3.4 Compiling castaway v0.2.4 Compiling static_assertions v1.1.0 Compiling foldhash v0.1.5 Compiling unicode-width v0.1.14 Compiling crossbeam-epoch v0.9.20 Compiling by_address v1.2.1 Compiling serde_derive v1.0.229 Compiling thiserror-impl v2.0.21 Compiling async-trait v0.1.92 Compiling tempfile v3.27.0 Compiling palette v0.7.6 Compiling hashbrown v0.15.5 Compiling compact_str v0.9.0 Compiling hashlink v0.9.1 Compiling console v0.16.3 Compiling approx v0.5.1 Compiling lru v0.18.2 Compiling atuin-client v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-client) Compiling unit-prefix v0.5.2 Compiling fallible-iterator v0.3.0 Compiling fast-srgb8 v1.0.0 Compiling critical-section v1.2.0 Compiling fixedbitset v0.5.7 Compiling config v0.15.25 Compiling fallible-streaming-iterator v0.1.9 Compiling instability v0.3.12 Compiling indicatif v0.18.4 Compiling petgraph v0.8.3 Compiling shellexpand v3.1.2 Compiling wayland-sys v0.31.10 Compiling minspan v0.1.5 Compiling pulldown-cmark-to-cmark v22.0.0 Compiling downcast-rs v1.2.1 Compiling multimap v0.10.1 Compiling indoc v2.0.7 Compiling rustc-hash v2.1.3 Compiling tonic-build v0.14.6 Compiling rand_chacha v0.9.0 Compiling wayland-backend v0.3.14 Compiling mime_guess v2.0.5 Compiling byteorder-lite v0.1.0 Compiling tree-sitter v0.27.0 Compiling line-clipping v0.3.5 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 futures-macro v0.3.33 Compiling tokio-macros v2.7.0 Compiling openssl-macros v0.1.1 Compiling thiserror-impl v1.0.69 Compiling darling_macro v0.23.0 Compiling strum_macros v0.28.0 Compiling strum_macros v0.27.2 Compiling logos-derive v0.15.1 Compiling darling v0.23.0 Compiling derive_more-impl v2.1.1 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 serde_with_macros v3.21.0 Compiling clap_derive v4.6.1 Compiling zeroize v1.9.0 Compiling typed-builder-macro v0.23.2 Compiling rustls-pki-types v1.14.1 Compiling async-stream-impl v0.3.6 Compiling pin-project-internal v1.1.13 Compiling phf_macros v0.11.3 Compiling logos v0.15.1 Compiling kasuari v0.4.12 Compiling palette_derive v0.7.6 Compiling interim v0.2.1 Compiling inout v0.1.4 Compiling async-stream v0.3.6 Compiling universal-hash v0.5.1 Compiling tracing v0.1.44 Compiling cipher v0.4.4 Compiling aead v0.5.2 Compiling poly1305 v0.8.0 Compiling phf v0.11.3 Compiling serde_with v3.21.0 Compiling filedescriptor v0.8.3 Compiling miette v7.6.0 Compiling blake2 v0.10.6 Compiling zerofrom v0.1.8 Compiling chacha20 v0.9.1 Compiling axum-core v0.5.6 Compiling hmac v0.12.1 Compiling salsa20 v0.10.2 Compiling yoke v0.8.3 Compiling argon2 v0.5.3 Compiling sql-builder v3.1.1 Compiling pbkdf2 v0.12.2 Compiling crypto_secretbox v0.1.1 Compiling pin-project v1.1.13 Compiling zerovec v0.11.6 Compiling zerotrie v0.2.4 Compiling tiny-bip39 v2.0.0 Compiling rand v0.9.5 Compiling quick-xml v0.39.4 Compiling self_cell v1.3.0 Compiling either v1.16.0 Compiling smallvec v1.15.2 Compiling serde_urlencoded v0.7.1 Compiling chrono v0.4.45 Compiling tracing-serde v0.2.0 Compiling ed25519-dalek v2.2.0 Compiling clap v4.6.1 Compiling secrecy v0.10.3 Compiling itertools v0.14.0 Compiling strum v0.27.2 Compiling strum v0.28.0 Compiling rusqlite v0.32.1 Compiling rmp-serde v1.3.1 Compiling tracing-subscriber v0.3.23 Compiling serde_regex v1.2.0 Compiling itertools v0.15.0 Compiling rusty_paseto v0.8.0 Compiling typed-builder v0.23.2 Compiling parking_lot v0.12.5 Compiling wayland-client v0.31.13 Compiling tinystr v0.8.3 Compiling potential_utf v0.1.5 Compiling rusty_paserk v0.5.0 Compiling icu_collections v2.2.0 Compiling icu_locale_core v2.2.0 Compiling futures-intrusive v0.5.0 Compiling unic-langid-impl v0.9.6 Compiling futures v0.3.32 Compiling wayland-scanner v0.31.9 Compiling rust-embed-utils v8.12.0 Compiling tracing-futures v0.2.5 Compiling unic-langid v0.9.6 Compiling toml v0.5.11 Compiling basic-toml v0.1.10 Compiling schemars v1.2.1 Compiling opentelemetry v0.32.0 Compiling rust-embed-impl v8.12.0 Compiling type-map v0.5.1 Compiling compare v0.0.6 Compiling twox-hash v2.1.4 Compiling cfg_aliases v0.2.1 Compiling cfg_aliases v0.1.1 Compiling prost-derive v0.14.3 Compiling nix v0.28.0 Compiling lz4_flex v0.13.1 Compiling nix v0.30.1 Compiling icu_provider v2.2.0 Compiling intl-memoizer v0.5.3 Compiling interval-heap v0.0.5 Compiling unicode-truncate v2.0.1 Compiling find-crate v0.6.3 Compiling i18n-config v0.4.8 Compiling fluent-langneg v0.13.1 Compiling intl_pluralrules v7.0.2 Compiling ratatui-core v0.1.2 Compiling dashmap v6.2.1 Compiling fluent-syntax v0.12.0 Compiling sfa v1.0.0 Compiling icu_normalizer v2.2.0 Compiling icu_properties v2.2.0 Compiling crossbeam-skiplist v0.1.3 Compiling quick_cache v0.6.24 Compiling pxfm v0.1.30 Compiling varint-rs v2.2.1 Compiling byteview v0.10.2 Compiling camino v1.2.5 Compiling fluent-bundle v0.16.0 Compiling gethostname v1.1.0 Compiling metrics v0.24.3 Compiling tree-sitter-bash v0.25.1 Compiling tree-sitter-fish v3.6.0 Compiling rand_xoshiro v0.7.0 Compiling os_pipe v1.2.3 Compiling quanta v0.12.6 Compiling getopts v0.2.24 Compiling pulldown-cmark-escape v0.11.0 Compiling sketches-ddsketch v0.3.1 Compiling streaming-iterator v0.1.9 Compiling rmcp v3.3.0 Compiling bytemuck v1.25.0 Compiling metrics-exporter-prometheus v0.18.1 Compiling minimal-lexical v0.2.1 Compiling lsm-tree v3.1.10 Compiling x11rb-protocol v0.13.2 Compiling metrics-util v0.20.1 Compiling fluent v0.17.0 Compiling tree_magic_mini v3.2.2 Compiling idna_adapter v1.2.2 Compiling nom v7.1.3 Compiling idna v1.1.0 Compiling i18n-embed-impl v0.8.4 Compiling prost v0.14.3 Compiling derive_more v2.1.1 Compiling url v2.5.8 Compiling crossterm v0.29.0 Compiling ratatui-widgets v0.3.0 Compiling lasso v0.7.3 Compiling rust-embed v8.12.0 Compiling prost-types v0.14.3 Compiling opentelemetry_sdk v0.32.1 Compiling arc-swap v1.9.2 Compiling tree-sitter-powershell v0.26.4 Compiling listenfd v1.0.2 Compiling serial2 v0.2.36 Compiling proc-macro-error-attr3 v3.1.1 Compiling encoding_rs v0.8.35 Compiling arraydeque v0.5.1 Compiling shell-words v1.1.1 Compiling atuin-server v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-server) Compiling sqlx-core v0.9.0 Compiling frizbee v0.13.0 Compiling pastey v0.2.3 Compiling atuin-ai v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-ai) Compiling memo-map v0.3.3 Compiling proc-macro-error3 v3.1.1 Compiling wayland-protocols v0.32.11 Compiling moxcms v0.8.1 Compiling minijinja v2.18.0 Compiling portable-pty v0.9.0 Compiling i18n-embed v0.16.0 Compiling homedir v0.3.6 Compiling prost-build v0.14.3 Compiling protox-parse v0.9.0 Compiling prost-reflect v0.16.3 Compiling tokio-util v0.7.19 Compiling x11rb v0.13.2 Compiling eye_declare_engine v0.7.1 Compiling ratatui-macros v0.7.0 Compiling ratatui-crossterm v0.1.0 Compiling yaml-rust2 v0.11.1 Compiling h2 v0.4.16 Compiling tower v0.5.3 Compiling tonic-prost-build v0.14.6 Compiling ratatui v0.30.0 Compiling eye_declare v0.7.1 Compiling fjall v3.1.10 Compiling tui-textarea-2 v0.13.2 Compiling eventsource-stream v0.2.3 Compiling axotag v0.3.0 Compiling protox v0.9.1 Compiling opentelemetry-proto v0.32.0 Compiling axoprocess v0.2.1 Compiling imara-diff v0.2.0 Compiling chrono-humanize v0.2.3 Compiling sqlx-mysql v0.9.0 Compiling sqlx-postgres v0.9.0 Compiling sqlx-sqlite v0.9.0 Compiling clap_complete v4.6.9 Compiling rtoolbox v0.0.3 Compiling crossbeam-channel v0.5.15 Compiling atuin v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin) Compiling symlink v0.1.0 Compiling image v0.25.10 Compiling clap_complete_nushell v4.6.0 Compiling rpassword v7.5.4 Compiling i18n-embed-fl v0.10.1 Compiling tracing-appender v0.2.5 Compiling ansi-to-tui v8.0.1 Compiling tracing-opentelemetry v0.33.0 Compiling runtime-format v0.1.3 Compiling daemonix v0.1.0 Compiling wayland-protocols-wlr v0.3.11 Compiling norm v0.1.1 Compiling locked-tripwire v0.1.1 Compiling colored v3.1.1 Compiling atuin-search-bench v0.1.0 (/build/atuin/src/atuin-18.24.1/crates/atuin-search-bench) Compiling wl-clipboard-rs v0.9.3 Compiling hyper v1.10.1 Compiling atuin-octavo v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-octavo) Compiling atuin-daemon v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-daemon) Compiling sqlx-macros-core v0.9.0 Compiling arboard v3.6.1 Compiling hyper-util v0.1.20 Compiling sqlx-macros v0.9.0 Compiling axum v0.8.9 Compiling hyper-timeout v0.5.2 Compiling tonic v0.14.6 Compiling tonic-prost v0.14.6 Compiling zstd v0.13.3 Compiling compression-codecs v0.4.38 Compiling async-compression v0.4.43 Compiling tower-http v0.6.11 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 opentelemetry-http v0.32.0 Compiling axoasset v2.0.1 (/build/atuin/src/atuin-18.24.1/vendor/axoasset) Compiling axoupdater v0.10.0 Compiling opentelemetry-otlp v0.32.0 Compiling sqlx v0.9.0 Compiling atuin-common v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-common) Compiling atuin-domain v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-domain) Compiling atuin-history v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-history) Compiling atuin-pty-proxy v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-pty-proxy) Compiling atuin-scripts v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-scripts) Compiling atuin-dotfiles v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-dotfiles) Compiling atuin-kv v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-kv) 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 140m 19s ==>(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 libc v0.2.190 Compiling serde_core v1.0.229 Compiling serde 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 allocator-api2 v0.2.21 Compiling once_cell v1.21.4 Compiling pkg-config v0.3.33 Compiling foldhash v0.2.0 Compiling version_check v0.9.5 Compiling futures-core v0.3.33 Compiling itoa v1.0.18 Compiling pin-project-lite v0.2.17 Compiling bytes v1.12.1 Compiling scopeguard v1.2.0 Compiling log v0.4.32 Compiling typenum v1.20.1 Compiling parking_lot_core v0.9.12 Compiling vcpkg v0.2.15 Compiling thiserror v2.0.21 Compiling futures-io v0.3.33 Compiling zmij v1.0.23 Compiling stable_deref_trait v1.2.1 Compiling autocfg v1.5.1 Compiling regex-syntax v0.8.11 Compiling futures-sink v0.3.33 Compiling getrandom v0.4.3 Compiling rand_core v0.10.1 Compiling lock_api v0.4.14 Compiling hashbrown v0.17.1 Compiling futures-channel v0.3.33 Compiling futures-task v0.3.33 Compiling tracing-core v0.1.36 Compiling litemap v0.8.2 Compiling slab v0.4.12 Compiling percent-encoding v2.3.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 heck v0.5.0 Compiling hashbrown v0.16.1 Compiling rustix v1.1.5 Compiling fnv v1.0.7 Compiling num-conv v0.2.2 Compiling generic-array v0.14.7 Compiling linux-raw-sys v0.12.1 Compiling time-core v0.1.9 Compiling powerfmt v0.2.0 Compiling form_urlencoded v1.2.2 Compiling aho-corasick v1.1.4 Compiling foreign-types-shared v0.1.1 Compiling zerocopy v0.8.52 Compiling subtle v2.6.1 Compiling rustc_version v0.4.1 Compiling anyhow v1.0.104 Compiling serde_json v1.0.151 Compiling foreign-types v0.3.2 Compiling openssl-probe v0.2.1 Compiling base64 v0.22.1 Compiling crossbeam-utils v0.8.22 Compiling lazy_static v1.5.0 Compiling strsim v0.11.1 Compiling indexmap v2.14.0 Compiling time-macros v0.2.32 Compiling num-traits v0.2.19 Compiling num_threads v0.1.7 Compiling unicode-width v0.2.2 Compiling cmov v0.5.4 Compiling http v1.5.0 Compiling hybrid-array v0.4.13 Compiling const-oid v0.10.2 Compiling unicode-segmentation v1.13.3 Compiling ryu v1.0.23 Compiling ident_case v1.0.1 Compiling parking v2.2.1 Compiling getrandom v0.3.4 Compiling ctutils v0.4.2 Compiling hashlink v0.11.0 Compiling crc-catalog v2.5.0 Compiling openssl v0.10.81 Compiling fastrand v2.4.1 Compiling event-listener v5.4.2 Compiling thiserror v1.0.69 Compiling crc v3.4.0 Compiling native-tls v0.2.18 Compiling tower-service v0.3.3 Compiling syn v2.0.119 Compiling syn v3.0.0 Compiling httparse v1.10.1 Compiling block-buffer v0.12.1 Compiling crypto-common v0.2.2 Compiling atomic-waker v1.1.2 Compiling tinyvec_macros v0.1.1 Compiling try-lock v0.2.5 Compiling logos-codegen v0.15.1 Compiling tinyvec v1.11.0 Compiling spin v0.9.9 Compiling want v0.3.1 Compiling http-body v1.0.1 Compiling httpdate v1.0.3 Compiling deranged v0.5.8 Compiling winnow v1.0.3 Compiling convert_case v0.10.0 Compiling ahash v0.8.12 Compiling futures-util v0.3.33 Compiling jobserver v0.1.35 Compiling mio v1.2.1 Compiling socket2 v0.6.4 Compiling regex-automata v0.4.14 Compiling block-buffer v0.10.4 Compiling crypto-common v0.1.7 Compiling http-body-util v0.1.3 Compiling chacha20 v0.10.2 Compiling cc v1.2.64 Compiling hex v0.4.3 Compiling digest v0.10.7 Compiling beef v0.5.2 Compiling byteorder v1.5.0 Compiling unicode-normalization v0.1.25 Compiling dotenvy v0.15.7 Compiling ipnet v2.12.0 Compiling unicode-xid v0.2.6 Compiling tokio v1.52.3 Compiling sha2 v0.10.9 Compiling crossbeam-queue v0.3.12 Compiling errno v0.3.14 Compiling getrandom v0.2.17 Compiling uuid v1.26.1 Compiling digest v0.11.3 Compiling signal-hook-registry v1.4.8 Compiling rand_core v0.6.4 Compiling rand_core v0.9.5 Compiling nom v8.0.0 Compiling sync_wrapper v1.0.2 Compiling crc32fast v1.5.0 Compiling tower-layer v0.3.3 Compiling unicode-properties v0.1.4 Compiling unicode-bidi v0.3.18 Compiling zstd-safe v7.2.4 Compiling sha2 v0.11.0 Compiling hmac v0.13.0 Compiling bitflags v2.13.0 Compiling openssl-src v300.6.1+3.6.3 Compiling toml_parser v1.1.2+spec-1.1.0 Compiling md-5 v0.11.0 Compiling hkdf v0.13.0 Compiling sha1 v0.11.0 Compiling stringprep v0.1.5 Compiling curve25519-dalek v4.1.3 Compiling adler2 v2.0.1 Compiling inotify-sys v0.1.8 Compiling simd-adler32 v0.3.10 Compiling rand v0.10.1 Compiling flume v0.12.0 Compiling ref-cast v1.0.25 Compiling signal-hook v0.3.18 Compiling iana-time-zone v0.1.65 Compiling signature v2.2.0 Compiling miniz_oxide v0.8.9 Compiling atoi v2.0.0 Compiling whoami v2.1.1 Compiling arrayvec v0.7.8 Compiling serde_spanned v1.1.1 Compiling ed25519 v2.2.3 Compiling toml_datetime v1.1.1+spec-1.1.0 Compiling time v0.3.55 Compiling same-file v1.0.6 Compiling option-ext v0.2.0 Compiling base64ct v1.8.3 Compiling untrusted v0.9.0 Compiling vte v0.15.0 Compiling compression-core v0.4.32 Compiling xxhash-rust v0.8.19 Compiling toml_writer v1.1.1+spec-1.1.0 Compiling walkdir v2.5.0 Compiling dirs-sys v0.5.0 Compiling inotify v0.11.4 Compiling notify-types v2.1.0 Compiling flate2 v1.1.9 Compiling password-hash v0.5.0 Compiling sharded-slab v0.1.7 Compiling tracing-log v0.2.0 Compiling fs-err v3.3.1 Compiling thread_local v1.1.9 Compiling litrs v1.0.0 Compiling utf8parse v0.2.2 Compiling nu-ansi-term v0.50.3 Compiling mime v0.3.17 Compiling opaque-debug v0.3.1 Compiling dyn-clone v1.0.20 Compiling notify v8.2.0 Compiling anstyle-parse v1.0.0 Compiling signal-hook-mio v0.2.5 Compiling dirs v6.0.0 Compiling serde_path_to_error v0.1.20 Compiling rmp v0.8.15 Compiling colorchoice v1.0.5 Compiling anstyle-query v1.1.5 Compiling siphasher v1.0.3 Compiling futures-executor v0.3.32 Compiling matchit v0.8.4 Compiling rustc-hash v1.1.0 Compiling is_terminal_polyfill v1.70.2 Compiling file-id v0.2.3 Compiling anstyle v1.0.14 Compiling regex v1.12.4 Compiling matchers v0.2.0 Compiling toml_edit v0.25.12+spec-1.1.0 Compiling atuin-vt100 v0.19.1 Compiling bytesize v2.7.0 Compiling phf_shared v0.11.3 Compiling notify-debouncer-full v0.7.0 Compiling sysinfo v0.39.6 Compiling rand v0.8.7 Compiling anstream v1.0.0 Compiling easy-cast v0.5.4 Compiling clap_lex v1.1.0 Compiling humantime v2.3.0 Compiling foldhash v0.1.5 Compiling portable-atomic v1.14.0 Compiling glob-match v0.2.1 Compiling openssl-sys v0.9.117 Compiling ppv-lite86 v0.2.21 Compiling zstd-sys v2.1.0+zstd.1.5.7 Compiling libsqlite3-sys v0.30.1 Compiling synstructure v0.13.2 Compiling darling_core v0.23.0 Compiling ring v0.17.14 Compiling rand_chacha v0.3.1 Compiling serde_derive_internals v0.29.1 Compiling hashbrown v0.14.5 Compiling document-features v0.2.12 Compiling phf_generator v0.11.3 Compiling hashbrown v0.15.5 Compiling iso8601 v0.6.3 Compiling eyre v0.6.14 Compiling by_address v1.2.1 Compiling palette v0.7.6 Compiling fixedbitset v0.5.7 Compiling toml v1.1.2+spec-1.1.0 Compiling tokio-stream v0.1.18 Compiling hashlink v0.9.1 Compiling console v0.16.3 Compiling approx v0.5.1 Compiling unicase v2.9.0 Compiling indenter v0.3.4 Compiling pathdiff v0.2.3 Compiling fast-srgb8 v1.0.0 Compiling fallible-streaming-iterator v0.1.9 Compiling fallible-iterator v0.3.0 Compiling atuin-client v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-client) Compiling unit-prefix v0.5.2 Compiling shellexpand v3.1.2 Compiling rstest_macros v0.27.0 Compiling minspan v0.1.5 Compiling prettyplease v0.2.37 Compiling indicatif v0.18.4 Compiling pulldown-cmark v0.13.4 Compiling unicode-width v0.1.14 Compiling relative-path v1.9.3 Compiling glob v0.3.3 Compiling rustversion v1.0.22 Compiling futures-timer v3.0.4 Compiling petgraph v0.8.3 Compiling multimap v0.10.1 Compiling crossbeam-epoch v0.9.20 Compiling config v0.15.25 Compiling rand_chacha v0.9.0 Compiling static_assertions v1.1.0 Compiling instability v0.3.12 Compiling tree-sitter-language v0.1.8 Compiling wait-timeout v0.2.1 Compiling lru v0.18.2 Compiling wayland-sys v0.31.10 Compiling tempfile v3.27.0 Compiling terminal_size v0.4.4 Compiling proc-macro-crate v3.5.0 Compiling rand v0.9.5 Compiling tonic-build v0.14.6 Compiling bit-vec v0.8.0 Compiling downcast-rs v1.2.1 Compiling clap_builder v4.6.0 Compiling critical-section v1.2.0 Compiling quick-error v1.2.3 Compiling indoc v2.0.7 Compiling wayland-backend v0.3.14 Compiling rand_xorshift v0.4.0 Compiling bit-set v0.8.0 Compiling rusty-fork v0.3.1 Compiling unarray v0.1.4 Compiling pulldown-cmark-to-cmark v22.0.0 Compiling line-clipping v0.3.5 Compiling quick-xml v0.39.4 Compiling compare v0.0.6 Compiling serde_derive v1.0.229 Compiling thiserror-impl v2.0.21 Compiling async-trait v0.1.92 Compiling proptest v1.11.0 Compiling twox-hash v2.1.4 Compiling condtype v1.3.0 Compiling byteorder-lite v0.1.0 Compiling wayland-client v0.31.13 Compiling regex-lite v0.1.9 Compiling interval-heap v0.0.5 Compiling crossbeam-skiplist v0.1.3 Compiling tree-sitter v0.27.0 Compiling castaway v0.2.4 Compiling lz4_flex v0.13.1 Compiling quick_cache v0.6.24 Compiling rustc-hash v2.1.3 Compiling byteview v0.10.2 Compiling compact_str v0.9.0 Compiling sfa v1.0.0 Compiling varint-rs v2.2.1 Compiling self_cell v1.3.0 Compiling cfg_aliases v0.1.1 Compiling listenfd v1.0.2 Compiling nix v0.28.0 Compiling num_cpus v1.17.0 Compiling diff v0.1.13 Compiling deadpool-runtime v0.1.4 Compiling frizbee v0.13.0 Compiling yansi v1.0.1 Compiling gethostname v1.1.0 Compiling metrics v0.24.3 Compiling tree-sitter-bash v0.25.1 Compiling tree-sitter-fish v3.6.0 Compiling rand_xoshiro v0.7.0 Compiling os_pipe v1.2.3 Compiling quanta v0.12.6 Compiling getopts v0.2.24 Compiling metrics-exporter-prometheus v0.18.1 Compiling sketches-ddsketch v0.3.1 Compiling streaming-iterator v0.1.9 Compiling x11rb-protocol v0.13.2 Compiling pretty_assertions v1.4.1 Compiling pulldown-cmark-escape v0.11.0 Compiling rmcp v3.3.0 Compiling minimal-lexical v0.2.1 Compiling metrics-util v0.20.1 Compiling wayland-scanner v0.31.9 Compiling serial2 v0.2.36 Compiling encoding_rs v0.8.35 Compiling memo-map v0.3.3 Compiling arraydeque v0.5.1 Compiling atuin-ai v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-ai) Compiling atuin-server v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-server) Compiling pastey v0.2.3 Compiling nom v7.1.3 Compiling shell-words v1.1.1 Compiling zerofrom-derive v0.1.7 Compiling yoke-derive v0.8.2 Compiling zeroize_derive v1.5.0 Compiling tracing-attributes v0.1.31 Compiling zerovec-derive v0.11.3 Compiling displaydoc v0.2.6 Compiling tokio-macros v2.7.0 Compiling futures-macro v0.3.33 Compiling openssl-macros v0.1.1 Compiling thiserror-impl v1.0.69 Compiling strum_macros v0.28.0 Compiling strum_macros v0.27.2 Compiling derive_more-impl v2.1.1 Compiling darling_macro v0.23.0 Compiling logos-derive v0.15.1 Compiling ref-cast-impl v1.0.25 Compiling enum_dispatch v0.3.13 Compiling schemars_derive v1.2.1 Compiling darling v0.23.0 Compiling logos v0.15.1 Compiling serde_with_macros v3.21.0 Compiling zeroize v1.9.0 Compiling async-stream-impl v0.3.6 Compiling typed-builder-macro v0.23.2 Compiling rustls-pki-types v1.14.1 Compiling pin-project-internal v1.1.13 Compiling clap_derive v4.6.1 Compiling inout v0.1.4 Compiling async-stream v0.3.6 Compiling universal-hash v0.5.1 Compiling aead v0.5.2 Compiling cipher v0.4.4 Compiling phf_macros v0.11.3 Compiling palette_derive v0.7.6 Compiling interim v0.2.1 Compiling miette-derive v7.6.0 Compiling poly1305 v0.8.0 Compiling kasuari v0.4.12 Compiling blake2 v0.10.6 Compiling filedescriptor v0.8.3 Compiling tracing v0.1.44 Compiling chacha20 v0.9.1 Compiling hmac v0.12.1 Compiling axum-core v0.5.6 Compiling argon2 v0.5.3 Compiling salsa20 v0.10.2 Compiling zerofrom v0.1.8 Compiling serde_with v3.21.0 Compiling pbkdf2 v0.12.2 Compiling sql-builder v3.1.1 Compiling yoke v0.8.3 Compiling crypto_secretbox v0.1.1 Compiling tiny-bip39 v2.0.0 Compiling ed25519-dalek v2.2.0 Compiling phf v0.11.3 Compiling smallvec v1.15.2 Compiling zerovec v0.11.6 Compiling zerotrie v0.2.4 Compiling either v1.16.0 Compiling chrono v0.4.45 Compiling serde_urlencoded v0.7.1 Compiling tracing-serde v0.2.0 Compiling rusty_paseto v0.8.0 Compiling secrecy v0.10.3 Compiling pin-project v1.1.13 Compiling itertools v0.15.0 Compiling itertools v0.14.0 Compiling strum v0.27.2 Compiling tracing-subscriber v0.3.23 Compiling rusqlite v0.32.1 Compiling parking_lot v0.12.5 Compiling rmp-serde v1.3.1 Compiling serde_regex v1.2.0 Compiling strum v0.28.0 Compiling rusty_paserk v0.5.0 Compiling miette v7.6.0 Compiling futures-intrusive v0.5.0 Compiling typed-builder v0.23.2 Compiling clap v4.6.1 Compiling futures v0.3.32 Compiling divan-macros v0.1.21 Compiling tinystr v0.8.3 Compiling potential_utf v0.1.5 Compiling tracing-futures v0.2.5 Compiling dashmap v6.2.1 Compiling icu_collections v2.2.0 Compiling icu_locale_core v2.2.0 Compiling lsm-tree v3.1.10 Compiling assert-json-diff v2.0.2 Compiling tree_magic_mini v3.2.2 Compiling x11rb v0.13.2 Compiling minijinja v2.18.0 Compiling portable-pty v0.9.0 Compiling schemars v1.2.1 Compiling lasso v0.7.3 Compiling chrono-humanize v0.2.3 Compiling eventsource-stream v0.2.3 Compiling divan v0.1.21 Compiling tracing-tree v0.4.1 Compiling yaml-rust2 v0.11.1 Compiling prost-derive v0.14.3 Compiling imara-diff v0.2.0 Compiling unicode-truncate v2.0.1 Compiling icu_provider v2.2.0 Compiling ratatui-core v0.1.2 Compiling icu_properties v2.2.0 Compiling icu_normalizer v2.2.0 Compiling derive_more v2.1.1 Compiling ratatui-widgets v0.3.0 Compiling fjall v3.1.10 Compiling crossterm v0.29.0 Compiling prost v0.14.3 Compiling wayland-protocols v0.32.11 Compiling rstest v0.27.0 Compiling prost-types v0.14.3 Compiling idna_adapter v1.2.2 Compiling ratatui-macros v0.7.0 Compiling idna v1.1.0 Compiling eye_declare_engine v0.7.1 Compiling ratatui-crossterm v0.1.0 Compiling url v2.5.8 Compiling prost-build v0.14.3 Compiling protox-parse v0.9.0 Compiling prost-reflect v0.16.3 Compiling ratatui v0.30.0 Compiling tui-textarea-2 v0.13.2 Compiling tonic-prost-build v0.14.6 Compiling sqlx-core v0.9.0 Compiling tokio-util v0.7.19 Compiling deadpool v0.12.3 Compiling eye_declare v0.7.1 Compiling protox v0.9.1 Compiling h2 v0.4.16 Compiling tower v0.5.3 Compiling wayland-protocols-wlr v0.3.11 Compiling atuin-octavo v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-octavo) Compiling atuin-daemon v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-daemon) Compiling sqlx-postgres v0.9.0 Compiling sqlx-sqlite v0.9.0 Compiling sqlx-mysql v0.9.0 Compiling hyper v1.10.1 Compiling wl-clipboard-rs v0.9.3 Compiling hyper-util v0.1.20 Compiling arboard v3.6.1 Compiling axum v0.8.9 Compiling hyper-timeout v0.5.2 Compiling wiremock v0.6.5 Compiling sqlx-macros-core v0.9.0 Compiling zstd v0.13.3 Compiling sqlx-macros v0.9.0 Compiling compression-codecs v0.4.38 Compiling tonic v0.14.6 Compiling async-compression v0.4.43 Compiling tower-http v0.6.11 Compiling tonic-prost v0.14.6 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 sqlx v0.9.0 Compiling atuin-common v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-common) Compiling atuin-domain v18.24.1 (/build/atuin/src/atuin-18.24.1/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-history v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-history) Compiling atuin-pty-proxy v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-pty-proxy) Compiling atuin-dotfiles v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-dotfiles) Compiling atuin-scripts v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-scripts) Compiling atuin-kv v18.24.1 (/build/atuin/src/atuin-18.24.1/crates/atuin-kv) 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:907:22 | 907 | .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |n| n.checked_sub(1)) | ^^^^^^^^^^^^ | help: replace the use of the deprecated method | 907 - .fetch_update(Ordering::SeqCst, Ordering::SeqCst, |n| n.checked_sub(1)) 907 + .try_update(Ordering::SeqCst, Ordering::SeqCst, |n| n.checked_sub(1)) | warning: `atuin-client` (lib test) generated 1 warning (1 duplicate) warning: `atuin-common` (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) Compiling atuin-search-bench v0.1.0 (/build/atuin/src/atuin-18.24.1/crates/atuin-search-bench) 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 51m 23s Running unittests src/lib.rs (target/debug/deps/atuin_ai-8f0770df1404d924) running 1189 tests test commands::resume::tests::a_direct_match_from_the_widget_follows_enter_accept::case_1 ... ok test commands::resume::tests::a_direct_match_from_the_widget_follows_enter_accept::case_2 ... ok test commands::resume::tests::a_direct_match_from_the_widget_follows_enter_accept::case_3 ... ok test commands::resume::tests::a_direct_match_from_the_widget_follows_enter_accept::case_4 ... ok 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_5_no_terminal_with_a_flag ... ok test commands::resume::tests::a_session_that_cant_resume_keeps_its_flags::case_4_no_terminal ... 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_3_as_is ... ok test commands::resume::tests::a_subagent_resumes_the_session_it_works_for::case_2_subagent_of_a_fork ... ok test commands::resume::tests::an_atuin_id_resumes_directly::case_2_past_the_timestamp ... ok test commands::resume::tests::an_ambiguous_id_opens_the_picker_on_its_sessions ... ok test commands::resume::tests::an_atuin_id_resumes_directly::case_1_whole ... ok test commands::resume::tests::a_subagent_resumes_the_session_it_works_for::case_1_subagent ... ok test commands::resume::tests::a_flag_on_no_single_session_says_to_be_more_specific ... ok test commands::resume::tests::an_id_several_agents_have_is_ambiguous ... ok test commands::resume::tests::a_subagent_resumes_the_session_it_works_for::case_3_fork ... ok test commands::resume::tests::continuing_in_its_own_agent_resumes_it ... ok test commands::resume::tests::a_subagent_named_beside_sessions_is_left_out ... ok test commands::resume::tests::id_like_queries::case_1 ... ok test commands::resume::tests::control_characters_never_reach_the_terminal_in_a_command::case_1_plain ... ok test commands::resume::tests::id_like_queries::case_2 ... 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_02_switch_to_a_branch ... ok test commands::resume::tests::control_characters_never_reach_the_terminal_in_a_command::case_2_tab ... ok test commands::resume::tests::catch_up_flags::case_06_as_is ... ok test commands::resume::tests::catch_up_flags::case_07_branch ... ok test commands::resume::tests::catch_up_flags::case_08_fork_from_a_branch ... ok test commands::resume::tests::id_like_queries::case_3 ... ok test commands::resume::tests::id_like_queries::case_8_too_short_for_one ... ok test commands::resume::tests::id_like_queries::case_4 ... ok test commands::resume::tests::id_like_queries::case_6 ... ok test commands::resume::tests::id_like_queries::case_5 ... ok test commands::resume::tests::errors_keep_their_lines ... ok test commands::resume::tests::id_like_queries::case_7_a_short_id_of_letters ... 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::catch_up_flags::case_04_switch_and_in ... ok test commands::resume::tests::catch_up_flags::case_03_switch_and_fork ... 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_10_as_is_and_branch ... 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::harness_arg_maps_to_pb::case_3 ... ok test commands::session::tests::harness_arg_maps_to_pb::case_4 ... ok test commands::session::tests::color_wraps_only_when_enabled ... ok test commands::session::tests::harness_name_maps_known_and_unknown::case_1 ... ok test commands::session::tests::exact_id_resolves_the_harness_from_the_listing ... ok test commands::session::tests::harness_name_maps_known_and_unknown::case_3 ... ok test commands::session::tests::harness_name_maps_known_and_unknown::case_2 ... ok test commands::session::tests::an_exact_id_wins_over_the_ids_it_prefixes ... ok test commands::session::tests::header_omits_title_when_absent ... ok test commands::session::tests::ambiguous_prefix_is_an_error ... ok test commands::session::tests::latest_on_empty_is_an_error ... ok test commands::resume::tests::unique_prefix_and_exact_ids_resume_directly ... ok test commands::session::tests::header_includes_title_when_present ... ok test commands::session::tests::parse_harness_maps_names::case_2 ... ok test commands::session::tests::parse_harness_maps_names::case_1 ... ok test commands::session::tests::parse_harness_maps_names::case_3 ... ok test commands::session::tests::one_line_drops_control_characters ... ok test commands::session::tests::latest_picks_the_first_listed ... ok test commands::session::tests::parse_harness_maps_names::case_4 ... ok test commands::session::tests::id_prefix_resolves_a_session ... ok test commands::session::tests::parse_harness_maps_names::case_5 ... ok test commands::resume::tests::the_ambiguous_note_escapes_titles_and_ids ... ok test commands::session::tests::latest_resolves_from_a_single_session ... ok test commands::session::tests::parse_harness_rejects_unknown_harnesses ... ok test commands::session::tests::sanitize_keeps_newlines_and_tabs_for_multiline_bodies ... ok test commands::session::tests::sanitize_neutralizes_terminal_escapes_in_captured_content ... ok test commands::resume::tests::forking_by_id_plans_the_fork ... ok test commands::session::tests::role_label_overrides_the_enum ... ok test commands::resume::tests::parses_flags ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_1_empty ... ok test commands::resume::tests::continuing_by_id_plans_the_new_session ... 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_3_raw ... ok test commands::session::tests::an_id_shared_across_harnesses_lists_their_atuin_ids ... ok test commands::session::tests::session_json_carries_the_parent_relation::case_1_subagent ... ok test commands::session::tests::show_prints_only_rows_with_something_to_read::case_4_text ... 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_5_uncaptured_call ... ok test commands::session::tests::session_json_carries_the_parent_relation::case_2_fork ... ok test commands::session::tests::summary_falls_through_empty_text_to_the_next_block ... ok test commands::session::tests::session_json_has_a_stable_shape ... ok test commands::session::tests::summary_marks_a_tool_result::case_2 ... ok test commands::session::tests::summary_marks_a_tool_result::case_1 ... ok test commands::session::tests::summary_prefers_text ... ok test commands::session::tests::summary_labels_a_tool_call ... ok test commands::session::tests::summary_marks_thinking ... ok test commands::session::tests::summary_skips_content_less_messages ... ok test context_window::tests::empty_events_produce_empty_messages ... ok test commands::session::tests::the_atuin_id_resolves_a_session::case_2_past_the_timestamp ... ok test commands::session::tests::the_atuin_id_resolves_a_session::case_1_whole ... ok test commands::session::tests::unknown_id_is_an_error ... ok test context_window::tests::group_into_turns_cases::case_1_empty ... ok test commands::session::tests::tool_result_line_is_labelled_tool ... 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_3_user_assistant ... ok test commands::session::tests::show_prints_tool_text_as_text ... ok test commands::session::tests::tail_render_strips_control_chars_from_tool_name_and_role_label ... ok test context_window::tests::group_into_turns_cases::case_7_oob_same_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_6_system_context_new_turn ... ok test context_window::tests::group_into_turns_cases::case_8_leading_text ... ok test context_window::tests::no_marker_when_no_turns_dropped ... ok test commands::session::tests::a_search_query_may_start_with_a_hyphen::case_3_before_a_flag ... ok test commands::session::tests::a_search_query_may_start_with_a_hyphen::case_1_bare ... ok test commands::session::tests::search_match_json_carries_plain_text_and_match_ranges ... ok test context_window::tests::under_budget_returns_all_messages ... ok test commands::session::tests::show_names_links_by_atuin_id ... ok test commands::session::tests::a_search_query_may_start_with_a_hyphen::case_2_after_dashes ... ok test context_window::tests::single_turn_always_returned ... ok test commands::session::tests::a_search_query_may_start_with_a_hyphen::case_4_after_a_flag ... ok test context_window::tests::very_tight_budget_keeps_prefix_and_last_turn ... ok test context_window::tests::over_budget_truncates_middle_turns ... ok test context_window::tests::tail_accumulates_multiple_turns_when_budget_allows ... ok test diff::tests::no_changes_produces_empty_preview ... ok test diff::tests::single_line_replacement ... ok test diff::tests::hunk_grouping::case_2_close_merge ... ok test diff::tests::start_line_is_correct_for_later_changes ... ok test diff::tests::max_line_number_reflects_file_position ... ok test diff::tests::hunk_grouping::case_1_distant_separate ... ok test diff::tests::multiline_replacement ... ok test diff::tests::removal_only ... ok test diff::tests::addition_only ... ok test edit_permissions::tests::grant_and_check ... ok test edit_permissions::tests::different_paths_are_independent ... ok test edit_permissions::tests::expired_grant_is_invalid ... ok test diff::tests::context_is_limited ... ok test event_serde::tests::deserialize_errors::case_2_invalid_json ... ok test context_window::tests::tool_calls_preserved_through_truncation ... ok test context_window::tests::tool_use_and_tool_result_never_split ... ok test event_serde::tests::deserialize_errors::case_1_unknown_type ... ok test event_serde::tests::deserialize_errors::case_3_missing_field ... ok test file_tracker::tests::check_not_read ... ok test event_serde::tests::test_system_context ... ok test event_serde::tests::text_round_trips::case_1_plain ... ok test event_serde::tests::test_user_message ... ok test event_serde::tests::test_out_of_band_with_command ... 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_out_of_band_without_command ... ok test event_serde::tests::test_tool_result_remote ... ok test event_serde::tests::test_tool_result ... ok test event_serde::tests::text_round_trips::case_2_special_chars ... ok test edit_permissions::tests::roundtrip_json ... ok test event_serde::tests::test_tool_call ... ok test fsm::tests::cancel_closes_picker_instead_of_exiting ... ok test event_serde::tests::test_tool_call_with_nested_input ... ok test file_tracker::tests::record_and_check_fresh ... ok test fsm::tests::dangerous_command_enters_confirmation ... ok test file_tracker::tests::update_after_edit_makes_fresh ... ok test fsm::tests::model_list_load_failure_closes_picker_with_message ... ok test file_tracker::tests::check_stale_after_modification ... ok test fsm::tests::confirmation_timeout_clears_confirmation ... ok test fsm::tests::cancel_during_streaming_goes_idle ... ok test fsm::tests::atuin_output_call_emits_command_lookup_and_stores_result ... ok test fsm::tests::permission_resolution::case_2_ask ... ok test fsm::tests::open_model_picker_fetches_when_uncached ... ok test fsm::tests::cancel_during_turn_with_pending_tools ... ok test fsm::tests::cancel_clears_timeout_mappings ... ok test fsm::tests::permission_resolution::case_1_allowed ... ok test fsm::tests::open_model_picker_reuses_cache_without_fetching ... ok test fsm::tests::model_list_loaded_after_dismissal_caches_but_keeps_picker_closed ... ok test file_tracker::tests::roundtrip_json ... ok test fsm::tests::model_list_loaded_populates_picker_and_cache ... ok test fsm::tests::stale_permission_resolved_after_cancel_is_ignored ... ok test fsm::tests::model_selected_sets_model_and_persists ... ok test fsm::tests::permission_deny_completes_turn_and_continues ... ok test fsm::tests::read_tool_does_not_schedule_timeout ... ok test fsm::tests::interrupt_propagates_reason_to_preview_and_llm::case_2_user_interrupt ... ok test fsm::tests::interrupt_propagates_reason_to_preview_and_llm::case_1_timeout ... ok test fsm::tests::stream_done_without_tools_emits_turn_ended ... ok test fsm::tests::stream_chunk_accumulates_text ... ok test fsm::tests::selected_model_survives_new_session ... ok test fsm::tests::shell_tool_schedules_execution_timeout ... ok test fsm::tests::stream_error_goes_to_error_state ... ok test fsm::tests::stale_tool_result_after_cancel_is_ignored ... ok test fsm::tests::second_execute_confirms_and_exits ... ok test fsm::tests::continuation_turn_without_new_tools_goes_idle ... ok test fsm::tests::stream_started_transitions_to_streaming ... ok test fsm::tests::stale_timeout_after_natural_completion_is_ignored ... ok test fsm::tests::retry_from_error_starts_new_stream ... ok test fsm::tests::stream_tool_call_tracks_tool_and_emits_check_permission ... ok test fsm::tests::stream_done_without_tools_goes_idle ... ok test fsm::tests::suggest_command_emits_turn_ended ... ok test fsm::tests::user_submit_starts_turn ... ok test fsm::tests::user_submit_dismisses_loading_picker ... ok test fsm::tests::tool_done_before_stream_done_stays_in_turn ... ok test fsm::tests::user_interrupt_clears_timeout_mappings_for_aborted_tools ... ok test fsm::tests::turn_ended_waits_for_the_continuation_stream ... ok test history_format::tests::attribution_matrix::case_1_known_with_intent ... ok test fsm::tests::tool_completion_clears_timeout_mapping ... ok test fsm::tests::tool_done_after_stream_done_continues_conversation ... ok test history_format::tests::attribution_matrix::case_2_known_no_intent ... ok test fsm::tests::timeout_fires_before_completion_emits_abort ... ok test history_format::tests::attribution_matrix::case_5_user_no_intent ... 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 fsm::tests::timeout_respects_llm_specified_duration ... ok test fsm::tests::unknown_tool_call_gets_error_result ... ok test history_format::tests::formats_last_command ... ok test history_format::tests::formats_history_search_result ... ok test fsm::tests::unknown_tool_alongside_real_tool_waits_for_both ... ok test history_format::tests::search_results_clip_long_commands ... ok test mcp::tests::server_info_carries_instructions ... 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_02_or_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_05_semicolons ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_08_backtick_in_echo ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_07_deeply_nested ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_06_nested_dollar ... 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_12_brace_group ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_11_nested_subshells ... 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_16_elif_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_15_if_then_else ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_20_redirect_out ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_18_while_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_04_long_pipeline ... 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_21_redirect_append ... 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_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_27_empty_string ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_31_double_quotes ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_30_single_quotes ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_32_escaped_spaces ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_17_for_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_33_dollar_var ... 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_36_docker_build_and_run ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_37_git_rebase_interactive ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_40_xargs ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_41_npm_script_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_38_find_with_exec ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_39_curl_pipe_sh ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_19_case_statement ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_45_eval_with_command ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_42_make_with_redirect ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_43_sudo_chain ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_46_exec_replace ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_47_source_script ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_51_fish_or ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_50_fish_and ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_48_fish_simple ... 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_54_fish_nested_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_53_fish_command_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_56_fish_if_statement ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_55_fish_begin_end ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_59_fish_switch ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_58_fish_for_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_60_fish_function_def ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_57_fish_while_loop ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_61_fish_redirect ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_64_fish_curl_pipe ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_62_fish_redirect_append ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_65_fish_double_ampersand ... 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_69_command_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_68_fish_whitespace ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_70_backtick_substitution ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_72_for_loop_unquoted ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_71_subshell ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_75_fish_command_substitution_date ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_73_if_statement ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_63_fish_here_string ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_74_nested_substitution ... 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_3_variable_assignment_excluded ... ok test permissions::shell::adversarial::strips_var_assignments_keeping_full_command::case_4_variable_assignment_multiple ... ok test permissions::shell::adversarial::strips_var_assignments_keeping_full_command::case_2_multiple_var_assignments ... ok test permissions::shell::adversarial::extracts_subcommand_names::case_44_here_doc_with_subcommand ... ok test permissions::shell::tests::parse_contains_names::case_1_fish_conditional ... 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_exact::case_1_simple ... ok test permissions::shell::tests::parse_contains_names::case_2_fallback_or ... ok test permissions::shell::tests::parse_exact::case_5_fish_simple ... ok test permissions::shell::tests::parse_exact::case_7_fallback_pipe ... ok test permissions::shell::tests::parse_exact::case_6_fallback_amp_pipe ... ok test permissions::shell::tests::scope_matching::case_01_wildcard_star ... ok test permissions::shell::tests::scope_matching::case_03_git_push_prefix_no_match ... ok test permissions::shell::tests::scope_matching::case_02_git_commit_prefix ... ok test permissions::shell::tests::scope_matching::case_05_npm_prefix ... ok test permissions::shell::tests::scope_matching::case_04_git_push_bare_no_match ... ok test permissions::shell::tests::scope_matching::case_07_git_commit_bare_deny ... ok test permissions::shell::tests::scope_matching::case_06_npm_test_bare ... ok test permissions::shell::tests::scope_matching::case_08_git_commit_bare_allow ... ok test permissions::shell::tests::scope_matching::case_10_ls_word_boundary ... ok test permissions::shell::tests::scope_matching::case_09_npm_test_exact_allow ... 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_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_18_middle_wildcard_push_amend_no_match ... ok test permissions::shell::tests::scope_matching::case_17_middle_wildcard_commit_amend ... ok test permissions::shell::tests::scope_matching::case_25_s03_only_wildcard_space_star ... ok test permissions::shell::tests::scope_matching::case_26_s04_glob_matches_empty ... ok test permissions::shell::tests::scope_matching::case_24_s01_empty_scope ... ok test permissions::shell::tests::scope_matching::case_23_multiple_wildcards_no_match ... ok test permissions::shell::tests::scope_matching::case_22_multiple_wildcards ... ok test permissions::shell::tests::scope_matching::case_27_s05_middle_wildcard_empty_match ... 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_31_s07_lower_bare_no_match ... ok test permissions::shell::tests::scope_matching::case_30_s07_upper_wildcard ... 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 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 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_4_home ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_1_git_repository ... 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_6_subdirectory_of_home ... ok test permissions::writer::tests::project_scope_is_never_the_home_directory::case_5_home_as_git_repository ... ok test permissions::writer::tests::project_scope_without_a_known_home_or_cwd ... ok test permissions::writer::tests::project_scope_sees_through_symlinks ... ok test mcp::tests::ai_session_search_schema_matches_the_parser ... ok test permissions::writer::tests::does_not_duplicate_existing_rule ... ok test permissions::writer::tests::writes_expected_content::case_3_inline_table ... ok test permissions::writer::tests::writes_expected_content::case_2_append_existing ... ok test permissions::walker::tests::the_global_file_is_not_also_a_project_file::case_1_global ... ok test permissions::writer::tests::writes_expected_content::case_4_deny ... ok test permissions::writer::tests::writes_expected_content::case_1_create_allow ... ok test permissions::walker::tests::the_global_file_is_not_also_a_project_file::case_2_project ... ok test permissions::rule::tests::rejects_invalid_rule::case_2_trailing_junk ... ok test permissions::rule::tests::rejects_invalid_rule::case_1_unclosed_paren ... ok test permissions::rule::tests::parses_valid_rule::case_1_bare_tool ... ok test permissions::rule::tests::parses_valid_rule::case_4_shell_with_space ... ok test permissions::rule::tests::parses_valid_rule::case_3_glob_scope ... ok test permissions::rule::tests::parses_valid_rule::case_2_wildcard_scope ... ok test permissions::rule::tests::parses_valid_rule::case_5_nested_parens ... ok test resume_tui::catchup::tests::a_choice_says_why::case_4_refused ... ok test resume_tui::catchup::tests::a_choice_says_why::case_1_live ... 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_is_classified_against_the_head::case_8_behind_on_the_other_branch ... 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_7_on_another_branch ... 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_is_classified_against_the_head::case_5_rewound_here_past_the_head ... 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::a_choice_says_why::case_3_diverged ... 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_4_past_the_head_unsynced ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_2_named ... ok test commands::resume::tests::continuing_by_id_follows_a_branch::case_2_by_head ... ok test resume_tui::catchup::tests::a_copy_is_classified_against_the_head::case_2_behind ... ok test resume_tui::catchup::tests::a_choice_says_why::case_2_unsynced ... 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_3_none_named ... 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_selector_is_the_shortest_start_no_other_branch_shares::case_2_sharing_a_long_start ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_4_id ... 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::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_2_host ... 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_6_ambiguous_id ... ok test resume_tui::catchup::tests::branches_are_picked_by_host_or_id::case_5_unknown_host ... 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_5 ... 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::day_headings::case_1_today ... ok test commands::resume::tests::forking_by_id_forks_from_a_branch::case_1_the_newest ... 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::clock::tests::day_headings::case_5_last_year ... ok test resume_tui::clock::tests::phrase::case_2 ... ok test resume_tui::clock::tests::phrase::case_1 ... 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_03_a_minute ... ok test resume_tui::clock::tests::short::case_02_future ... ok test resume_tui::clock::tests::days_are_local ... 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_10_yesterday_morning ... ok test resume_tui::clock::tests::short::case_08_early_today ... ok test resume_tui::clock::tests::short::case_11_this_week ... ok test resume_tui::clock::tests::short::case_09_yesterday ... 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::times_within_a_day::case_1_recent ... ok test resume_tui::clock::tests::short::case_14_this_year ... 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::clock::tests::short::case_15_last_year ... ok test commands::session::tests::search_match_json_ranges_come_from_the_search::case_2_any ... ok test commands::session::tests::search_match_json_ranges_come_from_the_search::case_1_all ... ok test resume_tui::keymap::tests::ctrl_d_returns_original_only_on_empty_input ... ok test resume_tui::keymap::tests::esc_exits_emacs_but_enters_normal_mode_from_insert ... ok test resume_tui::keymap::tests::enter_follows_enter_accept ... 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_3 ... ok test resume_tui::keymap::tests::ctrl_t_cycles_the_agent_everywhere::case_1 ... 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::keymap::tests::shared_bindings_match_the_history_search ... ok test resume_tui::keymap::tests::preview_keys_are_shared_and_free ... ok test resume_tui::keymap::tests::fork_keys_are_free_and_shared ... ok test resume_tui::keymap::tests::vim_normal_has_gg_sequence_and_plain_letters_are_unbound_in_emacs ... ok test resume_tui::markdown::tests::code_blocks_keep_their_whitespace_and_are_cut_not_wrapped ... 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::blank_lines_collapse ... ok test resume_tui::markdown::tests::headings_emphasis_and_code_are_styled_not_marked_up ... ok test resume_tui::markdown::tests::flat_rendering_runs_blocks_onto_one_line ... 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_03_inline_code ... 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_08_escaped ... 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::highlights_follow_the_text_through_the_markup::case_09_entity ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_11_cjk ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_07_link_text ... ok test resume_tui::markdown::tests::links_show_their_target_when_asked ... ok test resume_tui::markdown::tests::long_text_is_cut_to_the_budget_with_an_ellipsis ... ok test resume_tui::markdown::tests::list_items_hang_under_their_markers ... ok test resume_tui::markdown::tests::highlights_follow_the_text_through_the_markup::case_10_table ... ok test commands::resume::tests::forking_by_id_forks_from_a_branch::case_3_by_head ... ok test commands::resume::tests::forking_by_id_forks_from_a_branch::case_2_by_host ... 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::markdown::tests::unterminated_fences_run_to_the_end ... ok test commands::resume::tests::switching_by_id_switches_the_copy_or_says_why_not ... 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::panel::tests::forks_are_counted_once_read::case_3_one ... ok test resume_tui::markdown::tests::tables_align_and_shrink_to_fit ... 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::human_counts::case_1 ... ok test resume_tui::panel::tests::forks_are_counted_once_read::case_4_two ... 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::place_leaves_out_what_goes_without_saying::case_1_here ... 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_2_detached ... 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::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_2_finished_by_any_whitespace ... 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_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_2 ... ok test resume_tui::query::tests::alt_a_cycles_the_harness_token::case_01 ... ok test resume_tui::query::tests::agent_and_its_short_form_parse_the_same::case_1 ... 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_05 ... 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_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_10 ... 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_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_round_trips ... ok test resume_tui::query::tests::backslash_makes_a_word_literal ... 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::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_06 ... ok test resume_tui::query::tests::harness_tokens::case_08 ... ok test resume_tui::query::tests::harness_tokens::case_05 ... ok test resume_tui::query::tests::harness_tokens::case_10 ... ok test resume_tui::query::tests::harness_tokens::case_09 ... ok test resume_tui::query::tests::harness_tokens::case_07 ... 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::plain_text_is_the_query ... ok test resume_tui::query::tests::multibyte_ranges_are_char_boundaries ... ok test resume_tui::query::tests::unknown_harness_is_an_invalid_token_and_ignored ... ok test resume_tui::query::tests::tokens_are_parsed_out_anywhere ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_5_unsynced ... ok test resume_tui::catchup::tests::a_copy_switches_to_a_head_on_another_line::case_6_gone ... ok test resume_tui::catchup::tests::forks_start_from_a_heads_rows::case_3_one_way ... 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_2_a_call_in_a_run ... ok test resume_tui::catchup::tests::forks_start_from_a_heads_rows::case_2_the_newest ... ok test resume_tui::catchup::tests::a_twig_off_the_heads_line_fast_forwards::case_4_in_order ... ok test resume_tui::catchup::tests::a_twig_off_the_heads_line_fast_forwards::case_3_a_summary ... ok test resume_tui::reader::tests::atuin_tool_calls_read_by_what_they_do ... 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::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_3_text_before_its_calls ... ok test resume_tui::catchup::tests::forks_start_from_a_heads_rows::case_1_a_head ... 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_off_the_heads_line_fast_forwards::case_1_a_tool_result ... ok test resume_tui::catchup::tests::branches_say_what_they_add_and_when ... ok test commands::resume::tests::resuming_by_id_catches_up_or_says_what_to_choose ... ok test resume_tui::reader::tests::the_reader_opens_at_the_match::case_1_the_message_matched ... ok test resume_tui::catchup::tests::a_copy_switches_to_no_head_of_several_unless_named::case_2_named ... ok test resume_tui::rebuild::tests::the_status_says_how_far_it_has_got::case_1_progress ... ok test resume_tui::catchup::tests::a_copy_switches_to_no_head_of_several_unless_named::case_1_none_named ... 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::only_a_listed_fork_marks_its_root_live::case_2_fork ... ok test resume_tui::render::tests::only_a_listed_fork_marks_its_root_live::case_1_subagent ... 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_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::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_1_ONE_LINE ... ok test resume_tui::render::tests::every_width_fills_the_row_title_first::shape_3_BY_DAY ... ok test resume_tui::render::tests::the_title_takes_the_rest::case_3_split_120 ... ok test resume_tui::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_3_setext ... ok test resume_tui::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_2_code ... ok test resume_tui::render::tests::a_fork_goes_under_its_roots_day::case_1_top_down ... ok test resume_tui::render::tests::a_fork_goes_under_its_roots_day::case_2_bottom_up ... ok test resume_tui::render::tests::headings_and_titles_read_top_down_either_way_up ... 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::catchup::tests::forks_bring_the_rows_off_the_tree_on_their_branch::case_2_the_newest ... 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_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::resumer::tests::a_copy_not_here_is_not_switched ... 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_2_here ... ok test resume_tui::resumer::tests::a_codex_fork_reads_the_original_where_it_is::case_1_missing ... ok test resume_tui::rebuild::tests::the_watch_follows_the_rebuild_until_it_ends ... ok test resume_tui::rebuild::tests::an_unreachable_daemon_says_nothing ... 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::markdown::tests::long_texts_render_their_top_the_same_as_the_whole::case_1_paragraphs ... ok test resume_tui::resumer::tests::a_fork_is_a_new_session_of_its_own_harness ... ok test resume_tui::resumer::tests::a_path_template_plans_a_restore_and_resumes_the_restored_transcript ... 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_pi_fork_names_the_original_by_its_file::case_1_missing ... 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_3_unknown ... 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_path_template_target_is_offered_and_resumes_the_written_session ... 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_branch_no_longer_a_head_is_not_swapped_for_another ... 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_4_behind_and_live ... 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_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_choice_offers_to_switch_only_a_copy_that_loses_nothing::case_2_pi ... 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_copy_here_is_caught_up_or_offered_a_choice::case_3_behind ... ok test resume_tui::resumer::tests::a_session_on_disk_resumes_directly ... 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_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_8_diverged_at_the_newest ... 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_6_live_at_the_head ... 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_7_diverged ... ok test resume_tui::resumer::tests::a_copy_that_cant_be_caught_up_leaves_the_choice ... 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_3_id_taken ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_1_HarnessKind__Codex ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_3_HarnessKind__Pi ... ok test resume_tui::resumer::tests::an_empty_session_is_not_continued::target_2_HarnessKind__Opencode ... ok test resume_tui::resumer::tests::a_refused_append_leaves_the_choice::case_2_changed ... ok test resume_tui::resumer::tests::a_refused_append_leaves_the_choice::case_4_maybe_live ... 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_forked::harness_3_HarnessKind__Opencode ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_4_HarnessKind__Pi ... ok test resume_tui::resumer::tests::an_empty_session_is_not_forked::harness_2_HarnessKind__Codex ... ok test resume_tui::resumer::tests::finds_programs_on_path ... ok test resume_tui::resumer::tests::finds_programs_on_path_and_by_path_on_unix ... ok test resume_tui::resumer::tests::restoring_writes_the_transcript_and_plans_resuming_it::case_2_already_there ... ok test resume_tui::resumer::tests::restoring_writes_the_transcript_and_plans_resuming_it::case_1_written ... ok test resume_tui::resumer::tests::continuing_writes_a_new_session_of_the_target ... 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::only_other_installed_harnesses_are_offered ... 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_session_is_continued_along_one_branch::case_1_one_way ... 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_2_one_way_by_the_picker ... 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_is_continued_along_one_branch::case_2_diverged ... 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_not_here_is_restored_along_one_branch::case_4_diverged ... 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_copy_works::case_3_no_directory_recorded ... 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::an_agent_is_looked_for_where_the_session_works_here::case_1_mapped_agent_there ... ok test resume_tui::resumer::tests::the_program_to_check_is_relative_to_the_plans_directory ... ok test resume_tui::resumer::tests::a_switch_whose_directory_fails_to_sync_says_so ... 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::unsupported_sessions_and_subagents_are_not_resumable ... ok test resume_tui::select::tests::a_drag_selects_text::case_2_backwards ... ok test resume_tui::select::tests::a_drag_selects_text::case_1_in_a_row ... 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::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::resumer::tests::a_switch_writes_the_rows_that_go_with_the_branch ... 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::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_02_named ... 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::a_copy_that_cant_be_switched_is_not_offered_the_switch ... 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_01_the_newest_it_can ... 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_06_live ... 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::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_10_codex_in_several_rollouts ... 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::an_agent_is_looked_for_where_the_copy_works::case_1_where_the_copy_works ... ok test resume_tui::resumer::tests::the_append_looks_for_an_agent_where_the_session_works ... ok test resume_tui::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_11_opencode ... 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::resumer::tests::switching_writes_the_copy_out_along_the_branch_or_nothing::case_13_behind_on_that_branch ... 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_1_text ... ok test resume_tui::state::tests::a_narrowed_workspace_stays_workspace::case_3_an_agent ... ok test resume_tui::state::tests::forks_sit_beneath_their_root_bottom_up ... ok test resume_tui::state::tests::panes_scroll_within_their_text ... 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::keys_map_to_outcomes ... ok test resume_tui::state::tests::modes_resolve_to_filters ... ok test resume_tui::state::tests::forgetting_unanswered_requests_keeps_the_selected_sessions ... ok test resume_tui::state::tests::stale_generations_are_dropped_and_the_old_list_kept ... ok test resume_tui::state::tests::ctrl_r_cycles_available_modes ... ok test resume_tui::state::tests::a_pinned_session_stays_first_until_the_query_changes ... 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::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::sidecar::tests::a_trailing_space_finishes_the_typed_word::case_2_finished ... ok test resume_tui::state::tests::unchanged_filter_does_not_search_again ... ok test resume_tui::sidecar::tests::only_this_hosts_sessions_have_their_repo_looked_up ... ok test resume_tui::state::tests::refresh_keeps_the_selection_and_reloads_live_previews ... ok test resume_tui::sidecar::tests::a_trailing_space_finishes_the_typed_word::case_1_still_typing ... ok test resume_tui::sidecar::tests::a_trailing_space_finishes_the_typed_word::case_3_finished_whole_word ... ok test resume_tui::state::tests::typing_inserts_and_navigation_respects_invert ... ok test resume_tui::state::tests::workspace_picked_with_ctrl_r_never_falls_back ... ok test resume_tui::sidecar::tests::a_childs_match_finds_the_root_with_highlights ... ok test resume_tui::sidecar::tests::ungrouped_lists_forks_but_not_subagents ... ok test resume_tui::state::tests::vim_modes ... ok test resume_tui::sidecar::tests::the_preview_skips_a_tail_without_text ... ok test resume_tui::state::tests::the_sessions_an_id_names_stay_first_until_the_query_changes ... ok test resume_tui::resumer::tests::a_switched_copy_fast_forwards_as_its_branch_grows ... ok test resume_tui::sidecar::tests::groups_children_under_their_root ... ok test resume_tui::sidecar::tests::a_continuation_is_shown_by_its_prompt_not_its_marker ... ok test resume_tui::tests::a_click_with_nothing_drawn_selects_nothing ... ok test resume_tui::sidecar::tests::previews_and_ids ... ok test resume_tui::sidecar::tests::the_host_mode_keeps_this_hosts_unrecorded_sessions ... ok test resume_tui::sidecar::tests::the_stamp_moves_only_when_the_database_is_written ... ok test resume_tui::tests::a_catch_up_nobody_waits_on_is_dropped::case_2_failed ... ok test resume_tui::tests::a_continuation_picked_supersedes_a_waiting_original::fork_2_true ... ok test resume_tui::tests::a_key_that_does_not_search_keeps_a_waiting_resume ... ok test resume_tui::tests::a_copy_here_is_caught_up_then_resumed ... ok test resume_tui::tests::a_continuation_picked_supersedes_a_waiting_original::fork_1_false ... ok test resume_tui::tests::a_catch_up_nobody_waits_on_is_dropped::case_1_ready ... ok test resume_tui::tests::a_continuation_in_the_tree_says_where_it_went_on ... ok test resume_tui::sidecar::tests::untitled_sessions_are_titled_from_their_first_prompt ... ok test resume_tui::tests::a_session_open_here_preselects_the_fork::case_1_open_but_quiet ... ok test resume_tui::tests::a_capped_list_says_so ... ok test resume_tui::tests::a_chooser_the_list_cant_hold_is_a_popup ... ok test resume_tui::tests::a_session_from_another_machine_is_restored_first ... 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_2_restore ... ok test resume_tui::tests::a_refresh_does_not_drop_a_waiting_resume::case_1_plan ... 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_chooser_opened_to_edit_edits ... ok test resume_tui::tests::a_long_query_keeps_the_scope_in_sight ... ok test resume_tui::tests::a_clipped_chooser_keeps_the_selected_line_in_sight ... ok test resume_tui::tests::a_session_from_another_host_hints_it_comes_from_sync ... ok test resume_tui::tests::a_drag_over_the_side_pane_copies_its_text ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_2_true::fork_1_false ... ok test resume_tui::tests::a_superseded_continuation_is_not_taken_for_the_newer_one ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_1_false::fork_1_false ... ok test resume_tui::tests::a_pick_acts_on_the_session_the_chooser_opened_on ... ok test resume_tui::tests::a_drag_copies_the_text_under_it ... ok test resume_tui::tests::a_written_continuation_resumes_or_edits_its_new_session ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_1_false::fork_2_true ... ok test resume_tui::tests::an_original_chosen_supersedes_a_continuation::by_enter_2_true::fork_2_true ... ok test resume_tui::tests::details_wait_while_the_selection_moves_fast ... ok test resume_tui::tests::an_abandoned_restore_does_not_run ... ok test resume_tui::tests::a_restore_dropped_for_another_sessions_is_asked_for_again ... 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::tests::changing_the_search_drops_a_waiting_resume::case_2_mode ... ok test resume_tui::tests::an_accept_always_gets_its_plan ... ok test resume_tui::tests::changing_the_search_drops_a_continuation ... 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::ctrl_x_opens_the_chooser_on_the_fork ... ok test resume_tui::tests::enter_and_tab_in_the_expanded_forks_resume_the_fork ... ok test resume_tui::tests::a_choice_offers_to_switch_the_copy_to_another_branch ... ok test resume_tui::tests::a_session_with_nothing_to_fork_never_picks_the_fork::empty_1_false ... ok test resume_tui::tests::chips_alone_matching_nothing_say_so ... ok test resume_tui::tests::a_rebuild_in_progress_is_said_in_the_status_row ... ok test resume_tui::tests::a_session_with_nothing_to_fork_never_picks_the_fork::empty_2_true ... ok test resume_tui::tests::only_the_user_moving_away_drops_a_waiting_resume ... ok test resume_tui::tests::an_untitled_session_says_so ... 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::inspect_says_a_remote_session_is_restored ... ok test resume_tui::tests::invert_puts_the_input_on_top ... ok test resume_tui::tests::an_original_that_cant_resume_is_dimmed_and_passed_over ... ok test resume_tui::tests::inspect_tab_shows_metadata_command_and_children ... ok test resume_tui::tests::match_highlights_are_bold ... ok test resume_tui::tests::overflowing_lists_get_a_scrollbar ... ok test resume_tui::tests::opens_on_every_session ... ok test resume_tui::tests::compact_and_inline_heights ... ok test resume_tui::tests::coming_back_opens_the_reader_at_the_match_again ... ok test resume_tui::tests::f_selects_the_fork_under_the_original ... ok test resume_tui::tests::no_results_say_so ... ok ]52;c;Y2QgLS0gL2hvbWUvZWxsaWUvc3JjL2F0dWluICYmIGNsYXVkZSAtLXJlc3VtZSA3ZjNjOWExMi01YmUwLTRkN2UtOWM0MS0wYThlMmI2ZjRkMTA=test resume_tui::tests::other_hosts_rows_look_like_this_hosts ... ok test resume_tui::tests::preview_shows_first_prompt_match_and_last_reply ... ok test resume_tui::tests::inspect_collapses_a_long_children_list ... ok test resume_tui::tests::rows_show_the_title_then_the_agent_and_where ... 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::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_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_refresh_keeps_the_frame_as_it_was ... ok test resume_tui::tests::the_fork_is_preselected_over_an_original_that_shouldnt_resume::case_5_idle ... ok test resume_tui::tests::the_chooser_opens_when_there_is_a_choice ... 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_header_names_what_enter_picks ... ok test resume_tui::tests::the_chooser_opens_down_from_the_title::invert_1_false ... ok test resume_tui::tests::the_chooser_opens_down_from_the_title::invert_2_true ... ok test resume_tui::tests::resizing_keeps_the_reader_where_it_was ... ok test resume_tui::tests::the_automatic_strip_height_only_grows ... 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::a_choice_offers_the_copy_as_it_is_and_a_fork_per_head::case_1_live ... ok test resume_tui::tests::the_keys_scroll_the_preview_showing::case_3_inspect ... ok test resume_tui::tests::the_keys_scroll_the_preview_showing::case_1_strip ... ok test resume_tui::tests::the_top_day_stays_in_sight ... ok test resume_tui::tests::the_detail_pane_and_inspect_render_markdown ... 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_keys_scroll_the_preview_showing::case_2_side ... ok test resume_tui::tests::the_wheel_scrolls_the_pane_under_it::case_1_fullscreen ... ok test resume_tui::tests::the_wheel_scrolls_the_pane_under_it::case_2_inline ... ok test resume_tui::tests::a_match_outside_the_conversation_shows_over_it ... 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::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_06_labels_and_rules ... ok test resume_tui::title::tests::derives::case_07_only_a_role ... ok test resume_tui::tests::tokens_render_as_chips::case_1 ... 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_13_greeting_inline ... ok test resume_tui::title::tests::derives::case_12_greeting ... 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_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_18_paths ... ok test resume_tui::title::tests::derives::case_23_greeting_only ... ok test resume_tui::title::tests::derives::case_25_whitespace ... ok test resume_tui::title::tests::derives::case_24_empty ... 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::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::worker::tests::a_superseded_continuation_never_starts::case_3_replaced_then_cancelled ... ok test resume_tui::worker::tests::a_superseded_fork_never_starts::case_2_fork_replaced ... 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_3_fork_replaces ... ok test resume_tui::tests::the_preview_says_what_forked_off_a_session ... ok test resume_tui::worker::tests::answers_searches_previews_children_and_plans ... ok test resume_tui::worker::tests::nothing_queued_runs_once_the_picker_is_gone ... ok test resume_tui::worker::tests::searches_skip_the_preview_queue_and_passed_over_previews_are_dropped ... ok test resume_tui::tests::tokens_render_as_chips::case_2 ... ok test resume_tui::tests::growing_the_terminal_with_the_chooser_open_on_the_oldest::invert_1_false ... ok test resume_tui::tests::the_scope_always_shows ... ok test resume_tui::tests::the_reader_spins_until_the_transcript_is_read ... 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 session::tests::test_archive ... ok test resume_tui::tests::vim_normal_highlights_the_whole_row ... ok test session::tests::test_parent_chain_integrity ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_2_no_frontmatter ... ok test session::tests::test_persist_server_session_id ... ok test session::tests::test_create_new_and_persist ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_3_empty ... ok test session::tests::test_incremental_persist ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_5_unknown_fields ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_4_missing_fields ... ok test skills::frontmatter::tests::body_with_triple_dashes ... ok test skills::frontmatter::tests::parses_frontmatter_fields::case_1_basic ... ok test skills::frontmatter::tests::multiline_folded_description ... ok test skills::tests::disabled_skills_excluded_from_server ... ok test skills::tests::budget_overflow ... 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_1 ... ok test skills::tests::budget_packing ... ok test skills::tests::has_server_visible_skills ... ok test skills::tests::first_paragraph_cases::case_4 ... ok test skills::tests::substitute_arguments_cases::case_3_appends_when_no_placeholder ... ok test skills::tests::substitute_arguments_cases::case_2_multiple_occurrences ... ok test skills::tests::sanitize_name_cases::case_3 ... ok test skills::tests::sanitize_name_cases::case_2 ... ok test skills::tests::sanitize_name_cases::case_1 ... ok test skills::tests::substitute_arguments_cases::case_1_replaces_placeholder ... 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 resume_tui::tests::the_strip_scrolls_through_the_parts_in_full ... ok test skills::walker::tests::missing_directories_handled ... ok test snapshots::tests::atomic_write_creates_file ... ok test skills::walker::tests::discovers_nested_skills ... ok test skills::walker::tests::the_global_dir_is_not_also_a_project_dir::case_2_project ... 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 skills::walker::tests::discovers_global_skills ... ok test skills::walker::tests::discovers_project_skills ... ok test snapshots::tests::atomic_write_creates_parent_dirs ... ok test snapshots::tests::sanitize_no_collision_between_similar_paths ... ok test snapshots::tests::sanitize_path_cases::case_1_absolute ... ok test snapshots::tests::sanitize_backslash_encoded ... ok test snapshots::tests::atomic_write_overwrites_existing ... ok test snapshots::tests::sanitize_path_cases::case_2_preserves_percent ... ok test snapshots::tests::atomic_write_preserves_permissions ... ok test resume_tui::tests::growing_the_terminal_with_the_chooser_open_on_the_oldest::invert_2_true ... ok test snapshots::tests::sanitize_path_cases::case_3_relative ... ok test snapshots::tests::format_iso8601_produces_valid_format ... ok test skills::tests::end_to_end_discover ... ok test snapshots::tests::sanitize_result_is_flat_filename ... ok test resume_tui::tests::untitled_shows_everywhere ... ok test snapshots::tests::snapshot_is_idempotent ... ok test snapshots::tests::snapshot_multiple_files ... ok test snapshots::tests::snapshot_creates_file_and_manifest ... ok test snapshots::tests::snapshot_store_loads_existing_manifest ... ok test session::tests::test_create_and_resume ... ok test store::tests::test_create_and_get_session ... ok test store::tests::test_find_resumable_by_git_root ... ok test store::tests::test_get_nonexistent_session ... ok test store::tests::test_append_and_load_events ... ok test store::tests::test_archive_session ... ok test store::tests::test_find_resumable_session ... ok test store::tests::test_events_ordered_chronologically ... ok test tools::output::get::tests::atuin_output_formats_lines_like_read_file ... ok test store::tests::test_find_resumable_no_match_different_dir ... ok test store::tests::test_find_resumable_does_not_mutate ... ok test store::tests::test_find_resumable_skips_archived ... ok test store::tests::test_update_server_session_id ... ok test tools::output::get::tests::atuin_output_numbers_a_tail_only_request_from_the_end ... ok test tools::output::get::tests::atuin_output_marks_the_gap_left_by_a_discarded_middle ... ok test tools::output::get::tests::atuin_output_renders_a_blank_line_instead_of_widening_the_gap ... ok test resume_tui::tests::wide_terminals_split_the_list_and_a_detail_pane ... ok test tools::output::search::tests::parses_and_clamps_context::case_1_default ... 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_2_explicit ... ok test tools::output::get::tests::atuin_output_ranges_are_optional ... ok test tools::output::search::tests::parses_query_and_clamps_limit::case_1_default ... 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_5_null_context ... ok test tools::output::search::tests::parses_query_and_clamps_limit::case_2_clamped_high ... ok test tools::output::search::tests::parses_query_and_clamps_limit::case_4_null_limit ... ok test tools::output::search::tests::parses_query_and_clamps_limit::case_3_clamped_low ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_2_codex ... ok test tools::output::get::tests::atuin_output_parses_line_ranges ... 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_3_opencode ... ok test tools::session::caller::tests::a_lone_other_session_stops_being_hidden_once_the_callers_own_appears ... ok test tools::output::search::tests::rejects_a_blank_query::case_1_missing ... ok test tools::output::search::tests::rejects_a_blank_query::case_3_blank ... ok test tools::output::search::tests::rejects_a_blank_query::case_2_empty ... ok test tools::output::search::tests::rejects_a_blank_query::case_4_not_a_string ... ok test tools::session::caller::tests::own_session_matches_harness_and_id::case_2_same_id_other_harness ... ok test tools::session::caller::tests::maps_client_names_to_harnesses::case_4_cursor ... ok test tools::session::caller::tests::own_session_matches_harness_and_id::case_3_other_id ... 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::own_session_matches_harness_and_id::case_1_same_session ... ok test tools::session::list::tests::defaults ... ok test tools::session::caller::tests::ambiguity_hides_nothing ... ok test tools::session::caller::tests::picks_the_single_session_started_with_the_server_in_its_directory ... ok test tools::session::caller::tests::a_run_just_before_this_one_is_not_a_candidate ... ok test tools::session::list::tests::since_bounds::case_2 ... ok test tools::session::list::tests::since_bounds::case_1 ... ok test tools::session::list::tests::since_bounds_across_dst::case_2 ... ok test tools::session::list::tests::since_bounds_across_dst::case_1 ... ok test tools::session::list::tests::since_bounds::case_3 ... ok test tools::session::list::tests::since_bounds::case_4 ... ok test tools::session::read::tests::a_filtered_read_of_an_empty_session_says_so ... ok test tools::session::read::tests::a_partial_transcript_omits_the_total ... ok test tools::session::read::tests::a_partial_filtered_page_says_more_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_match_cut_from_a_long_message_gets_a_snippet ... ok test tools::session::read::tests::a_query_finds_boolean_tool_arguments ... 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_1_upper ... ok test tools::session::read::tests::a_query_finds_what_an_edit_changed::case_2_changed_line ... ok test tools::session::read::tests::a_query_finds_what_an_edit_changed::case_1_path ... ok test store::tests::test_usage_cache_roundtrip ... ok test tools::session::read::tests::a_filtered_page_counts_and_pages_by_matches ... ok test tools::session::read::tests::a_query_shows_only_messages_with_every_word ... ok test tools::session::read::tests::a_query_ignores_markup::case_2_thinking_label ... ok test tools::session::read::tests::a_query_ignores_markup::case_3_error_mark ... ok test tools::session::read::tests::a_query_ignores_markup::case_1_json_key ... ok test tools::session::read::tests::a_query_matches_tool_output_and_says_when_nothing_does ... ok test tools::session::read::tests::long_text_is_clipped_unless_full ... ok test tools::session::read::tests::negative_start_skips_trailing_empty_rows ... ok test tools::session::read::tests::blank_filters_are_no_filter::case_1_null ... ok test tools::session::read::tests::negative_start_counts_from_the_end ... ok test tools::session::read::tests::captured_tool_input_and_output_are_shown_not_folded ... ok test tools::session::read::tests::blank_filters_are_no_filter::case_2_blank ... ok test tools::session::read::tests::a_page_ends_early_at_its_character_budget ... ok test tools::session::read::tests::out_of_range_starts_clamp::case_2_out_of_range_negative ... ok test tools::session::read::tests::empty_rows_do_not_use_up_the_limit ... ok test tools::session::read::tests::tool_input_leads_with_what_it_did::case_1_command ... ok test tools::session::read::tests::a_single_message_read_shows_the_whole_error ... ok test tools::session::read::tests::out_of_range_starts_clamp::case_1_out_of_range_positive ... ok test tools::session::read::tests::summaries_and_errors_are_shown ... ok test tools::session::read::tests::a_long_single_message_comes_in_windows ... 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_4_other ... ok test tools::session::read::tests::pages_skip_empty_rows_but_keep_their_numbers ... ok test tools::session::read::tests::roles_skim_what_the_person_said ... ok test tools::session::search::tests::loosens_only_when_no_message_anywhere_has_every_word ... ok test tools::session::read::tests::rejects_an_unknown_role ... ok test tools::session::read::tests::tool_input_leads_with_what_it_did::case_3_codex_argv ... ok test tools::session::read::tests::a_snippet_finds_the_match_after_chars_that_grow_when_lowercased ... ok test tools::session::search::tests::parses_query_and_clamps_limit::case_1_default ... ok test tools::session::search::tests::parses_each_harness::case_4_pi ... ok test tools::session::search::tests::parses_each_harness::case_1_claude_code ... ok test tools::session::search::tests::parses_query_and_clamps_limit::case_2_clamped_high ... ok test tools::session::search::tests::parses_query_and_clamps_limit::case_4_null_limit ... ok test tools::session::search::tests::parses_query_and_clamps_limit::case_3_clamped_low ... ok test tools::session::search::tests::parses_each_harness::case_3_opencode ... ok test tools::session::search::tests::parses_each_harness::case_2_codex ... ok test tools::session::search::tests::rejects_invalid_input::case_1_missing ... ok test tools::session::tests::blank_cwd_is_no_filter ... ok test tools::session::read::tests::the_header_bounds_the_children_it_names ... ok test tools::session::tests::relation_names_the_parent_kind::case_1_subagent ... ok test tools::session::search::tests::rejects_invalid_input::case_2_empty ... ok test tools::session::search::tests::rejects_invalid_input::case_4_unknown_harness ... ok test tools::session::search::tests::rejects_invalid_input::case_3_blank ... ok test tools::session::tests::a_root_that_is_the_parent_is_named_once ... ok test tools::session::tests::relation_names_the_parent_kind::case_2_fork ... ok test tools::session::search::tests::rejects_invalid_input::case_5_uncapturable_harness ... ok test tools::session::tests::relation_names_the_parent_kind::case_3_continuation ... ok test tools::session::tests::resolve_cwd_normalises::case_1_absolute ... 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_1_subagent ... ok test tools::session::tests::resolve_cwd_normalises::case_2_trailing_dot ... ok test tools::session::tests::subagents_are_children_not_known_to_be_forks::case_3_continuation ... ok test tools::session::tests::resolve_cwd_normalises::case_3_whitespace ... ok test tools::session::tests::resolve_cwd_expands_home ... ok test tools::tests::atuin_history_filter_modes_are_optional::case_2_null ... ok test tools::tests::atuin_history_filter_modes_are_optional::case_1_omitted ... ok test tools::session::read::tests::uncaptured_tool_activity_folds_into_one_line ... ok test tools::tests::atuin_history_filter_modes_reject_non_arrays ... ok test tools::tests::atuin_history_author_and_failure_filters_parse ... ok test tools::session::tests::elsewhere_note_puts_the_same_project_first ... ok test tools::session::tests::a_summary_names_links_by_atuin_id ... ok test tools::tests::edit::edit_error::case_3_empty_old_string ... ok test tools::tests::edit::edit_error::case_4_preserves_on_no_match ... 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_success::case_2_replace_all ... ok test tools::session::search::tests::renders_a_hit_with_harness_time_title_directory_and_snippet ... 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_not_read ... ok test tools::tests::edit::error_file_does_not_exist ... ok test tools::tests::edit_tool_rule_name::case_1_edit_uses_write ... ok test tools::tests::all_covered_by_non_shell_tool_unchanged ... ok test tools::tests::filter_mode_names_round_trip ... ok test tools::tests::edit_tool_rule_name::case_2_edit_rejects_read ... ok test tools::tests::edit::error_file_modified_since_read ... ok test tools::tests::read_scope_glob::case_1_wildcard_star ... ok test tools::tests::edit_integration::second_edit_without_reread ... ok test tools::tests::read_scope_glob::case_2_extension_glob_matches ... ok test tools::tests::read_scope_glob::case_3_extension_glob_rejects ... ok test tools::tests::edit_integration::full_read_snapshot_edit_cycle ... ok test tools::tests::edit_integration::snapshot_only_created_once_per_file ... ok test tools::tests::read_scope_glob::case_5_unix_absolute_glob_rejects ... ok test tools::tests::read_scope_glob::case_4_unix_absolute_glob_matches ... ok test tools::tests::edit_integration::external_modification_between_edits ... ok test tools::tests::read_tool_rule_name::case_2_write_implies_read ... ok test tools::tests::read_tool_rule_name::case_1_read_rule_none ... ok test tools::tests::relative_multi_segment_glob::case_1 ... ok test tools::tests::read_scope_glob::case_7_unix_double_star_rejects ... ok test tools::tests::read_scope_glob::case_6_unix_double_star_matches ... ok test tools::tests::relative_multi_segment_glob::case_2 ... ok test tools::tests::shell_all_covered_by::case_3_compound_all_covered ... ok test tools::tests::shell_all_covered_by::case_2_git_scope_rejects_npm ... ok test tools::tests::shell_all_covered_by::case_4_compound_partially_covered ... ok test tools::tests::matches_rule_still_uses_any_semantics ... ok test tools::tests::shell_all_covered_by::case_1_git_scope_allows ... ok test tools::tests::shell_all_covered_by::case_6_wildcard_covers_all ... ok test tools::tests::shell_all_covered_by::case_5_unscoped_covers_all ... ok test tools::tests::edit_integration::permission_cache_grant_and_check ... ok test tools::tests::write::error_path_is_directory ... ok test tools::tests::write::creates_new_file ... ok test tools::tests::write_tool_rule_name::case_1_write_rule_none ... ok test tools::tests::write_tool_rule_name::case_2_read_does_not_imply_write ... ok test tools::tests::write::write_over_existing::case_1_rejects_without_overwrite ... ok test tools::tests::write::creates_parent_directories ... ok test tools::tests::write::write_over_existing::case_2_overwrites_with_flag ... ok test tools::tests::bare_pattern_asymmetry ... ok test tools::tests::substring_matches_rank_by_tightness ... ok test tools::tests::fuzzy_matches_fill_after_substring_ones::case_2_stops_at_size ... ok test tools::tests::fuzzy_matches_fill_after_substring_ones::case_1_fills ... ok test tools::tests::fuzzy_matches_fill_after_substring_ones::case_3_exact_fills_the_page ... 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::ctrl_j_inserts_newline ... ok test tui::app::tests::init_submits_the_initial_prompt_and_pushes_the_turn ... ok test tui::app::tests::cancelled_turn_shows_no_responded_line ... ok test tui::app::tests::esc_mid_stream_cancels_generation ... ok test tui::app::tests::enter_submits_and_pushes_the_user_turn ... ok test tui::app::tests::allowing_starts_execution_with_an_interrupt_handle ... ok test tui::app::tests::denying_resolves_the_tool_without_executing ... ok test tui::app::tests::allowed_read_tool_executes_inline ... ok test tui::app::tests::ctrl_c_interrupts_from_the_moment_a_shell_spawns ... ok test tui::app::tests::esc_closes_the_picker_without_exiting ... ok test tui::app::tests::recall_does_nothing_without_user_messages ... ok test tui::app::tests::finished_shell_releases_ctrl_c_back_to_quit ... ok test tui::app::tests::model_picker_flow_selects_a_model ... ok test tui::app::tests::skill_dispatches_even_when_registered_for_autocomplete ... ok test tui::app::tests::resume_notice_renders_above_turns ... ok test tui::app::tests::status_bar_shows_usage_over_threshold ... ok test tui::app::tests::shift_enter_inserts_newline ... ok test tui::app::tests::permission_cursor_moves_and_wraps ... ok test tui::app::tests::permission_prompt_renders_and_replaces_input ... ok test tui::app::tests::stream_error_offers_retry ... ok test tui::app::tests::slash_suggestions_and_tab_accept ... ok test tui::app::tests::tail_renders_conversation_turns ... ok test tui::app::tests::suggested_command_key::case_2_tab_inserts ... ok test tui::app::tests::new_session_notice_renders ... ok test tui::app::tests::suggested_command_key::case_1_blank_enter_executes ... 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::streaming_text_renders_live_and_seals_on_done ... 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::disabled_setting_suppresses_all_tips ... ok test tui::tips::tests::tips_have_unique_ids ... ok test tui::tips::tests::irrelevant_tips_are_skipped ... ok test tui::tips::tests::rotation_walks_in_order_and_wraps ... ok test tui::app::tests::tips_disabled_in_settings_suppresses_the_tip_line ... ok test tui::view::tests::always_allow_in_project_is_not_offered_for_the_home_directory::case_1_workspace ... ok test tui::view::tests::always_allow_in_project_is_not_offered_for_the_home_directory::case_2_directory ... ok test tui::tips::tests::send_cwd_tip_respects_both_config_spellings ... 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_2_ProjectScope__Directory ... ok test tui::view::tests::elapsed_formats_by_magnitude ... ok test tui::view::tests::edits_are_offered_the_same_options_in_every_scope::scope_1_ProjectScope__Workspace ... ok test tui::view::tests::edits_are_offered_the_same_options_in_every_scope::scope_3_ProjectScope__Home ... ok test tui::app::tests::typing_renders_in_the_editor ... 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::command_spinner_fits_untruncated_when_room ... ok test tui::view::trunc::tests::fit_middle_elides_the_middle ... ok test tui::view::trunc::tests::running_command_spinner_reserves_marker_columns ... ok test tui::view::trunc::tests::done_command_spinner_shows_both_ends ... ok test tui::app::tests::typing_does_not_reach_the_editor_while_picking ... ok test usage::tests::as_percentage_uses_higher_limited_bucket ... ok test usage::tests::deserializes_server_payload ... ok test tui::view::trunc::tests::truncated_line_fits_untruncated_when_room ... ok test usage::tests::format_reset_delta_cases::case_1_days ... ok test tui::view::trunc::tests::truncated_line_elides_value_not_prefix ... ok test usage::tests::format_reset_delta_cases::case_3_minutes ... ok test usage::tests::format_reset_delta_cases::case_4_sub_minute ... ok test usage::tests::format_reset_delta_cases::case_2_hours ... ok test usage::tests::cache_key_distinguishes_tokens ... ok test usage::tests::snapshot_roundtrips_through_json ... ok test user_context::interpolate::tests::interpolate_cases::case_3_preserves_plain ... ok test user_context::interpolate::tests::parse_commands_cases::case_1_double_backtick ... ok test user_context::interpolate::tests::parse_commands_cases::case_2_block ... ok test user_context::interpolate::tests::parse_commands_cases::case_3_regular_ignored ... ok test tui::app::tests::up_moves_the_cursor_before_it_recalls ... ok test user_context::interpolate::tests::parse_commands_cases::case_5_mixed ... ok test user_context::interpolate::tests::parse_commands_cases::case_4_bang_not_adjacent ... ok test tui::app::tests::recall_includes_slash_commands_and_skills ... ok test user_context::interpolate::tests::parse_inline_command ... ok test tui::tools_exec::tests::shell_stream_interrupt_still_delivers_outcome ... ok test tui::app::tests::up_recalls_previous_messages_and_down_restores_the_draft ... ok test user_context::interpolate::tests::interpolate_cases::case_1_inline ... ok test user_context::interpolate::tests::interpolate_cases::case_2_block ... ok test user_context::interpolate::tests::interpolate_cases::case_4_multiple ... ok test user_context::interpolate::tests::interpolate_failed_command_shows_error ... ok test tui::app::tests::response_after_new_session_survives_stream_end ... ok test tui::tools_exec::tests::shell_stream_yields_previews_then_outcome ... ok test user_context::walker::tests::the_global_file_is_not_also_a_project_file::case_2_project ... ok test user_context::walker::tests::the_global_file_is_not_also_a_project_file::case_1_global ... ok test user_context::tests::cache_serves_stale_until_invalidated ... ok test tui::app::tests::typing_disarms_command_execution ... ok test user_context::tests::slow_gather_does_not_overwrite_concurrent_result ... ok test user_context::tests::invalidate_during_gather_is_not_lost ... ok test resume_tui::markdown::tests::never_panics_or_overflows ... 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_1_UiStyle__Auto::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::a_long_session_opens_at_its_match_without_rendering_it_all ... ok test resume_tui::tests::tiny_terminals_draw_without_panicking::style_3_UiStyle__Compact::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_1_UiStyle__Auto::invert_2_true ... ok test resume_tui::tests::rows_fit_every_width::global_1_false ... ok test resume_tui::tests::the_list_never_cuts_a_row_or_doubles_a_heading::invert_1_false ... ok test resume_tui::markdown::tests::odd_input_does_not_panic ... ok test resume_tui::tests::the_list_never_cuts_a_row_or_doubles_a_heading::invert_2_true ... ok test resume_tui::tests::rows_fit_every_width::global_2_true ... ok test result: ok. 1189 passed; 0 failed; 0 ignored; 0 measured; 1 filtered out; finished in 34.09s Running unittests src/lib.rs (target/debug/deps/atuin_client-002fe861372b40d0) running 945 tests 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_7_empty ... 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_copy_fast_forwards_only_along_the_heads_line::case_5_went_on_here ... 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_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_5_empty ... 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_compaction_cycle_stays_on_the_line::case_1_in_order ... 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_copy_is_held_by_sync_only_whole::case_2_on_another_line ... 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::a_copy_is_held_by_sync_only_whole::case_4_a_merged_row_not_synced ... 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_fast_forward_takes_the_patches_beside_the_line::case_4_up_to_date ... 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::a_fast_forward_takes_the_patches_beside_the_line::case_3_holding_the_patch ... 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_fast_forward_keeps_the_lines_order ... 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::a_branchs_rows_hold_what_goes_with_it::case_1_host_2s ... 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_hosts_rows_before_its_first_node_go_with_its_branch::case_1_host_2s ... 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_patch_beside_the_line_goes_with_its_calls_branch::case_1_its_branch ... 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_05_rewind ... ok test ai_session::database::heads::tests::claude_code_heads::case_07_carried_on_past_a_rewind ... 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::a_copy_fast_forwards_only_along_the_heads_line::case_1_behind ... 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_02_tool_calls_continued ... 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_10_carried_on_below_a_tool_row ... ok test ai_session::database::heads::tests::claude_code_heads::case_01_linear ... 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_11_content_addressed_off_the_tree ... 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_13_missing_parent_follows_its_host ... ok test ai_session::database::heads::tests::codex_heads::case_1_one_line ... ok test ai_session::database::heads::tests::claude_code_heads::case_12_missing_parent ... ok test ai_session::database::heads::tests::codex_heads::case_5_old_rows_then_two_hosts ... 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::codex_heads::case_3_old_rows_in_time_order ... ok test ai_session::database::heads::tests::odd_sessions_keep_one_head::case_3_cycle ... ok test ai_session::database::heads::tests::codex_heads::case_2_two_hosts_continue_one_row ... ok test ai_session::database::heads::tests::codex_heads::case_4_old_rows_follow_their_host ... 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::opencode_parts_where_hosts_interleave::case_6_three_hosts ... ok test ai_session::database::heads::tests::opencode_parts_where_hosts_interleave::case_1_handed_on ... 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_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::rows_for_a_branch_of_nodes_are_its_path::case_2_opencode ... 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::opencode_parts_where_hosts_interleave::case_3_tool_row_between ... ok test ai_session::database::heads::tests::rows_for_a_branch_of_nodes_are_its_path::case_1_codex ... ok test ai_session::database::tests::a_child_of_unknown_kind_is_not_counted ... ok test ai_session::database::tests::a_page_appends_nothing_after_an_invalidation ... ok test ai_session::database::tests::a_late_parent_adopts_its_waiting_children ... ok test ai_session::database::tests::a_duplicate_row_settles_on_the_smaller_id ... ok test ai_session::database::tests::a_read_only_open_never_creates_the_file ... ok test ai_session::database::tests::a_call_counts_once_at_its_largest_usage ... ok test ai_session::database::heads::tests::a_stored_sessions_branches_and_their_paths ... ok test ai_session::database::tests::a_child_passing_the_filter_brings_its_root ... ok test ai_session::database::tests::a_read_only_open_refuses_another_schema::case_1_uninitialized ... 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_host_filter_selects_sessions::case_1_one ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_2_several_sessions ... ok test ai_session::database::tests::a_host_filter_selects_sessions::case_3_before_the_limit ... 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_4_with_the_unrecorded ... 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_parent_cycle_groups_under_its_least_member::order_2__3_2_1_0_ ... ok test ai_session::database::tests::a_match_in_a_child_names_the_child ... ok test ai_session::database::tests::a_chatty_session_never_crowds_out_others ... ok test ai_session::database::tests::a_newer_builds_sidecar_is_kept ... ok test ai_session::database::tests::a_childs_match_counts_toward_its_root ... ok test ai_session::database::tests::a_read_only_open_refuses_another_schema::case_3_unknown ... 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_read_only_open_refuses_another_schema::case_2_outdated ... 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_recorded_parent_kind_decides_the_kind_and_the_group_size::case_1_codex_subagent ... 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_recorded_parent_kind_decides_the_kind_and_the_group_size::case_3_opencode_fork ... 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_read_only_open_reads_beside_the_writer ... ok test ai_session::database::tests::a_rows_provider_is_kept::provider_2_Some___openai_codex___ ... 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_6_codex_continuation ... ok test ai_session::database::tests::a_replayed_row_fills_in_a_missing_host ... ok test ai_session::database::tests::a_session_keeps_how_it_relates_to_its_parent ... ok test ai_session::database::tests::a_summary_is_reply_text ... 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_renamed_session_is_searchable_by_its_new_title ... ok test ai_session::database::tests::a_copy_is_listed_under_its_original ... 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_resumed_copy_counts_shared_calls_once ... ok test ai_session::database::tests::an_atuin_id_or_its_prefix_finds_a_session::case_1_whole ... 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_3_only_the_timestamp ... ok test ai_session::database::heads::tests::heads_hold_their_invariants ... ok test ai_session::database::tests::a_parent_learned_late_outranks_a_copy_link ... 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_empty_query_lists_sessions_newest_first::case_1_empty ... ok test ai_session::database::tests::content_blocks_tell_tool_output_as_the_content_does ... ok test ai_session::database::tests::a_title_propagates_to_earlier_rows_only_when_it_changes ... 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_1_plain ... 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_2_tool ... 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::an_id_prefix_is_not_a_pattern::case_2_percent_is_literal ... 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_4_exact ... 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_5_case_matters ... 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::contains_message_reflects_presence ... ok test ai_session::database::tests::append_is_idempotent_on_native_triple ... ok test ai_session::database::tests::any_term_preview_windows_around_a_late_prefix_match ... 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::an_out_of_range_timestamp_reads_as_the_nearest_in_range::case_3_stored_early ... 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_1_punctuation_only ... 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::continuations_in_other_harnesses_group_under_the_original::reversed_1_false ... 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_2_workspace_is_a_path_prefix ... ok test ai_session::database::tests::filters_select_sessions::case_3_root_workspace ... ok test ai_session::database::tests::children_are_the_group_under_a_root ... ok test ai_session::database::tests::filters_select_sessions::case_1_host ... 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::fts5_operators_in_the_query_are_matched_literally ... ok test ai_session::database::tests::filters_select_sessions::case_5_branch ... 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::filters_select_sessions::case_7_harness ... 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::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_2_inclusive ... 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::list_filters_by_activity_since::case_3_none ... ok test ai_session::database::tests::list_is_newest_first ... ok test ai_session::database::tests::messages_come_back_in_order ... ok test ai_session::database::tests::matches_collapse_to_one_hit_per_session ... 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::preview_parts_use_the_session_time_index ... 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_4__1_4_0_3_2_ ... 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::forgetting_an_original_relinks_its_copies ... 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::preview_parts_read_only_the_first_prompt_and_the_last_reply_with_text ... ok test ai_session::database::tests::forgetting_a_host_removes_only_its_sessions ... ok test ai_session::database::tests::recency_breaks_equal_relevance ... ok test ai_session::database::tests::rows_disagreeing_on_the_id_settle_on_the_smaller::reversed_1_false ... 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::roots_only_lists_each_group_once_with_its_size ... ok test ai_session::database::tests::search_finds_a_message_by_its_text ... ok test ai_session::database::tests::search_highlights_the_title_and_snippet::case_1_all ... ok test ai_session::database::tests::search_highlights_the_title_and_snippet::case_2_any ... ok test ai_session::database::tests::search_highlights_the_title_and_snippet::case_3_typed ... ok test ai_session::database::tests::search_can_leave_out_subagents::case_1_flat ... ok test ai_session::database::tests::search_in_matches_windows_subdirectories ... ok test ai_session::database::tests::search_filters_by_harness ... ok test ai_session::database::tests::search_in_filters_by_directory_and_its_children_only ... ok test ai_session::database::tests::search_can_leave_out_subagents::case_2_roots_only ... 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_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_3_tool ... 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_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_preview_contains_the_matched_term ... ok test ai_session::database::tests::search_matches_the_files_a_patch_changed ... ok test ai_session::database::tests::search_preview_finds_phrases_across_words ... ok test ai_session::database::tests::search_matches_reasoning_tool_calls_and_metadata ... 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::source_ids_with_prefix_lists_only_matching_rows ... 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_reports_the_matched_message_index ... ok test ai_session::database::tests::search_preview_leaves_out_message_metadata ... ok test ai_session::database::tests::search_preview_windows_around_a_late_match ... ok test ai_session::database::tests::search_preview_is_char_bounded ... 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::structural_rows_are_not_counted_as_messages ... ok test ai_session::database::tests::text_interned_by_a_failed_page_is_stored_again ... 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::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_unknown ... ok test ai_session::model::tests::a_minted_id_is_a_fresh_v7_at_the_start ... 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_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_2_shortest ... 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_4_continuation ... ok test ai_session::model::tests::a_parent_kind_round_trips::case_3_fork ... 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_4_whole ... 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_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::database::tests::the_provider_migration_keeps_the_projection ... 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_2_codex_fork ... 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_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_3_upper ... 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_5_too_short ... 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_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::harness_kind_covers_every_known_harness ... ok test ai_session::model::tests::a_v0_record_is_no_longer_read ... ok test ai_session::model::tests::an_unknown_version_is_refused ... ok test ai_session::model::tests::an_unknown_parent_kind_reads_as_none ... ok test ai_session::model::tests::a_v2_record_reads_without_a_provider ... ok test ai_session::model::tests::omp_messages_are_v3::case_2_omp ... ok test ai_session::model::tests::omp_messages_are_v3::case_3_continued_from_omp ... ok test ai_session::model::tests::omp_messages_are_v3::case_4_with_a_provider ... ok test ai_session::model::tests::omp_messages_are_v3::case_1_pi ... ok test ai_session::model::tests::the_v2_layout_is_pinned ... 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_1_partial_last_term ... 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_4_only_the_last_term_is_a_prefix ... ok test ai_session::database::tests::the_last_term_matches_as_a_prefix::case_5_partial_phrase ... 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::store::tests::a_patch_round_trips ... ok test ai_session::database::tests::updated_at_tracks_last_message_not_capture_time ... ok test ai_session::database::tests::unicode_tokens_are_searchable ... ok test ai_session::database::tests::usage_absence_round_trips_as_none ... 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_1_earlier_start_wins ... ok test ai_session::store::tests::a_v0_record_is_skipped::written_with_1_key__ ... ok test ai_session::store::tests::a_malformed_watermark_is_replaced::case_3_text_idx ... ok test ai_session::store::tests::a_malformed_watermark_is_replaced::case_2_negative_idx ... 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_1_bad_record_id ... 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_watermark_never_moves_across_an_invalidation ... 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::push_then_read_back_one_message ... ok test ai_session::store::tests::reproject_timing ... ignored, benchmark test ai_session::store::tests::an_invalidation_mid_reproject_starts_it_over ... ok test ai_session::store::tests::a_reprojection_invalidated_every_pass_is_incomplete ... ok test ai_session::store::tests::resetting_keeps_capture_checkpoints ... ok test ai_session::store::tests::a_series_rewritten_under_the_watermark_is_replayed_from_the_start ... ok test ai_session::store::tests::build_reconstructs_sidecar_from_all_records ... ok test ai_session::store::tests::build_recovers_session_title_from_message_records ... ok test ai_session::store::tests::build_records_the_host_each_record_came_from ... 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 api_client::tests::atuin_headers_override_extra_headers ... ok test ai_session::store::tests::beside_capture_rows_replayed_after_a_forget_are_not_new ... 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::reproject_replays_only_records_past_the_watermark ... ok test ai_session::store::tests::cleared_watermark_replays_everything ... ok test ai_session::store::tests::forgetting_a_host_replays_the_hosts_that_added_to_its_sessions ... ok test ai_session::store::tests::invalidating_a_sidecar_on_disk_forces_a_full_replay ... ok test ai_session::store::tests::purged_records_leave_the_sidecar_once_reset ... ok test ai_session::store::tests::forgetting_a_host_removes_its_rows_from_other_hosts_sessions ... ok test ai_session::tests::legacy_sidecar_moves_to_threads_db ... 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 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::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 database::test::db_search_mode_round_trips_through_search_mode::case_2_full_text ... ok test ai_session::store::tests::record_body_roundtrips ... 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_3_fuzzy ... 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 ai_session::database::tests::only_a_harness_given_turn_id_links_copies ... ok test database::test::missing_migration_becomes_incompatible_version_guidance ... ok test database::test::other_migration_errors_pass_through_unchanged ... ok test database::test::session_start_time_tolerates_hostile_session_ids::case_2_not_a_uuid ... ok test database::test::session_start_time_tolerates_hostile_session_ids::case_3_out_of_range_timestamp ... ok test database::test::session_start_time_tolerates_hostile_session_ids::case_1_a_real_v7_session ... ok test ai_session::store::tests::watermark_never_passes_a_failed_append_and_the_replay_is_idempotent ... ok test ai_session::store::tests::beside_capture_a_reprojection_never_forgets_this_hosts_rows ... ok test database::test::test_load_active_empty_never_reaches_sqlite ... ok test database::test::test_list_range_is_inclusive ... ok test database::test::author_filter_treats_an_unknown_kind_as_unstated ... ok test database::test::author_filter_treats_a_colonless_agent_hostname_as_human ... ok test database::test::inspector_history_preserves_occurrences_and_scope ... ok test database::test::author_filter_treats_a_placeholder_user_agent_hostname_as_human ... ok test database::test::inspector_stats_match_live_runs ... ok test database::test::test_load_active_returns_only_requested_rows ... ok test database::test::test_load_active_missing_ids_are_omitted ... ok test database::test::test_load_active_skips_soft_deleted ... ok test api_client::tests::cross_origin_redirects_refused_with_extra_headers ... ok test database::test::test_paged_basic ... ok test database::test::test_paged_empty ... ok test database::test::test_search_authors::case_4_claude_code ... ok test database::test::test_search_authors::case_3_all_agent ... ok test database::test::test_search_authors::case_5_claude_code_or_codex ... ok test database::test::test_search_authors::case_2_all_user ... ok test database::test::test_search_authors::case_1_all ... ok test database::test::test_paged_include_deleted ... ok test api_client::tests::resp_error_omits_the_query_string ... ok test api_client::tests::same_origin_redirects_followed_with_extra_headers ... 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::test_search_authors::case_6_unknown_author ... ok test database::test::inspector_windows_are_bounded ... ok test api_client::records_stream_tests::records_yields_nothing_when_server_is_empty ... ok test api_client::records_stream_tests::records_reassembles_pages_in_order ... 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_authors_when_the_user_is_named_after_an_agent::case_1_all_user ... ok test database::test::test_search_authors_when_the_user_is_named_after_an_agent::case_3_by_name ... ok test api_client::tests::bootstrap_enables_packfiles_then_is_idempotent ... ok test api_client::records_stream_tests::records_recovers_from_a_short_midstream_page ... ok test database::test::test_search_before_after::case_6_no_date_filter ... ok test database::test::test_search_before_after::case_1_window_spans_the_item ... ok test database::test::test_search_before_after::case_2_after_bound_is_exclusive ... ok test database::test::test_search_before_after::case_4_window_entirely_after_the_item ... ok test database::test::test_search_before_after::case_5_window_entirely_before_the_item ... ok test database::test::test_search_before_after::case_3_before_bound_is_exclusive ... ok test database::test::test_search_exit_filters::case_01_default::mode_2_DbSearchMode__Prefix ... 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_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_02_single::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_03_single_exclusion::mode_2_DbSearchMode__Prefix ... 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_03_single_exclusion::mode_1_DbSearchMode__FullText ... 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_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::test_search_exit_filters::case_05_exclude_multiple::mode_2_DbSearchMode__Prefix ... 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_04_include_union::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_06_overlap::mode_3_DbSearchMode__Fuzzy ... 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_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_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_before_deduplication::include_duplicates_1_false ... ok test database::test::test_search_exit_filters::case_09_sentinel::mode_1_DbSearchMode__FullText ... 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_2_DbSearchMode__Prefix ... ok test database::test::test_search_exit_filters::case_09_sentinel::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters::case_11_unknown::mode_1_DbSearchMode__FullText ... ok test database::test::test_search_exit_filters::case_11_unknown::mode_2_DbSearchMode__Prefix ... 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_11_unknown::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_10_only_failed::mode_3_DbSearchMode__Fuzzy ... ok test database::test::test_search_exit_filters_before_deduplication::include_duplicates_2_true ... 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_exit_filters_deletion_selection ... ok test database::test::test_search_fulltext::case_03_matches_multiple_words ... ok test database::test::test_search_fulltext::case_04_no_match ... ok test database::test::test_search_fulltext::case_07_regex_negated_no_match ... ok test database::test::test_search_fulltext::case_08_regex_mixed_with_plain_term ... ok test database::test::test_search_fulltext::case_06_regex_anchored_end ... 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_12_plain_query_looks_like_regex ... ok test database::test::test_search_fulltext::case_11_regex_triple_slash ... ok test database::test::test_search_fuzzy::case_02_adjacent_terms_no_space ... ok test database::test::test_search_fuzzy::case_01_term_with_trailing_slash ... 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_05_typo_no_match ... ok test database::test::test_search_fulltext::case_05_regex_anchored_start ... ok test database::test::test_search_fuzzy::case_06_wrong_order_no_match ... ok test database::test::test_search_fuzzy::case_07_concatenated_terms ... ok test database::test::test_search_fuzzy::case_08_bare_space_matches_all ... ok test database::test::test_search_fuzzy::case_09_starts_with ... 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_11_ends_with ... ok test database::test::test_search_fuzzy::case_13_negated_term ... ok test database::test::test_search_fuzzy::case_12_negated_starts_with ... ok test database::test::test_search_fuzzy::case_14_negated_ends_with ... ok test database::test::test_search_fuzzy::case_15_term_and_negated_term ... ok test database::test::test_search_fuzzy::case_17_term_and_negated_starts_with ... ok test database::test::test_search_fuzzy::case_18_or_exact_terms ... ok test database::test::test_search_fuzzy::case_16_starts_with_and_negated_ends_with ... ok test database::test::test_search_fuzzy::case_19_or_with_and_term ... ok test database::test::test_search_fuzzy_operator ... ok test database::test::test_search_fuzzy::case_20_case_insensitive_match ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_1_plain_single_term ... ok test database::test::test_search_fuzzy::case_21_regex_anchored_start ... ok test database::test::test_search_fuzzy::case_23_regex_combined_with_fuzzy_term ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_3_trailing_space ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_2_plain_two_terms ... ok test database::test::test_search_fuzzy_prioritizes_contiguous_match::case_4_extra_middle_space ... ok test database::test::test_search_fuzzy::case_22_regex_character_class ... 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_6_negated_term ... ok test database::test::test_search_fuzzy_trailing_space::case_1_no_trailing_space ... ok test database::test::test_search_include_duplicates::case_1_with_duplicates_counts_every_execution ... ok test database::test::test_search_fuzzy_trailing_space::case_2_trailing_space ... ok test database::test::test_search_include_duplicates::case_2_without_duplicates_collapses_to_newest_row ... ok test database::test::test_search_interactive_only_modes_rank_like_fuzzy::case_1_daemon_fuzzy ... ok test database::test::test_search_prefix::case_1_matches_prefix ... ok test database::test::test_search_rejects_unparsable_date_filter::case_1_before ... ok test database::test::test_search_prefix::case_2_not_a_prefix ... ok test database::test::test_search_rejects_unparsable_date_filter::case_2_after ... ok test database::test::test_search_prefix::case_3_trailing_whitespace ... ok test database::test::test_search_reordered_fuzzy ... ok test database::test::test_search_shells::case_1_all ... ok test database::test::test_search_shells::case_2_bash ... ok test database::test::test_search_shells::case_4_bash_zsh ... ok test database::test::test_search_shells::case_3_bash_unknown ... 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_2_agent_name_is_the_username ... ok test history::tests::capture_infers_agent_kind_from_an_explicit_author::case_3_human_name ... ok test history::store::tests::test_serialize_deserialize::case_1_create ... 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_3_Version__Two ... 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_1_Version__Zero ... 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_3_Version__Two ... ok test history::tests::deserialize_across_versions::case_2_from_v1::decode_as_2_Version__One ... 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_2_Version__One ... ok test history::tests::deserialize_across_versions::case_3_from_v2::decode_as_3_Version__Two ... 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_3_plain_user ... 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_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_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::is_agent_uses_the_username_when_no_kind_was_stated::case_8_stated_agent_with_a_human_name ... ok test history::tests::serialize_deserialize_roundtrip::case_1_basic ... ok test history::tests::known_agents_include_pi ... ok test history::tests::serialize_deserialize_roundtrip::case_2_deleted ... ok test database::test::test_search_shells::case_5_unknown ... ok test database::test::test_search_shells::case_6_fish ... ok test history::tests::serialize_deserialize_roundtrip::case_3_with_author_and_intent ... ok test database::test::test_search_shells::case_7_fish_unknown ... ok test database::test::test_search_timezone_before_after::case_1_explicit_offset_wins ... ok test database::test::test_search_timezone_before_after::case_2_bare_string_uses_configured_offset ... ok test history::tests::the_all_user_filter_excludes_agents ... ok test hub::tests::browser_with_a_local_display::case_1_x11 ... 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 import::bash::test::parse_strictly_sorted::case_1_no_timestamps ... ok test import::bash::test::parse_strictly_sorted::case_2_partial_timestamps ... ok test history::store::tests::test_history_skips_corrupt_records ... ok test history::tests::disable_secrets ... ok test history::tests::should_save_respects_privacy::case_3_empty ... ok test import::bash::test::parse_with_timestamps ... ok test history::tests::should_save_respects_privacy::case_2_leading_space ... ok test history::tests::should_save_respects_privacy::case_5_secret_dir ... ok test history::tests::should_save_respects_privacy::case_6_psql ... 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 history::store::tests::test_incremental_build_returns_created_histories ... ok test history::store::tests::missing_and_undecodable_ids_are_skipped ... ok test import::bash::test::timestamp_near_range_start_does_not_panic_on_backfill ... ok test history::store::tests::a_database_error_aborts_the_build ... ok test import::fish::test::parse_out_of_range_timestamp ... ok test import::powershell::test::imports_commands::case_2_crlf ... ok test import::powershell::test::test_timestamps ... ok test import::powershell::test::imports_commands::case_1_lf ... ok test import::fish::test::parse_complex ... ok test import::replxx::test::skips_invalid_utf8_line ... ok test import::xonsh::tests::test_hist_dir_xonsh ... ok test import::replxx::test::parse_complex ... ok test import::xonsh::tests::out_of_range_timestamp_falls_back_to_epoch ... ok test import::xonsh_sqlite::tests::test_db_path_xonsh ... ok test import::xonsh_sqlite::tests::out_of_range_timestamp_falls_back_to_epoch ... ok test history::store::tests::build_skips_rows_the_store_deletes ... ok test import::zsh::test::parse_extended_simple::case_2_multi_semicolon ... ok test history::store::tests::interleaved_creates_and_deletes_keep_their_order ... ok test import::zsh::test::parse_extended_simple::case_1_zero_duration ... 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_3_out_of_range_time ... ok test import::zsh::test::parse_extended_simple::case_3_unicode_command ... ok test import::zsh::test::parse_malformed_extended_lines::case_2_no_semicolon ... ok test import::zsh::test::parse_malformed_extended_lines::case_4_duration_saturates ... ok test history::store::tests::a_run_of_creates_is_one_bulk_write ... ok test import::zsh::test::timestamp_near_range_start_does_not_panic_on_backfill ... ok test import::zsh::test::test_parse_metafied ... ok test import::zsh::test::test_parse_file ... ok test import::zsh_histdb::test::duration_saturates_instead_of_overflowing ... ok test import::resh::test::single_entry_timestamp_and_duration::case_3_corrupt_after ... 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_4_clock_skew ... ok test import::resh::test::single_entry_timestamp_and_duration::case_1_zero_duration ... ok test import::resh::test::out_of_range_timestamp_falls_back_to_epoch ... ok test import::zsh_histdb::test::test_env_vars ... ok test import::xonsh_sqlite::tests::test_import ... ok test import::bash::test::timestamp_near_range_end_does_not_panic_on_increment ... ok test import::xonsh::tests::test_import ... ok test meta::tests::memory_store_skips_file_migration ... ok test history::store::tests::delete_batch_appends_ordered_tombstones ... ok test ordering::tests::reorder_ranks::case_1_nonmatch_sorts_last ... ok test meta::tests::test_host_id_generation_and_stability ... ok test ordering::tests::reorder_ranks::case_2_matches_by_span ... ok test meta::tests::logged_in_with_either_session::case_1_sync ... ok test meta::tests::logged_in_with_either_session::case_2_hub ... ok test meta::tests::test_latest_version ... ok test plugin::tests::test_get_plugin ... ok test plugin::tests::test_get_install_message ... ok test meta::tests::test_get_set_delete ... ok test plugin::tests::test_registry_creation ... ok test packfile::record::tests::pack_ia_serialization_is_stable::case_1 ... ok test meta::tests::test_version_check_time ... ok test meta::tests::test_session_crud ... ok test meta::tests::test_sync_time ... ok test import::zsh::test::timestamp_near_range_end_does_not_panic_on_increment ... ok test import::zsh_histdb::test::test_import ... ok test meta::tests::legacy_files_are_migrated_from_the_given_data_dir ... ok test record::sqlite_store::tests::create_db ... ok test record::sqlite_store::tests::first ... ok test record::sqlite_store::tests::get_record ... ok test packfile::packer::tests::packs_multiple_and_leaves_remainder ... ok test record::sqlite_store::tests::len ... ok test record::sqlite_store::tests::len_tag ... ok test record::sqlite_store::tests::first_gap_finds_the_contiguous_frontier ... ok test record::sqlite_store::tests::len_different_tags ... ok test record::sqlite_store::tests::last ... ok test record::sqlite_store::tests::push_record ... ok test record::sqlite_store::tests::push_batch_unique_is_all_or_nothing ... ok test record::decode::tests::a_panic_in_decode_is_raised_to_the_caller - should panic ... ok test ai_session::database::tests::only_a_harness_given_turn_id_shares_usage_across_unrelated_sessions ... ok test ai_session::database::tests::a_deep_chain_is_one_group ... ok test record::sqlite_store::tests::verify_purge_and_rekey_skip_plaintext_packfile_manifests ... ok test history::tests::should_save_respects_privacy::case_4_stripe_key ... ok test record::sqlite_store::tests::re_encrypt ... ok test record::sqlite_store::tests::reads_legacy_text_rows_and_new_blob_rows ... 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::append_a_bunch ... 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_malformed_manifest_is_classified_permanent::case_2_malformed_body ... ok test record::sync::packfile_sync_tests::a_malformed_manifest_is_classified_permanent::case_3_inverted_range ... ok test database::test::test_load_active_chunks_past_sqlite_param_limit ... ok test record::sync::packfile_sync_tests::a_transport_failure_is_not_permanent ... ok test record::sync::packfile_capability_tests::bad_cap_skips_packfile_op::case_3_malformed ... ok test record::sync::packfile_capability_tests::bad_cap_skips_packfile_op::case_2_no_packfile_cap ... ok test record::sync::packfile_sync_tests::check_encryption_key_ignores_plaintext_packfile_manifests ... ok test record::sync::packfile_capability_tests::bad_cap_skips_packfile_op::case_1_not_fetched ... ok test record::sync::packfile_sync_tests::check_encryption_key_still_detects_a_wrong_key_on_history ... ok test record::sync::packfile_capability_tests::absent_cap_skips_packfile_but_loose_history_still_syncs ... ok test history::tests::should_save_respects_privacy::case_1_normal ... ok test record::sync::packfile_capability_tests::packfile_op_runs_when_server_advertises_cap ... ok test record::sync::packfile_sync_tests::download_packed_returns_range_ids_when_already_local ... ok test record::sync::packfile_sync_tests::sync_download_reassembles_loose_history::case_2_short_page_recovery ... ok test record::sync::packfile_sync_tests::sync_download_does_not_underflow_when_local_head_exceeds_remote ... ok test record::sync::packfile_sync_tests::sync_download_reassembles_loose_history::case_1_paginated ... 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::history_download_skips_the_range_a_packfile_covered ... ok test record::sync::packfile_sync_tests::download_packed_fills_a_hole_a_higher_range_masks ... 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::default_socket_dir_is_created_privately_then_reused ... ok test settings::daemon::unix_tests::a_symlinked_socket_dir_is_rejected ... ok test settings::daemon::unix_tests::no_directory_is_created_for_a_user_defined_socket ... ok test record::sync::page_size_tests::get_page_size_negotiates_from_capabilities::case_2_absent ... ok test record::sync::packfile_sync_tests::sync_download_expands_packfiles::case_1_single ... 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_04_systemd_without_runtime_dir ... 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_07_tmpdir_set ... 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_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::socket_paths_are_tried_in_priority_order::case_06_configured_with_systemd ... 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_default_socket_lives_in_a_per_uid_tmp_dir::case_1_default_tmp_dir ... ok test record::sync::packfile_sync_tests::sync_download_expands_packfiles::case_3_batch_with_poison ... 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_3_only_the_envless_fallback_exists ... 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_4_runtime_fallback_beats_envless ... ok test settings::disk_usage_limit::tests::an_absolute_limit_never_touches_the_filesystem ... ok test settings::daemon::unix_tests::the_existing_socket_is_the_first_one_present::case_5_all_exist ... 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_4_integer_bytes ... 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::displays_the_text_form::case_3_percent ... ok test settings::disk_usage_limit::tests::displays_the_text_form::case_2_size ... ok test settings::disk_usage_limit::tests::deserializes_from_text_or_an_integer::case_3_text_size ... ok test settings::disk_usage_limit::tests::displays_the_text_form::case_1_unlimited ... ok test settings::disk_usage_limit::tests::parses_every_form::case_01_unlimited ... 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_02_unlimited_is_case_insensitive ... ok test record::sync::page_size_tests::get_page_size_negotiates_from_capabilities::case_1_advertised ... 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_05_percent_with_whitespace ... ok test settings::disk_usage_limit::tests::parses_every_form::case_08_size ... 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_09_binary_size ... ok test settings::disk_usage_limit::tests::parses_every_form::case_11_bare_bytes ... ok test settings::disk_usage_limit::tests::rejects_an_invalid_size::case_3_misspelt_unlimited ... ok test settings::disk_usage_limit::tests::parses_every_form::case_10_size_with_fraction ... ok test record::sync::packfile_sync_tests::sync_download_expands_packfiles::case_2_batch ... ok test settings::disk_usage_limit::tests::rejects_a_negative_percent ... 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_1_empty ... ok test settings::disk_usage_limit::tests::rejects_other_json_values::case_1_negative ... 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_4_percent_is_a_share_of_the_disk ... 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_3_bytes_are_not_clamped_to_the_disk ... 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::shells::tests::deserialize::case_2_auto ... ok test settings::shells::tests::deserialize::case_1_all ... ok test settings::shells::tests::deserialize::case_3_array ... ok test settings::shells::tests::deserialize::case_4_array_with_duplicates ... ok test record::sync::packfile_sync_tests::uploads_the_packed_range ... ok test settings::shells::tests::deserialize::case_5_empty_array ... ok test settings::shells::tests::all_and_the_empty_array_are_the_same_value ... ok test settings::shells::tests::deserialize::case_6_invalid_string ... ok test settings::shells::tests::serialize::case_1_auto ... ok test settings::shells::tests::serialize::case_2_all ... ok test settings::shells::tests::serialize::case_4_array ... ok test record::sync::packfile_sync_tests::upload_packfiles_transfers_every_item ... ok test settings::shells::tests::to_filter::case_01_all_bash ... ok test settings::shells::tests::serialize::case_3_empty_array ... ok test settings::shells::tests::to_filter::case_02_all_none ... ok test settings::output::tests::effective_limits_returns_the_configured_limits_when_enabled ... ok test settings::shells::tests::to_filter::case_07_fixed_bash_zsh_none ... ok test settings::shells::tests::to_filter::case_06_fixed_bash_unknown_zsh ... ok test settings::shells::tests::to_filter::case_05_fixed_bash_zsh ... ok test settings::shells::tests::to_filter::case_08_fixed_empty_bash ... ok test settings::shells::tests::to_filter::case_03_auto_bash ... ok test settings::output::tests::effective_limits_uses_defaults_when_disabled ... ok test settings::shells::tests::to_filter::case_04_auto_none ... ok test settings::shells::tests::to_filter::case_10_auto_empty ... ok test settings::shells::tests::to_filter::case_09_fixed_empty_none ... ok test record::sync::tests::build_complex_diff ... ok test settings::tests::can_parse_offset_timezone_spec::case_01_plus_two_digit_hours ... ok test settings::tests::can_parse_offset_timezone_spec::case_02_minus_two_digit_hours ... 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::can_parse_offset_timezone_spec::case_07_plus_single_digit_hour_minutes ... ok test settings::tests::builder_with_data_dir_uses_custom_paths ... ok test settings::tests::can_parse_offset_timezone_spec::case_08_minus_single_digit_hour_minutes ... ok test settings::tests::can_parse_offset_timezone_spec::case_10_minus_fully_qualified ... ok test settings::tests::can_parse_offset_timezone_spec::case_09_plus_fully_qualified ... ok test settings::tests::can_parse_offset_timezone_spec::case_11_plus_zero_hour_minutes ... 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_14_minus_with_seconds ... ok test settings::tests::ai_endpoint_protocol_resolution::case_6_explicit_oss_overrides_address ... ok test settings::tests::ai_endpoint_protocol_resolution::case_5_explicit_hub_overrides_address ... ok test settings::tests::ai_endpoint_protocol_resolution::case_1_auto_hub_address ... ok test settings::tests::ai_endpoint_protocol_resolution::case_4_auto_localhost ... ok test settings::tests::default_addresses_parse ... ok test settings::tests::ai_endpoint_protocol_resolution::case_3_auto_third_party_address ... 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::ai_endpoint_protocol_resolution::case_2_auto_api_address ... ok test settings::tests::effective_search_mode_matches_requested::case_5 ... ok test settings::tests::data_dir_prefers_the_configured_one::case_2_unset ... 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::keymap_config_deserializes_simple_binding ... ok test settings::tests::keymap_config_deserializes_conditional_binding ... ok test settings::disk_usage_limit::tests::display_round_trips ... ok test settings::disk_usage_limit::tests::serde_round_trips ... ok test settings::tests::data_dir_prefers_the_configured_one::case_1_configured ... ok test meta::tests::waits_out_another_process_committing_slowly ... ok test settings::tests::environment_overrides_the_config_file::case_2_file_without_env ... ok test settings::tests::environment_overrides_the_config_file::case_1_env_overrides_the_file ... ok test settings::tests::output_command_filter_is_kept_with_capture_off::case_2_disabled ... 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_5_omitted ... 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_1_anchored ... 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::legacy_ai_session_settings_are_read_as_threads ... ok test settings::tests::negative_session_continue_minutes_disables_resume ... ok test settings::tests::output_command_filter_rejects_an_invalid_expression ... ok test settings::tests::output_command_filter_matches_the_command_line::case_3_unanchored ... ok test settings::tests::requested_search_mode_parses_correctly::case_1 ... ok test settings::tests::redact_patterns_reject_an_invalid_expression ... ok test settings::tests::requested_search_mode_parses_correctly::case_3 ... ok test settings::tests::requested_search_mode_parses_correctly::case_5 ... 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::threads_defaults_resolve ... 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::threads_default_off_with_tools ... ok test settings::tests::validate_accepts::case_1_valid_config ... ok test settings::tests::skim_shell_up_key_binding_resolves_to_fuzzy ... ok test settings::tests::validate_accepts::case_2_empty_config ... ok test settings::tests::validate_accepts::case_3_plain_data_dir ... ok test settings::tests::threads_settings_win_over_legacy_ones ... ok test settings::tests::validate_rejects::case_2_value_of_the_wrong_type ... ok test record::sync::page_size_tests::with_page_size_overrides_negotiation ... ok test settings::tests::workspace_filter_selection::case_1_in_git_context ... ok test settings::tests::validate_rejects::case_1_invalid_enum_variant ... ok test settings::tests::validate_rejects::case_3_invalid_nested_value ... ok test settings::tests::workspace_filter_selection::case_2_not_in_git_context ... ok test settings::threads::tests::empty_table_uses_defaults ... ok test settings::tests::workspace_filter_selection::case_3_workspaces_disabled ... ok test settings::watcher::tests::reloads_on_writes_creates_and_renames_onto_the_file ... ok test record::sync::page_size_tests::get_page_size_negotiates_from_capabilities::case_3_zero_falls_back ... ok test settings::tests::validate_rejects::case_4_data_dir_with_an_unexpandable_variable ... ok test theme::theme_tests::parses_color_string::case_1_palette_name ... ok test theme::theme_tests::parses_color_string::case_3_at_named ... ok test theme::theme_tests::parses_color_string::case_2_hex ... ok test settings::tests::output_command_filter_matches_the_command_line::case_4_any_of_several ... ok test theme::theme_tests::parses_color_string::case_5_at_ansi ... ok test theme::theme_tests::rejects_at_prefixed_color_string::case_1_bare_at ... ok test theme::theme_tests::rejects_at_prefixed_color_string::case_4_ansi_out_of_range ... 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_2_wrong_case ... ok test theme::theme_tests::rejects_color_string::case_1_empty ... ok test theme::theme_tests::rejects_color_string::case_3_not_in_palette_phrase ... ok test theme::theme_tests::rejects_color_string::case_2_not_in_palette_word ... 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::parses_color_string::case_4_at_rgb ... ok test settings::tests::validate_rejects::case_5_more_than_one_expanding_column ... 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 settings::tests::example_config_empty_tables_change_nothing ... ok test settings::threads::tests::parses_every_field ... 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 theme::theme_tests::test_can_create_theme ... ok test theme::theme_tests::test_no_fallbacks_are_circular ... 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_4_from_after_bbb_to_end_of_string ... ok test tui::cursor::cursor_tests::emacs_get_next_word_pos::case_7_trailing_multibyte ... 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_next_word_pos::case_6_non_ascii_from_emoji_to_test ... 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_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_5_non_ascii_from_test_to_start ... ok test tui::cursor::cursor_tests::emacs_get_prev_word_pos::case_8_empty_string ... ok test tui::cursor::cursor_tests::left ... ok test tui::cursor::cursor_tests::pop ... ok test tui::cursor::cursor_tests::subl_get_next_word_pos::case_01_from_string_start_to_start_of_aaa ... ok test tui::cursor::cursor_tests::right ... 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_03_from_start_of_aaa_to_first_parens_block ... 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_05_from_start_of_bbb_to_second_parens_block ... ok test tui::cursor::cursor_tests::insert ... ok test settings::tests::zero_log_retention_is_accepted ... 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_09_non_ascii_from_emoji_to_paren ... 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_12_empty_string ... 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_06_from_second_parens_block_to_end_of_string ... 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_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_03_from_start_of_bbb_to_first_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_01_from_end_of_string_to_second_parens_block ... 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_10_empty_string ... ok test tui::cursor::cursor_tests::subl_get_prev_word_pos::case_05_from_start_of_aaa_to_string_start ... ok test theme::theme_tests::test_can_load_builtin_theme ... 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_06_non_ascii_from_hi_to_start ... ok test tui::key::tests::display_exact::case_6 ... 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_2 ... ok test tui::key::tests::display_exact::case_3 ... ok test record::sync::tests::remote_error_keeps_the_connect_cause ... ok test theme::theme_tests::test_can_get_colors_via_convenience_functions ... ok test tui::key::tests::display_round_trip::s_01___ctrl_c__ ... ok test tui::key::tests::display_round_trip::s_06___pageup__ ... ok test tui::key::tests::display_round_trip::s_05___tab__ ... ok test tui::key::tests::display_round_trip::s_07___f1__ ... ok test tui::key::tests::display_round_trip::s_03___enter__ ... 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_02___alt_f__ ... ok test tui::key::tests::display_round_trip::s_04___G__ ... ok test theme::theme_tests::debug_theme_logs::debug_2_false ... ok test tui::key::tests::display_round_trip::s_12___super_a__ ... ok test tui::key::tests::display_round_trip::s_10___alt_f10__ ... ok test theme::theme_tests::test_can_fallback_when_meaning_missing ... ok test tui::key::tests::from_event_cases::case_1_ctrl_c ... ok test tui::key::tests::display_round_trip::s_11___insert__ ... ok test tui::key::tests::from_event_cases::case_2_enter ... ok test tui::key::tests::display_exact::case_1 ... ok test tui::key::tests::from_event_cases::case_7_insert ... ok test tui::key::tests::from_event_cases::case_4_super_a ... ok test tui::key::tests::from_event_cases::case_6_f12_ctrl ... ok test tui::key::tests::display_round_trip::s_13___gg__ ... ok test tui::key::tests::from_event_matches_parsed::case_1 ... ok test tui::key::tests::from_event_cases::case_8_backtab ... ok test tui::key::tests::from_event_cases::case_3_upper_g ... ok test tui::key::tests::from_event_matches_parsed::case_2 ... ok test tui::key::tests::from_event_cases::case_9_backtab_ctrl ... ok test tui::key::tests::from_event_cases::case_5_f1 ... ok test tui::key::tests::from_event_matches_parsed::case_5 ... ok test theme::theme_tests::test_can_use_parent_theme_for_fallbacks ... ok test tui::key::tests::from_event_matches_parsed::case_3 ... ok test tui::key::tests::parse_errors::case_1 ... ok test theme::theme_tests::debug_theme_logs::debug_1_true ... ok test tui::key::tests::from_event_matches_parsed::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_errors::case_2 ... ok test tui::key::tests::parse_single_key::case_03_esc ... ok test tui::key::tests::parse_errors::case_4 ... ok test settings::tests::sync_frequency_accepts_humantime_and_bare_seconds ... ok test tui::key::tests::parse_single_key::case_02_enter ... ok test tui::key::tests::parse_errors::case_3 ... 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_08_ctrl_alt_x ... ok test tui::key::tests::parse_single_key::case_07_alt_f ... ok test tui::key::tests::parse_single_key::case_06_ctrl_c ... ok test tui::key::tests::parse_single_key::case_09_upper_g ... ok test tui::key::tests::parse_single_key::case_10_ctrl_lbracket ... ok test tui::key::tests::parse_single_key::case_12_slash ... ok test tui::key::tests::parse_single_key::case_11_question ... 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_15_super_g ... ok test tui::key::tests::parse_single_key::case_16_f1 ... 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_19_f24 ... ok test tui::key::tests::parse_single_key::case_20_insert ... 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 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 packfile::packer::tests::packing_tiles_a_maximal_prefix ... ok test settings::tests::security_settings_load ... ok test packfile::packer::tests::packing_is_idempotent_and_monotonic ... ok test record::decode::tests::decodes_every_record_in_order ... 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 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 record::sqlite_store::tests::push_batch_unique_rolls_back_across_chunks ... ok test ai_session::database::tests::copies_group_under_their_original_in_any_order ... ok test result: ok. 944 passed; 0 failed; 1 ignored; 0 measured; 1 filtered out; finished in 87.88s Running unittests src/lib.rs (target/debug/deps/atuin_common-a319dfa368909688) running 3414 tests 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_1_nz_1_::cols_2_nz_80_ ... 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_2_nz_24_::cols_1_nz_1_ ... 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_2_nz_24_::cols_3_nz_u16__MAX_ ... ok test ansi::tests::empty_input_is_empty_regardless_of_size::rows_3_nz_u16__MAX_::cols_1_nz_1_ ... 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_3_nz_u16__MAX_::cols_3_nz_u16__MAX_ ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_01_empty ... 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_07_consecutive_crlfs ... ok test ansi::tests::onlcr_matches_the_byte_at_a_time_implementation::case_05_crlf_between_text ... 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_08_trailing_cr ... 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_02_bare_lf ... 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_10_crlf_then_bare_lf ... ok test ansi::tests::onlcr_never_yields_an_empty_chunk ... ok test ansi::tests::renders_expected_plain_text::case_2_empty ... ok test ansi::tests::output_still_on_the_alternate_screen_is_returned ... ok test ansi::tests::long_lines_wrap_at_the_column_boundary ... ok test ansi::tests::interior_and_leading_blank_lines_are_kept ... ok test ansi::tests::alternate_screen_output_is_dropped_once_it_is_left ... ok test ansi::tests::renders_expected_plain_text::case_4_backspace_storm ... ok test ansi::tests::renders_expected_plain_text::case_3_single_backspace ... ok test ansi::tests::row_padding_is_trimmed_but_wrapped_spaces_are_kept ... ok test ansi::tests::renders_expected_plain_text::case_7_carriage_return_rewrite ... ok test ansi::tests::renders_expected_plain_text::case_9_tab_expands_to_spaces ... ok test ansi::tests::renders_expected_plain_text::case_1_plain ... 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::trailing_blank_lines_are_trimmed ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_4_blank ... ok test ansi::tests::wide_character_on_a_one_column_screen ... 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_3_taller_than_the_output ... ok test ansi::tests::rows_scrolled_off_the_screen_are_still_returned::case_1_one_row ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_3_quote ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_3_embedded_quote_is_doubled ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_5_operator_char_kept_literal ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_7_whitespace_only_is_none ... ok test ansi::tests::rows_scrolled_off_the_screen_are_still_returned::case_2_shorter_than_the_output ... ok test db::sqlite::fts::tests::any_expression_ors_prefix_terms::case_2_many ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_6_empty_is_none ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_1_single_term ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_2_terms_are_anded ... ok test db::sqlite::fts::tests::match_expression_escapes_free_form_input::case_4_surrounding_whitespace_trimmed ... 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_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_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_prefixes_the_last_term::case_1_single_term ... ok test ansi::tests::renders_expected_plain_text::case_5_ansi_and_percent_marker ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_4_punctuation_only ... ok test db::sqlite::fts::tests::highlight_of_an_unmatched_column_yields_no_ranges ... 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::info::tests::query_version_waits_out_a_schema_lock ... ok test db::sqlite::fts::tests::highlight_round_trips_through_fts5::case_4_multibyte_match ... 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_2_middle_of_body ... 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_6_stray_source_marker ... 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_3_finished_term_is_not_a_prefix ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_1_partial_token ... ok test db::sqlite::fts::tests::prefix_match_expression_runs_against_fts5::case_5_operator_soup ... ok test db::sqlite::observe::driver::tests::append_rewinds_when_delivered_rows_are_deleted_and_their_rowids_reused ... ok test db::sqlite::observe::driver::tests::append_tail_emits_new_rows_in_order ... ok test db::sqlite::observe::tests::handle_forwards_stream_items ... ok test db::sqlite::observe::driver::tests::a_query_error_surfaces_and_the_tail_takes_the_table_up_again ... ok test db::sqlite::tests::quote_ident_misspelled_column_is_an_error ... ok test db::sqlite::observe::driver::tests::replay_controls_preexisting_rows::case_1_from_now ... ok test db::tests::banned_pattern_classifies::case_01_bare_star ... ok test db::sqlite::tests::quote_ident_round_trips::case_3_statement_breakout ... ok test db::sqlite::tests::quote_ident_round_trips::case_2_double_quote ... ok test db::tests::banned_pattern_classifies::case_02_many_spaces_star ... ok test db::sqlite::observe::driver::tests::append_replay_all_crosses_page_boundary ... ok test db::sqlite::observe::driver::tests::replay_controls_preexisting_rows::case_2_all ... ok test db::tests::banned_pattern_classifies::case_03_tab_star ... ok test db::sqlite::tests::quote_ident_round_trips::case_1_backtick ... 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_07_alter ... ok test db::tests::banned_pattern_classifies::case_08_alter_upper ... ok test db::tests::banned_pattern_classifies::case_06_star_amongst_columns ... 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_14_migration_only_add ... ok test db::tests::banned_pattern_classifies::case_13_insert ... ok test db::tests::db_url_as_str_matches_view::case_3_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::tests::db_url_debug_redacts_passwords::case_4_sqlite ... ok test db::tests::db_url_as_str_matches_view::case_2_mysql ... ok test db::sqlite::observe::driver::tests::from_now_anchors_on_the_newest_row::case_1_rowid_reused ... ok test db::tests::db_url_as_str_matches_view::case_1_postgres ... ok test db::sqlite::observe::driver::tests::from_now_anchors_on_the_newest_row::case_2_wiped ... ok test db::tests::db_url_debug_redacts_passwords::case_3_postgres_no_password ... ok test db::sqlite::observe::driver::tests::append_without_identity_never_rewinds ... ok test db::tests::sqlite_url_reaches_sqlx_byte_for_byte::case_2_memory ... ok test db::tests::sqlite_url_reaches_sqlx_byte_for_byte::case_1_path ... ok test db::tests::db_url_debug_redacts_passwords::case_2_mysql_password ... ok test db::tests::db_url_debug_redacts_passwords::case_1_postgres_password ... ok test db::sqlite::observe::driver::tests::mutate_ignores_value_preserving_write ... ok test dirs::tests::ai_items_do_without_a_home_dir_given_xdg_config_home::child_2___TERMINAL_md__ ... ok test db::tests::db_url_serde_round_trips_through_the_real_connection_string ... ok test dirs::tests::an_old_home_scoped_ai_file_is_not_the_global_one::item_2___TERMINAL_md__ ... ok test dirs::tests::ai_items_do_without_a_home_dir_given_xdg_config_home::child_3___skills_foo_SKILL_md__ ... ok test dirs::tests::an_old_home_scoped_ai_file_is_not_the_global_one::item_1___permissions_ai_toml__ ... ok test dirs::tests::ai_items_do_without_a_home_dir_given_xdg_config_home::child_1___permissions_ai_toml__ ... ok test db::sqlite::observe::driver::tests::append_tails_reserved_word_identifiers ... ok test dirs::tests::an_old_home_scoped_ai_file_is_not_the_global_one::item_3___skills__ ... ok test db::sqlite::observe::driver::tests::slow_consumer_loses_no_rows ... ok test db::sqlite::observe::driver::tests::concurrent_writers_no_loss ... 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_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::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_1____themes________::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_1_false::in_home_2_true ... 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_ignored_for_other_items::child_1___config_toml__ ... 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_1_false ... 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_ignored_for_other_items::child_2___TERMINAL_md__ ... 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 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_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_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_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_1_Install__AtuinHomeSet::in_home_1_false::in_legacy_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_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_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_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_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_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_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 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_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_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_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_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_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_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_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_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_3_Install__Migrated::in_home_2_true::in_legacy_2_true ... ok test db::tests::explicit_columns_survive_add_column::case_1_add_one ... 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_2_true::install_3_Install__Migrated::in_home_1_false::in_legacy_2_true ... ok test db::tests::explicit_columns_survive_add_column::case_2_add_several ... 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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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_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____TERMINAL_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_5____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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____TERMINAL_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_looked_up_in_priority_order::__destruct_1_5____TERMINAL_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_looked_up_in_priority_order::__destruct_1_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_6____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_looked_up_in_priority_order::__destruct_1_6____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_6____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_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_1_false::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_1_false::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_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_1___config_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_1_false::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_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_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_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_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_1_false ... 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___TERMINAL_md__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_3___TERMINAL_md__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___permissions_ai_toml__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___permissions_ai_toml__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___permissions_ai_toml__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___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___permissions_ai_toml__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_4___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___permissions_ai_toml__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_4___permissions_ai_toml__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_5___skills__::in_legacy_2_true::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_1_false::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_1_false::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_1_false::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_1_false::in_new_2_true::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_2_true::in_new_1_false::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_2_true::in_new_2_true::migrated_1_false ... ok test dirs::tests::config_items_are_resolved_independently::item_6___themes__::in_legacy_2_true::in_new_1_false::migrated_2_true ... ok test dirs::tests::config_items_are_resolved_independently::item_6___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_2_atuin_theme_dir ... ok test dirs::tests::config_path_does_without_a_home_dir_where_it_can::case_1_atuin_config_dir ... ok test dirs::tests::empty_atuin_theme_dir_is_unset ... ok test dirs::tests::test_atuin_home ... ok test dirs::tests::missing_uncreated_item_resolves_to_atuin_home ... ok test dirs::tests::nested_config_paths_are_resolved_by_their_top_level_item ... ok test dirs::tests::missing_config_avoids_hiding_the_home_config::item_2___server_toml__ ... ok test dirs::tests::missing_config_avoids_hiding_the_home_config::item_1___config_toml__ ... ok test db::sqlite::observe::driver::tests::mutate_detects_insert_update_delete ... ok test dirs::tests::test_atuin_home_relative ... ok test dirs::tests::test_atuin_home_empty ... ok test dirs::tests::test_atuin_home_absolute ... ok test dirs::tests::legacy_data_dir_is_shadowed_once_atuin_home_has_one::xdg_data_1_false ... ok test dirs::tests::legacy_data_dir_is_shadowed_once_atuin_home_has_one::xdg_data_2_true ... ok test dirs::tests::test_legacy_config_dir_xdg ... ok test dirs::tests::test_legacy_data_dir_xdg ... ok test dirs::tests::test_legacy_data_dir ... ok test dirs::tests::config_path_rejects_non_items::case_2_absolute - should panic ... ok test dirs::tests::config_path_panics_without_a_home_dir_as_a_last_resort - should panic ... ok test dirs::tests::config_path_rejects_non_items::case_1_empty - should panic ... ok test dirs::tests::config_path_rejects_non_items::case_3_parent - should panic ... ok test dirs::tests::test_legacy_config_dir ... ok test dirs::tests::legacy_config_is_shadowed_once_atuin_home_has_one ... ok test dirs::tests::test_legacy_config_dir_xdg_empty ... ok test dirs::tests::test_legacy_data_dir_xdg_empty ... ok test dirs::tests::unconfigured_data_dir_ignores_legacy_when_atuin_home_is_set ... ok test dirs::tests::unconfigured_data_dir_is_legacy_when_only_legacy_exists ... ok test dirs::tests::unconfigured_data_dir_is_new_when_both_exist ... ok test dirs::tests::unconfigured_data_dir_is_new_by_default ... ok test dirs::tests::unconfigured_data_dir_avoids_hiding_the_home_data_dir ... ok test docs::tests::this_build_resolves_to_a_published_version ... 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_1_stable_patch_zero ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_5_prerelease_beta ... ok test docs::tests::urls_are_absolute_and_versioned ... 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_7_prerelease_rc ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_6_prerelease_beta_older ... ok test docs::tests::version_segment_maps_release_to_docs_segment::case_3_stable_major_bump ... ok test encryption::paseto_v4::test::decode_blank_key_is_error_not_panic::case_1_empty ... 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::decodes_supported_key_encoding::case_1_legacy_v11 ... ok test encryption::paseto_v4::test::decodes_supported_key_encoding::case_2_canonical ... ok test encryption::paseto_v4::test::key_file_is_owner_only::preexisting_1_false ... ok test encryption::paseto_v4::test::encrypted_data_wire_format_is_stable ... ok test encryption::paseto_v4::test::key_file_is_owner_only::preexisting_2_true ... 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::dropping_the_mock_uninstalls_it ... ok test env::tests::the_real_environment_is_read_without_a_mock ... ok test encryption::paseto_v4::test::overwrite_path_replaces_an_existing_key ... ok test env::tests::var_abspath_ignores_relative_paths::case_1_absolute ... ok test env::tests::set_and_removed_variables_are_read_from_the_mock ... ok test env::tests::non_unicode_values_are_reported_like_std ... 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 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_2_plaintext_manifest ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_4_not_base64 ... ok test filter::tests::all_filter_contains_everything ... ok test filter::tests::all_filter_has_no_items ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_1_empty ... ok test env::tests::var_nonempty_treats_empty_as_unset::case_2_nonempty ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_5_non_canonical_base64 ... ok test env::tests::var_nonempty_treats_empty_as_unset::case_1_empty ... ok test filter::tests::compare_with_a_non_all_filter::case_7 ... ok test filter::tests::compare_with_an_all_filter::case_1 ... 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_a_non_all_filter::case_2 ... ok test filter::tests::compare_with_a_non_all_filter::case_1 ... ok test filter::tests::compare_with_an_all_filter::case_3 ... ok test filter::tests::compare_with_an_all_filter::case_2 ... ok test filter::tests::compare_with_a_non_all_filter::case_4 ... ok test db::tests::a_qualified_star_is_always_rejected ... ok test filter::tests::compare_with_a_non_all_filter::case_3 ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_anything_not_in_wire_form::case_6_cek_wrong_shape ... ok test filter::tests::contains_only_listed_items::case_4 ... ok test filter::tests::contains_only_listed_items::case_5 ... ok test encryption::paseto_v4::test::encrypted_bytes_refuse_reformatted_cek_json ... ok test filter::tests::contains_only_listed_items::case_1 ... 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_6 ... ok test encryption::paseto_v4::test::encrypted_bytes_round_trip_and_shrink ... 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_2 ... 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_4 ... ok test filter::tests::from_list_of_a_mut_slice_sorts_and_dedupes::case_5 ... ok test filter::tests::from_list_of_none_is_an_all_filter ... ok test filter::tests::from_list_rejects_an_empty_list ... ok test filter::tests::into_list_returns_the_sorted_items ... ok test fs::lock::tests::test_open_without_create::mode_1_LockMode__Shared ... ok test fs::lock::tests::test_try_open_contention::case_1_shared_shared ... ok test filter::tests::from_list_sorts_and_dedupes ... ok test fs::lock::tests::test_open_without_create::mode_2_LockMode__Exclusive ... ok test fs::lock::tests::test_open_creates_file_and_parents::mode_2_LockMode__Exclusive ... ok test fs::lock::tests::test_open_creates_file_and_parents::mode_1_LockMode__Shared ... ok test fs::lock::tests::test_try_open_contention::case_2_shared_exclusive ... 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::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::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::lock::tests::test_wait_contention::case_2_shared_exclusive ... ok test fs::lock::tests::test_wait_contention::case_4_exclusive_exclusive ... ok test fs::lock::tests::test_wait_contention::case_3_exclusive_shared ... ok test fs::lock::tests::test_wait_after_release ... ok test db::tests::a_bare_star_selector_is_always_rejected ... 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::observe_content_event_signals_change::case_4_close_write ... 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_forgets_vanished_file::case_2_metadata ... ok test fs::tree_watcher::poller::tests::observe_create_event_observes_only_existing::case_1 ... 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_observes_moved_in_file ... ok test fs::tree_watcher::poller::tests::observe_rename_any_forgets_moved_out_file ... ok test fs::tree_watcher::poller::tests::observe_rename_both_moves_the_file ... ok test fs::tree_watcher::poller::tests::observe_remove_event_forgets ... 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::a_new_directory_yields_the_files_already_in_it::case_2_moved_in ... ok test fs::tree_watcher::poller::tests::a_new_directory_yields_the_files_already_in_it::case_1_created ... ok test fs::tree_watcher::tests::content_mark_written_within::case_1_fresh ... ok test fs::tree_watcher::tests::content_mark_written_within::case_2_at_window ... 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_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 filter::tests::an_all_filter_contains_everything ... ok test fs::tree_watcher::tests::created_file_is_yielded ... ok test fs::tree_watcher::tests::append_signals_change_via_events ... ok test fs::tree_watcher::tests::append_signals_change_when_events_are_delayed::case_2_scan ... ok test fs::tree_watcher::tests::append_signals_change_when_events_are_delayed::case_1_content_poll ... ok test fs::tree_watcher::tests::deleted_file_closes_its_stat ... ok test fs::tree_watcher::tests::periodic_scan_reconciles_when_events_are_delayed::case_1_appearance ... ok test fs::tree_watcher::tests::only_regular_files_are_yielded ... ok test fs::tree_watcher::tests::dropping_the_watcher_closes_every_stat ... ok test fs::tree_watcher::tests::recursion_controls_nested_files::case_1 ... ok test fs::tree_watcher::tests::truncate_signals_smaller_size ... 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 ... ok test fs::tree_watcher::tracker::tests::forget_tree_of_a_file_removes_only_that_entry ... ok test fs::tree_watcher::tracker::tests::mark_change_updates_the_stat_in_place ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_kind_change_from_dir_drops_descendants ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_re_yields_a_file_after_a_kind_change ... ok test fs::tree_watcher::tests::periodic_scan_reconciles_when_events_are_delayed::case_2_disappearance ... ok test fs::tree_watcher::tests::rename_moves_the_file ... ok test fs::tree_watcher::tracker::tests::observe_fingerprint_yields_a_file_once ... ok test fs::tree_watcher::tracker::tests::reconcile_keeps_nodes_under_unreadable_dir ... ok test fs::tree_watcher::tracker::tests::reconcile_prunes_removed_subtree_descendants ... ok test fs::tree_watcher::tracker::tests::reconcile_adds_and_removes ... 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_recorded_and_not_re_offered ... ok test fs::tree_watcher::tracker::tests::written_within_selects_tracked_files_inside_the_window ... 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_recursion_controls_descent::case_2 ... ok test fs::tree_watcher::walk::tests::scan_reports_incomplete_on_unreadable_root ... ok test filter::tests::an_all_filter_compares_equal_only_to_none ... ok test futures::stream::chunked::tests::collects_from_an_iterator_of_chunks ... ok test futures::stream::chunked::tests::constructors_pull_lazily ... ok test futures::stream::chunked::tests::dropping_midstream_drops_every_item_exactly_once ... ok test futures::stream::chunked::tests::empty_yields_no_chunks_not_one_empty_chunk ... ok test filter::tests::from_list_sorts_dedupes_and_rejects_empty_lists ... ok test filter::tests::slice_and_vec_views_preserve_the_items ... 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::items_yields_a_nameable_stream_type ... ok test futures::stream::chunked::tests::items_resumes_across_a_pending_chunk_boundary ... ok test futures::stream::chunked::tests::map_and_items_move_owned_elements_without_cloning ... ok test futures::stream::chunked::tests::map_closure_panic_surfaces_at_the_offending_chunks_poll ... ok test fs::tree_watcher::tests::filter_limits_the_yielded_files ... ok test futures::stream::chunked::tests::map_transforms_per_item_and_keeps_chunk_boundaries::case_1 ... 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_2 ... 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_1 ... 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_3 ... ok test futures::stream::chunked::tests::stream_keeps_empty_chunks_items_flattens_them::case_5 ... ok test filter::tests::mut_slice_storage_agrees_with_vec_storage ... ok test filter::tests::into_list_returns_the_items ... 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_2 ... 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_4 ... 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 filter::tests::contains_agrees_with_the_item_set ... ok test fs::tree_watcher::tests::benign_mutation_does_not_re_yield_the_file::case_2_overwrite ... ok test futures::stream::merge::tests::joins_by_key_across_differing_item_types ... ok test fs::tree_watcher::tests::benign_mutation_does_not_re_yield_the_file::case_1_append ... 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_5 ... ok test futures::stream::merge::tests::merges_two_sorted_streams::case_4 ... ok test futures::stream::merge::tests::surfaces_the_first_error::case_1_left_first ... 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_2_left_mid ... 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 futures::stream::chunked::tests::streams_are_send_and_drive_by_reference ... ok test futures::stream::tests::chunks_match_expected::case_2_single ... ok test futures::stream::tests::chunks_match_expected::case_1_empty ... ok test futures::stream::tests::chunks_match_expected::case_3_max_one_splits_every_item ... ok test futures::stream::merge::tests::surfaces_the_first_error::case_4_right_mid ... ok test futures::stream::tests::chunks_match_expected::case_6_run_longer_than_max ... ok test futures::stream::tests::chunks_match_expected::case_5_run_exactly_max ... ok test futures::stream::tests::chunks_match_expected::case_4_alternating_keys ... ok test futures::stream::tests::chunks_match_expected::case_7_mixed ... 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::groups_owned_items_by_projected_key::case_2 ... ok test futures::stream::tests::groups_owned_items_by_projected_key::case_1 ... ok test futures::stream::tests::groups_by_key_not_value ... ok test futures::stream::tests::items_are_borrowed_for_keying_and_moved_into_chunks_never_cloned ... ok test futures::stream::tests::full_chunk_emits_without_peeking_past_the_bound ... 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::pending_then_closed_empty_source_yields_nothing ... ok test futures::stream::tests::key_panic_surfaces_on_the_poll_that_peeks_the_offending_item ... 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::stream::chunked::tests::chunk_views_agree ... ok test futures::tests::retry_blocking_breaks_after::case_2_after_retries ... ok test futures::tests::retry_blocking_gives_up_after_timeout ... ok test futures::tests::second_attempt_waits_for_the_backoff ... ok test harnesstools::access::script::tests::a_name_that_may_change_is_not_whole::case_1_member_assigned ... ok test db::tests::explicit_column_lists_are_allowed ... 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 encryption::paseto_v4::test::concurrent_generation_yields_one_complete_key ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_1_paren_in_object ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_2_bracket_in_object ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_3_paren_in_list ... ok test harnesstools::access::script::tests::a_stray_closer_ends_the_read::case_4_brace_in_list ... ok test futures::stream::chunked::tests::map_commutes_with_items ... ok test futures::stream::merge::tests::by_variant_matches_itertools_under_a_custom_order ... ok test futures::stream::merge::tests::matches_itertools_merge_join_by ... ok test filter::tests::compare_matches_set_equality ... ok test filter::tests::equality_is_set_equality ... ok test fs::tree_watcher::tests::recursion_controls_nested_files::case_2 ... ok test futures::stream::chunked::tests::items_flattens_under_arbitrary_pending ... 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_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_1_single_quotes ... 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::arguments_are_read_as_literals::case_8_comments ... 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::arguments_are_read_as_literals::case_5_shorthand ... 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_6_named ... 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_6_indexed ... 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_5_joined_with_other ... 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 futures::stream::tests::holds_invariants ... ok test harnesstools::access::tests::what_a_call_touches::case_04_claude_read ... ok test harnesstools::access::tests::what_a_call_touches::case_05_opencode_read ... ok test harnesstools::access::tests::what_a_call_touches::case_06_grep ... ok test harnesstools::access::tests::what_a_call_touches::case_07_claude_write ... 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::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::what_a_call_touches::case_02_codex_argv ... ok test harnesstools::access::tests::what_a_call_touches::case_08_pi_edit ... ok test harnesstools::access::tests::what_a_call_touches::case_10_patch_freeform ... ok test harnesstools::access::tests::what_a_call_touches::case_19_other ... ok test harnesstools::access::tests::what_a_call_touches::case_09_mcp_write ... ok test harnesstools::access::tests::what_a_call_touches::case_16_tee ... ok test harnesstools::access::tests::what_a_call_touches::case_11_patch_object ... ok test harnesstools::access::tests::what_a_call_touches::case_20_uncaptured ... ok test harnesstools::access::tests::what_a_call_touches::case_18_opencode_patch ... ok test harnesstools::access::tests::what_a_call_touches::case_17_descriptor ... ok test harnesstools::access::tests::what_a_call_touches::case_13_redirect ... ok test harnesstools::access::tests::what_a_call_touches::case_14_redirect_attached ... 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_2_split_joined ... ok test harnesstools::access::tests::what_a_call_touches::case_15_heredoc ... 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_4_appended ... 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_3_parallel ... ok test harnesstools::access::tests::what_a_script_touches::case_5_patch_by_name ... 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_5_computed_workdir ... 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_touches::case_2_quoted_keys_and_escapes ... ok test harnesstools::access::tests::what_a_script_touches::case_7_no_tools ... ok test harnesstools::access::tests::what_a_script_touches::case_4_template ... 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_1_one_command ... ok test harnesstools::access::tests::what_a_call_touches::case_12_patch_by_shell ... ok test futures::stream::tests::key_tagged_invariants ... ok test futures::stream::tests::grouping_is_invariant_to_upstream_readiness ... ok test harnesstools::ccode::rehydrate::tests::a_compaction_starts_a_new_tree ... ok test harnesstools::ccode::rehydrate::tests::a_system_line_with_text_above_attachments_is_no_boundary ... ok test harnesstools::ccode::rehydrate::tests::a_result_without_a_patch_keeps_its_text ... 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::an_edits_result_gets_its_record_back::case_4_created ... 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::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_2_write ... ok test harnesstools::ccode::rehydrate::tests::an_edits_result_gets_its_record_back::case_1_edit ... 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::line_directories_have_no_trailing_separator::case_3_elsewhere::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::line_directories_have_no_trailing_separator::case_2_subdirectory::pwd_with_slash_2_true ... ok test harnesstools::ccode::rehydrate::tests::long_project_directories_are_shortened_with_a_hash ... 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_2_punctuation ... 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::project_directories_are_named_as_claude_code_names_them::case_1_root ... 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::the_tree_is_relinked_whatever_the_order ... ok test harnesstools::ccode::rehydrate::tests::thinking_and_server_tools_are_dropped_and_the_tree_relinked ... 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::calls_synced_with_their_payloads_come_back_as_calls_the_api_takes::case_3_compacted ... 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_compaction_that_kept_messages_follows_the_line_before_it::resumed_after_1_0 ... 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_2_session2 ... ok test harnesstools::ccode::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_3_session3 ... ok test harnesstools::ccode::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_4_compacted ... ok test harnesstools::ccode::session::tests::a_compaction_that_kept_messages_reads_as_one_line ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_5_byte_order_mark ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_3_session3 ... 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_2_lone_high_surrogate_before_text ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_1_session1 ... 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_1_lone_high_surrogate_at_the_end ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_4_compacted ... ok test harnesstools::ccode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_2_session2 ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_6_invalid_utf8 ... ok test harnesstools::ccode::session::tests::a_line_claude_code_reads_is_read::case_3_two_high_surrogates ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_6_path_not_text ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_4_text ... ok test harnesstools::ccode::session::tests::cache_write_falls_back_to_the_lifetime_split::case_1_total ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_3_shell ... 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::cache_write_falls_back_to_the_lifetime_split::case_2_split_only ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_2_created ... ok test harnesstools::ccode::session::tests::an_edits_record_keeps_its_patch::case_1_edit ... ok test harnesstools::ccode::session::tests::cache_write_falls_back_to_the_lifetime_split::case_3_neither ... 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::an_edits_record_keeps_its_patch::case_5_unknown_patch_shape ... ok test harnesstools::ccode::session::tests::compaction_lines_are_system::case_2 ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_4_unknown_wrapper ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_3_older ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_1_current ... ok test harnesstools::ccode::session::tests::compact_summary_is_the_models_summary::case_2_no_summary_tags ... ok test harnesstools::ccode::session::tests::compaction_lines_are_system::case_1 ... ok test harnesstools::ccode::session::tests::compact_boundary_keeps_its_logical_parent ... ok test harnesstools::ccode::session::tests::compact_summary_is_a_summary::case_1 ... ok test harnesstools::ccode::session::tests::api_error_line_is_an_error_not_a_synthetic_model ... ok test harnesstools::ccode::session::tests::compact_summary_is_a_summary::case_2 ... ok test harnesstools::ccode::session::tests::a_transcript_is_read_as_claude_code_reads_it ... ok test harnesstools::ccode::session::tests::enrichment_is_none_when_the_harness_did_not_provide_it ... ok test harnesstools::ccode::session::tests::exposes_parent_line_parent_session_and_turn ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_1_meta ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_3_peer ... ok test harnesstools::ccode::session::tests::forked_line_names_the_session_it_was_forked_from ... 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_4_command_output ... ok test harnesstools::ccode::session::tests::interrupt_lines_end_the_turn::case_1 ... ok test harnesstools::ccode::session::tests::interrupt_lines_end_the_turn::case_2 ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_5_interrupt ... ok test db::sqlite::observe::driver::tests::append_stream_is_a_strictly_ascending_run ... ok test harnesstools::ccode::session::tests::interrupt_lines_end_the_turn::case_3 ... ok test harnesstools::ccode::session::tests::injected_user_line_is_system::case_6_fork_directive ... 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::maps_stop_reason_vocabulary::case_4 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_1 ... ok test harnesstools::ccode::session::tests::maps_stop_reason_vocabulary::case_5 ... 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::image_blocks_drop_their_bytes ... ok test harnesstools::ccode::session::tests::local_command_record_is_user_text ... ok test harnesstools::ccode::session::tests::existing_skips_files_that_are_not_transcripts ... ok test harnesstools::ccode::session::tests::messages_streams_each_turn_of_a_session_file ... ok test harnesstools::ccode::session::tests::mock_session_tool_result_is_a_tool_line ... ok test harnesstools::ccode::session::tests::mock_session_compaction ... ok test harnesstools::ccode::session::tests::events_read_a_transcript_written_just_before_since_at_once ... ok test harnesstools::ccode::session::tests::events_resume_each_session_from_its_checkpoint ... ok test harnesstools::ccode::session::tests::events_yields_messages_tagged_with_their_session ... ok test harnesstools::ccode::session::tests::mock_session_calls_keep_their_turn_and_usage ... ok test harnesstools::ccode::session::tests::mock_session_user_text_is_each_prompt_once ... ok test harnesstools::ccode::session::tests::normalizes_a_user_string_message ... 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_assistant_tool_use_blocks ... 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_3 ... ok test harnesstools::ccode::session::tests::queue_operation_is_not_user_text::case_1 ... ok test harnesstools::ccode::session::tests::normalizes_assistant_enrichment_fields ... ok test harnesstools::ccode::session::tests::queued_harness_message_is_system::case_1_task_notification ... ok test harnesstools::ccode::session::tests::queued_harness_message_is_system::case_2_peer ... ok test harnesstools::ccode::session::tests::queued_harness_message_is_system::case_3_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::rejected_tool_call_feedback_is_the_users::case_3_blank_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_1_with_feedback ... ok test harnesstools::ccode::session::tests::split_line_without_thinking_gains_no_reasoning_block::case_2_text ... ok test harnesstools::ccode::session::tests::split_line_without_thinking_gains_no_reasoning_block::case_1_tool_use ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_1 ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_4 ... ok test harnesstools::ccode::session::tests::teammate_message_is_system ... ok test harnesstools::ccode::session::tests::summary_line_exposes_its_title ... ok test harnesstools::ccode::session::tests::server_tool_blocks_are_tool_calls ... 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_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::subagent_parent_is_the_session_that_spawned_it::case_3_no_metadata ... ok test harnesstools::ccode::session::tests::subagent_parent_is_the_session_that_spawned_it::case_1_nested ... ok test harnesstools::ccode::session::tests::subagent_parent_is_the_session_that_spawned_it::case_2_top_level ... 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::transcripts_are_the_sessions::case_1_session ... ok test harnesstools::ccode::session::tests::title_lines_expose_the_title::case_4 ... ok test harnesstools::ccode::session::tests::title_lines_expose_the_title::case_3 ... ok test harnesstools::ccode::session::tests::transcripts_are_the_sessions::case_2_legacy_subagent ... 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_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_7_at_the_root ... 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_8_not_jsonl ... ok test harnesstools::ccode::session::tests::tool_result_line_is_the_tools::case_2_without_tool_use_result ... ok test harnesstools::ccode::session::tests::tool_result_line_is_the_tools::case_3_split_image ... ok test harnesstools::ccode::session::tests::tool_result_line_is_the_tools::case_1_tool_result ... 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_02_stderr ... 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_05_slash_command_without_args ... 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_08_unclosed_output ... 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_06_bash_input ... 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_12_reminder_only ... 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_13_not_a_known_tag ... ok test harnesstools::ccode::session::tests::user_text_is_what_the_user_typed::case_14_memory_note ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_2_post_dev ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_2 ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_1_pre_dev ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_3_pre ... ok test harnesstools::ccode::session::tests::normalizes_a_real_redacted_session::case_3 ... ok test harnesstools::codex::hook_trust::tests::hashes_are_codexs::case_4_post ... ok test harnesstools::ccode::session::tests::watch_emits_sessions_as_files_appear ... 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::a_config_trust_cant_be_recorded_in_is_refused::case_2_state_not_a_table ... ok test harnesstools::ccode::session::tests::a_followed_subagent_finds_its_spawner_once_the_metadata_lands ... ok test harnesstools::ccode::session::tests::messages_yields_lines_appended_after_discovery ... ok test harnesstools::ccode::session::tests::messages_ends_when_the_session_file_is_removed ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_names_the_configured_provider::case_1_configured ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_names_the_configured_provider::case_2_default ... ok test harnesstools::codex::hook_trust::tests::the_key_names_hooks_json_in_codexs_real_home ... 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::rehydrate::tests::an_archived_rollout_counts_as_existing ... 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_1_not_a_uuid ... 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::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_patch_comes_back_as_its_file_changes::case_2_script ... ok test harnesstools::codex::rehydrate::tests::a_patch_comes_back_as_its_file_changes::case_1_call ... 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_restore_forgets_codexs_history_of_the_rollout_gone ... 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_2_newer ... 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_4_first_prerelease ... ok test harnesstools::codex::session::tests::a_codex_version_tells_whether_it_records_usage::case_5_major ... ok test harnesstools::codex::rehydrate::tests::a_left_rollout_is_pointed_at_on_the_next_restore ... ok test harnesstools::codex::rehydrate::tests::the_rollout_is_written_whole_and_in_place ... 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::access::script::tests::a_quoted_command_reads_back ... ok test harnesstools::codex::rehydrate::tests::turns_are_written_for_codex_to_show ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_recaptures_as_the_same_rows::case_4_forked_subagent ... 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_3_legacy_forked_subagent ... ok test harnesstools::codex::session::tests::a_commands_exit_code_is_in_its_rollout::case_4_unknown ... 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_2_succeeded ... ok test harnesstools::codex::rehydrate::tests::a_rehydrated_rollout_recaptures_as_the_same_rows::case_1_paginated_with_compaction ... ok test harnesstools::codex::rehydrate::tests::call_id_and_token_count_keys_come_back ... ok test harnesstools::codex::session::tests::a_forked_subagent_keeps_only_its_own_history ... ok test harnesstools::codex::session::tests::a_fork_keeps_its_own_session_meta ... ok test harnesstools::codex::session::tests::a_legacy_forked_subagent_counts_only_its_own_call ... ok test harnesstools::codex::rehydrate::tests::notes_join_the_message_before_them_or_take_the_calls_id ... 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_pre_envelope_rollout_is_read ... ok test harnesstools::codex::session::tests::a_compaction_keeps_its_summary ... 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_resumed_reader_still_knows_usage_is_recorded::case_1_from_its_checkpoint ... 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_reverted_rollout_continues_its_history_base::case_1_from_the_first_rollout ... ok test harnesstools::codex::session::tests::a_resumed_reader_still_hides_inherited_history ... ok test harnesstools::codex::session::tests::a_real_rollout_counts_each_recorded_call_once ... ok test harnesstools::codex::session::tests::a_rollout_name_carries_its_session::case_1_current ... ok test harnesstools::codex::rehydrate::tests::usage_recaptures_with_its_counts_and_turn ... 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_3_reverted ... ok test fs::tree_watcher::tracker::tests::reconcile_with_rejections_keeps_one_stat_per_tracked_file ... ok test harnesstools::codex::session::tests::a_resumed_read_follows_the_checkpointed_line ... ok test harnesstools::codex::session::tests::a_thread_name_is_named_by_the_user::case_1_named ... ok test harnesstools::codex::session::tests::a_thread_name_is_named_by_the_user::case_2_cleared ... 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_thread_name_titles_the_session::case_2 ... ok test harnesstools::codex::session::tests::a_rollout_reports_each_call_once::case_2_modern ... ok test harnesstools::codex::session::tests::a_user_shell_command_keeps_the_command_not_its_output ... 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::an_agent_message_is_system_without_its_ciphertext ... 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_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_1_legacy ... ok test harnesstools::codex::session::tests::a_resumed_reader_knows_its_codex_records_usage ... 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_3_paginated ... ok test harnesstools::codex::session::tests::an_applied_patch_keeps_its_file_changes::case_5_failed_item ... ok test harnesstools::codex::session::tests::a_reverted_rollout_follows_where_it_continues::case_1_from_the_first_rollout ... 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::bookkeeping_keeps_no_row::case_4 ... 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::an_image_generation_keeps_its_prompt_not_its_image ... ok test harnesstools::codex::session::tests::bookkeeping_keeps_no_row::case_2 ... 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_6 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_1 ... ok test harnesstools::codex::session::tests::compacted_summary_is_kept::case_2_encrypted ... 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::contextual_user_messages_are_system::case_4 ... 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_5 ... ok test harnesstools::codex::session::tests::contextual_user_messages_are_system::case_9 ... ok test harnesstools::codex::session::tests::compaction_output_is_not_a_reply ... ok test harnesstools::codex::session::tests::enrichment_is_none_when_the_harness_did_not_provide_it ... ok test harnesstools::codex::session::tests::listener_reports_not_found_for_a_missing_root ... ok test harnesstools::codex::session::tests::developer_role_is_system ... 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::normalizes_a_codex_assistant_message ... ok test harnesstools::codex::session::tests::normalizes_a_codex_function_call ... ok test harnesstools::codex::session::tests::normalizes_a_codex_custom_tool_call ... ok test harnesstools::codex::session::tests::copied_snapshots_count_only_where_nothing_recorded_them::case_2_older_codex ... ok test harnesstools::codex::session::tests::other_tool_calls_normalize_to_tool_use::case_1 ... ok test harnesstools::codex::session::tests::copied_snapshots_count_only_where_nothing_recorded_them::case_1_recording_codex ... ok test harnesstools::codex::session::tests::messages_streams_turns_from_a_rollout_file ... 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_2 ... ok test harnesstools::codex::session::tests::existing_includes_archived_threads ... 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::codex::session::tests::other_tool_outputs_answer_their_call::case_1 ... ok test harnesstools::codex::session::tests::prefix_contains_stops_at_the_end::case_2 ... 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_3 ... ok test harnesstools::codex::session::tests::prefix_contains_stops_at_the_end::case_1 ... ok test harnesstools::codex::session::tests::normalizes_a_real_redacted_session::case_1 ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_2_spawned ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_1_fork ... ok test harnesstools::codex::session::tests::a_rewritten_rollout_forgets_what_its_old_lines_said::case_2_replaced ... ok test harnesstools::codex::session::tests::session_meta_git_branch_is_read ... 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_4_spawned_with_history ... ok test harnesstools::codex::session::tests::a_rewritten_rollout_forgets_what_its_old_lines_said::case_1_truncated ... ok test harnesstools::codex::session::tests::token_count_after_a_usage_record_has_no_usage ... ok test harnesstools::codex::session::tests::session_meta_names_its_parent::case_3_legacy_spawn ... 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_02_exec_failed ... 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_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_03_unified_ok ... ok test harnesstools::codex::session::tests::token_count_without_new_tokens_has_no_usage::case_1 ... 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::token_count_without_new_tokens_has_no_usage::case_2 ... ok test harnesstools::ccode::session::tests::events_leave_an_untouched_transcript_alone_until_it_changes::case_1_untouched ... 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::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_10_json_output_quotes_a_failure ... ok test harnesstools::codex::session::tests::token_usage_record_exposes_usage ... 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_12_plain_text ... ok test harnesstools::codex::session::tests::tool_output_error_is_derived_from_exit_code::case_09_json_failed ... ok test harnesstools::ccode::session::tests::events_leave_an_untouched_transcript_alone_until_it_changes::case_2_imported_meanwhile ... 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::turn_aborted_events_end_the_turn::case_1 ... ok test harnesstools::codex::session::tests::a_scripts_failures_and_patches_are_its_calls ... ok test harnesstools::codex::session::tests::tool_call_and_output_have_distinct_ids_despite_shared_call_id ... ok test harnesstools::codex::session::tests::typed_user_messages_stay_user_turns::case_3 ... ok test harnesstools::codex::session::tests::typed_user_messages_stay_user_turns::case_1 ... ok test harnesstools::codex::session::tests::an_event_goes_to_the_call_that_ran_it ... 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_3 ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_1 ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::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_6_task_complete_ok ... ok test harnesstools::codex::session::tests::turn_failures_report_an_error::case_5_task_complete_context_window ... ok test harnesstools::codex::session::tests::usage_input_excludes_cached_input ... ok test harnesstools::codex::session::tests::per_call_usage_adds_up_to_the_running_total::case_1_recorded ... ok test harnesstools::codex::session::tests::turn_context_exposes_model_and_cwd ... ok test harnesstools::codex::session::tests::usage_input_excludes_cache_writes ... ok test harnesstools::codex::session::tests::usage_record_is_keyed_by_its_response ... ok test harnesstools::continuation::tests::a_marker_names_both_ids ... ok test harnesstools::codex::session::tests::messages_ends_when_the_session_file_is_removed ... 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_2_more_after ... ok test harnesstools::codex::session::tests::messages_yields_lines_appended_after_discovery ... ok test harnesstools::continuation::tests::a_pasted_marker_is_no_link::case_3_other_rest ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_2_CODEX ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_1_CLAUDE ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_1_no_messages::target_3_OPENCODE ... 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_4_PI ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_1_CLAUDE ... ok test harnesstools::continuation::tests::a_conversation_opening_with_a_reply_gets_a_user_turn_first ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_2_only_injected::target_3_OPENCODE ... 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_3_only_blank::target_1_CLAUDE ... 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_2_only_injected::target_4_PI ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_3_OPENCODE ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_4_PI ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_2_CODEX ... ok test harnesstools::continuation::tests::a_continuations_marker_is_not_carried_on::target_1_CLAUDE ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_3_OPENCODE ... ok test harnesstools::codex::session::tests::watch_emits_sessions_as_files_appear ... ok test harnesstools::continuation::tests::an_empty_session_is_not_continued::case_3_only_blank::target_4_PI ... ok test ansi::tests::to_plain_text_is_idempotent_on_clean_single_line ... ok test harnesstools::continuation::tests::an_unreadable_compaction_starts_the_conversation ... ok test harnesstools::continuation::tests::a_long_conversation_starts_where_it_fits ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_1_claude ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_3_opencode ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_2_codex ... ok test harnesstools::continuation::tests::calls_carry_over_in_the_targets_rows::case_4_pi ... ok test harnesstools::continuation::tests::calls_that_cant_be_carried_become_notes ... ok test harnesstools::continuation::tests::each_model_call_is_a_step_and_the_assistant_ends ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_1_CLAUDE ... ok test harnesstools::continuation::tests::calls_become_notes_and_turns_merge ... 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_3_OPENCODE::target_3_OPENCODE ... ok test harnesstools::codex::state_db::tests::no_index_or_no_row_leaves_it_to_codex ... 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_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_3_OPENCODE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_2_CODEX::target_4_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_1_Some_ATUIN_ID_ ... ok test harnesstools::continuation::tests::markers_read_back::case_1_claude::atuin_id_2_None ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_1_CLAUDE::target_4_PI ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_1_typed_prompt ... ok test harnesstools::continuation::tests::markers_read_back::case_2_opencode::atuin_id_2_None ... ok test harnesstools::codex::state_db::tests::the_row_is_pointed_at_the_new_rollout::case_2_from_a_deleted_one ... ok test harnesstools::codex::state_db::tests::the_row_is_pointed_at_the_new_rollout::case_3_from_another_one ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_3_path_id ... 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::other_text_is_no_marker::case_5_unclosed_atuin_id ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_4_not_first_line ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_PI::target_4_PI ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_6_other_aside ... ok test harnesstools::continuation::tests::other_text_is_no_marker::case_2_unknown_harness ... ok test harnesstools::continuation::tests::summaries_are_short::case_1 ... ok test harnesstools::continuation::tests::summaries_are_short::case_2 ... ok test harnesstools::continuation::tests::rows_chain_where_the_target_keeps_a_tree::case_2 ... ok test harnesstools::continuation::tests::summaries_are_short::case_4 ... ok test harnesstools::continuation::tests::summaries_are_short::case_3 ... 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_1 ... ok test harnesstools::continuation::tests::rows_chain_where_the_target_keeps_a_tree::case_4 ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_PI::target_2_CODEX ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_PI::target_1_CLAUDE ... ok test harnesstools::continuation::tests::the_prompts_before_a_cut_leave_out_a_marker ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_4_PI::target_3_OPENCODE ... 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::repeated_notes_are_counted ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_1_CLAUDE ... ok test harnesstools::codex::state_db::tests::a_threads_history_is_forgotten ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_OPENCODE::target_3_OPENCODE ... ok test harnesstools::continuation::tests::opencode_writes_each_step_as_a_message ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_PI::target_4_PI ... ok test harnesstools::continuation::tools::tests::call_ids_are_ones_the_apis_take_and_unique ... ok test harnesstools::codex::session::tests::a_large_commands_exit_code_is_found ... ok test harnesstools::continuation::tools::tests::calls_translate::case_02_codex_to_claude ... ok test harnesstools::continuation::tools::tests::calls_translate::case_01_claude_to_opencode ... ok test harnesstools::continuation::tools::tests::calls_translate::case_03_codex_within ... ok test harnesstools::continuation::tools::tests::calls_translate::case_04_codex_elsewhere ... ok test harnesstools::continuation::tools::tests::calls_translate::case_06_claude_to_codex ... ok test harnesstools::continuation::tools::tests::calls_translate::case_05_codex_argv ... ok test harnesstools::continuation::tools::tests::calls_translate::case_07_read ... 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::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_4_PI ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_2_CODEX ... ok test fs::tree_watcher::tracker::tests::reconcile_entries_always_equal_truth ... ok test harnesstools::continuation::tools::tests::calls_translate::case_12_codex_item_name ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_4_PI ... ok test harnesstools::continuation::tools::tests::calls_translate::case_13_glob_to_pi ... ok test harnesstools::continuation::tools::tests::calls_translate::case_16_mcp ... ok test harnesstools::continuation::tools::tests::calls_translate::case_11_multi_edit_kept_foreign ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_1_CLAUDE::target_3_OPENCODE ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_PI::target_3_OPENCODE ... ok test harnesstools::continuation::tools::tests::calls_translate::case_15_read_to_codex ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_PI::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_3_OPENCODE ... ok test harnesstools::continuation::tools::tests::calls_translate::case_18_odd_name ... ok test harnesstools::continuation::tools::tests::calls_translate::case_17_patch_freeform ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_3_uncaptured ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_OPENCODE::target_2_CODEX ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_1_string ... ok test harnesstools::continuation::tools::tests::calls_translate::case_14_grep ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_OPENCODE::target_1_CLAUDE ... ok test harnesstools::continuation::tests::every_pair_continues_in_the_targets_shape::source_3_OPENCODE::target_4_PI ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_4_structured ... ok test harnesstools::continuation::tools::tests::outputs_become_text::case_2_blocks ... ok test harnesstools::json_hooks::tests::hook_command_quotes_posix_executable_paths::case_3_metacharacters ... ok test harnesstools::json_hooks::tests::hook_command_quotes_posix_executable_paths::case_1_plain ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_2_absolute ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_1_bare ... ok test harnesstools::json_hooks::tests::hook_command_quotes_posix_executable_paths::case_2_apostrophe ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_4_wrapper ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_5_backup ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_6_different_harness ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_OPENCODE::target_4_PI ... ok test harnesstools::json_hooks::tests::recognizes_only_atuin_executables::case_3_windows_suffix ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_OPENCODE::target_2_CODEX ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_4_PI::target_1_CLAUDE ... ok test harnesstools::mcp::tests::launch_path_takes_atuin_only_from_absolute_path_entries::case_2_relative_entry ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_3_OPENCODE::target_1_CLAUDE ... ok test harnesstools::mcp::tests::launch_path_takes_atuin_only_from_absolute_path_entries::case_1_absolute_entry ... ok test harnesstools::continuation::tests::the_target_reads_back_the_conversation_and_its_parent::source_2_CODEX::target_1_CLAUDE ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_01_claude_bash ... 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::json_hooks::tests::add_hook_entries_keeps_an_installed_entry_in_place ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_07_codex_shell ... 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_05_claude_glob ... 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_04_claude_grep ... ok test ansi::tests::all_rows_are_returned_however_short_the_screen ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_11_codex_plan ... 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_14_pi_read ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_17_captured_exec ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_16_captured_bash ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_18_captured_edit ... ok test harnesstools::note::tests::long_inputs_are_cut ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_12_opencode_edit ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_15_pi_ls ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_19_captured_patch ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_20_captured_task ... ok test harnesstools::note::tests::repeated_notes_are_counted ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_22_mcp ... ok test harnesstools::json_hooks::tests::add_hook_entries_replaces_legacy_commands_without_duplicates ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_21_captured_other ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_13_opencode_patch ... ok test harnesstools::note::tests::notes_name_the_call_and_its_key_input::case_10_codex_patch ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_8_none ... 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_7_glob ... 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_1_edit ... 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_3_runner ... ok test harnesstools::opencode::rehydrate::tests::a_calls_metadata_reads_as_its_patch::case_2_apply_patch ... ok test harnesstools::mcp::tests::opencode_keeps_a_linked_config_linked ... ok test harnesstools::mcp::tests::opencode_keeps_the_rest_of_its_config ... ok test harnesstools::opencode::rehydrate::tests::a_reply_is_written_on_its_provider::case_1_captured_routed ... ok test harnesstools::mcp::tests::opencode_gets_a_new_config ... ok test harnesstools::opencode::rehydrate::tests::a_reply_is_written_on_its_provider::case_2_named ... ok test harnesstools::opencode::rehydrate::tests::an_id_opencode_would_not_take_is_refused::case_2_a_path ... 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_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::fork::tests::a_fork_from_a_tip_keeps_the_rows_up_to_it ... ok test harnesstools::opencode::rehydrate::tests::a_result_apart_from_its_call_joins_it ... ok test harnesstools::opencode::rehydrate::tests::an_unfinished_call_is_pending_and_minted_ids_are_stable ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_1_CLAUDE ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_4_PI ... ok test harnesstools::opencode::rehydrate::tests::a_session_opencode_already_holds_is_not_imported_again ... ok test harnesstools::opencode::rehydrate::tests::a_fork_renames_ids_not_what_was_said ... 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_02_stop_sequence ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_01_end_turn ... 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_03_max_tokens ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_finishes_as_opencode_2_takes_it::case_05_refusal ... ok test harnesstools::opencode::rehydrate::tests::every_kind_of_row_recaptures_as_itself ... 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_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_08_another_harness_s ... ok test harnesstools::fork::tests::a_fork_of_a_codex_segment_continues_its_history::base_here_2_false ... 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_is_written_on_its_provider::case_3_named ... 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_4_neither ... ok test harnesstools::fork::tests::a_fork_of_a_codex_segment_continues_its_history::base_here_1_true ... ok test harnesstools::opencode::rehydrate::v2::tests::a_call_is_written_on_its_provider::case_1_captured ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_2_CODEX ... 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 harnesstools::opencode::rehydrate::v2::tests::a_call_without_a_result_is_written_aborted ... 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_3_codex_s_text ... ok test harnesstools::fork::tests::an_opencode_fork_of_only_replies_names_its_original ... 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::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_2_a_claude_image ... ok test harnesstools::opencode::rehydrate::tests::a_real_session_recaptures_as_the_same_rows ... 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::a_tool_s_output_is_written_as_opencode_2_keeps_it::case_4_a_failed_command ... 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::the_session_ended_as_its_last_turn_did::case_2_failed ... ok test harnesstools::opencode::rehydrate::tests::how_much_of_a_session_opencode_holds ... ok test harnesstools::opencode::rehydrate::v2::tests::every_kind_of_1_x_row_goes_into_a_message ... 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_2_failed ... ok test harnesstools::opencode::session::tests::a_command_that_exited_non_zero_is_an_error::case_1_succeeded ... ok test harnesstools::fork::tests::a_fork_reads_back_as_the_original_linked_as_its_fork::harness_3_OPENCODE ... ok test harnesstools::opencode::rehydrate::tests::a_partly_imported_session_is_imported_again ... ok test harnesstools::opencode::rehydrate::tests::import_runs_opencode_from_the_session_directory ... FAILED test harnesstools::opencode::rehydrate::v2::tests::opencode_2_imports_its_own_export ... ok test harnesstools::opencode::rehydrate::v2::tests::a_copy_of_a_restored_message_in_another_session_is_its_own ... 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_1_text_part_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_5_no_clock ... ok test harnesstools::opencode::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes ... ok test harnesstools::opencode::session::tests::a_part_keeps_its_own_clock::case_4_envelope_fallback ... 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_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::rehydrate::v2::tests::a_row_no_message_is_written_for_is_held::case_2_a_retry_only_turn ... 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_4_a_result_apart ... ok test harnesstools::access::script::tests::a_name_read_many_times_reads_whole ... 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::session::tests::a_bad_row_is_reported_and_the_tail_continues ... ok test harnesstools::opencode::session::tests::a_part_is_delivered_only_once_it_is_finished ... 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::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::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_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_4_4 ... ok test harnesstools::opencode::rehydrate::v2::tests::a_real_session_recaptures_as_the_same_rows ... 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_5_5 ... 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_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_1_0::waits_6_6 ... 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_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_fork_is_linked_to_its_original ... 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::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_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_session_whose_tail_is_gone_reads_its_aggregate_out ... 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_whose_id_is_not_utf8_reads_its_own_rows::case_1_a_blob ... ok test harnesstools::opencode::session::tests::an_ignored_first_row_spawns_no_session ... ok test harnesstools::opencode::session::tests::a_session_of_the_experimental_event_system_is_read ... 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_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_1_aborted ... 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::captured::a_failed_assistant_turn_is_captured::case_4_content_filter ... ok test harnesstools::opencode::session::tests::a_dropped_session_handle_is_offered_again_with_nothing_lost ... 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::captured::a_parts_context_is_looked_up_when_its_message_row_is_not_to_hand ... 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::captured::a_revert_leaves_what_was_captured_as_it_stands::case_2_message ... ok test harnesstools::opencode::session::tests::discover_prefers_opencode_db_then_the_newest_channel_db ... 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::listener_reports_not_found_for_a_missing_db ... ok test harnesstools::opencode::session::tests::falls_back_to_other_for_an_unknown_part_type ... ok test harnesstools::opencode::session::tests::normalizes_a_text_part ... ok test harnesstools::opencode::session::tests::normalizes_a_completed_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::normalizes_an_errored_tool_part ... 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_02_finished_text ... 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::captured::a_forked_copy_of_a_step_is_the_same_turn_as_its_original ... 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::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_07_a_running_call ... ok test harnesstools::opencode::session::tests::captured::a_turns_usage_is_captured_once_from_its_step ... 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_08_a_completed_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::only_a_part_opencode_is_still_writing_is_a_draft::case_11_a_step_written_once ... ok test harnesstools::opencode::session::tests::captured::each_step_of_a_message_is_a_turn_of_its_own ... ok test harnesstools::opencode::session::tests::preserves_a_structured_tool_output ... ok test harnesstools::opencode::session::tests::a_session_drains_past_one_page_on_one_thread ... 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_1_synthetic ... ok test harnesstools::opencode::session::tests::captured::an_assistant_part_carries_its_messages_context ... ok test harnesstools::opencode::session::tests::captured::text_the_harness_injected_is_the_systems::case_2_ignored ... ok test harnesstools::opencode::session::tests::events_demultiplex_sessions_on_one_thread ... ok test harnesstools::opencode::session::tests::captured::the_session_title_is_captured_as_it_changes ... ok test harnesstools::opencode::session::tests::replay_all_backfills_preexisting_rows ... 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::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::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::tests::rows_written_after_an_event_log_wipe_are_delivered ... 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_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::v2::tests::a_call_says_how_it_ended::case_7_a_refusal ... ok test harnesstools::opencode::session::tests::reconstructs_two_interleaved_sessions_from_a_fixture ... ok test harnesstools::opencode::session::tests::projected::a_projected_draft_is_not_delivered ... ok test harnesstools::opencode::session::tests::projected::a_session_only_the_projection_holds_is_listed_and_read ... 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::v2::tests::a_fork_s_copy_of_a_call_is_the_same_call ... ok test harnesstools::opencode::session::tests::projected::a_title_the_log_changed_since_the_wipe_is_the_last ... 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_session_older_than_its_log_is_read_from_the_projection ... 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::v2::tests::a_2_0_only_database_is_read_whole ... 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_checkpoint_grows_with_either_place ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_1_a_prompt ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_2_a_subagent_s_prompt ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_3_synthetic ... ok test harnesstools::opencode::session::tests::a_session_taken_up_again_resumes_where_it_stopped ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_4_system ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_5_skill ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_6_a_shell_command ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_7_a_compaction ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_8_a_failed_compaction ... ok test harnesstools::opencode::session::v2::tests::a_row_says_what_its_type_says::case_9_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_2_an_agent_switch ... 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_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::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_1_failed ... 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::an_edit_s_diff_is_its_patch ... ok test harnesstools::opencode::session::v2::tests::a_fork_s_copies_count_no_call_twice ... 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_renamed_session_read_from_scratch_is_titled_at_its_start ... ok test harnesstools::opencode::session::tests::a_dropped_offer_waits_for_the_session_s_next_row ... ok test harnesstools::opencode::tests::each_opencode_gets_the_plugin_it_loads::case_1_none ... ok test harnesstools::opencode::session::v2::tests::a_row_at_the_last_seq_is_read ... 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 ... ok test harnesstools::pi::rehydrate::tests::a_parent_cycle_hangs_from_the_entry_before ... ok test harnesstools::pi::rehydrate::tests::a_cycle_closed_by_clock_skew_is_cut ... 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::v2::tests::a_restored_backup_is_read_again_from_the_start ... 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::opencode::session::v2::tests::a_checkpoint_names_both_places ... ok test harnesstools::opencode::session::tests::rows_written_after_a_session_delete_are_delivered_once ... ok test harnesstools::opencode::session::tests::replay_from_now_skips_preexisting_rows ... 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::never_overwrites_a_session ... 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::a_session_reads_back_as_it_was_captured::case_1_mock ... ok test harnesstools::pi::rehydrate::tests::output_not_captured_says_so ... 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::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_2_session1 ... 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::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_3_session2 ... ok test harnesstools::pi::session::tests::a_line_json_parse_reads_is_read::case_2_invalid_utf8 ... ok test harnesstools::pi::session::tests::a_line_json_parse_reads_is_read::case_1_lone_surrogate ... ok test harnesstools::pi::rehydrate::tests::synced_calls_come_back_as_notes_the_api_takes::case_1_mock ... 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_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::an_assistant_turn_is_named_by_what_a_fork_copies::case_2_blank_response_id ... 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_assistant_turn_is_named_by_what_a_fork_copies::case_1_response_id ... ok test harnesstools::opencode::session::tests::capture_resumes_after_the_event_table_is_gone_for_a_while ... ok test harnesstools::opencode::session::v2::tests::a_database_without_an_event_log_is_captured ... 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::an_event_embedding_a_message_is_no_message::case_1_message_start ... 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::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_1_ok ... 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::bash_execution_is_a_user_command_with_its_output::case_3_cancelled ... ok test harnesstools::pi::rehydrate::tests::a_session_reads_back_as_it_was_captured::case_3_session2 ... ok test harnesstools::pi::session::tests::enrichment_is_none_when_the_harness_did_not_provide_it ... 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_1_entry_shown ... ok test harnesstools::pi::session::tests::custom_messages_keep_their_content::case_4_v2_hook_message ... ok test harnesstools::pi::session::tests::an_edits_result_keeps_its_patch::case_1_patch ... ok test harnesstools::pi::session::tests::custom_messages_keep_their_content::case_2_entry_hidden ... 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_1_compaction ... ok test harnesstools::pi::session::tests::entries_with_their_own_usage_report_it::case_3_cache_warm ... ok test harnesstools::pi::session::tests::a_v1_session_reads_the_same_after_pi_migrates_it ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_2_env ... ok test harnesstools::pi::session::tests::exposes_parent_id_and_session_info_title ... ok test harnesstools::pi::session::tests::finds_the_session_root_as_pi_does::case_1_default ... ok test harnesstools::pi::session::tests::existing_does_not_follow_symlinked_dirs ... 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_5_settings_bom ... 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_6_settings_tilde ... 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_8_settings_without ... ok test harnesstools::pi::session::tests::existing_finds_every_session_file_under_root ... 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_9_settings_malformed ... ok test harnesstools::pi::session::tests::listener_reports_not_found_for_a_missing_root ... ok test harnesstools::pi::session::tests::header_parent_session_path_resolves_to_the_parent_id::case_1 ... ok test harnesstools::pi::session::tests::maps_pi_stop_reason_vocabulary::case_5 ... ok test harnesstools::pi::session::tests::header_parent_session_path_resolves_to_the_parent_id::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_1 ... 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_2 ... ok test harnesstools::pi::session::tests::normalizes_a_pi_user_message ... ok test harnesstools::pi::session::tests::image_blocks_drop_their_bytes ... ok test harnesstools::pi::session::tests::normalizes_a_real_redacted_session::case_1 ... ok test harnesstools::pi::session::tests::normalizes_pi_assistant_enrichment_fields ... 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_1_user ... ok test harnesstools::pi::session::tests::omp_title_changes_are_titles::case_3_blank ... 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::normalizes_pi_tool_call_and_result ... 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_04_after_blank_lines ... 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_09_bom ... ok test harnesstools::pi::session::tests::messages_streams_turns_from_a_pi_session_file ... 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_11_after_omp_title_slot ... 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_12_omp_title_slot_alone ... ok test harnesstools::pi::session::tests::read_yields_all_messages_and_terminates ... ok test harnesstools::pi::session::tests::session_info_names_are_trimmed_titles::case_1 ... 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::normalizes_a_real_redacted_session::case_2 ... ok test harnesstools::pi::session::tests::summary_entries_keep_their_summary::case_2 ... ok test harnesstools::pi::session::tests::summary_entries_keep_their_summary::case_1 ... ok test harnesstools::pi::session::tests::the_header_names_the_parent_session::case_1_fork ... 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_4_root ... ok test harnesstools::pi::session::tests::session_id_comes_from_the_header_not_the_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::tool_result_usage_is_not_session_usage ... 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_2_no_row_to_change ... ok test harnesstools::rehydrate::tests::a_note_without_text_before_it_takes_its_calls_row::case_1_own_row ... ok test harnesstools::rehydrate::tests::a_run_ending_on_a_flattened_call_ends_the_turn ... ok test harnesstools::pi::session::tests::reads_a_session_pi_wrote ... ok test harnesstools::rehydrate::tests::calls_kept_with_their_input_stay_calls::case_2_notes ... ok test harnesstools::rehydrate::tests::calls_kept_with_their_input_stay_calls::case_1_runs ... ok test harnesstools::rehydrate::tests::notes_join_only_text_they_follow::case_2_across_a_prompt ... 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_3_across_a_kept_call ... ok test harnesstools::rehydrate::tests::runs_merge_into_their_last_row ... ok test harnesstools::rehydrate::tests::nothing_to_flatten_changes_nothing ... ok test harnesstools::rehydrate::tests::notes_join_the_text_before_them ... ok test harnesstools::resume::tests::harnesses::a_claude_subagent_is_not_resumable ... ok test harnesstools::pi::session::tests::watch_emits_sessions_as_files_appear ... ok test harnesstools::resume::tests::harnesses::a_non_utf8_path_is_an_error ... ok test harnesstools::resume::tests::harnesses::codex_resumes_a_reverted_rollout_by_its_thread ... ok test harnesstools::resume::tests::harnesses::a_template_keeps_the_harness_cwd_requirement ... 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_3_empty ... 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_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::pi_finds_a_session_by_its_file_name_and_header ... ok test harnesstools::resume::tests::locate::pi_trusts_the_header_over_the_file_name ... ok test harnesstools::resume::tests::prepare_drops_a_preferred_cwd_that_is_gone ... ok test harnesstools::resume::tests::prepare_keeps_a_cwd_that_exists ... ok test harnesstools::resume::tests::locate::opencode_finds_a_2_0_session ... ok test harnesstools::resume::tests::quote_words::case_01_bare ... ok test harnesstools::resume::tests::prepare_rejects_a_required_cwd_that_is_gone ... ok test harnesstools::resume::tests::quote_words::case_02_uuid ... ok test harnesstools::resume::tests::locate::opencode_finds_a_session_in_its_database ... ok test harnesstools::resume::tests::quote_words::case_03_empty ... ok test harnesstools::resume::tests::quote_words::case_04_space ... 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_06_only_quote ... 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_11_dollar ... ok test harnesstools::resume::tests::quote_words::case_10_inner_equals ... 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_16_bang ... ok test harnesstools::resume::tests::quote_words::case_15_newline ... 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::pi::session::tests::messages_ends_when_the_session_file_is_removed ... ok test harnesstools::pi::session::tests::watch_waits_for_a_header_being_written ... ok test harnesstools::pi::session::tests::messages_yields_lines_appended_after_discovery ... ok test harnesstools::resume::tests::shells_read_quoted_words_back::shell_3___fish__ ... FAILED test harnesstools::resume::tests::shells_read_quoted_words_back::shell_2___zsh__ ... FAILED test harnesstools::resume::tests::shells_run_a_rendered_plan::shell_2___zsh__ ... FAILED test harnesstools::resume::tests::shells_run_a_rendered_plan::shell_3___fish__ ... FAILED test harnesstools::resume::tests::shells_read_quoted_words_back::shell_1___bash__ ... ok test harnesstools::resume::tests::template_leaves_other_braces_alone ... 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_errors::case_1_path ... ok test harnesstools::resume::tests::template_errors::case_2_cwd ... 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::template_substitutes_each_placeholder_in_its_word ... ok test harnesstools::session::any::tests::any_sessions_listener_reports_not_found ... ok test harnesstools::resume::tests::shells_run_a_rendered_plan::shell_1___bash__ ... 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::content_variants_are_distinct ... 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_5_uncaptured ... 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_3_blocks ... ok test harnesstools::session::patch::tests::a_short_hunk_does_not_swallow_the_next ... ok test harnesstools::opencode::session::v2::tests::an_untouched_session_is_left_alone_until_it_is_updated ... ok test harnesstools::session::any::tests::any_message_dispatches_the_message_trait ... 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::added_and_deleted_files_give_their_content_back::case_1_trailing_newline ... ok test harnesstools::session::patch::tests::carriage_returns_are_part_of_the_line ... ok test harnesstools::session::patch::tests::an_added_files_path::case_2_git ... ok test harnesstools::session::patch::tests::an_added_files_path::case_1_plain ... 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::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::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_5_directory_named_b ... 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::writes_pi_diffs ... ok test harnesstools::session::patch::tests::writes_pi_diffs_of_hunks_numbered_past_the_last_line ... ok test harnesstools::opencode::session::v2::tests::a_migrated_session_s_tip_is_its_last_2_0_row ... ok test harnesstools::session::patch::tests::summarises_the_files_changed ... 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_1_JsonlHarness__Ccode ... 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_3_JsonlHarness__Pi ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_2_without_a_checkpoint::harness_3_JsonlHarness__Pi ... 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_3_rewritten_to_the_same_length::harness_1_JsonlHarness__Ccode ... ok test harnesstools::session::tests::a_transcript_resumes_only_where_its_checkpoint_still_holds::case_3_rewritten_to_the_same_length::harness_3_JsonlHarness__Pi ... 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::opencode::session::v2::tests::the_fixture_s_sessions_read_as_opencode_wrote_them ... 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_3_JsonlHarness__Pi ... ok test harnesstools::session::tests::message_trait_exposes_a_normalized_view ... 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::a_reported_again_session_replaces_its_earlier_stream ... ok test harnesstools::pi::session::tests::watch_reads_a_file_again_after_a_failed_read ... 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::opencode::session::v2::tests::a_rename_is_delivered ... 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_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_registered_session_is_checked_against_the_process_table::case_1_macos_running ... 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_registered_session_is_checked_against_the_process_table::case_3_macos_crashed ... 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_6_windows_running ... 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_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_4_pid_reused ... 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_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_5_another_pid_namespace ... 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_7_unreadable_and_gone ... 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_subagents_lines_are_keyed_as_capture_keys_them::case_1_spawned ... ok test harnesstools::sync::ccode::tests::a_fast_forward_resumes_from_the_last_row::case_1_linear ... 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::opencode::session::v2::tests::replay_from_now_skips_preexisting_rows ... ok test harnesstools::sync::ccode::tests::a_transcript_changed_since_it_was_read_is_left_alone ... 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::the_tip_is_where_claude_code_resumes::case_01_linear ... 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::a_switch_inside_a_merged_run_past_a_failed_call_keeps_its_text ... 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::lines_with_no_id_are_keyed_as_capture_keys_them ... 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_02_the_lines_hanging_from_the_leaf_follow_it ... 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_06_a_leaf_on_another_branch ... 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_records_where_the_copy_works ... ok test harnesstools::sync::ccode::tests::a_switch_passes_the_rows_beside_the_tree_by ... ok test harnesstools::session::model::tests::message_id_display_equals_source ... 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::the_tip_is_where_claude_code_resumes::case_11_progress_lines_are_skipped_over ... 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_4_already_here ... ok test harnesstools::sync::ccode::tests::what_is_no_clean_fast_forward_is_refused::case_2_a_root ... 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::what_is_no_clean_fast_forward_is_refused::case_5_the_last_row_would_not_be_resumed ... ok test harnesstools::resume::tests::any_word_survives_quoting ... FAILED 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::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_1_one_rollout ... ok test harnesstools::sync::codex::tests::a_legacy_rollout_is_not_appended_to ... 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 db::sqlite::observe::driver::tests::append_checks_the_anchor_in_the_page_snapshot ... ok test harnesstools::sync::codex::tests::a_thread_codex_holds_is_left_alone ... 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::the_tip_records_where_the_copy_works ... ok test harnesstools::sync::codex::tests::the_copy_says_up_front_when_it_cant_be_switched::case_4_continuing_another ... 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::what_is_no_clean_fast_forward_is_refused::case_1_changed_since ... 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::codex::tests::without_locks_a_codex_elsewhere_counts_when_named_or_writing::case_2_changed_long_ago_named_nowhere ... 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::codex::tests::without_locks_a_codex_elsewhere_counts_when_named_or_writing::case_3_changed_long_ago_named ... ok test harnesstools::sync::liveness::tests::a_harness_counts_in_any_of_the_sessions_directories::case_3_neither ... ok test harnesstools::sync::codex::tests::what_is_no_clean_fast_forward_is_refused::case_2_off_an_older_row ... 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::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_8_its_directory_read_empty ... ok test harnesstools::sync::liveness::tests::a_harness_counts_only_where_the_session_works::case_9_the_sessions_directory_unknown ... 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_01_named_by_opencode_s ... 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_04_named_by_its_file ... 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_tells_whether_the_harness_runs::case_1_none_running ... 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_proc_filesystem_tells_where_a_process_works ... ok test harnesstools::sync::liveness::tests::a_proc_filesystem_is_read_as_linux_lays_it_out ... 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_is_read_as_sysinfo_reads_it ... 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_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_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::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_2_a_segment ... 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_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_7_no_name_nor_command_line ... 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_9_no_stat_another_program ... 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_recent_change_is_changing::case_1_ten_seconds_ago ... 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_3_just_over_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::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::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::codex::tests::a_fast_forward_numbers_on_from_the_last_line::case_1_mid_session ... 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_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_07_a_name_it_merely_contains ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_06_another_program ... 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::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_10_a_script_after_flags_by_name ... 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_13_a_flag_naming_the_agent ... 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::codex::tests::a_fast_forward_numbers_on_from_the_last_line::case_2_near_the_end ... 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_15_an_argument_of_a_script_bun_runs ... 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_19_a_script_after_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::opencode::session::v2::tests::a_revert_of_the_checkpoint_s_row_goes_on_past_it ... ok test harnesstools::sync::liveness::tests::any_process_of_the_agent_may_be_writing::case_20_a_script_deno_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::processes_that_cant_be_read_are_unknown ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_3_changed ... 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_3_a_minted_reply_that_may_be_the_held_one ... 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_5_a_minted_reply_beside_the_held_one ... 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_4_a_minted_reply_none_may_be ... ok test harnesstools::sync::opencode::tests::a_new_message_must_sort_after_the_last::case_4_an_earlier_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_1_a_later_millisecond ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_1_two_rollouts ... ok test harnesstools::sync::codex::tests::a_switch_that_cant_be_made_writes_nothing::case_4_locked ... ok test harnesstools::opencode::session::v2::tests::a_database_being_written_is_captured_row_for_row ... ok test harnesstools::sync::opencode::tests::any_opencode_running_may_be_writing::case_2_none ... ok test harnesstools::sync::opencode::tests::any_opencode_running_may_be_writing::case_1_an_opencode_running ... ok test ansi::tests::onlcr_agrees_with_the_byte_at_a_time_implementation ... 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::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_1_running_its_last_reply_completed ... 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::opencode::tests::an_opencode_elsewhere_counts_when_named_or_writing::case_2_changed_long_ago_named_nowhere ... 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::an_opencode_elsewhere_counts_when_named_or_writing::case_1_changed_lately_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::opencode::tests::a_2_0_session_s_tip_is_the_last_row_capture_delivers ... ok test harnesstools::session::patch::tests::unified_diffs_round_trip ... 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_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_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_3_custom_name_relative ... 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_forks_header_is_keyed_as_capture_keys_it::case_2_custom_name ... 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::pi::tests::a_pi_is_told_apart_by_where_it_works::case_2_elsewhere ... 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_fast_forward_resumes_from_the_last_entry ... ok test harnesstools::sync::pi::tests::a_switch_that_cant_be_made_writes_nothing::case_2_version_1 ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_6_a_part_edited_since ... ok test harnesstools::sync::pi::tests::a_switch_that_cant_be_made_writes_nothing::case_1_changed ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_5_a_part_removed_since ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_4_a_revert_pending ... ok test harnesstools::sync::pi::tests::any_pi_running_may_be_writing::case_1_a_pi_running ... ok test harnesstools::sync::pi::tests::any_pi_running_may_be_writing::case_2_none ... ok test harnesstools::sync::pi::tests::an_old_file_is_unswitchable::case_1_version_1 ... ok test harnesstools::sync::pi::tests::an_old_file_is_unswitchable::case_2_version_3 ... ok test harnesstools::sync::opencode::tests::only_a_clean_fast_forward_is_imported::case_7_a_message_edited_since ... ok test harnesstools::sync::pi::tests::a_switch_that_cant_be_made_writes_nothing::case_3_shares_nothing ... ok test harnesstools::sync::pi::tests::the_tip_records_where_the_copy_works ... ok test harnesstools::sync::pi::tests::a_switch_inside_a_merged_run_keeps_its_text::case_2_off_its_result ... 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::what_is_no_clean_fast_forward_is_refused::case_3_an_id_the_file_holds ... 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_4_changed ... 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_2_merged_into_a_line ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_1_after_the_tip ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_5_beside_the_tree_not_held ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_3_shares_nothing ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_7_beside_the_tree_first ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_8_only_beside_the_tree ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_4_holds_rows_past_it ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_6_beside_the_tree_after_it ... ok test harnesstools::sync::tests::a_branch_leaves_a_transcript_where_it_stops_holding_it::case_9_codex_content_keyed ... ok test harnesstools::sync::tests::a_switch_resumes_from_the_head::case_1_the_tip ... ok test harnesstools::sync::opencode::tests::the_tip_is_the_last_row_opencode_reads ... ok test harnesstools::sync::tests::a_switch_resumes_from_the_head::case_2_merged_into_the_tip ... ok test harnesstools::sync::pi::tests::a_switch_inside_a_merged_run_past_a_failed_call_keeps_its_text ... 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_4_empty ... ok test harnesstools::sync::tests::a_switch_keeps_its_backup_unless_nothing_was_replaced::case_2_changed_meanwhile ... 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::opencode::tests::only_a_clean_fast_forward_is_imported::case_8_edited_before_the_tip_was_read ... ok test harnesstools::sync::tests::a_switch_keeps_its_backup_unless_nothing_was_replaced::case_3_failed_before_the_rename ... ok test harnesstools::sync::pi::tests::lines_pi_gave_ids_converting_a_file_are_keyed_as_capture_keys_them ... ok test harnesstools::sync::tests::a_switch_writes_the_rows_past_the_branch_point_the_copy_kept_none_of ... 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_04_in_the_same_one ... ok test harnesstools::sync::pi::tests::a_switch_keeps_the_shared_entries_and_the_names ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_06_caller_saw_nowhere ... ok test harnesstools::opencode::session::v2::tests::rows_that_settle_out_of_order_are_all_delivered_across_a_restart ... 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_03_in_neither ... ok test harnesstools::sync::tests::an_append_looks_where_the_transcript_and_its_caller_work::case_07_recorded_gone ... ok test harnesstools::sync::tests::a_switch_keeps_its_backup_unless_nothing_was_replaced::case_1_replaced ... 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_08_recorded_gone_caller_saw_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::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_07_in_order ... 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_10_beside_the_tree ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_08_an_id_held ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_09_an_id_twice ... ok test harnesstools::sync::opencode::tests::a_copy_left_mid_reply_is_not_live_but_forked ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_03_from_an_older_line ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_11_beside_the_tree_after_a_row ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_06_chained_from_an_older_line ... ok test harnesstools::sync::opencode::tests::a_fast_forward_imports_the_tail::case_2_mid_turn ... ok test harnesstools::sync::tests::only_rows_continuing_the_tip_fast_forward::case_05_chained_from_nothing ... ok test harnesstools::sync::pi::tests::a_switch_writes_the_rows_beside_the_tree_that_go_with_the_branch ... ok test harnesstools::sync::tests::backups_never_overwrite_each_other ... ok test io::line_reader::tests::a_file_rewritten_in_place_restarts::case_2_longer::resumed_2_true ... ok test harnesstools::sync::tests::opencode_is_never_switched ... 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_line_read_in_part_rewritten_in_place_restarts ... 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_file_rewritten_with_what_was_read_reads_on ... ok test io::line_reader::tests::a_failed_open_keeps_the_position ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_1_first_line ... 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::finds_the_line_ending_at_an_offset::case_2_last_line ... ok test io::line_reader::tests::a_held_file_is_followed_past_a_replacement_at_its_path ... 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_6_past_the_end ... ok test io::line_reader::tests::a_reader_resumed_past_the_end_restarts ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_5_mid_line ... ok test io::follow_lines::tests::a_change_while_the_stream_is_suspended_is_not_lost ... ok test io::line_reader::tests::returns_complete_lines_only::case_1_empty ... ok test io::follow_lines::tests::a_failed_read_after_the_sender_drops_ends_the_stream_quietly ... ok test io::line_reader::tests::finds_the_line_ending_at_an_offset::case_4_start_of_file ... ok test io::line_reader::tests::a_file_replaced_at_the_path_restarts ... ok test io::follow_lines::tests::read_to_end_reads_a_single_pass ... 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_1_____ ... ok test io::line_reader::tests::returns_complete_lines_only::case_2_one ... ok test io::line_reader::tests::returns_complete_lines_only::case_5_only_a_fragment ... 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::a_line_longer_than_a_read_is_returned_whole ... ok test io::pooled_read_lines::tests::a_restart_is_read_through_in_the_same_batch::restart_2_ReadLinesError__Replaced ... 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_value_json_parse_reads_is_read::case_2_whole ... ok test io::line_reader::tests::the_iterator_ends_after_its_first_error ... ok test io::pooled_read_lines::tests::a_restart_is_read_through_in_the_same_batch::restart_1_ReadLinesError__Truncated ... ok test json::js::tests::a_value_json_parse_reads_is_read::case_3_invalid_utf8 ... ok test io::follow_lines::tests::a_failing_read_is_retried_and_only_its_first_failure_yielded ... ok test json::js::tests::a_malformed_value_keeps_its_error ... ok test json::js::tests::a_value_json_parse_reads_is_read::case_1_lone ... 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_04_high_before_a_pair ... 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_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_09_other_escapes ... 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 io::line_reader::tests::truncation_below_the_read_position_restarts ... 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_10_not_an_escape_at_all ... 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_11_cut_short ... ok test os::fs::tests::distinct_files_have_distinct_identities ... ok test os::fs::tests::the_same_file_keeps_its_identity_across_handles ... ok test os::fs::tests::metadata_identity_matches_the_handle_identity ... ok test json::jsonl::tests::deserializes_each_non_blank_line::case_1_values ... 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_4_a_read_error_is_not_the_end ... ok test json::jsonl::tests::deserializes_each_non_blank_line::case_3_a_malformed_line_is_not_the_end ... ok test io::pooled_read_lines::tests::a_batch_stops_once_it_is_full ... ok test json::jsonl::tests::a_line_whose_decoding_panics_is_malformed ... 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::io::tests::writes_everything::case_1_single_write::nonblocking_1_false ... ok test os::unix::process::tests::a_process_that_has_gone_has_no_working_directory ... ok test os::unix::io::tests::writes_everything::case_2_short_write_loop::nonblocking_1_false ... ok test os::unix::io::tests::writes_everything::case_1_single_write::nonblocking_2_true ... ok test os::unix::process::tests::test_pid_from_u32::case_4_just_over_max ... ok test os::unix::io::tests::writes_everything::case_2_short_write_loop::nonblocking_2_true ... ok test os::unix::process::tests::test_pid_from_u32::case_5_minus_one_if_wrapped ... ok test os::unix::process::tests::reads_the_working_directory_of_another_process ... ok test os::unix::tty::tests::dev_null_is_not_a_terminal ... ok test io::pooled_read_lines::tests::the_lines_before_a_failure_are_yielded_then_the_stream_ends ... ok test path::display_rich::tests::base_output_matches_path_display::case_2 ... ok test path::display_rich::tests::base_output_matches_path_display::case_1 ... ok test os::unix::tests::touching_a_symlink_leaves_its_target_alone ... 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_1_tilde ... ok test os::unix::tty::tests::from_fd_of_a_pty_matches_a_stat_of_its_path ... ok test os::unix::tests::touching_a_socket_refreshes_its_timestamps ... 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::tilde_rendering::case_2_home_root_is_tilde_separator ... ok test path::display_rich::tests::tilde_rendering::case_1_abbreviates_home ... ok test path::display_rich::tests::trailing_slash_rendering::case_1_appends_when_missing ... ok test path::display_rich::tests::tilde_rendering::case_3_passes_through_when_not_under_home ... ok test os::unix::tty::tests::current_finds_the_terminal_on_stdin ... ok test path::display_rich::tests::relative_to_rendering::case_3_passes_through_when_not_under_base ... ok test path::display_rich::tests::trailing_slash_rendering::case_2_idempotent_when_terminated ... ok test path::display_rich::tests::relative_to_takes_priority_over_tilde ... ok test path::display_rich::tests::trailing_slash_rendering::case_4_empty_becomes_bare_separator ... ok test path::display_rich::tests::trailing_slash_rendering::case_3_disabled_is_base ... 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_1_clamped_tail ... 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::exposes_its_bounds_and_stride ... ok test path::display_rich::tests::works_for_all_asref_path_types ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_6_zero_width_falls_back_to_one ... ok test os::unix::io::tests::a_reader_that_vanishes_mid_write_errors_instead_of_hanging ... ok test range::chunks::tests::chunks_a_range_with_a_clamped_tail::case_3_size_exceeds_range ... ok test range::chunks::tests::is_generic_over_the_index_type ... ok test path::tests::is_same_path_sees_through_symlinks ... 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::exposes_its_bounds ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_2_null ... ok test range::clamped::tests::deserializes_with_default_and_clamping::case_1_missing ... 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_6_above_max ... ok test range::clamped::tests::works_for_signed_types::case_1_missing ... ok test range::clamped::tests::rejects_non_integers::case_1_negative ... ok test range::clamped::tests::rejects_non_integers::case_2_string ... ok test range::numbering::tests::from_fold_splits_head_and_tail::case_3_empty ... ok test range::numbering::tests::from_fold_splits_head_and_tail::case_1_truncated ... ok test path::tests::is_same_path_compares_paths ... ok test range::numbering::tests::from_fold_splits_head_and_tail::case_2_nothing_discarded ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_1 ... 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::clamped::tests::works_for_signed_types::case_3_below_min ... ok test range::numbering::tests::number_is_positive_in_head_and_negative_in_tail::case_2 ... ok test range::clamped::tests::works_for_signed_types::case_2_negative_in_range ... 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::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::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_02_single_line ... 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_03_last_line_no_sentinel ... 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_04_whole_via_negative_end ... ok test harnesstools::sync::opencode::tests::a_fast_forward_imports_the_tail::case_1_before_the_last_turn ... 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_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_10_end_before_the_slice ... 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_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_4_spanning ... 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_empty_halves_never_panic::case_3_negative ... 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_2_positive ... 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_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_07_last_line ... 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_05_wholly_inside_the_gap ... 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_06_backwards_is_empty ... 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_09_just_past_the_end ... 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_10_wholly_inside_the_gap_from_behind ... 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_13_across_the_gap ... 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_16_from_the_end_back_to_line_zero ... 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::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_1_no_hits ... 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_2_middle ... 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_5_radius_zero_is_the_hit_line ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_1_empty ... 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_5_overlapping_fuse ... 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_6_nested_absorbed ... ok test range::windows::tests::merge_ranges_coalesces_overlap_and_touch::case_7_chain ... ok test range::clamped::tests::json_schema_carries_the_bounds ... ok test secrets::files::tests::commands_naming_them::case_02_redirect ... ok test secrets::files::tests::commands_naming_them::case_01_cat ... ok test secrets::files::tests::commands_naming_them::case_04_curl_data ... ok test secrets::files::tests::commands_naming_them::case_03_redirect_attached ... ok test secrets::files::tests::commands_naming_them::case_06_piped ... ok test secrets::files::tests::commands_naming_them::case_05_flag_value ... ok test secrets::files::tests::files_holding_credentials::case_02_dotenv_local ... ok test secrets::files::tests::files_holding_credentials::case_01_dotenv ... ok test os::unix::process::tests::the_generic_lookup_reads_the_working_directory_too ... 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::commands_naming_them::case_08_example ... ok test secrets::files::tests::commands_naming_them::case_07_shell_script ... 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_07_pem ... ok test secrets::files::tests::files_holding_credentials::case_08_aws ... ok test secrets::files::tests::files_holding_credentials::case_06_ssh_public_key ... ok test secrets::files::tests::files_holding_credentials::case_09_aws_by_tilde ... ok test secrets::files::tests::files_holding_credentials::case_12_claude_login ... ok test secrets::files::tests::files_holding_credentials::case_10_aws_config ... ok test secrets::files::tests::files_holding_credentials::case_13_codex_login ... ok test secrets::files::tests::files_holding_credentials::case_11_kube_from_home ... ok test secrets::files::tests::files_holding_credentials::case_14_atuin_key ... ok test secrets::files::tests::files_holding_credentials::case_17_users_name ... 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_18_users_name_over_an_exception ... ok test secrets::files::tests::files_holding_credentials::case_20_users_relative_path ... ok test secrets::files::tests::files_holding_credentials::case_19_users_path ... ok test secrets::files::tests::files_holding_credentials::case_22_windows_dotenv ... ok test secrets::files::tests::files_holding_credentials::case_21_windows_home ... ok test secrets::files::tests::files_holding_credentials::case_24_network_share ... ok test secrets::files::tests::files_holding_credentials::case_23_windows_relative ... ok test secrets::files::tests::files_holding_credentials::case_25_network_share_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::files_holding_credentials::case_26_extra_slashes ... ok test secrets::files::tests::windows_paths::case_1_backslashes ... ok test secrets::files::tests::windows_paths::case_3_from_home ... ok test secrets::files::tests::windows_paths::case_2_forward_slashes ... ok test secrets::files::tests::windows_paths::case_4_relative ... ok test range::py_style::tests::resolve_for_split_is_always_sliceable ... ok test range::py_style::tests::resolve_for_split_reports_the_gap_when_a_bound_overshoots ... ok test os::unix::io::tests::waits_out_a_stalled_nonblocking_fd ... ok test io::pooled_read_lines::tests::a_file_larger_than_a_batch_is_read_to_its_end ... ok test io::line_reader::tests::a_line_past_the_longest_is_passed_over ... ok test json::js::tests::fully_escaped_strings_are_read ... ok test range::windows::tests::merge_ranges_preserves_the_covered_points_as_disjoint_runs ... ok test harnesstools::opencode::session::v2::tests::a_migration_from_1x_delivers_nothing_twice ... ok test harnesstools::opencode::session::v2::tests::a_call_is_delivered_once_it_settles ... ok test harnesstools::opencode::session::v2::tests::a_session_in_both_layouts_is_one_session ... ok test io::line_reader::tests::a_line_is_found_by_its_end ... ok test ansi::tests::onlcr_is_idempotent ... 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_10_unrelated_key_word ... 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_12_echoed_mention ... 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_02_key_base64 ... 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_08_keys_subcommand ... 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_07_login ... 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_05_register ... 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_04_account_register ... 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_06_change_password ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_17_after_and ... ok test json::js::tests::any_string_javascript_wrote_is_read ... 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_20_piped_out ... 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_25_sudo ... 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_24_next_line ... 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_21_command_substitution ... 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_26_timed ... 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_33_shell_script_mention ... 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_41_gh_token ... 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_43_gh_status ... 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_49_aws_other ... 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_48_aws_sts ... 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_28_by_path ... 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_50_az ... 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_54_vault ... 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_56_pass ... 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_42_gh_status_token ... 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_45_gcloud_adc ... 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_59_printenv ... 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_40_absolute_path ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_72_non_ascii_suffix ... 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_35_shell_script_long_flag_joined ... 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_71_beside_non_ascii ... 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_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_66_terraform_json ... 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_39_otherwise ... 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_67_terraform ... 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_62_env_prefix_runs ... ok test secrets::tests::commands_whose_output_may_hold_a_credential::case_61_env_piped ... 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_04_azure_with_tab ... 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_15_login_nbsp ... 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_09_login_bare ... 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_02_mention ... 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_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_08_login_no_space ... 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_10_lowercase_aws ... ok test secrets::tests::contains_secret_agrees_with_the_old_set_on_boundary_strings::case_16_stripe_test_one_short ... ok test json::jsonl::tests::records_come_back_with_their_ends ... 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_04____NAME_AQoDYXdzEJr_____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_17____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_19____NAMEwJalr_____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_03____NAME_wJalrXUtnFEMI_____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_09____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_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_27____NAME_____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_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_26____NAME_____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_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... 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_30____echoNAME_____echoNAME___ ... 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_32____setNAME_andOTHER_____setNAME_andOTHER___ ... 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_07____NAME_wJalrXUtnFEMI_____NAME________ ... 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_18____NAMEtwJalrXUtnFEMI_____NAMEt_______ ... 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_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_25_____NAMEabc_______NAME________ ... 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_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_46____NAMEnOTHERx_____NAMEnOTHERx___ ... 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_39____NAMEx1b_311mwJalrx1b_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_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_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_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_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_54____NAME_wJalr_____NAME________ ... 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_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_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_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_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_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_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_53____NAMEwJalr_____NAME_______ ... 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_66____NAMEabc__def_______NAME______def_____ ... 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_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_57____NAME_OLDwJalr_____NAME_OLD_______ ... 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_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_63____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_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_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_67____NAME_FILE_run_secrets_aws_____NAME_FILE_______ ... 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_2___AWS_SESSION_TOKEN__::shape_01____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_64____NAME___abc_____NAME_______ ... 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_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 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_03____NAME_wJalrXUtnFEMI_____NAME________ ... 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_19____NAMEwJalr_____NAME_______ ... 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_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_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_02____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_17____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_10____exportNAME__abc_______exportNAME_______ ... 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_04____NAME_AQoDYXdzEJr_____NAME________ ... 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_29____NAME_npassword_hunter2_____NAME_npassword________ ... 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_30____echoNAME_____echoNAME___ ... 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_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... 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_23____NAMEwJalr_K7_MD_____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_39____NAMEx1b_311mwJalrx1b_m_____NAME_______ ... 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_16_______NAME____wJalr__________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_20____NAME_str__wJalr_______NAME_str_______ ... 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_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_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_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_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_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_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_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_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_57____NAME_OLDwJalr_____NAME_OLD_______ ... 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_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_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_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_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_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_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_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_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_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_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_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_21____constNAME__str__wJalr_______constNAME__str_______ ... 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_47____pubconstNAME____staticstr__wJalr_______pubconstNAME____static ... 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_3___AZURE_STORAGE_ACCOUNT_KEY__::shape_01____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_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_64____NAME___abc_____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_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_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_2___AWS_SESSION_TOKEN__::shape_15____os_environ___NAME_____wJalr_______os_environ___NAME__________ ... ok test io::line_reader::tests::lines_read_are_the_complete_lines_of_the_file ... 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_08____NAMEwJalrXUtnFEMI_____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_2___AWS_SESSION_TOKEN__::shape_63____NAME___abc_____NAME_______ ... 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_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_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_17____NAMEwJalrXUtnFEMI_____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_27____NAME_____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_28____NAMEnOTHERvalue_____NAMEnOTHERvalue___ ... 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_25_____NAMEabc_______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_30____echoNAME_____echoNAME___ ... 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_24____NAMEabc_____NAME_______ ... 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_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_32____setNAME_andOTHER_____setNAME_andOTHER___ ... 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_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_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_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_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_45____NAME_____NAME___ ... 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_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_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_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_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_53____NAMEwJalr_____NAME_______ ... 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_02____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_39____NAMEx1b_311mwJalrx1b_m_____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 db::sqlite::observe::driver::tests::mutate_stream_reconstructs_final_state ... 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_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_54____NAME_wJalr_____NAME________ ... 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_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_66____NAMEabc__def_______NAME______def_____ ... 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_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_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_64____NAME___abc_____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_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_57____NAME_OLDwJalr_____NAME_OLD_______ ... 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_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_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_01____NAMEwJalrXUtnFEMI_____NAME_______ ... 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_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_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_04____NAME_AQoDYXdzEJr_____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_19____NAMEwJalr_____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_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_63____NAME___abc_____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_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_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_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_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_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_06____NAME_abc_____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_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_23____NAMEwJalr_K7_MD_____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_32____setNAME_andOTHER_____setNAME_andOTHER___ ... 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_31____NAMEisrequired_____NAMEisrequired___ ... 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_25_____NAMEabc_______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_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_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_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_18____NAMEtwJalrXUtnFEMI_____NAMEt_______ ... 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_16_______NAME____wJalr__________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_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_46____NAMEnOTHERx_____NAMEnOTHERx___ ... 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_24____NAMEabc_____NAME_______ ... 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_53____NAMEwJalr_____NAME_______ ... 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_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_54____NAME_wJalr_____NAME________ ... 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_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_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_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_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_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_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_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_66____NAMEabc__def_______NAME______def_____ ... 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_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_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_39____NAMEx1b_311mwJalrx1b_m_____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_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_login_flag_spelling_is_redacted::flag_1____p__::shape_04____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... 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_49____NAME_dict_str_str____k_____wJalr________NAME_dict_str_str____ ... 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_10____atuinloginFLAG_____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_env_var_pattern_redacts_each_assignment_shape::name_4___GOOGLE_SERVICE_ACCOUNT_KEY__::shape_63____NAME___abc_____NAME_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_1____p__::shape_13____atuinloginFLAG_____atuinloginFLAG___ ... 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_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_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_login_flag_spelling_is_redacted::flag_2_____password__::shape_01____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... 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_1____p__::shape_07____atuinloginFLAG__it__________s_______atuinloginFLAG_______ ... 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_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_10____atuinloginFLAG_____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_1____p__::shape_06____atuinloginFLAG__it__s__quoted__here_______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_09____atuinloginFLAG__oopsnls_lancatf_____atuinloginFLAG____nls_lan ... 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_07____atuinloginFLAG__it__________s_______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_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_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_14____atuinlogin_umenFLAGhunter2n_____atuinlogin_umenFLAG____n___ ... 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_1____p__::shape_15____atuinloginntFLAGhunter2_____atuinloginntFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_2_____password__::shape_08____atuinloginFLAG__hun__ter2_____atuinloginFLAG_______ ... 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_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_02____atuinloginFLAGhunter2_____atuinloginFLAG_______ ... 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_03____atuinloginFLAG__huntertwo_______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_05____atuinlogin_umeFLAGhunter2__otherx_____atuinlogin_umeFLAG_____ ... 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_04____atuinloginFLAG__huntertwo_______atuinloginFLAG_______ ... 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_13____atuinloginFLAG_____atuinloginFLAG___ ... 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_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_09____atuinloginFLAG__oopsnls_lancatf_____atuinloginFLAG____nls_lan ... 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_3____k__::shape_08____atuinloginFLAG__hun__ter2_____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_02____atuinloginFLAGhunter2_____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_4_____key__::shape_10____atuinloginFLAG_____atuinloginFLAG___ ... 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_11____atuinloginFLAG_________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_pattern_has_a_case_that_actually_redacts ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_13____atuinloginFLAG_____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_3____k__::shape_16____atuinloginnFLAGhunter2_____atuinloginnFLAG_______ ... 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_4_____key__::shape_08____atuinloginFLAG__hun__ter2_____atuinloginFLAG_______ ... 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_16____atuinloginnFLAGhunter2_____atuinloginnFLAG_______ ... ok test secrets::tests::every_pattern_names_its_secret_group ... 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_4_____key__::shape_15____atuinloginntFLAGhunter2_____atuinloginntFLAG_______ ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_05____atuinlogin_umeFLAGhunter2__otherx_____atuinlogin_umeFLAG_____ ... ok test secrets::tests::login_attached_and_adjacent_flags::case_2_attached_key ... 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_14____atuinlogin_umenFLAGhunter2n_____atuinlogin_umenFLAG____n___ ... ok test secrets::tests::login_attached_and_adjacent_flags::case_4_flag_as_value_is_over_redacted ... ok test secrets::tests::login_attached_and_adjacent_flags::case_1_attached_password ... ok test secrets::tests::every_login_flag_spelling_is_redacted::flag_4_____key__::shape_07____atuinloginFLAG__it__________s_______atuinloginFLAG_______ ... ok test secrets::tests::merges_spans::case_2_adjacent ... ok test secrets::tests::near_misses_are_not_credentials::case_01_ghp_one_short ... ok test secrets::tests::login_attached_and_adjacent_flags::case_3_both_attached ... ok test secrets::tests::near_misses_are_not_credentials::case_03_akia_one_short ... ok test secrets::tests::merges_spans::case_1_overlapping ... ok test secrets::tests::near_misses_are_not_credentials::case_07_login_without_whitespace ... ok test secrets::tests::merges_spans::case_4_runs_past ... ok test secrets::tests::near_misses_are_not_credentials::case_02_ghs_one_short ... 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::near_misses_are_not_credentials::case_04_pulumi_uppercase_hex ... 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::passes_text_through_borrowed::case_02_empty ... ok test secrets::tests::passes_text_through_borrowed::case_01_ordinary_command ... ok test secrets::tests::merges_spans::case_3_touching ... ok test secrets::tests::passes_text_through_borrowed::case_03_the_marker_itself ... ok test secrets::tests::near_misses_are_not_credentials::case_05_v1_unescaped_dot ... ok test secrets::tests::near_misses_are_not_credentials::case_13_netlify_unknown_kind ... ok test secrets::tests::passes_text_through_borrowed::case_06_almost_a_token ... ok test secrets::tests::near_misses_are_not_credentials::case_08_stripe_one_short ... ok test secrets::tests::passes_text_through_borrowed::case_05_login_without_arguments ... ok test secrets::tests::passes_text_through_borrowed::case_04_named_but_never_assigned ... ok test secrets::tests::passes_text_through_borrowed::case_08_already_redacted_login ... ok test secrets::tests::passes_text_through_borrowed::case_07_already_redacted_assignment ... 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::near_misses_are_not_credentials::case_11_slack_bot_short_first_group ... ok test secrets::tests::passes_text_through_borrowed::case_11_yaml_folded_block ... ok test secrets::tests::near_misses_are_not_credentials::case_14_stripe_test_one_short ... ok test secrets::tests::recognises_text_involving_a_credential::case_1_assignment ... 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::passes_text_through_borrowed::case_15_yaml_anchor ... ok test secrets::tests::passes_text_through_borrowed::case_14_yaml_tag ... 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::near_misses_are_not_credentials::case_12_npm_one_short ... ok test secrets::tests::recognises_text_involving_a_credential::case_4_bare_credential ... ok test secrets::tests::passes_text_through_borrowed::case_10_yaml_literal_block ... 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_1_lowercase_aws_name ... ok test secrets::tests::redacted_but_not_kept_out_of_history::case_3_quoted_password ... ok test secrets::tests::near_misses_are_not_credentials::case_06_github_pat_no_leading_digit ... 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_05_long_login_flag ... 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::passes_text_through_borrowed::case_09_two_markers_as_value ... ok test secrets::tests::redacts::case_03_both_credentials_of_one_login ... 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_11_five_stars_are_a_value ... ok test secrets::tests::passes_text_through_borrowed::case_13_shell_continuation ... ok test secrets::tests::redacts::case_12_added_to_a_patch ... ok test secrets::tests::redacts::case_15_added_env_var ... ok test secrets::tests::redacts::case_14_added_aws_credentials ... ok test secrets::tests::redacts::case_16_added_list_item ... ok test secrets::tests::redacts::case_13_changed_in_a_patch ... 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::redacts::case_10_two_credentials_on_separate_lines ... ok test secrets::tests::redacts::case_06_two_assignments_stay_two_matches ... ok test secrets::tests::redacts::case_18_setting_in_json_text ... ok test secrets::tests::passes_text_through_borrowed::case_16_multiline_json_opener ... ok test secrets::tests::redacts::case_20_bearer_in_json_text ... ok test secrets::tests::redacts::case_19_env_var_in_json_text ... ok test secrets::tests::redacts::case_23_password_flag_in_a_script ... ok test secrets::tests::redacts::case_17_patch_in_json_text ... ok test secrets::tests::redacts::case_21_clipped_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_31_password_flag_apart ... ok test secrets::tests::redacts::case_29_password_flag_quoted_in_prose ... ok test secrets::tests::redacts::case_24_password_flag_in_json_text ... 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::redacts::case_22_command_in_json_text ... ok test secrets::tests::stand_ins_are_kept::case_02_braced ... ok test secrets::tests::redacts::case_28_clipped_json_line_in_output ... ok test secrets::tests::stand_ins_are_kept::case_05_masked ... ok test secrets::tests::stand_ins_are_kept::case_04_stand_in ... ok test secrets::tests::stand_ins_are_kept::case_03_actions ... ok test secrets::tests::stand_ins_are_kept::case_10_prose ... 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_07_typed_field ... ok test secrets::tests::stand_ins_are_kept::case_12_password_from_stdin ... ok test secrets::tests::stand_ins_are_kept::case_06_masked_x ... ok test secrets::tests::stand_ins_are_kept::case_13_password_flag_then_flag ... ok test secrets::tests::stand_ins_are_kept::case_14_password_flag_in_help ... ok test secrets::tests::stand_ins_are_kept::case_11_password_flag_reference ... ok test secrets::tests::redacts::case_30_jwt_in_json_text ... ok test secrets::tests::stand_ins_are_kept::case_16_password_flag_in_urfave_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_15_password_flag_in_click_help ... 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_24_setting_in_prose ... ok test secrets::tests::stand_ins_are_kept::case_23_setting_joined ... ok test secrets::tests::stand_ins_are_kept::case_26_password_flag_then_or ... ok test secrets::tests::stand_ins_are_kept::case_22_setting_concatenated ... 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_31_short_lowercase_aws ... ok test secrets::tests::stand_ins_are_kept::case_30_added_field ... ok test secrets::tests::stand_ins_are_kept::case_25_command_in_a_string ... ok test secrets::tests::stand_ins_are_kept::case_21_password_flag_reference_in_json_text ... ok test secrets::tests::redaction_reaches_a_fixed_point_in_one_call::case_1_credential_in_a_type_position ... 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_3_old_format_still_exact ... 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_4_followed_by_punctuation ... 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::the_users_patterns_redact_too::case_1_whole ... ok test secrets::tests::the_users_patterns_redact_too::case_5_like_a_block_opener ... ok test secrets::tests::the_users_patterns_redact_too::case_2_group ... ok test secrets::tests::the_users_patterns_redact_too::case_4_nothing ... ok test secrets::tests::the_users_patterns_redact_too::case_3_with_builtin ... ok test secrets::tests::passes_text_through_borrowed::case_12_heredoc ... ok test secrets::tests::window_gap_and_quote_bounds::case_3_two_space_table_gap ... ok test shell::tests::command_failed ... ok test shell::tests::command_output_to_shell::case_1_zsh ... ok test shell::tests::command_output_to_shell::case_2_bash ... ok test shell::tests::command_output_to_shell::case_3_bare_name ... ok test shell::tests::command_output_to_shell::case_4_unsupported ... ok test shell::tests::command_missing ... FAILED test shell::tests::command_output_to_shell::case_5_non_utf8_dir ... ok test shell::tests::command_output_to_shell::case_6_non_utf8_name ... ok test shell::tests::dscl_shell::case_1_simple ... ok test shell::tests::command_output_unparseable::case_1_no_shell_field ... 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::dscl_shell::case_4_non_utf8 ... ok test shell::tests::dscl_shell::case_5_missing_value ... ok test shell::tests::dscl_shell::case_6_empty ... ok test shell::tests::getent_passwd::case_1_simple ... ok test shell::tests::getent_passwd::case_2_no_trailing_newline ... ok test shell::tests::getent_passwd::case_4_first_line_only ... ok test shell::tests::getent_passwd::case_3_crlf ... 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 shell::tests::command_output_unparseable::case_2_root_path ... ok test shell::tests::command_output_unparseable::case_3_parent_dir ... 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_4_double_quote_stops_at_the_line_end ... 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 secrets::tests::window_gap_and_quote_bounds::case_5_single_quote_stops_at_the_line_end ... ok test slice::tests::excerpt_selects_context_around_hits::case_4_some_windows_the_hit ... 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 secrets::tests::window_gap_and_quote_bounds::case_1_long_username_inside_the_window ... ok test slice::tests::comparer_ignores_order_and_duplicates ... 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::comparer_ignores_the_stack_size ... 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_2____1_ ... 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_3____2_ ... ok test slice::tests::comparer_is_reflexive ... ok test slice::tests::test_sorted_deduped_slice_comparer::case_04::_stack_size_4____3_ ... 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_5____4_ ... 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_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 secrets::tests::every_pattern_is_recognised ... 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_5____4_ ... 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_5____4_ ... 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_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_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_2____1_ ... 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::partition_dedup_leaves_no_consecutive_duplicates ... 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::partition_dedup_matches_vec_dedup ... 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 slice::tests::comparer_matches_set_equality ... 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_2_end_pads_on_the_start ... ok test string::align::tests::pads_per_table::case_1_start_pads_on_the_end ... 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_missing_option_is_none ... ok test string::auto_os_string::tests::test_rejects_other_encodings::case_1_string ... 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_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_in_containers::case_2_none ... ok test string::auto_os_string::tests::test_utf8_is_a_string::case_2_empty ... 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_in_containers::case_1_some ... ok test string::bounded_buffer::tests::clear_forgets_the_dropped_middle ... ok test string::bounded_buffer::tests::a_zero_limit_keeps_nothing_but_still_reports_the_cut ... 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 slice::tests::partition_dedup_permutes_the_input ... 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 secrets::tests::a_planted_credential_goes_whatever_surrounds_it ... ok test string::bounded_buffer::tests::take_hands_over_the_contents_and_resets ... ok test string::auto_os_string::tests::prop_utf8_is_a_string ... ok test string::bounded_buffer::tests::the_end_portion_is_a_sliding_window ... ok test string::bounded_buffer::tests::chunking_does_not_matter ... ok test string::bounded_buffer::tests::writes_always_succeed ... ok test string::bounded_buffer::tests::never_exceeds_the_limit ... 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::clear_resets_the_buffer ... ok test string::bounded_buffer::tests::reports_a_dropped_middle_exactly_when_data_was_dropped ... ok test string::ellipsis::tests::display_writes_without_allocating_via_cow ... ok test string::bounded_buffer::tests::keeps_as_much_as_it_can ... ok test string::bounded_buffer::tests::keeps_a_prefix_and_a_suffix ... 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::auto_os_string::tests::prop_round_trip ... ok test string::ellipsis::tests::truncates_per_table::case_01_ascii_fits_under_column_budget ... 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 string::bounded_buffer::tests::take_resets_the_buffer ... ok test secrets::tests::every_pattern_redacts_to_its_declared_value::embed_1_false ... 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::bounded_buffer::tests::the_limits_decide_whether_anything_is_dropped ... ok test secrets::tests::redaction_past_its_budget_gives_up ... 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_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 string::bounded_buffer::tests::writes_never_fail ... 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::control_free_input_is_borrowed ... 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 string::escape_non_printable_posix_ext::tests::escaping_is_idempotent ... 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 secrets::tests::every_pattern_redacts_to_its_declared_value::embed_2_true ... 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 test string::non_nul_str::tests::serde_round_trip ... ok test string::non_nul_str::tests::serializes_as_plain_string ... ok test string::non_nul_str::tests::validates_against_nul ... ok test string::non_nul_str::tests::wraps_nul_free_strings::case_1 ... ok test string::non_nul_str::tests::wraps_nul_free_strings::case_2 ... ok test string::non_nul_str::tests::wraps_nul_free_strings::case_3 ... ok test string::non_nul_str::tests::wraps_nul_free_strings::case_4 ... ok test string::normalize::tests::boundary_cases ... ok test string::normalize::tests::general ... ok test string::normalize::tests::invisible_chars ... ok test string::normalize::tests::unchanged_outside_blocks ... ok test string::tests::format_safe_redacts::case_1_redacts_password ... ok test string::tests::format_safe_redacts::case_2_passwordless_unchanged ... ok test string::tests::format_safe_redacts::case_3_empty_password_dropped ... ok test string::tests::line_indices::case_1_empty ... ok test string::tests::line_indices::case_2_one_line ... ok test string::tests::line_indices::case_3_trailing_newline ... ok test string::tests::line_indices::case_4_two_lines ... ok test string::tests::line_indices::case_5_blank_lines ... ok test string::tests::line_indices::case_6_crlf ... ok test string::tests::line_indices::case_7_bare_carriage_return ... ok test string::tests::line_indices::case_8_multibyte ... ok test string::tests::line_indices_are_the_lines_and_where_they_start ... ok test string::tests::nonempty_or_falls_back_only_when_empty::case_1_empty ... ok test string::tests::nonempty_or_falls_back_only_when_empty::case_2_non_empty ... ok test string::tests::normalize_diacritics_borrows_when_unchanged::case_1_empty ... ok test string::tests::normalize_diacritics_borrows_when_unchanged::case_2_plain_ascii ... ok test string::tests::normalize_diacritics_borrows_when_unchanged::case_3_unmappable ... ok test string::tests::normalizes_diacritics::case_1_empty ... ok test string::tests::normalizes_diacritics::case_2_ascii_unchanged ... ok test string::tests::normalizes_diacritics::case_3_accented ... ok test string::tests::normalizes_diacritics::case_4_keeps_unmappable ... ok test string::tests::normalizes_diacritics::case_5_position_preserved ... ok test string::tests::truncate_chars_returns_the_original_slice_when_it_fits ... ok test string::tests::truncates_by_char_count::case_1_under_budget ... ok test string::tests::truncates_by_char_count::case_2_exact_budget ... ok test string::tests::truncates_by_char_count::case_3_over_budget ... ok test string::tests::truncates_by_char_count::case_4_zero ... ok test string::tests::truncates_by_char_count::case_5_empty ... ok test string::tests::truncates_by_char_count::case_6_multibyte_cut ... ok test string::tests::truncates_by_char_count::case_7_multibyte_kept ... ok test string::trim::tests::a_stateful_pattern_is_reused_rather_than_consumed ... ok test secrets::tests::contains_secret_matches_the_old_pattern_set_exactly ... ok test shell::tests::getent_passwd_returns_seventh_field ... ok test string::trim::tests::agrees_with_str_trim ... ok test string::trim::tests::agrees_with_str_trim_end ... ok test secrets::tests::planted_credentials_go_and_their_surroundings_stay ... ok test string::trim::tests::agrees_with_str_trim_end_matches ... ok test string::trim::tests::agrees_with_str_trim_matches ... ok test string::trim::tests::handles_multibyte_characters::case_1_multibyte_pattern ... ok test string::trim::tests::handles_multibyte_characters::case_2_multibyte_content_preserved ... ok test string::trim::tests::handles_multibyte_characters::case_3_multibyte_content_all_trimmed ... ok test string::trim::tests::one_sided_trims_handle_multibyte_characters::case_1_multibyte_pattern ... ok test string::trim::tests::one_sided_trims_handle_multibyte_characters::case_2_multibyte_content_preserved ... ok test string::trim::tests::one_sided_whitespace_trims_match_str::case_1_ascii_whitespace ... ok test string::trim::tests::one_sided_whitespace_trims_match_str::case_2_unicode_whitespace ... ok test string::trim::tests::one_sided_whitespace_trims_match_str::case_3_nothing_to_trim ... ok test string::trim::tests::trim_in_place_matches_str_trim::case_1_ascii_whitespace ... ok test string::trim::tests::trim_in_place_matches_str_trim::case_2_unicode_whitespace ... ok test string::trim::tests::trim_in_place_matches_str_trim::case_3_interior_kept ... ok test string::trim::tests::trim_in_place_matches_str_trim::case_4_nothing_to_trim ... ok test string::trim::tests::trims_a_char_array_pattern::case_1_blank_lines_and_spaces ... ok test string::trim::tests::trims_a_char_array_pattern::case_2_mixed_run ... ok test string::trim::tests::trims_a_char_array_pattern::case_3_interior_newline_kept ... ok test string::trim::tests::trims_a_char_pattern::case_1_both_ends ... ok test string::trim::tests::trims_a_char_pattern::case_2_leading_only ... ok test string::trim::tests::trims_a_char_pattern::case_3_trailing_only ... ok test string::trim::tests::trims_a_char_pattern::case_4_interior_kept ... ok test string::trim::tests::trims_a_char_pattern::case_5_no_match ... ok test string::trim::tests::trims_a_char_pattern::case_6_all_pattern ... ok test string::trim::tests::trims_a_char_pattern::case_7_empty ... ok test string::trim::tests::trims_a_char_pattern::case_8_single_char ... ok test string::trim::tests::trims_a_closure_pattern::case_1_digits ... ok test string::trim::tests::trims_a_closure_pattern::case_2_only_digits ... ok test string::trim::tests::trims_a_closure_pattern::case_3_interior_digits_kept ... ok test string::trim::tests::trims_a_closure_pattern::case_4_nothing_to_trim ... ok test string::trim::tests::trims_a_str_pattern::case_1_str_pattern ... ok test string::trim::tests::trims_a_str_pattern::case_2_repeated_str_pattern ... ok test string::trim::tests::trims_a_str_pattern::case_3_partial_match_kept ... ok test string::trim::tests::trims_only_the_requested_end::case_1_both_ends ... ok test string::trim::tests::trims_only_the_requested_end::case_2_leading_only ... ok test string::trim::tests::trims_only_the_requested_end::case_3_trailing_only ... ok test string::trim::tests::trims_only_the_requested_end::case_4_interior_kept ... ok test string::trim::tests::agrees_with_str_trim_start_matches ... ok test string::trim::tests::trims_only_the_requested_end::case_5_all_pattern ... ok test string::trim::tests::trims_only_the_requested_end::case_6_empty ... ok test string::trim::tests::trims_only_the_requested_end::case_7_nothing_to_trim ... ok test sync::blocking_pool::tests::a_panic_in_the_closure_resumes_in_the_caller - should panic ... ok test string::trim::tests::agrees_with_str_trim_start ... ok test sync::blocking_pool::tests::run_returns_the_closures_value ... ok test sync::blocking_pool::tests::a_cancelled_caller_keeps_its_worker_until_the_closure_returns ... ok test sync::eager_future_cell::tests::computes_once_and_caches::case_1 ... ok test sync::eager_future_cell::tests::computes_once_and_caches::case_2 ... ok test sync::blocking_pool::tests::clones_share_one_cap ... ok test sync::blocking_pool::tests::work_past_the_cap_does_not_start_until_a_worker_frees ... ok test sync::eager_future_cell::tests::overwrite_supersedes_a_slow_future ... ok test sync::sharded_mutex::tests::both_flavours_are_send_and_sync_regardless_of_the_key ... ok test sync::eager_future_cell::tests::overwrite_replaces_an_already_completed_future ... ok test sync::sharded_mutex::tests::keys_on_different_shards_lock_independently ... ok test sync::sharded_mutex::tests::keys_spread_across_shards ... ok test sync::sharded_mutex::tests::the_blocking_flavour_locks_the_same_shard_for_the_same_key ... ok test sync::sharded_mutex::tests::the_guard_hands_out_the_stored_value ... ok test sync::sharded_mutex::tests::colliding_keys_serialise ... ok test sync::eager_future_cell::tests::constructs_from_a_handle_outside_the_runtime ... ok test sync::sharded_mutex::tests::the_value_belongs_to_the_shard ... ok test time::duration::tests::disableable_duration_marker_uses_unit_and_zero_is_none ... ok test time::duration::tests::format_duration_shows_most_significant_unit::case_1_zero ... ok test time::duration::tests::disableable_duration_treats_negative_as_none ... ok test time::duration::tests::format_duration_shows_most_significant_unit::case_2_sub_second ... ok test time::duration::tests::format_duration_shows_most_significant_unit::case_3_seconds ... ok test time::duration::tests::format_duration_shows_most_significant_unit::case_4_minutes ... ok test sync::sharded_mutex::tests::the_same_key_waits_for_its_holder ... ok test time::duration::tests::format_duration_shows_most_significant_unit::case_5_truncates_not_rounds ... ok test time::duration::tests::nonzero_duration_rejects_zero ... ok test time::duration::tests::nonzero_duration_deserialize_rejects_zero ... ok test time::duration::tests::saturating_from_nanos_i64_clamps::case_1_zero ... ok test time::duration::tests::saturating_from_nanos_i64_clamps::case_2_positive ... ok test time::duration::tests::saturating_from_nanos_i64_clamps::case_3_negative_clamps_to_zero ... ok test time::duration::tests::required_duration_marker_uses_unit_and_zero_policy ... ok test time::duration::tests::saturating_from_nanos_i64_clamps::case_4_min_clamps_to_zero ... ok test time::duration::tests::saturating_from_nanos_i64_clamps::case_5_max ... ok test time::duration::tests::std_try_new_range::case_1_max_u64_seconds ... ok test time::duration::tests::std_try_new_range::case_2_largest_nanos_without_carry ... ok test time::duration::tests::std_try_new_range::case_3_carry_overflows_u64_seconds ... ok test time::duration::tests::stopwatch_clamps_a_negative_time_duration ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_1_zero ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_2_millis ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_3_sub_second_only ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_4_whole_second ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_5_fractional_second ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_6_minutes ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_8_days_stay_in_hours ... ok test time::duration::tests::stopwatch_keeps_subsecond_resolution::case_7_hours ... ok test time::duration::tests::time_try_new_range::case_2_one_second_past_i64 ... ok test time::duration::tests::time_try_new_range::case_1_max_i64_seconds ... ok test time::duration::tests::time_try_new_range::case_3_carry_crosses_i64 ... ok test time::duration::tests::time_try_new_range::case_4_past_u64_seconds ... ok test time::duration::tests::time_try_new_range::case_5_carry_overflows_u64_seconds ... ok test time::duration::tests::try_new_sums_components::case_1_whole_seconds ... ok test time::duration::tests::try_new_sums_components::case_2_carries_up ... ok test time::duration::tests::try_new_sums_components::case_3_only_nanos ... ok test time::offset_date_time::tests::datetime_formats_render_as_documented ... ok test time::offset_date_time::tests::display_matches_the_format_descriptors::case_1_epoch ... ok test time::offset_date_time::tests::display_matches_the_format_descriptors::case_2_single_digit_components ... ok test time::offset_date_time::tests::display_matches_the_format_descriptors::case_3_year_one ... ok test time::offset_date_time::tests::display_matches_the_format_descriptors::case_4_negative_year ... ok test time::offset_date_time::tests::display_matches_the_format_descriptors::case_5_max ... ok test time::duration::tests::std_try_new_is_total ... ok test time::duration::tests::time_try_new_tracks_std_try_new ... ok test time::offset_date_time::tests::from_timespec_range::case_01_max_instant ... ok test time::offset_date_time::tests::from_timespec_range::case_02_one_nano_past_max ... ok test time::offset_date_time::tests::from_timespec_range::case_03_one_second_past_max ... ok test time::offset_date_time::tests::from_timespec_range::case_04_min_instant ... ok test time::offset_date_time::tests::from_timespec_range::case_05_one_nano_before_min ... ok test time::offset_date_time::tests::from_timespec_range::case_06_one_second_before_min ... ok test time::offset_date_time::tests::from_timespec_range::case_07_truncation_point_2_63 ... ok test time::offset_date_time::tests::from_timespec_range::case_08_truncation_point_2_64 ... ok test time::offset_date_time::tests::from_timespec_range::case_09_i128_overflow_high ... ok test time::offset_date_time::tests::from_timespec_range::case_10_i128_overflow_low ... ok test string::trim::tests::both_ends_is_the_two_one_sided_trims ... ok test time::offset_date_time::tests::from_timespec_range::case_11_i128_overflow_nsecs ... ok test time::offset_date_time::tests::from_timespec_sums_components::case_1_zero ... ok test time::offset_date_time::tests::from_timespec_sums_components::case_2_whole_seconds ... ok test time::offset_date_time::tests::from_timespec_sums_components::case_4_carries_up ... ok test time::offset_date_time::tests::from_timespec_sums_components::case_3_sub_second ... ok test time::offset_date_time::tests::from_timespec_sums_components::case_5_borrows_down ... ok test time::offset_date_time::tests::from_timespec_sums_components::case_6_before_epoch ... ok test time::offset_date_time::tests::from_unix_nanos_i64_is_total::case_1_min ... ok test time::offset_date_time::tests::from_unix_nanos_i64_is_total::case_2_negative ... ok test time::offset_date_time::tests::from_unix_nanos_i64_is_total::case_3_epoch ... ok test time::offset_date_time::tests::from_unix_nanos_i64_is_total::case_4_typical ... ok test time::offset_date_time::tests::from_unix_nanos_i64_is_total::case_5_max ... ok test time::offset_date_time::tests::from_unix_nanos_u64_is_total::case_2_typical ... ok test time::offset_date_time::tests::from_unix_nanos_u64_is_total::case_1_zero ... ok test time::offset_date_time::tests::from_unix_nanos_u64_is_total::case_3_max ... ok test time::offset_date_time::tests::saturating_duration_since_clamps::case_1_an_hour ... ok test time::offset_date_time::tests::saturating_duration_since_clamps::case_2_same_instant ... ok test time::offset_date_time::tests::saturating_duration_since_clamps::case_3_future_clamps_to_zero ... ok test time::system_time::tests::saturating_unix_millis::case_1_epoch ... ok test time::system_time::tests::saturating_unix_millis::case_2_after ... ok test time::system_time::tests::saturating_unix_millis::case_3_sub_millisecond_truncates ... ok test time::system_time::tests::saturating_unix_millis::case_4_before ... ok test time::utc_offset::tests::resolve_spec_accepts_anything_stringlike ... ok test time::utc_offset::tests::resolve_spec_local_queries_the_system ... ok test time::utc_offset::tests::resolve_spec_rejects_invalid::case_1_no_sign ... ok test time::utc_offset::tests::resolve_spec_rejects_invalid::case_2_garbage ... ok test time::utc_offset::tests::resolve_spec_returns_the_offset::case_1_utc ... ok test time::utc_offset::tests::resolve_spec_returns_the_offset::case_2_zero ... ok test time::utc_offset::tests::resolve_spec_returns_the_offset::case_3_plus ... ok test time::utc_offset::tests::resolve_spec_returns_the_offset::case_4_minus ... ok test time::utc_offset::tests::resolve_spec_returns_the_offset::case_5_with_seconds ... ok test time::utc_offset::tests::resolve_spec_returns_the_offset::case_6_uppercase ... ok test time::utc_offset::tests::spec_wraps_the_resolved_offset ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_1_ten_percent_of_a_thousand ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_2_fraction_of_a_percent ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_3_rounds_down ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_4_zero_of_anything ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_5_all_of_the_max ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_6_half_of_the_max ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_7_anything_of_zero ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_8_more_than_the_whole ... ok test units::percent::tests::a_share_of_a_u64_works_in_either_order::case_9_saturates ... ok test time::offset_date_time::tests::from_timespec_agrees_with_upstream_in_the_sound_range ... ok test time::offset_date_time::tests::from_timespec_is_total ... ok test units::percent::tests::constants_and_conversions ... ok test units::percent::tests::a_float_share_matches_the_formula ... ok test units::percent::tests::displays_with_a_sign::case_1_whole ... ok test units::percent::tests::displays_with_a_sign::case_2_hundred ... ok test units::percent::tests::displays_with_a_sign::case_3_fraction ... ok test units::percent::tests::displays_with_a_sign::case_4_negative ... ok test units::percent::tests::parses_percentages::case_01_zero ... ok test units::percent::tests::parses_percentages::case_02_ten ... ok test units::percent::tests::parses_percentages::case_03_hundred ... ok test units::percent::tests::parses_percentages::case_04_above_the_whole ... ok test units::percent::tests::parses_percentages::case_05_far_above_the_whole ... ok test units::percent::tests::parses_percentages::case_06_fraction ... ok test units::percent::tests::parses_percentages::case_07_fraction_without_leading_digit ... ok test units::percent::tests::parses_percentages::case_08_exponent ... ok test units::percent::tests::parses_percentages::case_09_space_before_sign ... ok test units::percent::tests::parses_percentages::case_10_surrounding_whitespace ... ok test units::percent::tests::parses_percentages::case_11_leading_zeros ... ok test units::percent::tests::percentages_combine_with_each_other ... ok test units::percent::tests::rejects_invalid_percentages::case_1_empty ... ok test units::percent::tests::rejects_invalid_percentages::case_2_only_whitespace ... ok test units::percent::tests::rejects_invalid_percentages::case_3_missing_sign ... ok test units::percent::tests::rejects_invalid_percentages::case_4_only_sign ... ok test units::percent::tests::rejects_invalid_percentages::case_5_word ... ok test units::percent::tests::rejects_invalid_percentages::case_6_nan ... ok test units::percent::tests::rejects_invalid_percentages::case_7_infinite ... ok test units::percent::tests::rejects_invalid_percentages::case_8_negative ... ok test units::percent::tests::rejects_invalid_percentages::case_9_negative_zero ... ok test units::percent::tests::serde_uses_the_text_form ... ok test units::percent::tests::shares_of_floats_are_plain_float_math ... ok test units::percent::tests::shares_of_the_other_integer_types_saturate_at_their_own_bounds ... ok test url::tests::append_cases::case_01 ... ok test url::tests::append_cases::case_02 ... ok test url::tests::append_cases::case_03 ... ok test url::tests::append_cases::case_04 ... ok test url::tests::append_cases::case_05 ... ok test url::tests::append_cases::case_06 ... ok test url::tests::append_cases::case_07 ... ok test url::tests::append_cases::case_08 ... ok test url::tests::append_cases::case_09 ... ok test url::tests::append_cases::case_10 ... ok test url::tests::append_cases::case_11 ... ok test url::tests::append_cases::case_12 ... ok test url::tests::append_cases::case_13 ... ok test url::tests::append_cases::case_14 ... ok test url::tests::append_cases::case_15 ... ok test url::tests::append_encodes_each_segment_independently ... ok test url::tests::append_path_cases::case_1 ... ok test url::tests::append_path_cases::case_2 ... ok test units::percent::tests::an_integer_share_keeps_the_sign ... ok test url::tests::append_path_cases::case_3 ... ok test url::tests::append_path_cases::case_4 ... ok test url::tests::append_path_cases::case_5 ... ok test url::tests::append_path_cases::case_6 ... ok test url::tests::append_path_cases::case_7 ... ok test url::tests::cannot_be_a_base_url_is_an_error ... ok test url::tests::dot_lookalikes_are_still_appended ... ok test units::percent::tests::a_share_of_at_most_the_whole_never_exceeds_it ... ok test url::tests::dot_segments_are_rejected::case_1 ... ok test url::tests::dot_segments_are_rejected::case_2 ... ok test url::tests::dot_segments_are_rejected_by_append_path ... ok test utils::tests::dumb_random_test::_n_1____8_ ... ok test utils::tests::dumb_random_test::_n_2____16_ ... ok test utils::tests::dumb_random_test::_n_3____32_ ... ok test utils::tests::in_git_repo_regular ... ok test utils::tests::in_git_repo_worktree_resolves_to_main_repo ... ok test units::percent::tests::display_round_trips ... ok test secrets::tests::borrowed_exactly_when_nothing_changed ... ok test string::ellipsis::tests::valid_byte_cut ... ok test string::ellipsis::tests::ellipsis_present_when_needed ... ok test string::ellipsis::tests::source_index_round_trips ... ok test string::ellipsis::tests::borrowed_when_it_fits ... ok test string::ellipsis::tests::never_grows ... ok test string::ellipsis::tests::never_overflows ... ok test secrets::tests::redaction_is_idempotent ... ok test string::highlighted::tests::proto_round_trips ... ok test secrets::tests::text_with_nothing_recognisable_is_returned_as_is ... ok test secrets::tests::the_credential_dense_generator_reaches_the_owned_path ... ok test harnesstools::opencode::session::tests::a_backfill_delivers_every_session_and_part ... ok test ansi::tests::never_panics_and_strips_controls has been running for over 60 seconds test string::highlighted::tests::wrapping_spans_round_trips_through_ranges_and_sanitize ... ok test string::highlighted::tests::sanitize_is_a_marker_free_idempotent_filter ... ok test string::highlighted::tests::ranges_are_valid_ordered_slices_of_the_raw_text ... ok test secrets::tests::a_hostile_capture_does_not_slow_later_scans_on_the_same_thread has been running for over 60 seconds test string::highlighted::tests::pieces_reconstruct_plain_and_report_matches ... ok test secrets::tests::each_prefilter_matches_exactly_where_its_pattern_does has been running for over 60 seconds test secrets::tests::irregularly_spaced_login_mentions_stay_fast has been running for over 60 seconds test secrets::tests::many_login_mentions_on_one_line_stay_linear has been running for over 60 seconds test secrets::tests::irregularly_spaced_login_mentions_stay_fast ... ok test secrets::tests::many_login_mentions_on_one_line_stay_linear ... ok test secrets::tests::a_hostile_capture_does_not_slow_later_scans_on_the_same_thread ... ok test ansi::tests::never_panics_and_strips_controls ... ok test secrets::tests::each_prefilter_matches_exactly_where_its_pattern_does ... ok failures: ---- harnesstools::opencode::rehydrate::tests::import_runs_opencode_from_the_session_directory stdout ---- thread 'harnesstools::opencode::rehydrate::tests::import_runs_opencode_from_the_session_directory' (108384) panicked at crates/atuin-common/src/harnesstools/opencode/rehydrate.rs:1704:9: the export file is removed ---- harnesstools::resume::tests::shells_read_quoted_words_back::shell_3___fish__ stdout ---- thread 'harnesstools::resume::tests::shells_read_quoted_words_back::shell_3___fish__' (109700) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: fish failed on "printf '<%s>' plain '' '/home/u/my project' 'it'\\''s' 'back'\\\\'slash' \\\\\\\\\\'\\\\\\' '$(rm -rf ~) `x` ${y}' '*?[a-z]{1,2}' '~user' '=cmd' 'a;b|c&d>e' plain '' '/home/u/my project' 'it'\\''s' 'back'\\\\'slash' \\\\\\\\\\'\\\\\\' '$(rm -rf ~) `x` ${y}' '*?[a-z]{1,2}' '~user' '=cmd' 'a;b|c&d>e' '?@π€Žπ‘œ‚<ቔ6p'": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' '@π€Žπ‘œ‚<ቔ6p'": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' 'π€Žπ‘œ‚<ቔ6p'": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' 'π‘œ‚<ቔ6p'": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' '<ቔ6p'": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' 'ቔ6p'": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' 6p": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' p": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:355:9: zsh failed on "printf '<%s>' ''": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" } proptest: Saving this and future failures in /build/atuin/src/atuin-18.24.1/crates/atuin-common/proptest-regressions/harnesstools/resume.txt proptest: If this test was run on a CI system, you may wish to add the following line to your copy of the file. (You may need to create it.) cc af3a47c123595232fd7f68fcda716f162e975de1f981ae296208ae51cbd0da05 thread 'harnesstools::resume::tests::any_word_survives_quoting' (109651) panicked at crates/atuin-common/src/harnesstools/resume.rs:377:5: Test failed: zsh failed on "printf '<%s>' ''": Output { status: ExitStatus(unix_wait_status(32512)), stdout: "", stderr: "" }. minimal failing input: word = "" successes: 0 local rejects: 0 global rejects: 0 ---- shell::tests::command_missing stdout ---- thread 'shell::tests::command_missing' (111644) panicked at crates/atuin-common/src/shell.rs:328:9: CommandFailed { command: "atuin-definitely-not-a-real-command arg", status: ExitStatus(unix_wait_status(32512)) } failures: harnesstools::opencode::rehydrate::tests::import_runs_opencode_from_the_session_directory harnesstools::resume::tests::any_word_survives_quoting harnesstools::resume::tests::shells_read_quoted_words_back::shell_2___zsh__ harnesstools::resume::tests::shells_read_quoted_words_back::shell_3___fish__ harnesstools::resume::tests::shells_run_a_rendered_plan::shell_2___zsh__ harnesstools::resume::tests::shells_run_a_rendered_plan::shell_3___fish__ shell::tests::command_missing test result: FAILED. 3407 passed; 7 failed; 0 ignored; 0 measured; 2 filtered out; finished in 396.47s error: test failed, to rerun pass `-p atuin-common --lib` ==> ERROR:(B A failure occurred in check().(B  Aborting...(B ]3008;end=2f8ba48b67ab403ab6775b2d104f946f\[!p]104\[?7h]3008;end=b2a1355a29374ccc8e02472dfb8bbda7\==> ERROR:(B Build failed, check /var/lib/archbuild/extra-riscv64/felix-8/build(B [?12l[?25h[?12l[?25h]3008;end=5cd71aa845f94f3f9adcc40f5cdde8a4\[?12l[?25hreceiving incremental file list atuin-18.24.1-1-riscv64-build.log atuin-18.24.1-1-riscv64-check.log atuin-18.24.1-1-riscv64-prepare.log sent 81 bytes received 85,183 bytes 170,528.00 bytes/sec total size is 633,334 speedup is 7.43