[INFO] cloning repository https://github.com/JohnsonWang1015/ContextD
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/JohnsonWang1015/ContextD" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnsonWang1015%2FContextD", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnsonWang1015%2FContextD'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] d0099e50c1af7a286300ee01ceaa6c34cfdd49e3
[INFO] testing JohnsonWang1015/ContextD/d0099e50c1af7a286300ee01ceaa6c34cfdd49e3 against 1.99.0-beta.8+cargoflags=--release for beta-release-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FJohnsonWang1015%2FContextD" "/workspace/builds/worker-1-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-1-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/JohnsonWang1015/ContextD
[INFO] finished tweaking git repo https://github.com/JohnsonWang1015/ContextD
[INFO] tweaked toml for git repo https://github.com/JohnsonWang1015/ContextD written to /workspace/builds/worker-1-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/JohnsonWang1015/ContextD on toolchain 1.99.0-beta.8
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/JohnsonWang1015/ContextD already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.99.0-beta.8" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded uuid v1.25.0
[INFO] [stderr]   Downloaded hashlink v0.12.1
[INFO] [stderr]   Downloaded rusqlite v0.40.2
[INFO] [stderr]   Downloaded libsqlite3-sys v0.38.2
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-1-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:77db811e55d90add9212f6832c23229e3de5f1c1f9905e8cb07319ea15df73ac" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a
[INFO] running `Command { std: "docker" "start" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.107
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.47
[INFO] [stderr]    Compiling libc v0.2.189
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.11
[INFO] [stderr]    Compiling pin-project-lite v0.2.17
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling cfg-if v1.0.4
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling serde_core v1.0.229
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling foldhash v0.2.0
[INFO] [stderr]    Compiling writeable v0.6.4
[INFO] [stderr]    Compiling litemap v0.8.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.3.0
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling icu_properties_data v2.3.0
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling percent-encoding v2.3.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling cc v1.4.4
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling bitflags v2.13.1
[INFO] [stderr]    Compiling serde v1.0.229
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling fnv v1.0.7
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling utf8parse v0.2.2
[INFO] [stderr]    Compiling zmij v1.0.23
[INFO] [stderr]    Compiling pkg-config v0.3.34
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling serde_json v1.0.151
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling log v0.4.34
[INFO] [stderr]    Compiling syn v3.0.4
[INFO] [stderr]    Compiling syn v2.0.119
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling webpki-roots v1.0.9
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling libsqlite3-sys v0.38.2
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling lazy_static v1.5.0
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling anyhow v1.0.104
[INFO] [stderr]    Compiling winnow v1.0.4
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling iana-time-zone v0.1.65
[INFO] [stderr]    Compiling regex-automata v0.4.18
[INFO] [stderr]    Compiling memchr v2.8.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling sharded-slab v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling toml_parser v1.1.3+spec-1.1.0
[INFO] [stderr]    Compiling hashlink v0.12.1
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling uuid v1.25.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling unicode-segmentation v1.13.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.6
[INFO] [stderr]    Compiling displaydoc v0.2.7
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling serde_derive v1.0.229
[INFO] [stderr]    Compiling clap_derive v4.6.4
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.8
[INFO] [stderr]    Compiling zerotrie v0.2.5
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling tinystr v0.8.4
[INFO] [stderr]    Compiling potential_utf v0.1.6
[INFO] [stderr]    Compiling icu_collections v2.3.0
[INFO] [stderr]    Compiling icu_locale_core v2.3.0
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling icu_provider v2.3.1
[INFO] [stderr]    Compiling icu_normalizer v2.3.0
[INFO] [stderr]    Compiling icu_properties v2.3.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling rusqlite v0.40.2
[INFO] [stderr]    Compiling contextd v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 4m 14s
[INFO] running `Command { std: "docker" "inspect" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json" "--release", kill_on_drop: false }`
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling predicates-core v1.0.10
[INFO] [stderr]    Compiling difflib v0.4.0
[INFO] [stderr]    Compiling assert_cmd v2.2.2
[INFO] [stderr]    Compiling termtree v0.5.1
[INFO] [stderr]    Compiling bstr v1.13.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling fastrand v2.5.0
[INFO] [stderr]    Compiling predicates-tree v1.0.13
[INFO] [stderr]    Compiling predicates v3.1.4
[INFO] [stderr]    Compiling terminal_size v0.4.4
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling clap_builder v4.6.6
[INFO] [stderr]    Compiling clap v4.6.6
[INFO] [stderr]    Compiling contextd v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 2m 06s
[INFO] running `Command { std: "docker" "inspect" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--release", kill_on_drop: false }`
[INFO] [stderr]     Finished `release` profile [optimized] target(s) in 0.42s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/release/deps/contextd-077da60ec6fd0dd6)
[INFO] [stdout] 
[INFO] [stdout] running 329 tests
[INFO] [stdout] test agents::claude::tests::global_file_is_opt_in ... ok
[INFO] [stdout] test agents::markdown::tests::front_matter_is_not_imported_as_memory ... ok
[INFO] [stdout] test agents::markdown::tests::empty_sections_are_dropped ... ok
[INFO] [stdout] test agents::markdown::tests::hashes_inside_code_fences_are_not_headings ... ok
[INFO] [stdout] test agents::codex::tests::detects_agents_md_in_common_locations ... ok
[INFO] [stdout] test agents::claude::tests::missing_claude_md_is_reported_but_not_invented ... ok
[INFO] [stdout] test agents::cursor::tests::cursor_owns_its_export_file ... ok
[INFO] [stdout] test agents::markdown::tests::category_guesses ... ok
[INFO] [stdout] test agents::claude::tests::rendering_is_markdown_with_a_preamble ... ok
[INFO] [stdout] test agents::markdown::tests::splice_appends_to_an_unmanaged_file ... ok
[INFO] [stdout] test agents::generic::tests::export_path_is_context_md ... ok
[INFO] [stdout] test agents::markdown::tests::managed_block_roundtrip ... ok
[INFO] [stdout] test agents::cursor::tests::render_emits_front_matter ... ok
[INFO] [stdout] test agents::claude::tests::detects_claude_md_and_rules ... ok
[INFO] [stdout] test agents::generic::tests::renders_plain_markdown ... ok
[INFO] [stdout] test agents::cursor::tests::export_path_is_a_dedicated_file ... ok
[INFO] [stdout] test agents::markdown::tests::content_before_the_first_heading_is_kept ... ok
[INFO] [stdout] test agents::markdown::tests::splits_on_headings ... ok
[INFO] [stdout] test agents::tests::registry_lookup ... ok
[INFO] [stdout] test agents::cursor::tests::detects_legacy_and_modern_rules ... ok
[INFO] [stdout] test agents::claude::tests::export_path_is_repo_root ... ok
[INFO] [stdout] test cli::commands::config::tests::assignment_produces_a_valid_config ... ok
[INFO] [stdout] test app::tests::open_requires_init ... ok
[INFO] [stdout] test cli::commands::config::tests::lookup_walks_dotted_paths ... ok
[INFO] [stdout] test agents::tests::import_reads_sections_from_existing_files_only ... ok
[INFO] [stdout] test agents::markdown::tests::splice_replaces_only_the_managed_block ... ok
[INFO] [stdout] test agents::markdown::tests::import_ignores_the_managed_block ... ok
[INFO] [stdout] test agents::markdown::tests::truncated_markers_are_not_treated_as_a_block ... ok
[INFO] [stdout] test agents::markdown::tests::unterminated_front_matter_is_left_alone ... ok
[INFO] [stdout] test cli::commands::config::tests::unknown_keys_suggest_neighbours ... ok
[INFO] [stdout] test cli::commands::config::tests::values_are_coerced_to_the_existing_type ... ok
[INFO] [stdout] test cli::commands::remote::tests::capitalise_handles_empty ... ok
[INFO] [stdout] test agents::tests::detect_all_covers_every_adapter ... ok
[INFO] [stdout] test cli::output::tests::memory_detail_lists_metadata ... ok
[INFO] [stdout] test cli::output::tests::superseded_hits_are_marked ... ok
[INFO] [stdout] test cli::output::tests::tables_handle_empty_input ... ok
[INFO] [stdout] test cli::tests::category_and_status_lists_parse ... ok
[INFO] [stdout] test cli::commands::remote::tests::since_accepts_dates_and_timestamps ... ok
[INFO] [stdout] test config::paths::tests::layout_is_rooted ... ok
[INFO] [stdout] test config::tests::partial_config_keeps_other_defaults ... ok
[INFO] [stdout] test config::paths::tests::ensure_dirs_creates_skeleton ... ok
[INFO] [stdout] test config::tests::defaults_roundtrip_through_toml ... ok
[INFO] [stdout] test config::tests::external_vector_backend_needs_a_url_and_collection ... ok
[INFO] [stdout] test config::tests::tombstone_retention_must_be_positive ... ok
[INFO] [stdout] test config::tests::invalid_remotes_are_rejected ... ok
[INFO] [stdout] test config::tests::vector_backend_defaults_to_sqlite ... ok
[INFO] [stdout] test config::tests::missing_file_yields_defaults ... ok
[INFO] [stdout] test config::tests::upsert_replaces_and_remove_reports ... ok
[INFO] [stdout] test config::tests::remotes_roundtrip_and_are_addressable_by_name ... ok
[INFO] [stdout] test core::context::render::tests::empty_bundle_renders_without_panicking ... ok
[INFO] [stdout] test cli::tests::cli_definition_is_valid ... ok
[INFO] [stdout] test cli::tests::global_flags_are_accepted_after_the_subcommand ... ok
[INFO] [stdout] test cli::tests::log_filter_follows_verbosity ... ok
[INFO] [stdout] test cli::tests::parses_a_typical_invocation ... ok
[INFO] [stdout] test config::tests::validation_rejects_inverted_thresholds ... ok
[INFO] [stdout] test config::paths::tests::sanitize_blocks_traversal_and_reserved_names ... ok
[INFO] [stdout] test core::context::render::tests::heading_level_is_configurable ... ok
[INFO] [stdout] test core::context::render::tests::markdown_has_the_expected_sections ... ok
[INFO] [stdout] test core::context::render::tests::resume_reads_like_a_handover ... ok
[INFO] [stdout] test core::context::render::tests::options_control_ids_and_history ... ok
[INFO] [stdout] test core::context::render::tests::resume_without_a_checkpoint_explains_what_to_do ... ok
[INFO] [stdout] test app::tests::ambiguous_prefix_is_reported ... ok
[INFO] [stdout] test core::inventory::tests::a_newer_inventory_format_is_refused ... ok
[INFO] [stdout] test app::tests::cwd_resolves_the_attached_project ... ok
[INFO] [stdout] test app::tests::lookup_by_slug_name_and_prefix ... ok
[INFO] [stdout] test app::tests::open_or_create_initialises ... ok
[INFO] [stdout] test core::checkpoint::tests::empty_summary_is_rejected ... ok
[INFO] [stdout] test core::decision::tests::superseding_unknown_decision_fails ... ok
[INFO] [stdout] test core::decision::tests::supersede_after_the_fact ... ok
[INFO] [stdout] test core::context::tests::global_memories_can_be_excluded ... ok
[INFO] [stdout] test core::decision::tests::history_chain_keeps_one_current_answer ... ok
[INFO] [stdout] test core::checkpoint::tests::goal_and_open_problems_carry_forward ... ok
[INFO] [stdout] test core::context::tests::standing_context_includes_checkpoint_and_architecture ... ok
[INFO] [stdout] test core::context::tests::a_query_selects_relevant_memories ... ok
[INFO] [stdout] test core::checkpoint::tests::explicit_values_override_carry_forward ... ok
[INFO] [stdout] test core::context::tests::superseded_history_is_listed_separately ... ok
[INFO] [stdout] test core::memory::tests::title_is_derived_from_content ... ok
[INFO] [stdout] test core::model::tests::memory_validation ... ok
[INFO] [stdout] test core::memory::tests::tags_are_normalised ... ok
[INFO] [stdout] test core::model::tests::category_parses_case_insensitively ... ok
[INFO] [stdout] test core::model::tests::source_serialises_as_a_flat_string ... ok
[INFO] [stdout] test core::model::tests::source_roundtrips ... ok
[INFO] [stdout] test core::model::tests::status_parses_and_flags_current ... ok
[INFO] [stdout] test core::model::tests::unknown_source_degrades_to_manual ... ok
[INFO] [stdout] test core::inventory::tests::a_populated_store_is_summarised_per_project ... ok
[INFO] [stdout] test core::context::tests::the_budget_is_enforced_and_pinned_memories_always_survive ... ok
[INFO] [stdout] test core::inventory::tests::an_empty_store_surveys_cleanly ... ok
[INFO] [stdout] test core::inventory::tests::inventories_round_trip_as_json ... ok
[INFO] [stdout] test core::project::tests::remote_names ... ok
[INFO] [stdout] test core::project::tests::same_repository_ignores_url_form ... ok
[INFO] [stdout] test core::memory::tests::add_with_supersedes_closes_the_old_memory ... ok
[INFO] [stdout] test core::memory::tests::add_and_get ... ok
[INFO] [stdout] test core::memory::tests::archive_and_delete ... ok
[INFO] [stdout] test core::project::tests::detect_reports_existing_agent_files ... ok
[INFO] [stdout] test core::refresh::summarizer::tests::default_config_selects_noop ... ok
[INFO] [stdout] test core::refresh::summarizer::tests::noop_returns_nothing ... ok
[INFO] [stdout] test core::refresh::summarizer::tests::unknown_summarizer_is_rejected ... ok
[INFO] [stdout] test core::memory::tests::edit_applies_only_given_fields ... ok
[INFO] [stdout] test core::refresh::summarizer::tests::prompt_states_the_newest_wins_rule ... ok
[INFO] [stdout] test core::memory::tests::reactivating_clears_the_supersede_pointer ... ok
[INFO] [stdout] test core::project::tests::detect_uses_directory_name_without_git ... ok
[INFO] [stdout] test core::project::tests::detach_keeps_data_unless_purged ... ok
[INFO] [stdout] test core::memory::tests::superseding_unknown_memory_fails ... ok
[INFO] [stdout] test core::checkpoint::tests::git_metadata_is_captured_when_available ... ok
[INFO] [stdout] test core::project::tests::attach_adopts_a_project_pulled_from_another_machine ... ok
[INFO] [stdout] test core::session::tests::duration_reads_naturally ... ok
[INFO] [stdout] test core::memory::tests::empty_content_is_rejected ... ok
[INFO] [stdout] test core::memory::tests::global_memories_apply_to_every_project ... ok
[INFO] [stdout] test core::project::tests::status_without_project_is_empty_but_valid ... ok
[INFO] [stdout] test core::project::tests::attach_is_idempotent ... ok
[INFO] [stdout] test embeddings::local::tests::batch_matches_single ... ok
[INFO] [stdout] test embeddings::local::tests::deterministic_and_normalised ... ok
[INFO] [stdout] test embeddings::local::tests::dimensions_have_a_floor ... ok
[INFO] [stdout] test embeddings::local::tests::empty_text_yields_zero_vector ... ok
[INFO] [stdout] test embeddings::local::tests::overlapping_text_scores_higher_than_unrelated ... ok
[INFO] [stdout] test embeddings::openai::tests::api_key_comes_from_the_named_environment_variable ... ok
[INFO] [stdout] test embeddings::openai::tests::empty_base_is_rejected ... ok
[INFO] [stdout] test embeddings::openai::tests::endpoint_is_built_from_base ... ok
[INFO] [stdout] test embeddings::openai::tests::response_vectors_are_ordered_by_index ... ok
[INFO] [stdout] test embeddings::tests::build_selects_providers ... ok
[INFO] [stdout] test embeddings::tests::cosine_basics ... ok
[INFO] [stdout] test embeddings::tests::cosine_is_defensive ... ok
[INFO] [stdout] test mcp::protocol::tests::parses_requests_and_notifications ... ok
[INFO] [stdout] test mcp::protocol::tests::responses_omit_empty_fields ... ok
[INFO] [stdout] test mcp::protocol::tests::tool_result_shapes ... ok
[INFO] [stdout] test core::project::tests::slugs_do_not_collide ... ok
[INFO] [stdout] test mcp::protocol::tests::version_negotiation ... ok
[INFO] [stdout] test core::session::tests::start_and_end_a_session ... ok
[INFO] [stdout] test core::refresh::tests::dry_run_changes_nothing ... ok
[INFO] [stdout] test core::refresh::tests::duplicates_are_merged_newest_wins ... ok
[INFO] [stdout] test core::session::tests::starting_closes_a_session_left_open ... ok
[INFO] [stdout] test core::refresh::tests::expired_deletion_records_are_forgotten ... ok
[INFO] [stdout] test core::session::tests::checkpoints_made_outside_a_session_have_none ... ok
[INFO] [stdout] test core::refresh::tests::a_configured_summarizer_consolidates_clusters ... ok
[INFO] [stdout] test core::refresh::tests::three_way_duplicates_collapse_to_one_survivor ... ok
[INFO] [stdout] test core::refresh::tests::similar_memories_are_reported_not_merged ... ok
[INFO] [stdout] test core::session::tests::resolve_accepts_a_prefix ... ok
[INFO] [stdout] test core::refresh::tests::refresh_rebuilds_indexes ... ok
[INFO] [stdout] test core::session::tests::activity_collects_what_happened_inside_the_window ... ok
[INFO] [stdout] test core::session::tests::records_written_on_the_boundary_belong_to_the_session ... ok
[INFO] [stdout] test mcp::server::tests::a_connection_opens_and_closes_a_working_session ... ok
[INFO] [stdout] test core::session::tests::summarise_keeps_the_session_open ... ok
[INFO] [stdout] test mcp::server::tests::a_read_only_server_records_no_session ... ok
[INFO] [stdout] test search::fulltext::tests::returns_scored_candidates ... ok
[INFO] [stdout] test mcp::server::tests::bad_arguments_become_tool_errors_not_protocol_errors ... ok
[INFO] [stdout] test mcp::server::tests::checkpoint_tools_report_current_state ... ok
[INFO] [stdout] test mcp::server::tests::initialize_and_list_tools ... ok
[INFO] [stdout] test mcp::server::tests::memory_add_then_get_roundtrips ... ok
[INFO] [stdout] test mcp::server::tests::malformed_input_returns_a_parse_error ... ok
[INFO] [stdout] test mcp::server::tests::session_history_tells_the_next_agent_what_happened ... ok
[INFO] [stdout] test search::hybrid::tests::a_failing_semantic_arm_falls_back_to_keywords ... ok
[INFO] [stdout] test mcp::server::tests::notifications_get_no_reply ... ok
[INFO] [stdout] test search::hybrid::tests::decisions_and_checkpoints_are_searchable ... ok
[INFO] [stdout] test search::scoring::tests::archived_is_penalised_more_than_superseded ... ok
[INFO] [stdout] test search::hybrid::tests::empty_query_returns_nothing ... ok
[INFO] [stdout] test search::scoring::tests::breakdown_sums_to_total ... ok
[INFO] [stdout] test search::scoring::tests::current_truth_outranks_superseded_truth ... ok
[INFO] [stdout] test mcp::server::tests::write_tools_are_blocked_in_read_only_mode ... ok
[INFO] [stdout] test mcp::server::tests::unknown_method_is_reported ... ok
[INFO] [stdout] test search::scoring::tests::priority_and_structure_contribute ... ok
[INFO] [stdout] test search::scoring::tests::project_records_beat_global_ones_at_equal_relevance ... ok
[INFO] [stdout] test search::scoring::tests::weights_are_configurable ... ok
[INFO] [stdout] test search::scoring::tests::recency_halves_at_the_half_life ... ok
[INFO] [stdout] test search::vector::qdrant::tests::collection_size_is_read_from_either_layout ... ok
[INFO] [stdout] test search::hybrid::tests::category_and_kind_filters_apply ... ok
[INFO] [stdout] test search::vector::qdrant::tests::empty_configuration_is_rejected ... ok
[INFO] [stdout] test search::vector::qdrant::tests::filters_express_scope_and_kinds ... ok
[INFO] [stdout] test search::vector::qdrant::tests::malformed_responses_do_not_panic ... ok
[INFO] [stdout] test search::vector::qdrant::tests::results_are_parsed_and_clamped ... ok
[INFO] [stdout] test search::vector::qdrant::tests::upsert_body_carries_payload_for_filtering ... ok
[INFO] [stdout] test search::vector::qdrant::tests::urls_are_built_from_the_base ... ok
[INFO] [stdout] test search::hybrid::tests::search_without_embeddings_still_works ... ok
[INFO] [stdout] test search::hybrid::tests::current_truth_ranks_above_superseded_history ... ok
[INFO] [stdout] test search::vector::tests::archived_records_are_never_retrievable ... ok
[INFO] [stdout] test search::hybrid::tests::finds_memories_by_keyword ... ok
[INFO] [stdout] test mcp::server::tests::semantic_recall_finds_the_current_answer ... ok
[INFO] [stdout] test storage::repository::tests::filter_defaults_to_active ... ok
[INFO] [stdout] test storage::repository::tests::scope_sql_shapes ... ok
[INFO] [stdout] test search::semantic::tests::empty_inputs_are_handled ... ok
[INFO] [stdout] test search::hybrid::tests::semantic_recall_finds_a_paraphrase ... ok
[INFO] [stdout] test search::semantic::tests::ranks_related_memories_first ... ok
[INFO] [stdout] test search::semantic::tests::respects_the_candidate_limit ... ok
[INFO] [stdout] test search::vector::sqlite::tests::ranks_by_similarity_and_skips_archived ... ok
[INFO] [stdout] test search::vector::sqlite::tests::an_empty_query_vector_matches_nothing ... ok
[INFO] [stdout] test storage::sqlite::bindings::tests::find_and_delete ... ok
[INFO] [stdout] test search::vector::sqlite::tests::health_counts_stored_vectors_and_clear_empties_them ... ok
[INFO] [stdout] test search::vector::sqlite::tests::respects_scope_and_limit ... ok
[INFO] [stdout] test storage::sqlite::bindings::tests::upsert_is_idempotent_per_path ... ok
[INFO] [stdout] test mcp::server::tests::project_context_is_budgeted ... ok
[INFO] [stdout] test storage::sqlite::checkpoints::tests::roundtrip_preserves_lists ... ok
[INFO] [stdout] test storage::sqlite::checkpoints::tests::empty_summary_is_rejected ... ok
[INFO] [stdout] test storage::sqlite::embeddings::tests::vector_blob_roundtrip ... ok
[INFO] [stdout] test storage::sqlite::fts::tests::clean_body_expands_json_lists ... ok
[INFO] [stdout] test storage::sqlite::fts::tests::scores_are_normalised_to_unit_range ... ok
[INFO] [stdout] test storage::sqlite::fts::tests::unknown_kind_is_dropped_not_fatal ... ok
[INFO] [stdout] test storage::sqlite::checkpoints::tests::no_checkpoint_yet ... ok
[INFO] [stdout] test search::indexer::tests::disabled_provider_reports_a_note ... ok
[INFO] [stdout] test storage::sqlite::checkpoints::tests::latest_is_the_newest ... ok
[INFO] [stdout] test search::indexer::tests::embeds_only_what_changed ... ok
[INFO] [stdout] test search::indexer::tests::points_reach_an_external_index ... ok
[INFO] [stdout] test storage::sqlite::decisions::tests::empty_fields_are_rejected ... ok
[INFO] [stdout] test storage::sqlite::decisions::tests::superseding_a_missing_decision_fails ... ok
[INFO] [stdout] test storage::sqlite::decisions::tests::resolve_by_prefix_and_delete ... ok
[INFO] [stdout] test search::indexer::tests::rebuild_fulltext_reindexes_everything ... ok
[INFO] [stdout] test storage::sqlite::embeddings::tests::deleting_memory_removes_its_vector ... ok
[INFO] [stdout] test storage::sqlite::decisions::tests::superseding_closes_the_previous_decision ... ok
[INFO] [stdout] test storage::sqlite::embeddings::tests::embedded_records_are_scoped_and_skip_archived ... ok
[INFO] [stdout] test storage::sqlite::embeddings::tests::needing_embedding_tracks_content_changes ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::category_counts_describe_current_knowledge ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::cjk_content_is_searchable ... ok
[INFO] [stdout] test storage::sqlite::embeddings::tests::upsert_replaces_and_validates ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::invalid_memory_is_rejected ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::create_get_update_delete ... ok
[INFO] [stdout] test storage::sqlite::migrations::tests::versions_are_unique_and_ordered ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::global_and_project_scopes ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::deleting_a_memory_removes_it_from_search ... ok
[INFO] [stdout] test search::vector::tests::build_selects_backends ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::get_memories_preserves_input_order ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::resolve_by_prefix ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::deleting_project_cascades_to_memories_and_index ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::filters_by_category_tag_and_text ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::self_supersede_is_rejected ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::filters_by_creation_window ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::supersede_marks_history ... ok
[INFO] [stdout] test storage::sqlite::migrations::tests::expected_tables_exist_after_migration ... ok
[INFO] [stdout] test storage::sqlite::migrations::tests::future_schema_is_refused ... ok
[INFO] [stdout] test storage::sqlite::tests::json_list_roundtrip_and_tolerance ... ok
[INFO] [stdout] test storage::sqlite::migrations::tests::migrate_applies_all_then_is_idempotent ... ok
[INFO] [stdout] test storage::sqlite::tests::placeholders_shape ... ok
[INFO] [stdout] test storage::sqlite::memories::tests::writes_are_searchable_immediately ... ok
[INFO] [stdout] test storage::sqlite::migrations::tests::tampered_migration_is_rejected ... ok
[INFO] [stdout] test storage::sqlite::projects::tests::crud_roundtrip ... ok
[INFO] [stdout] test storage::sqlite::projects::tests::inactive_projects_are_hidden_by_default ... ok
[INFO] [stdout] test storage::sqlite::sessions::tests::a_session_can_be_summarised_while_still_open ... ok
[INFO] [stdout] test storage::sqlite::projects::tests::innermost_project_wins_for_nested_roots ... ok
[INFO] [stdout] test storage::sqlite::projects::tests::paths_that_do_not_exist_still_match_their_project ... ok
[INFO] [stdout] test storage::sqlite::sessions::tests::open_session_is_the_one_without_an_end ... ok
[INFO] [stdout] test storage::sqlite::projects::tests::unrelated_path_finds_nothing ... ok
[INFO] [stdout] test storage::sqlite::projects::tests::slug_is_unique ... ok
[INFO] [stdout] test storage::sqlite::tests::fts5_is_available ... ok
[INFO] [stdout] test storage::sqlite::sessions::tests::ending_unknown_session_reports_false ... ok
[INFO] [stdout] test storage::sqlite::sessions::tests::start_and_end ... ok
[INFO] [stdout] test sync::agent_sync::tests::unknown_agents_are_rejected ... ok
[INFO] [stdout] test storage::sqlite::tests::opens_and_migrates ... ok
[INFO] [stdout] test sync::bundle::tests::a_bundle_without_tombstones_still_parses ... ok
[INFO] [stdout] test storage::sqlite::tombstones::tests::purging_and_clearing ... ok
[INFO] [stdout] test storage::sqlite::tombstones::tests::re_recording_keeps_the_earliest_deletion ... ok
[INFO] [stdout] test storage::sqlite::tests::foreign_keys_are_enforced ... ok
[INFO] [stdout] test sync::bundle::tests::a_newer_bundle_format_is_refused ... ok
[INFO] [stdout] test storage::sqlite::tombstones::tests::deleting_a_memory_leaves_a_tombstone ... ok
[INFO] [stdout] test storage::sqlite::tombstones::tests::scope_and_since_filters_apply ... ok
[INFO] [stdout] test sync::agent_sync::tests::a_hand_edited_block_is_a_conflict_until_forced ... ok
[INFO] [stdout] test sync::agent_sync::tests::exported_content_is_not_reimported ... ok
[INFO] [stdout] test sync::agent_sync::tests::import_reads_sections_and_is_idempotent ... ok
[INFO] [stdout] test sync::agent_sync::tests::cursor_files_are_written_whole_with_front_matter_first ... ok
[INFO] [stdout] test sync::bundle::tests::bundle_roundtrips_through_json ... ok
[INFO] [stdout] test sync::agent_sync::tests::export_creates_then_updates_the_managed_block ... ok
[INFO] [stdout] test sync::agent_sync::tests::export_preserves_hand_written_content ... ok
[INFO] [stdout] test sync::bundle::tests::remote_url_forms_normalise_to_the_same_repository ... ok
[INFO] [stdout] test sync::agent_sync::tests::cursor_import_ignores_contextd_own_file_but_reads_user_rules ... ok
[INFO] [stdout] test sync::agent_sync::tests::dry_run_writes_nothing ... ok
[INFO] [stdout] test sync::agent_sync::tests::export_to_every_bound_agent ... ok
[INFO] [stdout] test sync::mirror::tests::checkpoint_file_names_are_windows_safe ... ok
[INFO] [stdout] test sync::bundle::tests::since_filters_to_recent_changes ... ok
[INFO] [stdout] test sync::bundle::tests::a_deletion_and_an_edit_in_the_same_millisecond_keep_the_record ... ok
[INFO] [stdout] test sync::bundle::tests::an_edit_after_a_deletion_brings_the_record_back ... ok
[INFO] [stdout] test sync::bundle::tests::a_deletion_travels_and_does_not_come_back ... ok
[INFO] [stdout] test sync::remote::tests::a_chatty_profile_does_not_hide_the_payload ... ok
[INFO] [stdout] test sync::bundle::tests::an_unknown_project_arrives_without_a_local_path ... ok
[INFO] [stdout] test sync::remote::tests::a_home_relative_command_path_is_expanded_not_quoted ... ok
[INFO] [stdout] test sync::remote::tests::a_literal_home_variable_is_also_left_for_the_remote ... ok
[INFO] [stdout] test sync::remote::tests::a_login_shell_wraps_the_whole_command ... ok
[INFO] [stdout] test sync::bundle::tests::checkpoints_arrive_detached_from_their_session ... ok
[INFO] [stdout] test sync::bundle::tests::colliding_slugs_get_a_free_one ... ok
[INFO] [stdout] test sync::mirror::tests::adopt_imports_hand_edits_as_memories ... ok
[INFO] [stdout] test sync::mirror::tests::export_writes_the_expected_layout ... ok
[INFO] [stdout] test sync::remote::tests::an_ad_hoc_destination_describes_itself_by_host ... ok
[INFO] [stdout] test sync::remote::tests::batch_mode_is_what_decides_whether_a_password_can_be_typed ... ok
[INFO] [stdout] test sync::bundle::tests::deleting_decisions_and_checkpoints_also_travels ... ok
[INFO] [stdout] test sync::bundle::tests::dry_run_writes_nothing ... ok
[INFO] [stdout] test sync::bundle::tests::history_travels_and_stays_history ... ok
[INFO] [stdout] test sync::bundle::tests::dry_run_reports_deletions_without_making_them ... ok
[INFO] [stdout] test sync::remote::tests::remote_commands_are_quoted ... ok
[INFO] [stdout] test sync::remote::tests::a_remote_that_is_not_contextd_produces_a_clear_error ... ok
[INFO] [stdout] test sync::mirror::tests::superseded_memories_appear_under_history ... ok
[INFO] [stdout] test sync::remote::tests::shell_quoting_leaves_plain_arguments_alone ... ok
[INFO] [stdout] test sync::remote::tests::ssh_options_from_configuration_are_kept ... ok
[INFO] [stdout] test sync::mirror::tests::second_export_is_unchanged ... ok
[INFO] [stdout] test sync::mirror::tests::hand_edits_are_reported_not_overwritten ... ok
[INFO] [stdout] test sync::tests::conflict_rules ... ok
[INFO] [stdout] test sync::tests::read_or_empty_tolerates_missing_files ... ok
[INFO] [stdout] test ui::tests::cjk_counts_as_double_width ... ok
[INFO] [stdout] test sync::remote::tests::a_refused_login_suggests_how_to_get_in ... ok
[INFO] [stdout] test sync::bundle::tests::a_deletion_propagates_through_a_third_machine ... ok
[INFO] [stdout] test ui::tests::color_can_be_forced_off ... ok
[INFO] [stdout] test ui::tests::kv_aligns_keys ... ok
[INFO] [stdout] test ui::tests::table_pads_columns ... ok
[INFO] [stdout] test ui::tests::plurals_read_correctly ... ok
[INFO] [stdout] test sync::bundle::tests::merging_is_idempotent ... ok
[INFO] [stdout] test util::git::tests::short_commit_handles_short_input ... ok
[INFO] [stdout] test util::hash::tests::different_content_differs ... ok
[INFO] [stdout] test util::hash::tests::line_endings_do_not_change_hash ... ok
[INFO] [stdout] test util::ids::tests::short_is_utf8_safe ... ok
[INFO] [stdout] test util::ids::tests::slugify_normalises ... ok
[INFO] [stdout] test sync::tests::atomic_write_creates_and_replaces ... ok
[INFO] [stdout] test util::text::tests::estimate_tokens_counts_cjk_denser ... ok
[INFO] [stdout] test util::text::tests::jaccard_bounds ... ok
[INFO] [stdout] test util::text::tests::tokenize_lowercases ... ok
[INFO] [stdout] test util::text::tests::tokenize_splits_cjk_per_char ... ok
[INFO] [stdout] test util::text::tests::fts_query_neutralises_operators ... ok
[INFO] [stdout] test sync::bundle::tests::the_newer_side_wins_and_real_divergence_is_reported ... ok
[INFO] [stdout] test util::text::tests::truncate_is_utf8_safe ... ok
[INFO] [stdout] test util::time::tests::corrupt_timestamp_does_not_panic ... ok
[INFO] [stdout] test util::time::tests::humanize ... ok
[INFO] [stdout] test util::time::tests::now_matches_what_storage_can_keep ... ok
[INFO] [stdout] test util::time::tests::roundtrip ... ok
[INFO] [stdout] test util::git::tests::non_repo_is_empty ... ok
[INFO] [stdout] test sync::remote::tests::a_shell_expanded_tilde_is_recognised_and_explained ... ok
[INFO] [stdout] test sync::remote::tests::a_remote_without_a_store_is_told_to_initialise_one ... ok
[INFO] [stdout] test sync::remote::tests::scanning_a_machine_without_contextd_says_so ... ok
[INFO] [stdout] test util::git::tests::fresh_repo_reports_branch_before_first_commit ... ok
[INFO] [stdout] test sync::remote::tests::unknown_remotes_list_what_is_configured ... ok
[INFO] [stdout] test sync::remote::tests::a_pull_then_push_converges_both_machines ... ok
[INFO] [stdout] test sync::remote::tests::scanning_an_older_build_explains_the_gap ... ok
[INFO] [stdout] test ui::tests::empty_table_is_empty ... ok
[INFO] [stdout] test sync::remote::tests::pull_brings_remote_memory_home ... ok
[INFO] [stdout] test sync::remote::tests::scan_reports_what_the_other_machine_holds ... ok
[INFO] [stdout] test sync::remote::tests::dry_run_reaches_the_remote_but_writes_nothing ... ok
[INFO] [stdout] test sync::remote::tests::push_sends_local_memory_and_reports_the_remote_result ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 329 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/release/deps/contextd-1ad4d78c5223778a)
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_flow.rs (/opt/rustwide/target/release/deps/cli_flow-5646c389ef518bc2)
[INFO] [stdout] 
[INFO] [stdout] running 16 tests
[INFO] [stdout] test commands_fail_helpfully_before_init_and_outside_a_project ... ok
[INFO] [stdout] test remotes_are_configured_and_validated ... ok
[INFO] [stdout] test export_preserves_hand_written_instructions ... ok
[INFO] [stdout] test starting_a_session_closes_one_left_open ... ok
[INFO] [stdout] test bundle_import_dry_run_and_stdin ... ok
[INFO] [stdout] test sync_writes_the_markdown_mirror ... ok
[INFO] [stdout] test current_truth_outranks_history ... ok
[INFO] [stdout] test detach_keeps_memories_and_reattach_finds_them ... ok
[INFO] [stdout] test refresh_merges_duplicates_and_dry_run_changes_nothing ... ok
[INFO] [stdout] test import_round_trips_without_duplicating ... ok
[INFO] [stdout] test memory_lifecycle_commands ... ok
[INFO] [stdout] test mvp_acceptance_flow ... ok
[INFO] [stdout] test memory_moves_between_machines_as_a_bundle ... ok
[INFO] [stdout] test a_memory_edited_after_a_deletion_survives ... ok
[INFO] [stdout] test sessions_group_the_work_they_produced ... ok
[INFO] [stderr]      Running tests/mcp_session.rs (/opt/rustwide/target/release/deps/mcp_session-0f78309363bf6055)
[INFO] [stdout] test deletions_sync_between_machines ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 16 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test an_agent_can_write_memory_and_read_it_back ... ok
[INFO] [stdout] test read_only_servers_refuse_writes ... ok
[INFO] [stdout] test an_mcp_connection_is_recorded_as_a_working_session ... ok
[INFO] [stdout] test an_mcp_client_can_retrieve_project_memory ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/migrations.rs (/opt/rustwide/target/release/deps/migrations-4d2893da9c76a5ae)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test a_fresh_database_reaches_the_target_version ... ok
[INFO] [stdout] test data_survives_a_reopen ... ok
[INFO] [stdout] test a_partially_migrated_database_is_brought_up_to_date ... ok
[INFO] [stdout] test a_database_from_a_newer_build_is_refused ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.03s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/remote_ssh.rs (/opt/rustwide/target/release/deps/remote_ssh-487b31972b88f0a2)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test scanning_a_machine_without_contextd_explains_the_fix ... ok
[INFO] [stdout] test a_failing_remote_reports_the_ssh_error ... ok
[INFO] [stdout] test a_refused_password_login_explains_the_next_step ... ok
[INFO] [stdout] test password_prompting_is_allowed_unless_batch_is_asked_for ... ok
[INFO] [stdout] test scanning_a_remote_reports_what_it_holds_without_copying_it ... ok
[INFO] [stdout] test pull_and_push_over_the_ssh_transport ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/vector_backends.rs (/opt/rustwide/target/release/deps/vector_backends-b665977b50d66af3)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test a_collection_of_the_wrong_width_is_reported_not_corrupted ... ok
[INFO] [stdout] test an_unreachable_vector_store_degrades_to_keyword_search ... ok
[INFO] [stdout] test deleting_a_memory_removes_its_point ... ok
[INFO] [stdout] test switching_backend_republishes_existing_vectors ... ok
[INFO] [stdout] test recall_runs_through_bge_m3_and_qdrant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests contextd
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a", kill_on_drop: false }`
[INFO] [stdout] 88ebb6c472fc3f13b77d55a71f551ca4a9af6d47b89329d1047e626a3085a99a
