this derivation will be built: /nix/store/zqncng1iz23zzhbsz6qf2p8am62bjvnx-ai-memory-1.38.0.drv building '/nix/store/zqncng1iz23zzhbsz6qf2p8am62bjvnx-ai-memory-1.38.0.drv' ai-memory-1.38.0> Using versionCheckHook ai-memory-1.38.0> Running phase: unpackPhase ai-memory-1.38.0> unpacking source archive /nix/store/659vnfik2isirqaapa8c2m3yiyd4zaln-source ai-memory-1.38.0> source root is source ai-memory-1.38.0> Executing cargoSetupPostUnpackHook ai-memory-1.38.0> Finished cargoSetupPostUnpackHook ai-memory-1.38.0> Running phase: patchPhase ai-memory-1.38.0> Executing cargoSetupPostPatchHook ai-memory-1.38.0> Validating consistency between /build/source/Cargo.lock and /build/ai-memory-1.38.0-vendor/Cargo.lock ai-memory-1.38.0> Finished cargoSetupPostPatchHook ai-memory-1.38.0> Running phase: updateAutotoolsGnuConfigScriptsPhase ai-memory-1.38.0> Running phase: configurePhase ai-memory-1.38.0> Running phase: buildPhase ai-memory-1.38.0> Executing cargoBuildHook ai-memory-1.38.0> cargoBuildHook flags: -j 48 --target x86_64-unknown-linux-gnu --offline --profile release --package ai-memory-cli ai-memory-1.38.0> Compiling proc-macro2 v1.0.106 ai-memory-1.38.0> Compiling unicode-ident v1.0.24 ai-memory-1.38.0> Compiling quote v1.0.45 ai-memory-1.38.0> Compiling libc v0.2.186 ai-memory-1.38.0> Compiling cfg-if v1.0.4 ai-memory-1.38.0> Compiling version_check v0.9.5 ai-memory-1.38.0> Compiling serde_core v1.0.228 ai-memory-1.38.0> Compiling memchr v2.8.0 ai-memory-1.38.0> Compiling log v0.4.29 ai-memory-1.38.0> Compiling once_cell v1.21.4 ai-memory-1.38.0> Compiling smallvec v1.15.1 ai-memory-1.38.0> Compiling itoa v1.0.18 ai-memory-1.38.0> Compiling shlex v1.3.0 ai-memory-1.38.0> Compiling find-msvc-tools v0.1.9 ai-memory-1.38.0> Compiling pin-project-lite v0.2.17 ai-memory-1.38.0> Compiling serde v1.0.228 ai-memory-1.38.0> Compiling icu_properties_data v2.2.0 ai-memory-1.38.0> Compiling icu_normalizer_data v2.2.0 ai-memory-1.38.0> Compiling bitflags v2.11.1 ai-memory-1.38.0> Compiling stable_deref_trait v1.2.1 ai-memory-1.38.0> Compiling bytes v1.11.1 ai-memory-1.38.0> Compiling parking_lot_core v0.9.12 ai-memory-1.38.0> Compiling equivalent v1.0.2 ai-memory-1.38.0> Compiling futures-core v0.3.32 ai-memory-1.38.0> Compiling hashbrown v0.17.1 ai-memory-1.38.0> Compiling scopeguard v1.2.0 ai-memory-1.38.0> Compiling zmij v1.0.21 ai-memory-1.38.0> Compiling futures-sink v0.3.32 ai-memory-1.38.0> Compiling writeable v0.6.3 ai-memory-1.38.0> Compiling percent-encoding v2.3.2 ai-memory-1.38.0> Compiling litemap v0.8.2 ai-memory-1.38.0> Compiling pkg-config v0.3.33 ai-memory-1.38.0> Compiling vcpkg v0.2.15 ai-memory-1.38.0> Compiling serde_json v1.0.150 ai-memory-1.38.0> Compiling utf8_iter v1.0.4 ai-memory-1.38.0> Compiling futures-io v0.3.32 ai-memory-1.38.0> Compiling futures-task v0.3.32 ai-memory-1.38.0> Compiling slab v0.4.12 ai-memory-1.38.0> Compiling unicase v2.9.0 ai-memory-1.38.0> Compiling regex-syntax v0.8.10 ai-memory-1.38.0> Compiling autocfg v1.5.0 ai-memory-1.38.0> Compiling tower-service v0.3.3 ai-memory-1.38.0> Compiling httparse v1.10.1 ai-memory-1.38.0> Compiling zerocopy v0.8.48 ai-memory-1.38.0> Compiling lock_api v0.4.14 ai-memory-1.38.0> Compiling getrandom v0.4.2 ai-memory-1.38.0> Compiling rand_core v0.10.1 ai-memory-1.38.0> Compiling try-lock v0.2.5 ai-memory-1.38.0> Compiling anyhow v1.0.103 ai-memory-1.38.0> Compiling thiserror v1.0.69 ai-memory-1.38.0> Compiling httpdate v1.0.3 ai-memory-1.38.0> Compiling futures-channel v0.3.32 ai-memory-1.38.0> Compiling zeroize v1.8.2 ai-memory-1.38.0> Compiling want v0.3.1 ai-memory-1.38.0> Compiling form_urlencoded v1.2.2 ai-memory-1.38.0> Compiling sync_wrapper v1.0.2 ai-memory-1.38.0> Compiling atomic-waker v1.1.2 ai-memory-1.38.0> Compiling tracing-core v0.1.36 ai-memory-1.38.0> Compiling base64 v0.22.1 ai-memory-1.38.0> Compiling thiserror v2.0.18 ai-memory-1.38.0> Compiling mime v0.3.17 ai-memory-1.38.0> Compiling ref-cast v1.0.25 ai-memory-1.38.0> Compiling tower-layer v0.3.3 ai-memory-1.38.0> Compiling mime_guess v2.0.5 ai-memory-1.38.0> Compiling ipnet v2.12.0 ai-memory-1.38.0> Compiling typenum v1.20.0 ai-memory-1.38.0> Compiling untrusted v0.9.0 ai-memory-1.38.0> Compiling generic-array v0.14.7 ai-memory-1.38.0> Compiling ahash v0.8.12 ai-memory-1.38.0> Compiling subtle v2.6.1 ai-memory-1.38.0> Compiling rustls-pki-types v1.14.1 ai-memory-1.38.0> Compiling same-file v1.0.6 ai-memory-1.38.0> Compiling dyn-clone v1.0.20 ai-memory-1.38.0> Compiling heck v0.5.0 ai-memory-1.38.0> Compiling rustix v1.1.4 ai-memory-1.38.0> Compiling rustls v0.23.40 ai-memory-1.38.0> Compiling winnow v0.7.15 ai-memory-1.38.0> Compiling powerfmt v0.2.0 ai-memory-1.38.0> Compiling toml_write v0.1.2 ai-memory-1.38.0> Compiling sha1_smol v1.0.1 ai-memory-1.38.0> Compiling walkdir v2.5.0 ai-memory-1.38.0> Compiling time-core v0.1.8 ai-memory-1.38.0> Compiling fallible-streaming-iterator v0.1.9 ai-memory-1.38.0> Compiling linux-raw-sys v0.12.1 ai-memory-1.38.0> Compiling num-conv v0.2.2 ai-memory-1.38.0> Compiling ryu v1.0.23 ai-memory-1.38.0> Compiling http-range-header v0.4.2 ai-memory-1.38.0> Compiling deranged v0.5.8 ai-memory-1.38.0> Compiling num-traits v0.2.19 ai-memory-1.38.0> Compiling fallible-iterator v0.3.0 ai-memory-1.38.0> Compiling siphasher v1.0.3 ai-memory-1.38.0> Compiling openssl-probe v0.2.1 ai-memory-1.38.0> Compiling crossbeam-utils v0.8.21 ai-memory-1.38.0> Compiling cpufeatures v0.2.17 ai-memory-1.38.0> Compiling getrandom v0.3.4 ai-memory-1.38.0> Compiling notify-types v2.1.0 ai-memory-1.38.0> Compiling aho-corasick v1.1.4 ai-memory-1.38.0> Compiling file-id v0.2.3 ai-memory-1.38.0> Compiling ident_case v1.0.1 ai-memory-1.38.0> Compiling crossbeam-epoch v0.9.20 ai-memory-1.38.0> Compiling unsafe-libyaml v0.2.11 ai-memory-1.38.0> Compiling fastrand v2.4.1 ai-memory-1.38.0> Compiling strsim v0.11.1 ai-memory-1.38.0> Compiling proc-macro2-diagnostics v0.10.1 ai-memory-1.38.0> Compiling utf8parse v0.2.2 ai-memory-1.38.0> Compiling minimal-lexical v0.2.1 ai-memory-1.38.0> Compiling libm v0.2.16 ai-memory-1.38.0> Compiling rustls-native-certs v0.8.4 ai-memory-1.38.0> Compiling http v1.4.0 ai-memory-1.38.0> Compiling anstyle-parse v1.0.0 ai-memory-1.38.0> Compiling unicode-segmentation v1.13.3 ai-memory-1.38.0> Compiling anstyle-query v1.1.5 ai-memory-1.38.0> Compiling rayon-core v1.13.0 ai-memory-1.38.0> Compiling nom v7.1.3 ai-memory-1.38.0> Compiling colorchoice v1.0.5 ai-memory-1.38.0> Compiling matchit v0.8.4 ai-memory-1.38.0> Compiling indexmap v2.14.0 ai-memory-1.38.0> Compiling is_terminal_polyfill v1.70.2 ai-memory-1.38.0> Compiling signal-hook v0.3.18 ai-memory-1.38.0> Compiling cpufeatures v0.3.0 ai-memory-1.38.0> Compiling anstyle v1.0.14 ai-memory-1.38.0> Compiling yansi v1.0.1 ai-memory-1.38.0> Compiling crc32fast v1.5.0 ai-memory-1.38.0> Compiling uncased v0.9.10 ai-memory-1.38.0> Compiling adler2 v2.0.1 ai-memory-1.38.0> Compiling chacha20 v0.10.0 ai-memory-1.38.0> Compiling pulldown-cmark v0.12.2 ai-memory-1.38.0> Compiling simd-adler32 v0.3.9 ai-memory-1.38.0> Compiling lazy_static v1.5.0 ai-memory-1.38.0> Compiling rmcp v1.7.0 ai-memory-1.38.0> Compiling clap_lex v1.1.0 ai-memory-1.38.0> Compiling sharded-slab v0.1.7 ai-memory-1.38.0> Compiling tracing-log v0.2.0 ai-memory-1.38.0> Compiling syn v2.0.117 ai-memory-1.38.0> Compiling figment v0.10.19 ai-memory-1.38.0> Compiling anstream v1.0.0 ai-memory-1.38.0> Compiling thread_local v1.1.9 ai-memory-1.38.0> Compiling option-ext v0.2.0 ai-memory-1.38.0> Compiling inlinable_string v0.1.15 ai-memory-1.38.0> Compiling pulldown-cmark-escape v0.11.0 ai-memory-1.38.0> Compiling nu-ansi-term v0.50.3 ai-memory-1.38.0> Compiling miniz_oxide v0.8.9 ai-memory-1.38.0> Compiling askama_escape v0.10.3 ai-memory-1.38.0> Compiling either v1.16.0 ai-memory-1.38.0> Compiling pastey v0.2.3 ai-memory-1.38.0> Compiling convert_case v0.10.0 ai-memory-1.38.0> Compiling litrs v1.0.0 ai-memory-1.38.0> Compiling symlink v0.1.0 ai-memory-1.38.0> Compiling crossbeam-channel v0.5.15 ai-memory-1.38.0> Compiling clap_builder v4.6.0 ai-memory-1.38.0> Compiling jobserver v0.1.34 ai-memory-1.38.0> Compiling mio v1.2.0 ai-memory-1.38.0> Compiling errno v0.3.14 ai-memory-1.38.0> Compiling socket2 v0.6.3 ai-memory-1.38.0> Compiling getrandom v0.2.17 ai-memory-1.38.0> Compiling inotify-sys v0.1.5 ai-memory-1.38.0> Compiling filetime v0.2.29 ai-memory-1.38.0> Compiling dirs-sys v0.4.1 ai-memory-1.38.0> Compiling fs2 v0.4.3 ai-memory-1.38.0> Compiling inotify v0.11.1 ai-memory-1.38.0> Compiling signal-hook-registry v1.4.8 ai-memory-1.38.0> Compiling rand v0.10.1 ai-memory-1.38.0> Compiling dirs v5.0.1 ai-memory-1.38.0> Compiling cc v1.2.62 ai-memory-1.38.0> Compiling parking_lot v0.12.5 ai-memory-1.38.0> Compiling crossbeam-deque v0.8.6 ai-memory-1.38.0> Compiling document-features v0.2.12 ai-memory-1.38.0> Compiling flate2 v1.1.9 ai-memory-1.38.0> Compiling time v0.3.47 ai-memory-1.38.0> Compiling http-body v1.0.1 ai-memory-1.38.0> Compiling block-buffer v0.10.4 ai-memory-1.38.0> Compiling crypto-common v0.1.7 ai-memory-1.38.0> Compiling http-body-util v0.1.3 ai-memory-1.38.0> Compiling notify v8.2.0 ai-memory-1.38.0> Compiling signal-hook-mio v0.2.5 ai-memory-1.38.0> Compiling digest v0.10.7 ai-memory-1.38.0> Compiling sha2 v0.10.9 ai-memory-1.38.0> Compiling humansize v2.1.3 ai-memory-1.38.0> Compiling regex-automata v0.4.14 ai-memory-1.38.0> Compiling notify-debouncer-full v0.6.0 ai-memory-1.38.0> Compiling ai-memory-web v1.38.0 (/build/source/crates/ai-memory-web) ai-memory-1.38.0> Compiling rayon v1.12.0 ai-memory-1.38.0> Compiling askama_parser v0.2.1 ai-memory-1.38.0> Compiling tempfile v3.27.0 ai-memory-1.38.0> Compiling xattr v1.6.1 ai-memory-1.38.0> Compiling ring v0.17.14 ai-memory-1.38.0> Compiling libsqlite3-sys v0.30.1 ai-memory-1.38.0> Compiling libz-sys v1.1.28 ai-memory-1.38.0> Compiling libgit2-sys v0.18.4+1.9.3 ai-memory-1.38.0> Compiling tar v0.4.46 ai-memory-1.38.0> Compiling uuid v1.23.1 ai-memory-1.38.0> Compiling jiff v0.2.24 ai-memory-1.38.0> Compiling serde_path_to_error v0.1.20 ai-memory-1.38.0> Compiling jsonc-parser v0.33.1 ai-memory-1.38.0> Compiling regex v1.12.3 ai-memory-1.38.0> Compiling synstructure v0.13.2 ai-memory-1.38.0> Compiling serde_derive_internals v0.29.1 ai-memory-1.38.0> Compiling darling_core v0.23.0 ai-memory-1.38.0> Compiling sysinfo v0.32.1 ai-memory-1.38.0> Compiling zerofrom-derive v0.1.7 ai-memory-1.38.0> Compiling yoke-derive v0.8.2 ai-memory-1.38.0> Compiling zerovec-derive v0.11.3 ai-memory-1.38.0> Compiling displaydoc v0.2.5 ai-memory-1.38.0> Compiling serde_derive v1.0.228 ai-memory-1.38.0> Compiling tracing-attributes v0.1.31 ai-memory-1.38.0> Compiling tokio-macros v2.7.0 ai-memory-1.38.0> Compiling futures-macro v0.3.32 ai-memory-1.38.0> Compiling ref-cast-impl v1.0.25 ai-memory-1.38.0> Compiling thiserror-impl v1.0.69 ai-memory-1.38.0> Compiling thiserror-impl v2.0.18 ai-memory-1.38.0> Compiling async-trait v0.1.89 ai-memory-1.38.0> Compiling pear_codegen v0.2.9 ai-memory-1.38.0> Compiling derive_more-impl v2.1.1 ai-memory-1.38.0> Compiling clap_derive v4.6.1 ai-memory-1.38.0> Compiling schemars_derive v1.2.1 ai-memory-1.38.0> Compiling hashbrown v0.14.5 ai-memory-1.38.0> Compiling matchers v0.2.0 ai-memory-1.38.0> Compiling tokio v1.52.3 ai-memory-1.38.0> Compiling futures-util v0.3.32 ai-memory-1.38.0> Compiling pear v0.2.9 ai-memory-1.38.0> Compiling hashlink v0.9.1 ai-memory-1.38.0> Compiling derive_more v2.1.1 ai-memory-1.38.0> Compiling zerofrom v0.1.8 ai-memory-1.38.0> Compiling crossterm v0.29.0 ai-memory-1.38.0> Compiling yoke v0.8.2 ai-memory-1.38.0> Compiling tracing v0.1.44 ai-memory-1.38.0> Compiling zerovec v0.11.6 ai-memory-1.38.0> Compiling zerotrie v0.2.4 ai-memory-1.38.0> Compiling darling_macro v0.23.0 ai-memory-1.38.0> Compiling axum-core v0.5.6 ai-memory-1.38.0> Compiling clap v4.6.1 ai-memory-1.38.0> Compiling clap_complete v4.6.7 ai-memory-1.38.0> Compiling tinystr v0.8.3 ai-memory-1.38.0> Compiling potential_utf v0.1.5 ai-memory-1.38.0> Compiling icu_collections v2.2.0 ai-memory-1.38.0> Compiling darling v0.23.0 ai-memory-1.38.0> Compiling rmcp-macros v1.7.0 ai-memory-1.38.0> Compiling icu_locale_core v2.2.0 ai-memory-1.38.0> Compiling icu_provider v2.2.0 ai-memory-1.38.0> Compiling basic-toml v0.1.10 ai-memory-1.38.0> Compiling chrono v0.4.44 ai-memory-1.38.0> Compiling serde_spanned v0.6.9 ai-memory-1.38.0> Compiling toml_datetime v0.6.11 ai-memory-1.38.0> Compiling serde_urlencoded v0.7.1 ai-memory-1.38.0> Compiling secrecy v0.10.3 ai-memory-1.38.0> Compiling serde_yaml v0.9.34+deprecated ai-memory-1.38.0> Compiling tracing-serde v0.2.0 ai-memory-1.38.0> Compiling icu_normalizer v2.2.0 ai-memory-1.38.0> Compiling icu_properties v2.2.0 ai-memory-1.38.0> Compiling tracing-subscriber v0.3.23 ai-memory-1.38.0> Compiling toml_edit v0.22.27 ai-memory-1.38.0> Compiling git2 v0.21.0 ai-memory-1.38.0> Compiling askama_derive v0.12.5 ai-memory-1.38.0> Compiling futures-executor v0.3.32 ai-memory-1.38.0> Compiling sse-stream v0.2.3 ai-memory-1.38.0> Compiling futures v0.3.32 ai-memory-1.38.0> Compiling rustls-webpki v0.103.13 ai-memory-1.38.0> Compiling schemars v1.2.1 ai-memory-1.38.0> Compiling idna_adapter v1.2.2 ai-memory-1.38.0> Compiling idna v1.1.0 ai-memory-1.38.0> Compiling url v2.5.8 ai-memory-1.38.0> Compiling refinery-core v0.8.16 ai-memory-1.38.0> Compiling tracing-appender v0.2.5 ai-memory-1.38.0> Compiling askama v0.12.1 ai-memory-1.38.0> Compiling refinery-macros v0.8.16 ai-memory-1.38.0> Compiling ai-memory-core v1.38.0 (/build/source/crates/ai-memory-core) ai-memory-1.38.0> Compiling toml v0.8.23 ai-memory-1.38.0> Compiling hyper v1.9.0 ai-memory-1.38.0> Compiling tower v0.5.3 ai-memory-1.38.0> Compiling tokio-util v0.7.18 ai-memory-1.38.0> Compiling tokio-stream v0.1.18 ai-memory-1.38.0> Compiling tower-http v0.6.11 ai-memory-1.38.0> Compiling hyper-util v0.1.20 ai-memory-1.38.0> Compiling axum v0.8.9 ai-memory-1.38.0> Compiling reqwest v0.13.4 ai-memory-1.38.0> Compiling tokio-rustls v0.26.4 ai-memory-1.38.0> Compiling hyper-rustls v0.27.9 ai-memory-1.38.0> Compiling reqwest v0.12.28 ai-memory-1.38.0> Compiling ai-memory-llm v1.38.0 (/build/source/crates/ai-memory-llm) ai-memory-1.38.0> Compiling rusqlite v0.32.1 ai-memory-1.38.0> Compiling ai-memory-workstream v1.38.0 (/build/source/crates/ai-memory-workstream) ai-memory-1.38.0> Compiling refinery v0.8.16 ai-memory-1.38.0> Compiling ai-memory-store v1.38.0 (/build/source/crates/ai-memory-store) ai-memory-1.38.0> Compiling ai-memory-wiki v1.38.0 (/build/source/crates/ai-memory-wiki) ai-memory-1.38.0> Compiling ai-memory-consolidate v1.38.0 (/build/source/crates/ai-memory-consolidate) ai-memory-1.38.0> Compiling ai-memory-mcp v1.38.0 (/build/source/crates/ai-memory-mcp) ai-memory-1.38.0> Compiling ai-memory-hooks v1.38.0 (/build/source/crates/ai-memory-hooks) ai-memory-1.38.0> Compiling ai-memory-cli v1.38.0 (/build/source/crates/ai-memory-cli) ai-memory-1.38.0> Finished `release` profile [optimized] target(s) in 16m 35s ai-memory-1.38.0> Executing cargoInstallPostBuildHook ai-memory-1.38.0> Finished cargoInstallPostBuildHook ai-memory-1.38.0> Finished cargoBuildHook ai-memory-1.38.0> buildPhase completed in 16 minutes 36 seconds ai-memory-1.38.0> Running phase: checkPhase ai-memory-1.38.0> Executing cargoCheckHook ai-memory-1.38.0> cargoCheckHook flags: -j 48 --profile release --target x86_64-unknown-linux-gnu --offline --package ai-memory-cli --bin ai-memory -- ai-memory-1.38.0> Compiling tokio v1.52.3 ai-memory-1.38.0> Compiling hyper v1.9.0 ai-memory-1.38.0> Compiling tower v0.5.3 ai-memory-1.38.0> Compiling tokio-util v0.7.18 ai-memory-1.38.0> Compiling tokio-rustls v0.26.4 ai-memory-1.38.0> Compiling ai-memory-store v1.38.0 (/build/source/crates/ai-memory-store) ai-memory-1.38.0> Compiling tokio-stream v0.1.18 ai-memory-1.38.0> Compiling ai-memory-workstream v1.38.0 (/build/source/crates/ai-memory-workstream) ai-memory-1.38.0> Compiling tower-http v0.6.11 ai-memory-1.38.0> Compiling hyper-util v0.1.20 ai-memory-1.38.0> Compiling hyper-rustls v0.27.9 ai-memory-1.38.0> Compiling axum v0.8.9 ai-memory-1.38.0> Compiling reqwest v0.13.4 ai-memory-1.38.0> Compiling reqwest v0.12.28 ai-memory-1.38.0> Compiling rmcp v1.7.0 ai-memory-1.38.0> Compiling ai-memory-llm v1.38.0 (/build/source/crates/ai-memory-llm) ai-memory-1.38.0> Compiling ai-memory-wiki v1.38.0 (/build/source/crates/ai-memory-wiki) ai-memory-1.38.0> Compiling ai-memory-consolidate v1.38.0 (/build/source/crates/ai-memory-consolidate) ai-memory-1.38.0> Compiling ai-memory-web v1.38.0 (/build/source/crates/ai-memory-web) ai-memory-1.38.0> Compiling ai-memory-hooks v1.38.0 (/build/source/crates/ai-memory-hooks) ai-memory-1.38.0> Compiling ai-memory-mcp v1.38.0 (/build/source/crates/ai-memory-mcp) ai-memory-1.38.0> Compiling ai-memory-cli v1.38.0 (/build/source/crates/ai-memory-cli) ai-memory-1.38.0> Finished `release` profile [optimized] target(s) in 8m 43s ai-memory-1.38.0> Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/ai_memory-04574f3352034cf7) ai-memory-1.38.0> ai-memory-1.38.0> running 744 tests ai-memory-1.38.0> test cli::tests::architecture_lists_every_visible_cli_subcommand ... ok ai-memory-1.38.0> test cli::tests::claude_session_aware_mcp_flag_parses ... ok ai-memory-1.38.0> test cli::tests::auth_login_copilot_parses_token_and_client_override ... ok ai-memory-1.38.0> test cli::tests::grok_hook_agent_parses ... ok ai-memory-1.38.0> test cli::tests::devin_hook_agent_parses ... ok ai-memory-1.38.0> test cli::tests::install_hooks_project_strategy_repo_root_parses ... ok ai-memory-1.38.0> test cli::tests::install_hooks_explicit_basename_still_parses ... ok ai-memory-1.38.0> test cli::tests::grok_mcp_client_parses ... ok ai-memory-1.38.0> test cli::tests::auto_improve_report_parses_scope_window_limit_and_json ... ok ai-memory-1.38.0> test cli::tests::zed_mcp_client_parses ... ok ai-memory-1.38.0> test cli::tests::auto_improve_parses_required_session ... ok ai-memory-1.38.0> test cli::tests::llm_test_anthropic_oauth_parses ... ok ai-memory-1.38.0> test cli::tests::serve_parses_insecure_no_auth_override ... ok ai-memory-1.38.0> test cli::tests::auth_login_openai_oauth_parses ... ok ai-memory-1.38.0> test cli::tests::install_hooks_project_strategy_defaults_to_unset ... ok ai-memory-1.38.0> test commands::apply_shared::tests::apply_rejects_a_symlink_loop_without_replacing_it ... ok ai-memory-1.38.0> test cli::tests::zcode_mcp_client_parses ... ok ai-memory-1.38.0> test cli::tests::kiro_mcp_aliases_parse ... ok ai-memory-1.38.0> test cli::tests::write_page_project_is_optional_for_shared_resolution ... ok ai-memory-1.38.0> test cli::tests::install_hooks_prompt_capture_flags_parse_and_conflict ... ok ai-memory-1.38.0> test cli::tests::show_parses_listing_and_launch_flags_without_consuming_native_args ... ok ai-memory-1.38.0> test cli::tests::curator_parses_default_dry_run_and_mode_flags ... ok ai-memory-1.38.0> test cli::tests::completions_parses_every_supported_shell ... ok ai-memory-1.38.0> test cli::tests::pool_hook_and_finalize_aliases_parse ... ok ai-memory-1.38.0> test cli::tests::vscode_copilot_aliases_parse_to_same_variant ... ok ai-memory-1.38.0> test cli::tests::pi_and_omp_hook_agents_parse_to_distinct_variants ... ok ai-memory-1.38.0> test cli::tests::zcode_hook_and_finalize_aliases_parse ... ok ai-memory-1.38.0> test cli::tests::pi_and_omp_mcp_clients_parse_to_distinct_variants ... ok ai-memory-1.38.0> test cli::tests::completions_rejects_an_unknown_shell ... ok ai-memory-1.38.0> test cli::tests::hook_project_strategy_rejects_invalid_value ... ok ai-memory-1.38.0> test cli::tests::install_hooks_project_strategy_rejects_invalid_value ... ok ai-memory-1.38.0> test cli::tests::completions_requires_a_shell ... ok ai-memory-1.38.0> test commands::apply_shared::tests::apply_through_dangling_relative_symlink_creates_target_and_keeps_link ... ok ai-memory-1.38.0> test cli::tests::continue_takes_wrapper_flags_only ... ok ai-memory-1.38.0> test cli::tests::pending_writes_subcommands_parse ... ok ai-memory-1.38.0> test cli::tests::swival_mcp_client_parses ... ok ai-memory-1.38.0> test cli::tests::kiro_hook_engine_aliases_parse_explicitly ... ok ai-memory-1.38.0> test auth_bearer::tests::empty_when_static_and_oidc_are_absent ... ok ai-memory-1.38.0> test auth_bearer::tests::static_token_wins_over_stored_oidc ... ok ai-memory-1.38.0> test auth_bearer::tests::stored_oidc_is_used_when_static_token_is_absent ... ok ai-memory-1.38.0> test commands::continue_session::tests::empty_registry_orders_to_nothing ... ok ai-memory-1.38.0> test cli::tests::antigravity_aliases_parse_to_same_variant ... ok ai-memory-1.38.0> test cli::tests::finalize_session_parses_typed_id_and_rejects_ambiguous_selection ... ok ai-memory-1.38.0> test commands::continue_session::tests::equal_timestamps_break_ties_deterministically ... ok ai-memory-1.38.0> test commands::bootstrap::tests::ensure_sources_for_dry_run_rejects_empty ... ok ai-memory-1.38.0> test commands::bootstrap::tests::local_dry_run_tallies_kinds ... ok ai-memory-1.38.0> test commands::continue_session::tests::newest_linked_checkout_wins ... ok ai-memory-1.38.0> test commands::audit_contamination::tests::scope_query_rejects_partial_scope ... ok ai-memory-1.38.0> test commands::bootstrap::tests::local_dry_run_marks_outcome_as_dry_run ... ok ai-memory-1.38.0> test commands::continue_session::tests::ordering_compares_instants_not_raw_strings ... ok ai-memory-1.38.0> test commands::auth::tests::expiry_status_does_not_print_exact_token_time ... ok ai-memory-1.38.0> test commands::bootstrap::tests::ensure_sources_for_dry_run_accepts_non_empty ... ok ai-memory-1.38.0> test commands::audit_contamination::tests::scope_query_accepts_global_or_complete_scope ... ok ai-memory-1.38.0> test commands::data_purge::tests::purge_missing_data_dir_is_noop ... ok ai-memory-1.38.0> test commands::bootstrap::tests::local_dry_run_preserves_pre_prune_collected_count ... ok ai-memory-1.38.0> test commands::bootstrap::tests::local_dry_run_drops_to_fit_tight_budget ... ok ai-memory-1.38.0> test commands::continue_session::tests::workspace_filter_keeps_only_the_requested_scope ... ok ai-memory-1.38.0> test commands::embed::tests::force_with_explicit_project_stays_scoped ... ok ai-memory-1.38.0> test commands::data_purge::tests::purge_preview_lists_only_existing ... ok ai-memory-1.38.0> test commands::data_purge::tests::purge_data_dirs_skips_absent ... ok ai-memory-1.38.0> test commands::apply_shared::tests::apply_to_unchanged_file_is_noop_and_no_backup ... ok ai-memory-1.38.0> test commands::embed::tests::force_without_project_enables_all_projects ... ok ai-memory-1.38.0> test commands::handoffs::tests::a_future_timestamp_clamps_to_just_now ... ok ai-memory-1.38.0> test commands::completions::tests::closed_output_pipe_is_a_clean_exit ... ok ai-memory-1.38.0> test cli::tests::command_code_mcp_and_hook_aliases_parse ... ok ai-memory-1.38.0> test commands::continue_session::tests::a_missing_checkout_is_rejected ... ok ai-memory-1.38.0> test commands::continue_session::tests::skip_reasons_are_stripped_before_reaching_the_terminal ... ok ai-memory-1.38.0> test commands::handoffs::tests::age_reports_the_coarsest_useful_unit ... ok ai-memory-1.38.0> test commands::hook::tests::allowlist_gate_covers_events_that_never_reach_capture_policy ... ok ai-memory-1.38.0> test commands::continue_session::tests::unparsable_timestamps_are_rejected_without_stranding_valid_links ... ok ai-memory-1.38.0> test commands::data_purge::tests::purge_data_dirs_wipes_set_keeps_logs ... ok ai-memory-1.38.0> test commands::auto_improve::tests::skipped_survives_the_response_round_trip_into_json_output ... ok ai-memory-1.38.0> test commands::continue_session::tests::a_checkout_replaced_by_a_symlink_is_rejected ... ok ai-memory-1.38.0> test commands::auto_improve::tests::skipped_reaches_human_output_too ... ok ai-memory-1.38.0> test commands::auto_improve::tests::a_clean_run_prints_no_skipped_section ... ok ai-memory-1.38.0> test commands::hook::tests::background_drain_budget_defaults_and_clamps ... ok ai-memory-1.38.0> test commands::apply_shared::tests::apply_to_missing_file_creates ... ok ai-memory-1.38.0> test commands::auto_improve::tests::a_server_without_the_field_still_parses ... ok ai-memory-1.38.0> test commands::hook::tests::background_drain_event_policy_spawns_without_inline_drain ... ok ai-memory-1.38.0> test commands::apply_shared::tests::json_mutator_rejects_non_object_root ... ok ai-memory-1.38.0> test commands::hook::tests::antigravity_preinvocation_only_maps_invocation_zero_to_session_start ... ok ai-memory-1.38.0> test commands::hook::tests::boundary_events_trigger_background_drainer ... ok ai-memory-1.38.0> test commands::apply_shared::tests::json_mutator_preserves_user_keys ... ok ai-memory-1.38.0> test commands::hook::tests::devin_missing_cwd_uses_process_cwd_when_env_is_missing ... ok ai-memory-1.38.0> test commands::curator::tests::staged_collision_reaches_human_and_json_output ... ok ai-memory-1.38.0> test commands::hook::tests::devin_missing_cwd_uses_devin_project_dir_before_process_cwd ... ok ai-memory-1.38.0> test commands::hook::tests::devin_missing_cwd_uses_env_or_process_cwd ... ok ai-memory-1.38.0> test commands::hook::tests::devin_payload_cwd_wins_over_fallbacks ... ok ai-memory-1.38.0> test commands::hook::tests::drain_report_is_silent_on_a_clean_pass ... ok ai-memory-1.38.0> test commands::apply_shared::tests::json_mutator_rejects_invalid_json ... ok ai-memory-1.38.0> test commands::hook::tests::hook_success_response_is_specific_to_antigravity_pre_tool_use ... ok ai-memory-1.38.0> test commands::hook::tests::incremental_threshold_parses_and_falls_back ... ok ai-memory-1.38.0> test commands::hook::tests::drain_report_distinguishes_still_queued_from_dropped ... ok ai-memory-1.38.0> test commands::finalize_session::tests::synthetic_end_url_omits_all_owners_when_not_requested ... ok ai-memory-1.38.0> test commands::finalize_session::tests::synthetic_end_url_propagates_all_owners_once_when_requested ... ok ai-memory-1.38.0> test commands::hook::tests::drain_report_separates_loss_and_contention_from_a_clean_pass ... ok ai-memory-1.38.0> test commands::auto_improve_report::tests::a_server_without_the_field_still_parses ... ok ai-memory-1.38.0> test commands::auto_improve_report::tests::a_clean_run_prints_no_skipped_section ... ok ai-memory-1.38.0> test commands::auto_improve_report::tests::skipped_survives_the_response_round_trip_into_json_output ... ok ai-memory-1.38.0> test commands::auto_improve_report::tests::a_collision_explains_the_empty_proposals_line ... ok ai-memory-1.38.0> test commands::curator::tests::older_server_response_without_skipped_still_parses ... ok ai-memory-1.38.0> test commands::hook::tests::kiro_v3_live_lifecycle_fixtures_share_native_context ... ok ai-memory-1.38.0> test commands::hook::tests::missing_cwd_process_fallback_is_devin_only ... ok ai-memory-1.38.0> test commands::hook::tests::parse_minutes_clamps_large_values ... ok ai-memory-1.38.0> test commands::hook::tests::parse_minutes_falls_back_on_invalid ... ok ai-memory-1.38.0> test commands::hook::tests::resolve_data_dir_leaves_plain_path_untouched ... ok ai-memory-1.38.0> test commands::hook::tests::parse_minutes_honours_valid_override ... ok ai-memory-1.38.0> test commands::hook::tests::resolve_data_dir_strips_verbatim_prefix_from_baked_arg ... ok ai-memory-1.38.0> test commands::apply_shared::tests::toml_mutator_preserves_comments_and_other_tables ... ok ai-memory-1.38.0> test commands::hook::tests::should_incremental_drain_only_post_tool_use_over_threshold ... ok ai-memory-1.38.0> test commands::hook::tests::session_end_spawn_failure_is_returned_for_warning_only ... ok ai-memory-1.38.0> test commands::apply_shared::tests::idempotent_double_apply_second_is_noop ... ok ai-memory-1.38.0> test commands::hook::tests::timing_accessors_read_the_expected_env_vars ... ok ai-memory-1.38.0> test commands::hook::tests::check_capture_has_no_spool_side_effects ... ok ai-memory-1.38.0> test commands::hook::tests::persisted_mode_reads_allowlist ... ok ai-memory-1.38.0> test commands::hook::tests::devin_query_session_id_is_stable_across_payloads_without_native_id ... ok ai-memory-1.38.0> test commands::hook_capture::tests::canonical_context_matches_supported_routing_shapes ... ok ai-memory-1.38.0> test commands::hook_capture::tests::extracts_top_level_cwd ... ok ai-memory-1.38.0> test commands::hook::tests::antigravity_native_pre_tool_use_allows_and_spools_valid_input ... ok ai-memory-1.38.0> test commands::hook::tests::unreadable_or_unknown_mode_falls_back_to_denylist_not_allowlist ... ok ai-memory-1.38.0> test commands::hook::tests::capture_drop_prevents_spool_and_drainer ... ok ai-memory-1.38.0> test commands::hook::tests::antigravity_pre_tool_capture_drop_still_allows_the_tool ... ok ai-memory-1.38.0> test commands::continue_session::tests::a_checkout_that_changed_scope_is_rejected ... ok ai-memory-1.38.0> test commands::continue_session::tests::a_checkout_whose_scope_still_matches_resolves ... ok ai-memory-1.38.0> test commands::hook::tests::capture_drop_handles_symlinked_cwd ... ok ai-memory-1.38.0> test commands::hook_capture::tests::capture_section_is_strict_and_marker_read_is_bounded ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_appends_marker_fields ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_appends_default_global ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_default_repo_root_collapses_git_subdir ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_marker_strategy_overrides_default ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_omits_briefing_when_unset ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_omits_default_global_when_unset ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_repo_root_collapses_out_of_tree_worktree ... ok ai-memory-1.38.0> test commands::hook_capture::tests::missing_cwd_is_none ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_omits_drop_subagent_when_unset ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_windows_cwd_yields_parseable_url ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_default_repo_root_non_git_keeps_project_implicit ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_repo_root_non_git_keeps_project_implicit ... ok ai-memory-1.38.0> test commands::hook_capture::tests::get_handoff_ignores_non_success_status ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_marker_project_overrides_default_repo_root ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_tags_project_provenance ... ok ai-memory-1.38.0> test commands::hook_capture::tests::query_suffix_without_marker_has_only_cwd ... ok ai-memory-1.38.0> test commands::hook_capture::tests::resolve_cwd_prefers_payload_over_env_and_process_cwd ... ok ai-memory-1.38.0> test commands::hook_capture::tests::resolve_cwd_uses_devin_project_dir_when_payload_omits_cwd ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_requests_briefing_only_for_truthy_opt_in ... ok ai-memory-1.38.0> test commands::hook_capture::tests::post_hook_failed_when_server_unreachable ... ok ai-memory-1.38.0> test commands::hook_capture::tests::resolve_cwd_uses_process_cwd_when_payload_and_env_omit_cwd ... ok ai-memory-1.38.0> test commands::hook_capture::tests::url_encode_escapes_reserved ... ok ai-memory-1.38.0> test commands::hook_capture::tests::post_hook_delivered_on_2xx ... ok ai-memory-1.38.0> test commands::hook_capture::tests::post_hook_saturated_on_429 ... ok ai-memory-1.38.0> test auth_bearer::tests::refresh_failure_falls_back_to_existing_token ... ok ai-memory-1.38.0> test commands::hook_capture::tests::url_encode_is_an_unreserved_allow_list ... ok ai-memory-1.38.0> test commands::hook_spool::tests::batch_endpoint_derives_from_event_url ... ok ai-memory-1.38.0> test commands::hook_spool::tests::created_ms_from_name_handles_malformed_names ... ok ai-memory-1.38.0> test commands::hook_drain_process::tests::command_spec_uses_data_dir_then_hidden_subcommand ... ok ai-memory-1.38.0> test commands::hook_spool::tests::an_unreadable_spool_is_an_error_not_an_empty_listing ... ok ai-memory-1.38.0> test commands::hook_drain_process::tests::spawn_config_redirects_stdio_and_logs_under_data_dir_logs ... ok ai-memory-1.38.0> test commands::hook_drain_process::tests::unix_spawn_config_prefers_true_session_detach_when_available ... ok ai-memory-1.38.0> test commands::hook_spool::tests::a_readable_spool_lists_json_entries_and_no_unreadable_count ... ok ai-memory-1.38.0> test commands::hook_drain_process::tests::rotate_oversized_log_rotates_once_over_cap_and_keeps_small_logs ... ok ai-memory-1.38.0> test auth_bearer::tests::refresh_success_persists_and_uses_refreshed_token ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_empty_spool_is_noop ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_drops_stale_event ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_delivers_all_events_in_one_batch ... ok ai-memory-1.38.0> test commands::apply_shared::tests::apply_through_symlink_updates_target_and_keeps_link ... ok ai-memory-1.38.0> test commands::apply_shared::tests::apply_to_changed_file_backs_up_then_writes ... ok ai-memory-1.38.0> test commands::hook::tests::antigravity_native_pre_tool_use_fails_open_on_malformed_input ... ok ai-memory-1.38.0> test commands::hook::tests::persisted_mode_defaults_to_denylist_when_absent ... ok ai-memory-1.38.0> test commands::hook::tests::devin_query_session_id_does_not_override_native_payload_id ... ok ai-memory-1.38.0> test commands::hook::tests::session_id_query_suffix_is_devin_only ... ok ai-memory-1.38.0> test commands::hook_spool::tests::entry_for_picks_auth_mode ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_lock_is_exclusive_and_released_on_drop ... ok ai-memory-1.38.0> test commands::hook_spool::tests::enqueue_creates_spool_dir_private ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_exclusive_skips_when_lock_busy ... ok ai-memory-1.38.0> test commands::hook_capture::tests::marker_query_suffix_appends_briefing_opt_in ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_until_quiescent_reports_lock_io_errors ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_unreachable_leaves_events_queued ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_until_quiescent_catches_new_entries ... ok ai-memory-1.38.0> test commands::hook_spool::tests::bearer_change_splits_batches_without_burning_attempts ... ok ai-memory-1.38.0> test commands::hook::tests::session_end_run_spawn_failure_keeps_event_queued_and_stdout_clean ... ok ai-memory-1.38.0> test commands::hook_spool::tests::note_retry_persist_reports_failure ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_exclusive_within_budget_zero_budget_leaves_entries ... ok ai-memory-1.38.0> test commands::hook_spool::tests::note_retry_persist_reports_success ... ok ai-memory-1.38.0> test commands::hook::tests::hermes_file_exclusion_drops_before_spool_or_drain ... ok ai-memory-1.38.0> test commands::hook::tests::pool_file_exclusion_drops_before_spool_or_drain ... ok ai-memory-1.38.0> test commands::hook::tests::devin_session_end_spools_stored_session_id_then_clears_state ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_falls_back_to_per_event_when_batch_unsupported ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_stays_robust_when_retry_count_cannot_persist ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_429_keeps_event_queued_without_bumping_attempts ... ok ai-memory-1.38.0> test auth_bearer::tests::refresh_save_failure_falls_back_to_existing_token ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_preserves_capture_flag_and_protocol_round_trip ... ok ai-memory-1.38.0> test commands::hook_spool::tests::endpoint_change_splits_batches_without_losing_rewound_entry ... ok ai-memory-1.38.0> test commands::hook_spool::tests::unrelated_lock_error_is_not_lock_busy ... ok ai-memory-1.38.0> test commands::hook_spool::tests::would_block_lock_error_is_lock_busy ... ok ai-memory-1.38.0> test commands::hook::tests::session_end_run_enqueues_outputs_empty_json_and_spawns_after_enqueue ... ok ai-memory-1.38.0> test commands::hook::tests::devin_post_tool_use_real_fixture_without_session_id_or_cwd_is_accepted ... ok ai-memory-1.38.0> test commands::hook::tests::invalid_capture_marker_spools_only_metadata ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_user_prompt_prints_nothing_when_no_handoff_is_pending ... ok ai-memory-1.38.0> test commands::hook_spool::tests::load_live_entry_keeps_clean_body_byte_exact ... ok ai-memory-1.38.0> test commands::hook_spool::tests::enqueue_then_list_round_trips ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_user_prompt_prints_the_handoff_body_verbatim ... ok ai-memory-1.38.0> test commands::hook_spool::tests::enqueue_names_are_unique_in_tight_loop ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_user_prompt_without_briefing_creates_no_marker ... ok ai-memory-1.38.0> test commands::install_hooks::tests::baked_project_strategy_ignores_unowned_json_entry ... ok ai-memory-1.38.0> test commands::hook_spool::tests::resolve_bearer_delegates_static_and_absent_oidc_semantics ... ok ai-memory-1.38.0> test commands::hook::tests::devin_post_compaction_summary_without_payload_cwd_uses_same_session ... ok ai-memory-1.38.0> test commands::hook::tests::stop_and_pre_compact_spawn_background_drainer_after_enqueue ... ok ai-memory-1.38.0> test commands::install_hooks::tests::baked_project_strategy_reads_every_owned_generated_integration ... ok ai-memory-1.38.0> test commands::install_hooks::tests::baked_project_strategy_reads_owned_kimi_toml_only ... ok ai-memory-1.38.0> test commands::install_hooks::tests::baked_project_strategy_reads_owned_json_for_every_json_agent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::baked_prompt_capture_reads_only_owned_claude_hooks ... ok ai-memory-1.38.0> test commands::hook::tests::devin_session_start_real_fixture_without_session_id_or_cwd_is_accepted ... ok ai-memory-1.38.0> test commands::hook_spool::tests::non_contiguous_batch_ack_deletes_only_accepted_indices ... ok ai-memory-1.38.0> test commands::hook_spool::tests::failed_batch_charges_only_first_item ... ok ai-memory-1.38.0> test commands::install_hooks::tests::capture_assistant_allowed_only_for_claude_native ... ok ai-memory-1.38.0> test commands::install_hooks::tests::claude_settings_path_honours_claude_config_dir ... ok ai-memory-1.38.0> test commands::hook_spool::tests::partial_429_deletes_prefix_without_bumping_saturated_item ... ok ai-memory-1.38.0> test commands::hook_spool::tests::spool_health_ignores_unparseable_entries_for_retries ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_hooks_path_honours_codex_home ... ok ai-memory-1.38.0> test commands::hook::tests::inactive_preserves_bytes_and_active_keep_adds_protocol ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_mcp_inference_returns_none_for_bare_ai_memory_entry ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_mcp_inference_accepts_block_form_config ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_mcp_inference_returns_none_for_empty_doc ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_mcp_inference_returns_none_when_no_mcp_servers_table ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_mcp_inference_returns_none_when_ai_memory_entry_missing ... ok ai-memory-1.38.0> test commands::hook_spool::tests::malformed_body_is_charged_locally_not_sent_as_null ... ok ai-memory-1.38.0> test commands::hook::tests::devin_events_share_session_id_when_payload_omits_it ... ok ai-memory-1.38.0> test commands::hook_spool::tests::spool_health_ignores_files_this_queue_did_not_write ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_user_prompt_briefing_fallback_key_hashes_agent_and_cwd ... ok ai-memory-1.38.0> test commands::hook_spool::tests::enqueue_prunes_oldest_files_when_spool_exceeds_limit ... ok ai-memory-1.38.0> test commands::hook_spool::tests::spool_health_is_default_when_dir_missing_or_empty ... ok ai-memory-1.38.0> test commands::hook_spool::tests::non_contiguous_batch_ack_charges_reported_failed_index ... ok ai-memory-1.38.0> test commands::hook_spool::tests::spool_health_is_default_when_only_foreign_files_present ... ok ai-memory-1.38.0> test commands::hook_spool::tests::spool_len_counts_entries ... ok ai-memory-1.38.0> test commands::init::tests::init_creates_private_directories_and_config ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_bundle_has_post_compaction_not_pre_compact ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_session_start_injects_handoff_additional_context ... ok ai-memory-1.38.0> test commands::install_hooks::tests::extension_hints_follow_pi_coding_agent_dir ... ok ai-memory-1.38.0> test commands::hook_spool::tests::zero_budget_does_not_deserialize_or_drop_entries ... ok ai-memory-1.38.0> test commands::install_hooks::tests::grok_mcp_inference_accepts_headers_key ... ok ai-memory-1.38.0> test commands::install_hooks::tests::grok_placeholder_expansion_rejects_missing_variable ... ok ai-memory-1.38.0> test commands::install_hooks::tests::absent_file_reports_the_historical_default ... ok ai-memory-1.38.0> test commands::install_hooks::tests::grok_placeholder_expansion_resolves_values_and_defaults ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_defaults_to_configured_server_url ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_does_not_double_base_path_when_already_in_url ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_explicit_flag_matching_compiled_default_still_wins ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_explicit_flag_wins_over_config ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_falls_back_to_existing_mcp_entry ... ok ai-memory-1.38.0> test commands::init::tests::init_honors_explicit_config_path_outside_data_dir ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_from_mcp_url_strips_query_and_suffix ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_server_url_threads_base_path_when_url_has_no_path ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_source_candidates_include_binary_sibling_for_flat_tarball ... ok ai-memory-1.38.0> test commands::install_hooks::tests::hook_source_candidates_include_native_package_dir ... ok ai-memory-1.38.0> test commands::hook_spool::tests::partial_batch_ack_deletes_prefix_and_charges_only_failed_item ... ok ai-memory-1.38.0> test commands::install_hooks::tests::antigravity_manual_render_explains_explicit_finalization ... ok ai-memory-1.38.0> test commands::hook_spool::tests::drain_drops_event_after_max_attempts ... ok ai-memory-1.38.0> test commands::install_hooks::tests::is_ai_memory_hook_entry_detects_nested_flat_and_skips_third_party ... ok ai-memory-1.38.0> test commands::hook_spool::tests::spool_health_reports_pending_oldest_age_and_retries ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_user_prompt_briefing_only_on_first_prompt_of_session ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kimi_code_config_path_honours_kimi_code_home ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kimi_code_mcp_inference_strips_flavor_query_and_mcp_path ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_user_prompt_submit_stem_also_delivers_the_handoff ... ok ai-memory-1.38.0> test commands::install_hooks::tests::bare_apply_preserves_an_existing_allowlist_optin ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_bundle_has_no_subagent_scripts ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_paths_honour_kiro_home ... ok ai-memory-1.38.0> test commands::init::tests::init_writes_token_pepper_into_auth_block ... ok ai-memory-1.38.0> test commands::install_hooks::tests::grok_project_overlay_outside_repo_checks_only_cwd ... ok ai-memory-1.38.0> test commands::install_hooks::tests::install_project_strategy_none_when_target_absent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::install_project_strategy_explicit_basename_overrides_existing ... ok ai-memory-1.38.0> test commands::install_hooks::tests::install_project_strategy_preserves_baked_when_flag_absent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::install_project_strategy_reads_openclaw_entrypoint_below_config_dir ... ok ai-memory-1.38.0> test commands::install_hooks::tests::grok_project_overlays_cover_repo_root_through_cwd ... ok ai-memory-1.38.0> test commands::init::tests::init_renders_config_that_parses_back_into_auth_settings ... ok ai-memory-1.38.0> test commands::init::tests::init_creates_subdirs_and_config ... ok ai-memory-1.38.0> test commands::install_hooks::tests::explicit_denylist_downgrades_an_earlier_optin ... ok ai-memory-1.38.0> test commands::hook_spool::tests::load_live_entry_strips_legacy_assistant_message ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_agent_config_listing_is_sorted_json_only ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_v2_preflight_is_all_or_nothing_and_preserves_per_agent_strategy ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_hooks_infer_the_managed_mcp_client ... ok ai-memory-1.38.0> test commands::install_hooks::tests::antigravity_apply_is_idempotent ... ok ai-memory-1.38.0> test commands::init::tests::init_generates_a_unique_pepper_per_run ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_path_honours_pi_coding_agent_dir ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_path_honours_profile ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_default_omits_baked_strategy ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_bakes_repo_root_default ... ok ai-memory-1.38.0> test commands::install_hooks::tests::legacy_cleanup_does_not_touch_the_other_agents_file ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_profile_precedence_is_independent_of_the_override_dir_name ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_profile_relocates_when_no_override_is_set ... ok ai-memory-1.38.0> test commands::install_hooks::tests::opencode_mcp_inference_supplies_hook_origin_and_token ... ok ai-memory-1.38.0> test commands::install_hooks::tests::legacy_cleanup_removes_our_own_superseded_file ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_uses_bounded_hook_queue ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_uses_native_lifecycle_events ... ok ai-memory-1.38.0> test commands::install_hooks::tests::opencode_plugin_bakes_repo_root_default ... ok ai-memory-1.38.0> test commands::install_hooks::tests::opencode_plugin_default_omits_baked_strategy ... ok ai-memory-1.38.0> test commands::install_hooks::tests::legacy_cleanup_spares_a_user_owned_file_of_the_same_name ... ok ai-memory-1.38.0> test commands::install_hooks::tests::opencode_plugin_normalizes_payloads_without_legacy_wrapper ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_v3_apply_rejects_incompatible_schema_and_reserved_collision ... ok ai-memory-1.38.0> test commands::install_hooks::tests::overlay_event_hooks_is_idempotent_on_reapply ... ok ai-memory-1.38.0> test commands::install_hooks::tests::overlay_event_hooks_inserts_when_event_absent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::manual_agent_render_mentions_repo_root_project_strategy ... ok ai-memory-1.38.0> test commands::install_hooks::tests::overlay_event_hooks_preserves_third_party_and_replaces_own ... ok ai-memory-1.38.0> test commands::install_hooks::tests::manual_agent_render_omits_project_strategy_by_default ... ok ai-memory-1.38.0> test commands::install_hooks::tests::opencode_plugin_uses_bounded_hook_queue ... ok ai-memory-1.38.0> test commands::hook::tests::metadata_only_canonicalizes_supported_session_aliases ... ok ai-memory-1.38.0> test commands::install_hooks::tests::omp_extension_is_directly_discoverable_by_omp ... ok ai-memory-1.38.0> test commands::install_hooks::tests::pi_extension_path_honours_pi_coding_agent_dir ... ok ai-memory-1.38.0> test commands::install_hooks::tests::project_strategy_from_text_reads_every_form ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kimi_code_apply_is_idempotent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::pool_settings_yaml_covers_all_events_with_bounded_entries ... ok ai-memory-1.38.0> test commands::install_hooks::tests::prompt_capture_options_are_claude_code_only ... ok ai-memory-1.38.0> test commands::install_hooks::tests::cursor_apply_is_idempotent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::manual_agent_render_uses_agent_profile_not_physical_bundle_listing ... ok ai-memory-1.38.0> test commands::install_hooks::tests::render_pool_output_states_manual_paste_and_finalize_path ... ok ai-memory-1.38.0> test commands::install_hooks::tests::pi_extension_is_directly_discoverable_by_pi ... ok ai-memory-1.38.0> test commands::install_hooks::tests::opencode_plugin_uses_real_plugin_hooks ... ok ai-memory-1.38.0> test commands::install_hooks::tests::pi_extension_contains_lifecycle_capture_and_mcp_bridge ... ok ai-memory-1.38.0> test commands::install_hooks::tests::validate_as_user_bails_without_auth_token ... ok ai-memory-1.38.0> test commands::install_hooks::tests::validate_as_user_passes_when_not_set ... ok ai-memory-1.38.0> test commands::install_hooks::tests::validate_as_user_passes_with_both_flags ... ok ai-memory-1.38.0> test commands::install_hooks::tests::resolve_hooks_dir_uses_devin_bundle_for_devin ... ok ai-memory-1.38.0> test commands::install_hooks::tests::validate_as_user_treats_blank_as_unset ... ok ai-memory-1.38.0> test commands::install_hooks::tests::resolve_hooks_dir_uses_grok_bundle_for_grok ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kimi_code_apply_writes_all_events_into_fresh_config ... ok ai-memory-1.38.0> test commands::install_hooks::tests::resolve_hooks_dir_uses_pool_bundle_for_pool ... ok ai-memory-1.38.0> test commands::install_hooks::tests::zero_hooks_config_covers_all_events_in_exec_form ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_appends_to_empty_file ... ok ai-memory-1.38.0> test commands::install_hooks::tests::zcode_hooks_config_covers_all_events_with_strict_entries ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_appends_when_no_markers_present ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_consumes_crlf_after_end_marker ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_idempotent_double_run ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_ignores_inline_marker_mention_in_block ... ok ai-memory-1.38.0> test commands::install_hooks::tests::stage_hook_scripts_bails_when_source_dir_is_empty ... ok ai-memory-1.38.0> test commands::install_hooks::tests::stage_hook_scripts_bails_when_source_equals_empty_dest ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_v3_apply_writes_documented_schema_and_is_idempotent ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_replaces_existing_block ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_idempotent_with_real_block ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_tolerates_missing_trailing_newline ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_repairs_exact_legacy_orphan_tail_crlf_variant ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_repairs_exact_legacy_orphan_tail ... ok ai-memory-1.38.0> test commands::install_mcp::tests::antigravity_cli_mcp_config_path_pins_documented_location ... ok ai-memory-1.38.0> test commands::install_instructions::tests::merge_repairs_repeated_legacy_orphan_tails ... ok ai-memory-1.38.0> test commands::install_hooks::tests::stage_hook_scripts_preserves_in_place_scripts_when_source_equals_dest ... ok ai-memory-1.38.0> test commands::install_mcp::tests::bedrock_flavored_mcp_url_appends_marker_idempotently ... ok ai-memory-1.38.0> test commands::install_mcp::tests::claude_code_config_path_honours_claude_config_dir ... ok ai-memory-1.38.0> test commands::install_mcp::tests::claude_code_render_shows_resolved_config_path ... ok ai-memory-1.38.0> test commands::install_mcp::tests::claude_code_session_aware_entry_uses_owned_stdio_bridge ... ok ai-memory-1.38.0> test commands::install_mcp::tests::claude_desktop_path_uses_resolved_app_data_roots ... ok ai-memory-1.38.0> test commands::install_mcp::tests::claude_desktop_render_lists_packaged_and_unpacked_windows_paths ... ok ai-memory-1.38.0> test commands::install_mcp::tests::auth_token_threaded_into_every_client ... ok ai-memory-1.38.0> test commands::install_mcp::tests::codex_apply_writes_block_form_tables ... ok ai-memory-1.38.0> test commands::install_hooks::tests::startup_handoff_scripts_forward_native_session_ids ... ok ai-memory-1.38.0> test commands::install_mcp::tests::codex_apply_preserves_sibling_mcp_servers ... ok ai-memory-1.38.0> test commands::install_mcp::tests::codex_apply_migrates_inline_form_and_is_idempotent ... ok ai-memory-1.38.0> test commands::install_mcp::tests::command_code_renderer_uses_documented_user_scope_http_schema ... ok ai-memory-1.38.0> test commands::install_mcp::tests::client_specific_shape_keys ... ok ai-memory-1.38.0> test commands::install_mcp::tests::every_client_renders ... ok ai-memory-1.38.0> test commands::install_mcp::tests::grok_apply_writes_block_form_with_headers_not_http_headers ... ok ai-memory-1.38.0> test commands::install_mcp::tests::grok_apply_preserves_sibling_mcp_servers_and_is_idempotent ... ok ai-memory-1.38.0> test commands::install_mcp::tests::grok_print_uses_apply_toml_builder_for_dotted_names_and_quotes ... ok ai-memory-1.38.0> test commands::install_mcp::tests::kimi_code_home_honours_env_override ... ok ai-memory-1.38.0> test commands::install_mcp::tests::devin_apply_writes_mcp_servers ... ok ai-memory-1.38.0> test commands::install_mcp::tests::kiro_home_honours_env_override ... ok ai-memory-1.38.0> test commands::install_mcp::tests::kiro_rejects_plain_http_for_non_loopback_servers ... ok ai-memory-1.38.0> test commands::install_mcp::tests::mcp_server_url_defaults_to_configured_server_url ... ok ai-memory-1.38.0> test commands::install_mcp::tests::mcp_server_url_does_not_duplicate_mcp_suffix ... ok ai-memory-1.38.0> test commands::install_mcp::tests::mcp_server_url_explicit_base_url_gains_mcp_suffix ... ok ai-memory-1.38.0> test commands::install_mcp::tests::mcp_server_url_explicit_flag_matching_compiled_default_still_wins ... ok ai-memory-1.38.0> test commands::install_mcp::tests::mcp_server_url_explicit_flag_wins_over_config ... ok ai-memory-1.38.0> test commands::install_mcp::tests::devin_mcp_client_parses ... ok ai-memory-1.38.0> test commands::install_mcp::tests::moonshot_flavored_mcp_url_appends_marker_idempotently ... ok ai-memory-1.38.0> test commands::install_mcp::tests::claude_code_session_aware_apply_is_idempotent ... ok ai-memory-1.38.0> test commands::install_mcp::tests::grok_mcp_client_parses ... ok ai-memory-1.38.0> test commands::install_mcp::tests::pi_guidance_derives_hook_url_from_mcp_url ... ok ai-memory-1.38.0> test commands::install_mcp::tests::session_aware_rejects_non_claude_clients ... ok ai-memory-1.38.0> test commands::install_mcp::tests::devin_apply_mcp_is_idempotent ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zcode_mcp_config_path_pins_user_scope_location ... ok ai-memory-1.38.0> test commands::install_mcp::tests::packaged_claude_desktop_path_ignores_unrelated_and_non_dir_entries ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zcode_renderer_nests_strict_http_entry_under_mcp_servers ... ok ai-memory-1.38.0> test commands::install_mcp::tests::pi_apply_fails_closed_without_writing_even_with_config_override ... ok ai-memory-1.38.0> test commands::install_mcp::tests::packaged_claude_desktop_path_prefers_localcache_when_package_dir_exists ... ok ai-memory-1.38.0> test commands::install_mcp::tests::packaged_claude_desktop_path_none_when_packages_dir_absent_or_empty ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zed_config_path_uses_platform_conventions ... ok ai-memory-1.38.0> test commands::install_mcp::tests::packaged_claude_desktop_path_rejects_ambiguous_packages ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zed_renderer_uses_context_servers_and_native_remote_http ... ok ai-memory-1.38.0> test commands::install_skills::tests::devin_global_skill_root_matches_confirmed_windows_path ... ok ai-memory-1.38.0> test commands::install_mcp::tests::packaged_claude_desktop_path_prefers_existing_config_among_packages ... ok ai-memory-1.38.0> test commands::install_skills::tests::devin_global_skill_root_requires_appdata_on_windows ... ok ai-memory-1.38.0> test commands::install_skills::tests::explicit_target_dir_overrides_scope_and_agent_roots ... ok ai-memory-1.38.0> test commands::install_skills::tests::global_grok_skill_root_uses_injected_grok_home_override ... ok ai-memory-1.38.0> test commands::install_skills::tests::global_claude_skill_root_uses_injected_claude_config_dir ... ok ai-memory-1.38.0> test commands::install_skills::tests::project_claude_skill_root_ignores_claude_config_dir ... ok ai-memory-1.38.0> test commands::install_mcp::tests::swival_project_root_matches_git_toml_and_fallback_rules ... ok ai-memory-1.38.0> test commands::install_skills::tests::resolves_project_and_global_skill_roots_for_each_agent_selection ... ok ai-memory-1.38.0> test commands::llm_test::tests::anthropic_oauth_choice_maps_to_runtime_provider ... ok ai-memory-1.38.0> test commands::llm_test::tests::llm_test_exercises_pipeline_sampling_compatibility ... ok ai-memory-1.38.0> test commands::install_skills::tests::refuses_to_overwrite_unmanaged_same_name_skill ... ok ai-memory-1.38.0> test commands::mcp_bridge::tests::bridge_fails_closed_without_a_claude_session_id ... ok ai-memory-1.38.0> test commands::mcp_bridge::tests::upstream_config_rejects_an_invalid_header_value ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zed_apply_rejects_non_object_context_servers_without_writing ... ok ai-memory-1.38.0> test commands::mcp_bridge::tests::upstream_config_injects_session_id_and_raw_bearer_token ... ok ai-memory-1.38.0> test commands::move_session::tests::apply_command_repeats_the_batch_form_and_flags ... ok ai-memory-1.38.0> test commands::move_session::tests::apply_command_repeats_the_single_form_with_confirm ... ok ai-memory-1.38.0> test commands::openclaw_plugin::tests::openclaw_plugin_default_omits_baked_strategy ... ok ai-memory-1.38.0> test commands::openclaw_plugin::tests::openclaw_plugin_bakes_repo_root_default ... ok ai-memory-1.38.0> test commands::path_util::tests::claude_config_dir_honours_non_empty_value ... ok ai-memory-1.38.0> test commands::openclaw_plugin::tests::package_has_manifest_and_hook_entrypoint ... ok ai-memory-1.38.0> test commands::path_util::tests::claude_config_dir_treats_unset_empty_and_whitespace_as_unset ... ok ai-memory-1.38.0> test commands::path_util::tests::claude_config_paths_put_relocated_first_and_deduplicate ... ok ai-memory-1.38.0> test commands::path_util::tests::strip_windows_verbatim_prefix_handles_drive_paths ... ok ai-memory-1.38.0> test commands::path_util::tests::strip_windows_verbatim_prefix_handles_unc_case_insensitively ... ok ai-memory-1.38.0> test commands::path_util::tests::strip_windows_verbatim_prefix_leaves_non_verbatim_paths_untouched ... ok ai-memory-1.38.0> test commands::path_util::tests::strip_windows_verbatim_prefix_leaves_unknown_forms_untouched ... ok ai-memory-1.38.0> test commands::install_hooks::tests::curl_installer_accepts_generated_integration_agents ... ok ai-memory-1.38.0> test commands::project_registry::tests::duplicate_scope_keys_are_rejected_without_overwriting ... ok ai-memory-1.38.0> test commands::project_registry::tests::malformed_registry_is_not_overwritten ... ok ai-memory-1.38.0> test commands::project_registry::tests::links_are_isolated_by_server_and_scope ... ok ai-memory-1.38.0> test commands::openclaw_plugin::tests::package_writes_all_required_files ... ok ai-memory-1.38.0> test commands::project_registry::tests::rekey_preserves_the_source_link_timestamp ... ok ai-memory-1.38.0> test commands::project_registry::tests::rekey_preserves_an_existing_destination_link ... ok ai-memory-1.38.0> test commands::project_registry::tests::recording_the_same_key_replaces_only_that_link ... ok ai-memory-1.38.0> test commands::render_shared::claude_code_windows_command_is_unchanged_by_the_codex_fix ... ok ai-memory-1.38.0> test commands::render_shared::codex_windows_command_invokes_rather_than_quotes ... ok ai-memory-1.38.0> test commands::render_shared::tests::antigravity_payload_uses_named_groups_with_mixed_shape ... ok ai-memory-1.38.0> test commands::render_shared::tests::bearer_header_is_none_when_no_token ... ok ai-memory-1.38.0> test commands::render_shared::tests::bearer_header_prefixes_with_bearer ... ok ai-memory-1.38.0> test commands::render_shared::tests::capture_assistant_exec_flag_only_on_stop_and_only_when_opted_in ... ok ai-memory-1.38.0> test commands::install_skills::tests::install_writes_managed_skills_to_devin_root ... ok ai-memory-1.38.0> test commands::install_skills::tests::install_is_idempotent_after_creating_managed_skills ... ok ai-memory-1.38.0> test commands::render_shared::tests::capture_assistant_string_form_only_on_stop ... ok ai-memory-1.38.0> test commands::render_shared::tests::claude_code_payload_embeds_auth_token_when_provided ... ok ai-memory-1.38.0> test commands::render_shared::tests::antigravity_windows_commands_survive_an_outer_powershell_runner ... ok ai-memory-1.38.0> test commands::render_shared::tests::claude_code_payload_emits_absolute_paths ... ok ai-memory-1.38.0> test commands::render_shared::tests::claude_code_payload_has_all_events ... ok ai-memory-1.38.0> test commands::render_shared::tests::claude_code_payload_omits_auth_token_when_absent ... ok ai-memory-1.38.0> test commands::render_shared::tests::claude_code_payload_uses_matcher_plus_inner_hooks_shape ... ok ai-memory-1.38.0> test commands::render_shared::tests::command_code_profile_omits_matchers_and_uses_native_agent_identity ... ok ai-memory-1.38.0> test commands::render_shared::tests::cursor_payload_uses_flat_shape ... ok ai-memory-1.38.0> test commands::render_shared::tests::devin_native_payload_uses_devin_agent ... ok ai-memory-1.38.0> test commands::render_shared::tests::devin_payload_has_all_events ... ok ai-memory-1.38.0> test commands::render_shared::tests::generated_capture_policy_v1_node_runtime_evidence ... ignored, manual Node-required generated TypeScript runtime evidence ai-memory-1.38.0> test commands::render_shared::tests::devin_script_payload_uses_devin_bundle ... ok ai-memory-1.38.0> test commands::render_shared::tests::gemini_payload_uses_nested_shape_with_gemini_event_names ... ok ai-memory-1.38.0> test commands::render_shared::tests::grok_script_payload_uses_grok_bundle ... ok ai-memory-1.38.0> test commands::render_shared::tests::grok_native_payload_uses_grok_agent ... ok ai-memory-1.38.0> test commands::render_shared::tests::hook_command_omits_project_strategy_when_none ... ok ai-memory-1.38.0> test commands::render_shared::tests::kimi_code_commands_cover_all_events_with_script_paths ... ok ai-memory-1.38.0> test commands::render_shared::tests::posix_hook_command_bakes_project_strategy_env ... ok ai-memory-1.38.0> test commands::render_shared::tests::kimi_code_commands_windows_use_ps1_scripts ... ok ai-memory-1.38.0> test commands::render_shared::tests::posix_native_hook_command_invokes_binary_directly ... ok ai-memory-1.38.0> test commands::render_shared::tests::posix_hook_command_quotes_script_path_and_shell_metachars ... ok ai-memory-1.38.0> test commands::render_shared::tests::posix_native_hook_command_omits_token_when_absent ... ok ai-memory-1.38.0> test commands::render_shared::tests::posix_native_hook_command_passes_project_strategy_flag ... ok ai-memory-1.38.0> test commands::render_shared::tests::to_git_bash_path_converts_drive_letter_and_backslashes ... ok ai-memory-1.38.0> test commands::render_shared::tests::to_git_bash_path_handles_forward_slash_windows_paths ... ok ai-memory-1.38.0> test commands::render_shared::tests::to_git_bash_path_preserves_posix_paths ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_bash_hook_command_bakes_project_strategy_env ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_bash_hook_command_omits_token_when_absent ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_bash_hook_command_wraps_in_bash_c_with_git_bash_paths ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_bash_script_for_platform_keeps_sh_extension ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_bash_payload_uses_bash_c_and_sh_hooks ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_native_command_strips_verbatim_data_dir ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_native_claude_code_nested_payload_uses_exec_form ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_native_exec_spec_strips_verbatim_exe_and_data_dir ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_native_emits_binary_command_with_event_token ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_native_hook_command_passes_project_strategy_flag ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_native_exec_form_is_claude_only_and_guarded ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_ps_hook_command_bakes_project_strategy_env ... ok ai-memory-1.38.0> test commands::render_shared::tests::windows_payload_uses_powershell_and_ps1_hooks ... ok ai-memory-1.38.0> test commands::reset::tests::reset_apply_skips_absent_subdir ... ok ai-memory-1.38.0> test commands::restore::tests::restore_rejects_unexpected_or_unsafe_paths ... ok ai-memory-1.38.0> test commands::run::tests::adoption_prompt_can_start_fresh_or_select_an_older_session ... ok ai-memory-1.38.0> test commands::reset::tests::reset_dry_run_leaves_files ... ok ai-memory-1.38.0> test commands::run::tests::adoption_prompt_defaults_to_newest_checkout_session ... ok ai-memory-1.38.0> test commands::restore::tests::restore_rejects_link_entries ... ok ai-memory-1.38.0> test commands::run::tests::automatic_kiro_flavors_share_one_server_agent_identity ... ok ai-memory-1.38.0> test commands::reset::tests::reset_apply_wipes_data_keeps_logs ... ok ai-memory-1.38.0> test commands::run::tests::automatic_selection_skips_newer_sessions_for_unavailable_harnesses ... ok ai-memory-1.38.0> test commands::run::tests::executable_available_accepts_an_existing_absolute_path ... ok ai-memory-1.38.0> test commands::restore::tests::restore_accepts_expected_backup_paths ... ok ai-memory-1.38.0> test commands::run::tests::crush_context_config_preserves_user_settings_and_adds_packet ... ok ai-memory-1.38.0> test commands::run::tests::heartbeat_health_reports_each_outage_and_recovery_once ... ok ai-memory-1.38.0> test commands::run::tests::executable_available_rejects_a_program_that_is_not_installed ... ok ai-memory-1.38.0> test commands::run::tests::bare_run_and_wrapper_yolo_parse_without_a_harness ... ok ai-memory-1.38.0> test commands::run::tests::incompatible_link_starts_fresh_in_the_explicit_kiro_engine ... ok ai-memory-1.38.0> test commands::run::tests::force_fresh_bypasses_an_existing_link_and_rejects_native_selectors ... ok ai-memory-1.38.0> test commands::run::tests::kimi_cli_alias_selects_the_kimi_adapter ... ok ai-memory-1.38.0> test commands::run::tests::lease_owner_uses_the_resolved_host_and_process ... ok ai-memory-1.38.0> test commands::run::tests::kiro_engine_resolution_prefers_explicit_args_then_persisted_flavor ... ok ai-memory-1.38.0> test commands::run::tests::command_code_aliases_select_the_managed_adapter ... ok ai-memory-1.38.0> test commands::run::tests::native_grok_rules_flags_suppress_context_injection ... ok ai-memory-1.38.0> test commands::run::tests::kiro_cli_alias_selects_the_kiro_adapter ... ok ai-memory-1.38.0> test commands::run::tests::missing_linked_session_starts_fresh_but_explicit_selectors_win ... ok ai-memory-1.38.0> test commands::run::tests::native_arguments_do_not_require_separator_and_wrapper_yolo_is_consumed ... ok ai-memory-1.38.0> test commands::run::tests::trailing_wrapper_yolo_is_removed_before_native_resume_detection ... ok ai-memory-1.38.0> test commands::run::tests::unix_resolution_returns_the_file_itself ... ok ai-memory-1.38.0> test commands::run::tests::opencode_name_and_native_flags_parse_without_separator ... ok ai-memory-1.38.0> test commands::serve::tests::containers_warn_instead_of_refusing_because_the_bind_proves_nothing ... ok ai-memory-1.38.0> test commands::run::tests::wrapper_fresh_parses_before_or_after_the_harness ... ok ai-memory-1.38.0> test commands::run::tests::utility_launch_does_not_adopt_a_recent_unrelated_session ... ok ai-memory-1.38.0> test commands::serve::tests::existing_users_require_nonempty_pepper_and_root_bearer ... ok ai-memory-1.38.0> test commands::serve::tests::host_allowed_accepts_host_with_port ... ok ai-memory-1.38.0> test commands::serve::tests::host_allowed_rejects_unknown_host ... ok ai-memory-1.38.0> test commands::serve::tests::host_without_port_handles_ipv6_loopback ... ok ai-memory-1.38.0> test commands::serve::tests::maintenance_start_delay_handles_never_overdue_and_remaining_cadence ... ok ai-memory-1.38.0> test commands::mcp_bridge::tests::stdio_bridge_forwards_tools_and_session_header_in_both_http_modes ... ok ai-memory-1.38.0> test commands::serve::tests::merge_cors_origins_deduplicates_preserving_order ... ok ai-memory-1.38.0> test commands::run::tests::prepare_waits_for_a_previous_launcher_to_finish ... ok ai-memory-1.38.0> test commands::init::tests::init_is_idempotent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::bundled_posix_and_powershell_hooks_stay_in_parity ... ok ai-memory-1.38.0> test commands::run::tests::managed_heartbeat_times_out_and_recovers ... ok ai-memory-1.38.0> test commands::install_hooks::tests::antigravity_preserves_existing_hooks_and_adds_ours ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_preserves_unrelated_keys_and_adds_hooks ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_removes_stale_session_end_key ... ok ai-memory-1.38.0> test commands::serve::tests::root_oidc_identity_requires_issuer_and_subject_together ... ok ai-memory-1.38.0> test commands::install_hooks::tests::cursor_preserves_existing_user_hooks_and_adds_ours ... ok ai-memory-1.38.0> test commands::install_hooks::tests::codex_apply_stages_into_injected_dir ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_apply_writes_hooks_v1_json_by_default ... ok ai-memory-1.38.0> test commands::install_hooks::tests::claude_code_apply_stages_into_injected_dir ... ok ai-memory-1.38.0> test commands::serve::tests::trusted_proxy_configuration_requires_distinct_credentials ... ok ai-memory-1.38.0> test commands::serve::tests::unauthenticated_non_loopback_http_requires_explicit_override ... ok ai-memory-1.38.0> test commands::serve::tests::valid_web_ui_dir_passes_validation ... ok ai-memory-1.38.0> test commands::serve::tests::validate_cors_origins_accepts_empty_list ... ok ai-memory-1.38.0> test commands::serve::tests::validate_cors_origins_accepts_well_formed ... ok ai-memory-1.38.0> test commands::serve::tests::validate_cors_origins_rejects_missing_scheme ... ok ai-memory-1.38.0> test commands::serve::tests::validate_cors_origins_rejects_trailing_slash ... ok ai-memory-1.38.0> test commands::serve::tests::validate_cors_origins_rejects_wildcard ... ok ai-memory-1.38.0> test commands::install_hooks::tests::zcode_apply_flags_a_user_disabled_hooks_block ... ok ai-memory-1.38.0> test commands::install_mcp::tests::swival_entry_and_apply_match_upstream_json_schema ... ok ai-memory-1.38.0> test commands::install_hooks::tests::zero_apply_merges_around_third_party_hooks_and_preserves_disabled_flag ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zcode_apply_preserves_siblings_and_is_idempotent ... ok ai-memory-1.38.0> test commands::install_hooks::tests::stage_hook_scripts_tolerates_missing_lib_sh ... ok ai-memory-1.38.0> test commands::install_mcp::tests::devin_apply_preserves_sibling_mcp_servers ... ok ai-memory-1.38.0> test commands::install_hooks::tests::gemini_preserves_mcp_servers_and_adds_hooks ... ok ai-memory-1.38.0> test commands::install_hooks::tests::stage_hook_scripts_copies_shared_lib_sh ... ok ai-memory-1.38.0> test commands::setup_agent::tests::kiro_cli_manual_script_paths_cover_v2_event_set ... ok ai-memory-1.38.0> test commands::setup_agent::tests::kimi_code_manual_script_paths_cover_kimi_event_set ... ok ai-memory-1.38.0> test commands::setup_agent::tests::devin_setup_emits_script_hook_config ... ok ai-memory-1.38.0> test commands::setup_agent::tests::kiro_cli_manual_script_paths_cover_v3_event_set ... ok ai-memory-1.38.0> test commands::serve::tests::web_ui_dir_requires_enable_web ... ok ai-memory-1.38.0> test commands::setup_agent::tests::manual_script_paths_use_agent_specific_events ... ok ai-memory-1.38.0> test commands::install_hooks::tests::zcode_apply_preserves_siblings_and_is_idempotent ... ok ai-memory-1.38.0> test commands::setup_agent::tests::source_candidates_honour_explicit_override ... ok ai-memory-1.38.0> test commands::setup_agent::tests::source_candidates_include_binary_sibling_for_flat_tarball ... ok ai-memory-1.38.0> test commands::setup_agent::tests::source_candidates_preserve_cargo_run_repo_root ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_preserves_existing_hooks_and_adds_ours ... ok ai-memory-1.38.0> test commands::setup_agent::tests::pi_setup_prints_extension_hint_without_copying ... ok ai-memory-1.38.0> test commands::show::tests::harness_names_cover_every_parser_variant ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_apply_config_json_hooks_key_via_flag ... ok ai-memory-1.38.0> test commands::show::tests::invalid_server_timestamp_is_not_echoed_to_the_terminal ... ok ai-memory-1.38.0> test commands::show::tests::portable_project_components_reject_injection_and_traversal ... ok ai-memory-1.38.0> test commands::show::tests::registry_activity_orders_projects_when_server_metadata_is_unavailable ... ok ai-memory-1.38.0> test commands::show::tests::scroll_and_truncation_stay_inside_the_viewport ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_apply_writes_all_v2_events_into_agent_config ... ok ai-memory-1.38.0> test commands::show::tests::terminal_text_removes_control_sequences ... ok ai-memory-1.38.0> test commands::show::tests::candidate_is_rejected_when_its_scope_changes_after_listing ... ok ai-memory-1.38.0> test commands::install_hooks::tests::command_code_apply_uses_only_stable_events_and_preserves_user_settings ... ok ai-memory-1.38.0> test commands::status::tests::capture_mode_defaults_to_denylist_when_unset ... ok ai-memory-1.38.0> test commands::status::tests::offline_spool_report_is_content_free_and_serialises ... ok ai-memory-1.38.0> test commands::show::tests::registered_path_rejects_a_checkout_replaced_by_a_symlink ... ok ai-memory-1.38.0> test commands::status::tests::provider_health_line_renders_error_details ... ok ai-memory-1.38.0> test commands::install_mcp::tests::kiro_apply_preserves_siblings_and_is_idempotent ... ok ai-memory-1.38.0> test commands::status::tests::capture_mode_reports_allowlist_when_the_hook_would_enforce_it ... ok ai-memory-1.38.0> test commands::status::tests::provider_health_line_renders_unknown_and_disabled ... ok ai-memory-1.38.0> test commands::install_hooks::tests::zcode_apply_respects_a_user_chosen_output_ceiling ... ok ai-memory-1.38.0> test commands::status::tests::spool_age_line_renders_durations_and_empty ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_v3_apply_preserves_third_party_hooks_and_replaces_only_ours ... ok ai-memory-1.38.0> test commands::tests::resolve_project_name_prefers_explicit_value ... ok ai-memory-1.38.0> test commands::tests::resolve_project_name_uses_host_cwd_basename ... ok ai-memory-1.38.0> test commands::install_mcp::tests::zed_apply_preserves_settings_and_siblings_and_is_idempotent ... ok ai-memory-1.38.0> test commands::show::tests::marker_encoding_preserves_an_existing_nonportable_workspace_name ... ok ai-memory-1.38.0> test commands::show::tests::failed_project_initialization_rolls_back_the_staging_directory ... ok ai-memory-1.38.0> test commands::show::tests::created_project_is_published_only_after_initialization ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kiro_cli_apply_preserves_third_party_hooks_and_is_idempotent ... ok ai-memory-1.38.0> test commands::show::tests::scan_is_depth_one_and_skips_build_directories ... ok ai-memory-1.38.0> test commands::tests::skipped_proposal_lines_are_empty_on_a_clean_run ... ok ai-memory-1.38.0> test commands::tests::skipped_proposal_lines_name_the_path_and_the_reason ... ok ai-memory-1.38.0> test commands::tests::resolve_scope_prefers_explicit_flags_over_the_marker ... ok ai-memory-1.38.0> test commands::tests::resolve_scope_takes_a_pinned_project_from_the_marker ... ok ai-memory-1.38.0> test commands::install_skills::tests::force_overwrites_unmanaged_same_name_skill ... ok ai-memory-1.38.0> test commands::tests::resolve_scope_ignores_a_marker_without_scope_keys ... ok ai-memory-1.38.0> test commands::tests::resolve_scope_without_a_marker_keeps_the_old_fallbacks ... ok ai-memory-1.38.0> test commands::uninstall::tests::hook_signature_matches_native_posix_command ... ok ai-memory-1.38.0> test commands::uninstall::tests::hook_signature_matches_native_windows_command ... ok ai-memory-1.38.0> test commands::uninstall::tests::hook_signature_matches_no_auth_default ... ok ai-memory-1.38.0> test commands::tests::resolve_scope_takes_the_workspace_from_the_marker ... ok ai-memory-1.38.0> test commands::uninstall::tests::hook_signature_matches_with_auth_and_custom_prefix ... ok ai-memory-1.38.0> test commands::uninstall::tests::hook_signature_rejects_third_party_with_generic_name ... ok ai-memory-1.38.0> test commands::uninstall::tests::hook_signature_matches_a_powershell_call_operator_command ... ok ai-memory-1.38.0> test commands::uninstall::tests::skill_roots_sweep_claude_config_dir_root_alongside_home ... ok ai-memory-1.38.0> test commands::uninstall::tests::skill_roots_use_injected_grok_home_override ... ok ai-memory-1.38.0> test commands::tests::explicit_path_scope_matches_marker_and_non_repo_fallback_policy ... ok ai-memory-1.38.0> test commands::tests::workspace_only_marker_uses_linked_worktree_directory_name ... ok ai-memory-1.38.0> test commands::uninstall::tests::generated_file_detection_rejects_user_files_at_ours_path ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_consumes_crlf_after_end_marker ... ok ai-memory-1.38.0> test commands::tests::workspace_only_marker_uses_hook_basename_from_a_subdirectory ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_flat_cursor_shape ... ok ai-memory-1.38.0> test commands::uninstall::tests::generated_openclaw_package_detection_requires_our_shape ... ok ai-memory-1.38.0> test commands::uninstall::tests::kiro_v3_uninstall_ownership_requires_exact_name_trigger_and_command ... ok ai-memory-1.38.0> test commands::uninstall::tests::mcp_url_candidates_adds_client_schema_flavors ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_antigravity_hooks_preserves_mixed_nested_user_hook ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_antigravity_hooks_removes_only_signed_entries ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_ai_memory_hooks_flat_removes_only_ours_and_preserves_third_party ... ok ai-memory-1.38.0> test commands::serve::tests::web_ui_dir_must_include_index_html ... ok ai-memory-1.38.0> test commands::uninstall::tests::skill_roots_include_windows_appdata_devin_root ... ok ai-memory-1.38.0> test commands::serve::tests::web_ui_dir_must_be_directory ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_nested_mixed_inner_commands_preserves_user_hook ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_no_hooks_key_is_noop ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_nested_removes_ours_keeps_third_party ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_preserves_third_party_with_generic_basename ... ok ai-memory-1.38.0> test commands::uninstall::tests::generated_openclaw_manifest_detection_requires_our_shape ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_prunes_emptied_hooks_object ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_hooks_removes_exec_form_ours_preserves_exec_third_party_and_sibling ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_ignores_inline_marker_mention ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_instructions_no_block_is_noop ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_instructions_preserves_surrounding_content ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_instructions_round_trips_with_install_append ... ok ai-memory-1.38.0> test commands::install_hooks::tests::kimi_code_apply_preserves_providers_and_third_party_hooks ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_kimi_code_hooks_all_ours_leaves_no_hooks_section ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_kimi_code_hooks_no_hooks_key_is_noop ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_antigravity_server_url ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_kimi_code_hooks_removes_only_ours_preserving_config ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_by_endpoint_under_custom_name ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_claude_by_name_keeps_others ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_claude_code_session_aware_bridge ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_claude_desktop_mcp_remote_args ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_kimi_code_matches_flavored_url_with_default_mcp_url ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_kimi_code_root_servers ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_kiro_matches_bedrock_flavored_url ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_name_only_does_not_remove_user_entry ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_no_match_is_noop ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_omp_root_servers ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_openclaw_nested_servers ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_swival_root_servers_preserves_siblings ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_toml_by_name_keeps_comments_and_tables ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_toml_by_url_under_custom_name ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_toml_inline_table_by_url_under_custom_name ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_toml_inline_table_prunes_when_empty ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_toml_no_match_is_noop ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_vscode_copilot_root_servers ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_removes_exact_legacy_orphan_tail ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_removes_repeated_legacy_orphan_tails ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_zero_hooks_removes_only_prefixed_ids ... ok ai-memory-1.38.0> test commands::uninstall::tests::strip_mcp_zed_context_servers_preserves_other_settings ... ok ai-memory-1.38.0> test commands::user::tests::url_encode_passes_safe_chars_through ... ok ai-memory-1.38.0> test commands::user::tests::url_encode_percent_encodes_at_and_other_specials ... ok ai-memory-1.38.0> test commands::user::tests::user_row_active_status_reflects_token_expired_at ... ok ai-memory-1.38.0> test commands::workstreams::tests::human_output_explains_an_empty_checkout ... ok ai-memory-1.38.0> test commands::workstreams::tests::human_output_marks_current_and_lists_harnesses ... ok ai-memory-1.38.0> test config::llm_provider_config_gemini_uses_default_base_url_when_none_provided ... ok ai-memory-1.38.0> test config::llm_provider_config_passes_base_url_to_gemini ... ok ai-memory-1.38.0> test config::tests::anthropic_oauth_provider_resolves_choice_default_model_and_credential ... ok ai-memory-1.38.0> test config::tests::anthropic_oauth_provider_underscore_alias_also_resolves ... ok ai-memory-1.38.0> test config::tests::anthropic_provider_uses_documented_default_model ... ok ai-memory-1.38.0> test config::tests::defaults_have_canonical_endings ... ok ai-memory-1.38.0> test config::tests::gemini_embedding_provider_uses_google_defaults ... ok ai-memory-1.38.0> test config::tests::auth_settings_debug_redacts_secrets_in_auth_and_config ... ok ai-memory-1.38.0> test config::tests::copilot_provider_uses_data_dir_token_file_and_env_token ... ok ai-memory-1.38.0> test config::tests::llm_test_api_key_override_wins_over_env_auth ... ok ai-memory-1.38.0> test config::tests::cli_override_wins ... ok ai-memory-1.38.0> test config::tests::openai_compat_provider_defaults_strict_and_allows_opt_out ... ok ai-memory-1.38.0> test config::tests::defaults_bound_consolidation_prompts_for_a_large_context_provider ... ok ai-memory-1.38.0> test config::tests::openai_embedding_does_not_use_llm_api_key_without_custom_base_url ... ok ai-memory-1.38.0> test config::tests::llm_provider_config_uses_typed_provider_auth ... ok ai-memory-1.38.0> test config::tests::load_populates_home_dir_from_env ... ok ai-memory-1.38.0> test config::tests::openai_embedding_falls_back_to_llm_api_key_for_openrouter ... ok ai-memory-1.38.0> test config::tests::config_file_overrides_defaults ... ok ai-memory-1.38.0> test config::tests::load_accepts_a_small_context_consolidation_budget ... ok ai-memory-1.38.0> test config::tests::load_rejects_a_zero_llm_request_timeout ... ok ai-memory-1.38.0> test config::tests::openai_compat_auth_remains_optional ... ok ai-memory-1.38.0> test config::tests::openai_compat_embedding_is_keyless_and_requires_explicit_settings ... ok ai-memory-1.38.0> test config::tests::opencode_provider_resolves_choice_default_model_and_api_key ... ok ai-memory-1.38.0> test config::tests::openai_embedding_prefers_dedicated_embedding_api_key ... ok ai-memory-1.38.0> test config::tests::reranker_choice_is_explicit_case_insensitive_and_fail_closed ... ok ai-memory-1.38.0> test config::tests::load_round_trips_a_custom_llm_request_timeout ... ok ai-memory-1.38.0> test config::tests::load_rejects_a_consolidation_budget_below_the_prompt_reserve ... ok ai-memory-1.38.0> test config::tests::load_rejects_a_consolidation_output_limit_too_small_for_json ... ok ai-memory-1.38.0> test config::tests::openai_oauth_provider_uses_data_dir_token_file ... ok ai-memory-1.38.0> test http_client::tests::bare_env_base_gets_leading_slash ... ok ai-memory-1.38.0> test config::tests::load_rejects_destructive_invalid_breadth_weights ... ok ai-memory-1.38.0> test http_client::tests::from_pair_defaults_to_loopback_when_empty ... ok ai-memory-1.38.0> test http_client::tests::authenticate_no_token_leaves_request_unchanged ... ok ai-memory-1.38.0> test config::tests::load_rejects_destructive_invalid_observation_retention ... ok ai-memory-1.38.0> test config::tests::normalize_home_dir_trims_trailing_separators ... ok ai-memory-1.38.0> test http_client::tests::authenticate_with_token_sets_bearer_header ... ok ai-memory-1.38.0> test http_client::tests::build_url_with_query_url_encodes_values ... ok ai-memory-1.38.0> test http_client::tests::env_base_path_used_when_url_has_no_path ... ok ai-memory-1.38.0> test http_client::tests::from_pair_defaults_to_loopback_when_none ... ok ai-memory-1.38.0> test http_client::tests::from_pair_empty_token_treated_as_none ... ok ai-memory-1.38.0> test http_client::tests::client_state_identity_normalizes_mounts_and_never_contains_credentials ... ok ai-memory-1.38.0> test http_client::tests::build_url_without_base_is_byte_identical ... ok ai-memory-1.38.0> test http_client::tests::from_pair_non_empty_token_preserved ... ok ai-memory-1.38.0> test http_client::tests::from_pair_strips_multiple_trailing_slashes ... ok ai-memory-1.38.0> test http_client::tests::downloaded_backup_output_is_private_when_created ... ok ai-memory-1.38.0> test http_client::tests::from_pair_strips_trailing_slash ... ok ai-memory-1.38.0> test http_client::tests::multi_segment_base_path_is_preserved ... ok ai-memory-1.38.0> test http_client::tests::root_like_base_values_mean_no_prefix ... ok ai-memory-1.38.0> test http_client::tests::server_url_path_becomes_base_path ... ok ai-memory-1.38.0> test http_client::tests::split_origin_and_path_cases ... ok ai-memory-1.38.0> test http_client::tests::traversal_base_path_is_neutralised_to_root ... ok ai-memory-1.38.0> test http_client::tests::from_config_resolving_auth_uses_stored_oidc_for_authorization_header ... ok ai-memory-1.38.0> test http_client::tests::url_path_wins_over_env_base ... ok ai-memory-1.38.0> test marker::tests::is_truthy_matches_shell_parity_tokens ... ok ai-memory-1.38.0> test marker::tests::scope_declares_repo_root_for_both_spellings ... ok ai-memory-1.38.0> test marker::tests::find_marker_returns_none_without_one ... ok ai-memory-1.38.0> test marker::tests::parse_toml_flag_accepts_bare_and_quoted_tokens ... ok ai-memory-1.38.0> test marker::tests::find_marker_walks_up_from_cwd ... ok ai-memory-1.38.0> test logging::tests::fully_readonly_environment_degrades_to_stderr_only ... ok ai-memory-1.38.0> test marker::tests::parse_toml_key_extracts_root_level_strings ... ok ai-memory-1.38.0> test marker::tests::parse_toml_key_skips_unsupported_shapes ... ok ai-memory-1.38.0> test logging::tests::writable_log_dir_is_used_directly ... ok ai-memory-1.38.0> test logging::tests::readonly_log_dir_falls_back_to_temp_dir ... ok ai-memory-1.38.0> test marker::tests::marker_walk_outside_home_checks_only_cwd_without_a_checkout ... ok ai-memory-1.38.0> test marker::tests::marker_walk_outside_home_stops_at_checkout_root ... ok ai-memory-1.38.0> test commands::install_hooks::tests::devin_apply_both_targets_are_idempotent ... ok ai-memory-1.38.0> test commands::uninstall::tests::apply_change_removes_kimi_code_flavored_mcp_entry ... ok ai-memory-1.38.0> test commands::setup_agent::tests::devin_setup_copies_event_scripts_and_shared_lib ... ok ai-memory-1.38.0> test commands::install_hooks::tests::claude_prompt_opt_out_survives_reapply_and_preserves_third_party_hook ... ok ai-memory-1.38.0> test commands::hook_spool::tests::slow_batch_success_uses_chunk_scaled_timeout_and_deletes_once ... ok ai-memory-1.38.0> test commands::hook::tests::briefed_markers_are_bounded_and_keep_current ... ok ai-memory-1.38.0> test commands::hook::tests::antigravity_later_invocation_has_no_capture_or_handoff_side_effects ... ok ai-memory-1.38.0> test commands::hook::tests::devin_generated_session_id_reaches_startup_handoff_claim ... ok ai-memory-1.38.0> test commands::hook::tests::antigravity_initial_invocation_fetches_with_native_output_contract ... ok ai-memory-1.38.0> test commands::hook::tests::kimi_session_start_never_fetches_the_handoff ... ok ai-memory-1.38.0> test commands::hook::tests::claude_user_prompt_does_not_fetch_the_handoff ... ok ai-memory-1.38.0> test commands::hook::tests::kiro_session_start_prints_handoff_verbatim ... ok ai-memory-1.38.0> test commands::finalize_session::tests::exact_session_id_targets_that_session_even_with_a_newer_one_open ... ok ai-memory-1.38.0> test commands::finalize_session::tests::selects_latest_scoped_session_for_requested_agent_by_default ... ok ai-memory-1.38.0> test commands::serve::tests::persisted_loop_waits_exact_remaining_interval_when_not_due ... ok ai-memory-1.38.0> test commands::serve::tests::reranker_without_llm_provider_fails_server_setup ... ok ai-memory-1.38.0> test commands::serve::tests::maintenance_state_read_failure_retries_before_running_work ... ok ai-memory-1.38.0> test commands::serve::tests::scheduled_maintenance_sweep_tick_covers_all_projects ... ok ai-memory-1.38.0> test commands::serve::tests::scheduled_maintenance_embedding_backfill_tick_covers_all_projects ... ok ai-memory-1.38.0> test commands::serve::tests::persisted_maintenance_retries_failures_and_waits_after_success ... ok ai-memory-1.38.0> test commands::serve::tests::disabled_maintenance_creates_no_persisted_job_state ... ok ai-memory-1.38.0> test commands::serve::tests::embedder_mismatch_warns_but_keeps_server_startable ... ok ai-memory-1.38.0> test commands::serve::tests::scheduled_embedding_tick_distinguishes_skipped_work_from_an_idle_pass ... ok ai-memory-1.38.0> test commands::serve::tests::persisted_loop_restart_waits_remaining_interval_from_real_state ... ok ai-memory-1.38.0> test commands::reindex::tests::reindex_refuses_dirty_store ... ok ai-memory-1.38.0> test commands::serve::tests::web_routes_are_inside_auth_layer ... ok ai-memory-1.38.0> test commands::serve::tests::session_consolidation_worker_consumes_and_completes_durable_job ... ok ai-memory-1.38.0> test commands::serve::tests::persisted_loop_waits_after_long_tick_without_overlap ... ok ai-memory-1.38.0> test commands::serve::tests::persisted_loop_runs_one_bounded_startup_catchup_for_never_and_overdue ... ok ai-memory-1.38.0> test commands::serve::tests::scheduled_maintenance_lint_tick_covers_all_projects ... ok ai-memory-1.38.0> test commands::serve::tests::zero_interval_omits_only_that_maintenance_job ... ok ai-memory-1.38.0> ai-memory-1.38.0> test result: ok. 743 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 2.15s ai-memory-1.38.0> ai-memory-1.38.0> Finished cargoCheckHook ai-memory-1.38.0> checkPhase completed in 8 minutes 46 seconds ai-memory-1.38.0> Running phase: installPhase ai-memory-1.38.0> Executing cargoInstallHook ai-memory-1.38.0> Finished cargoInstallHook ai-memory-1.38.0> Running phase: fixupPhase ai-memory-1.38.0> shrinking RPATHs of ELF executables and libraries in /nix/store/anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0 ai-memory-1.38.0> shrinking /nix/store/anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0/bin/ai-memory ai-memory-1.38.0> checking for references to /build/ in /nix/store/anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0... ai-memory-1.38.0> patching script interpreter paths in /nix/store/anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0 ai-memory-1.38.0> stripping (with command strip and flags -S -p) in /nix/store/anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0/bin ai-memory-1.38.0> Running phase: installCheckPhase ai-memory-1.38.0> Executing versionCheckPhase ai-memory-1.38.0> Successfully managed to find version 1.38.0 in the output of the command /nix/store/anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0/bin/ai-memory --version ai-memory-1.38.0> ai-memory 1.38.0 ai-memory-1.38.0> Finished versionCheckPhase ai-memory-1.38.0> no Makefile or custom installCheckPhase, doing nothing post-build step Upload to niks3: ok time=2026-09-01T07:52:13.523Z level=INFO msg="Uploading 1 paths to niks3.numtide.com (90 already cached)" time=2026-09-01T07:52:13.523Z level=INFO msg="Uploading anpxi0x8kad5smiwghvnw55yv8h2km72-ai-memory-1.38.0 (35.1MB)" time=2026-09-01T07:52:15.787Z level=INFO msg="Uploading 1 narinfos" time=2026-09-01T07:52:16.165Z level=INFO msg="Upload complete. (2.966s)"