[INFO] cloning repository https://github.com/chenyujian/agentspellbook
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/chenyujian/agentspellbook" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchenyujian%2Fagentspellbook", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchenyujian%2Fagentspellbook'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] a208de02629dda0cadc1349ad11911275604b8dd
[INFO] testing chenyujian/agentspellbook against 1.99.0-beta.8 for beta-1.100-2
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fchenyujian%2Fagentspellbook" "/workspace/builds/worker-0-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-0-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-0-tc1/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/chenyujian/agentspellbook
[INFO] finished tweaking git repo https://github.com/chenyujian/agentspellbook
[INFO] tweaked toml for git repo https://github.com/chenyujian/agentspellbook written to /workspace/builds/worker-0-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/chenyujian/agentspellbook 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/chenyujian/agentspellbook 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] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9
[INFO] running `Command { std: "docker" "start" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", 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" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9" "/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" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", 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" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling arrayvec v0.7.8
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling cc v1.2.65
[INFO] [stderr]    Compiling constant_time_eq v0.4.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling zerocopy v0.8.52
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling ahash v0.8.12
[INFO] [stderr]    Compiling bytes v1.12.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling mio v1.2.1
[INFO] [stderr]    Compiling fs2 v0.4.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling blake3 v1.8.5
[INFO] [stderr]    Compiling libsqlite3-sys v0.28.0
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling hashlink v0.9.1
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling spellbook-domain v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-domain)
[INFO] [stderr]    Compiling spellbook-store-api v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-store-api)
[INFO] [stderr]    Compiling spellbook-source-api v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-source-api)
[INFO] [stderr]    Compiling spellbook-application v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-application)
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling spellbook-platform v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-platform)
[INFO] [stderr]    Compiling spellbook-adapter-zcode v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-adapter-zcode)
[INFO] [stderr]    Compiling spellbook-transport-cli v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-transport-cli)
[INFO] [stderr]    Compiling spellbook-adapter-codex v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-adapter-codex)
[INFO] [stderr]    Compiling spellbook-store-sqlite v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-store-sqlite)
[INFO] [stderr]    Compiling spellbook-adapter-workbuddy v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-adapter-workbuddy)
[INFO] [stderr]    Compiling spellbook-transport-mcp v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-transport-mcp)
[INFO] [stderr]    Compiling agentspellbook v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/agentspellbook)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.57s
[INFO] running `Command { std: "docker" "inspect" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", 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" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling spellbook-domain v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-domain)
[INFO] [stderr]    Compiling spellbook-store-api v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-store-api)
[INFO] [stderr]    Compiling spellbook-source-api v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-source-api)
[INFO] [stderr]    Compiling spellbook-application v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-application)
[INFO] [stderr]    Compiling spellbook-transport-cli v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-transport-cli)
[INFO] [stderr]    Compiling spellbook-transport-mcp v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-transport-mcp)
[INFO] [stderr]    Compiling rusqlite v0.31.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling spellbook-store-sqlite v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-store-sqlite)
[INFO] [stderr]    Compiling spellbook-adapter-zcode v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-adapter-zcode)
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling spellbook-platform v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-platform)
[INFO] [stderr]    Compiling spellbook-adapter-workbuddy v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-adapter-workbuddy)
[INFO] [stderr]    Compiling spellbook-adapter-codex v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/spellbook-adapter-codex)
[INFO] [stderr]    Compiling agentspellbook v0.1.0-alpha.1 (/opt/rustwide/workdir/crates/agentspellbook)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 21.25s
[INFO] running `Command { std: "docker" "inspect" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", 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" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9" "/opt/rustwide/cargo-home/bin/cargo" "+1.99.0-beta.8" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.15s
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/agentspellbook-03914aac185fe8e9)
[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/binary_smoke.rs (/opt/rustwide/target/debug/deps/binary_smoke-68bc10f7e5b62127)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test binary_emits_no_telemetry_markers_on_stdout ... ok
[INFO] [stdout] test unknown_command_exits_usage_not_internal_error ... ok
[INFO] [stdout] test version_flag_exits_zero_and_prints_version ... ok
[INFO] [stdout] test help_flag_lists_command_vocabulary ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/cli_smoke.rs (/opt/rustwide/target/debug/deps/cli_smoke-a6da327de208734b)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test handoff_rejects_unknown_bundle_version ... ok
[INFO] [stdout] test unknown_command_exits_usage ... ok
[INFO] [stdout] test version_flag_exits_zero_and_prints_version ... ok
[INFO] [stdout] test help_flag_lists_all_commands ... ok
[INFO] [stdout] test mcp_initialize_returns_protocol_response ... ok
[INFO] [stdout] test init_creates_home_directory ... ok
[INFO] [stdout] test status_returns_json_with_sync_in_progress_false ... ok
[INFO] [stdout] test binary_emits_no_telemetry_markers_on_stdout ... ok
[INFO] [stdout] test search_returns_json_response ... ok
[INFO] [stdout] test providers_returns_json_with_empty_list_before_sync ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e6_regression.rs (/opt/rustwide/target/debug/deps/e6_regression-251378cb5d9a61ed)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test binary_help_lists_doctor_command ... ok
[INFO] [stdout] test doctor_without_privacy_returns_health_check ... ok
[INFO] [stdout] test full_suite_passes_with_network_disabled ... ok
[INFO] [stdout] test doctor_privacy_returns_clean_on_empty_store ... ok
[INFO] [stdout] test delete_index_removes_agentspellbook_owned_files_only ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.13s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/m1_corruption.rs (/opt/rustwide/target/debug/deps/m1_corruption-5b2587ecfbfcf09e)
[INFO] [stdout] 
[INFO] [stdout] running 9 tests
[INFO] [stdout] test invalid_sync_state_column_type_reports_store_corrupt ... ok
[INFO] [stdout] test deleted_sync_state_reports_not_started_not_corrupt ... ok
[INFO] [stdout] test initial_in_progress_write_failure_aborts_before_provider_work ... ok
[INFO] [stdout] test missing_sync_state_table_reports_store_unavailable ... ok
[INFO] [stdout] test corrupt_cursor_reports_failed_stale_not_bootstrap_required ... ok
[INFO] [stdout] test terminal_state_write_failure_remains_in_progress_after_restart ... ok
[INFO] [stdout] test corrupt_sync_state_reports_store_corrupt_not_not_started ... ok
[INFO] [stdout] test real_failed_sync_retains_last_success ... ok
[INFO] [stdout] test invalid_reference_errors_do_not_leak_canaries ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.42s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/m1_mcp_parity.rs (/opt/rustwide/target/debug/deps/m1_mcp_parity-1478a9074eebbe70)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stdout] test cli_and_mcp_return_identical_freshness_json ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.11s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/m1_public_path.rs (/opt/rustwide/target/debug/deps/m1_public_path-0e92173db43e5a5c)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test binary_failed_state_reports_degraded_with_retained_last_sync ... ok
[INFO] [stdout] test binary_providers_command_carries_freshness_after_restart ... ok
[INFO] [stderr]      Running tests/m1_real_sync.rs (/opt/rustwide/target/debug/deps/m1_real_sync-a4e38d238202f9a9)
[INFO] [stdout] test binary_freshness_persists_across_process_restart ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.16s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test binary_sync_unsupported_source_reports_stale_not_fresh ... ok
[INFO] [stdout] test binary_sync_bootstrap_then_status_reports_complete_fresh ... ok
[INFO] [stderr]      Running tests/m2_codex_public_path.rs (/opt/rustwide/target/debug/deps/m2_codex_public_path-1d65e36823292529)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test unchanged_codex_sync_reports_zero_writes_and_persists_multi_file_cursor ... ok
[INFO] [stderr]      Running tests/m2_mcp_public_path.rs (/opt/rustwide/target/debug/deps/m2_mcp_public_path-9a7833e450e1c133)
[INFO] [stdout] test codex_sync_privacy_canaries_do_not_leak_into_stdout_stderr_persistence_or_mcp ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.23s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test mcp_sync_status_agrees_with_cli_after_codex_and_zcode_syncs ... ok
[INFO] [stdout] test mcp_late_failure_rolls_back_unique_event_and_converges_on_retry ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/m2_workbuddy_public_path.rs (/opt/rustwide/target/debug/deps/m2_workbuddy_public_path-1a37818f335fa309)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test workbuddy_sync_privacy_canaries_do_not_leak ... ok
[INFO] [stdout] test workbuddy_append_increments_cursor_and_upserts_only_new_record ... ok
[INFO] [stdout] test unchanged_workbuddy_sync_reports_zero_writes_and_persists_cursor ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.18s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/m2_zcode_public_path.rs (/opt/rustwide/target/debug/deps/m2_zcode_public_path-a113499e124a04cc)
[INFO] [stdout] 
[INFO] [stdout] running 2 tests
[INFO] [stdout] test zcode_sync_privacy_canaries_do_not_leak ... ok
[INFO] [stdout] test persisted_zcode_cursor_converges_incrementally_across_binary_restarts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.52s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_adapter_codex-a8bead4c53abc152)
[INFO] [stdout] 
[INFO] [stdout] running 65 tests
[INFO] [stdout] test discovery::tests::discover_rejects_non_directory_explicit ... ok
[INFO] [stdout] test discovery::tests::discover_skips_missing_explicit_root ... ok
[INFO] [stdout] test discovery::tests::discover_finds_env_root_when_allow_defaults ... ok
[INFO] [stdout] test discovery::tests::env_override_used_when_no_explicit ... ok
[INFO] [stdout] test discovery::tests::explicit_relative_path_rejected ... ok
[INFO] [stdout] test ingest::tests::find_rollout_files_empty_when_no_sessions_dir ... ok
[INFO] [stdout] test ingest::tests::checked_empty_source_returns_a_persistable_cursor ... ok
[INFO] [stdout] test discovery::tests::source_id_is_stable_across_same_root ... ok
[INFO] [stdout] test ingest::tests::find_rollout_files_returns_sorted ... ok
[INFO] [stdout] test ingest::tests::appended_record_without_native_id_keeps_monotonic_sequence ... ok
[INFO] [stdout] test ingest::tests::first_ingestion_produces_batch_and_cursor ... ok
[INFO] [stdout] test ingest::tests::rewrite_converges_via_full_rescan ... ok
[INFO] [stdout] test ingest::tests::source_cursor_tracks_every_rollout_and_zero_change_is_empty ... ok
[INFO] [stdout] test ingest::tests::partial_tail_is_deferred ... ok
[INFO] [stdout] test discovery::tests::ensure_inside_root_accepts_child ... ok
[INFO] [stdout] test normalize::tests::bound_excerpt_short_passthrough ... ok
[INFO] [stdout] test ingest::tests::ingestion_is_idempotent_on_replay ... ok
[INFO] [stdout] test normalize::tests::bound_excerpt_long_truncated ... ok
[INFO] [stdout] test ingest::tests::truncation_converges_via_full_rescan ... ok
[INFO] [stdout] test normalize::tests::session_meta_produces_session_and_project ... ok
[INFO] [stdout] test discovery::tests::ensure_inside_root_rejects_outside ... ok
[INFO] [stdout] test discovery::tests::env_override_relative_rejected ... ok
[INFO] [stdout] test normalize::tests::turn_context_is_counted_not_indexed ... ok
[INFO] [stdout] test normalize::tests::unknown_record_is_counted ... ok
[INFO] [stdout] test normalize::tests::usage_event_produces_usage_row ... ok
[INFO] [stdout] test normalize::tests::function_call_links_to_output ... ok
[INFO] [stdout] test normalize::tests::message_produces_event_and_content_blocks ... ok
[INFO] [stdout] test normalize::tests::long_tool_output_is_truncated ... ok
[INFO] [stdout] test parser::tests::boundary_hash_differs_for_different_content ... ok
[INFO] [stdout] test normalize::tests::missing_native_id_still_produces_stable_session_id ... ok
[INFO] [stdout] test normalize::tests::reasoning_record_is_excluded ... ok
[INFO] [stdout] test parser::tests::empty_lines_are_skipped ... ok
[INFO] [stdout] test parser::tests::invalid_json_line_is_degraded ... ok
[INFO] [stdout] test parser::tests::missing_file_is_unavailable ... ok
[INFO] [stdout] test parser::tests::observed_size_matches_file_size ... ok
[INFO] [stdout] test parser::tests::boundary_hash_is_stable_for_same_content ... ok
[INFO] [stdout] test parser::tests::parse_line_uses_kind_when_type_absent ... ok
[INFO] [stdout] test parser::tests::defers_partial_tail ... ok
[INFO] [stdout] test parser::tests::parses_complete_lines_only ... ok
[INFO] [stdout] test parser::tests::resumes_from_offset ... ok
[INFO] [stdout] test parser::tests::stored_boundary_hash_is_verified_without_replaying_prefix ... ok
[INFO] [stdout] test parser::tests::parse_line_extracts_response_item_message ... ok
[INFO] [stdout] test parser::tests::parse_line_extracts_event_msg_usage ... ok
[INFO] [stdout] test parser::tests::parse_line_extracts_session_meta_fields ... ok
[INFO] [stdout] test parser::tests::turn_context_parsed_as_internal ... ok
[INFO] [stdout] test parser::tests::unknown_kind_becomes_unknown_record ... ok
[INFO] [stdout] test probe::tests::probe_degraded_when_rollout_but_no_index ... ok
[INFO] [stdout] test probe::tests::probe_unavailable_when_root_missing ... ok
[INFO] [stdout] test tests::adapter_reports_codex_provider_id ... ok
[INFO] [stdout] test probe::tests::probe_unsupported_when_no_sessions_dir ... ok
[INFO] [stdout] test probe::tests::probe_unsupported_when_root_is_file ... ok
[INFO] [stdout] test probe::tests::probe_degraded_when_sessions_but_no_rollouts_or_index ... ok
[INFO] [stdout] test probe::tests::probe_supported_when_rollout_and_index_present ... ok
[INFO] [stdout] test tests::discover_returns_empty_when_no_root_configured ... ok
[INFO] [stdout] test tests::codex_is_a_valid_provider_id ... ok
[INFO] [stdout] test tests::descriptor_reports_adapter_name_and_version ... ok
[INFO] [stdout] test discovery::tests::discover_deduplicates_explicit_and_env_when_same_root ... ok
[INFO] [stderr]      Running tests/golden_fixture.rs (/opt/rustwide/target/debug/deps/golden_fixture-5ed0a1c0ea3072ac)
[INFO] [stdout] test probe::tests::probe_via_source_instance_uses_display_name_as_root ... ok
[INFO] [stdout] test discovery::tests::discover_finds_explicit_root ... ok
[INFO] [stdout] test discovery::tests::explicit_absolute_path_wins ... ok
[INFO] [stdout] test discovery::tests::discover_returns_empty_when_no_root_and_no_default ... ok
[INFO] [stdout] test discovery::tests::discover_skips_disabled_explicit_source ... ok
[INFO] [stdout] test discovery::tests::source_id_differs_for_different_roots ... ok
[INFO] [stdout] test ingest::tests::append_does_not_reparse_unchanged_history ... ok
[INFO] [stdout] test discovery::tests::empty_explicit_falls_through_to_env ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.20s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test adapter_never_opens_path_outside_approved_allowlist ... ok
[INFO] [stdout] test full_adapter_lifecycle_discovers_probes_and_ingests ... ok
[INFO] [stdout] test source_fixture_byte_hash_is_identical_before_and_after ... ok
[INFO] [stdout] test golden_fixture_normalizes_all_supported_record_kinds ... ok
[INFO] [stdout] test unknown_schema_fails_closed_while_other_sources_continue ... ok
[INFO] [stdout] test fixture_files_have_synthetic_prefix_or_no_rollout_substring ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_adapter_workbuddy-e5ff8cca58eed09d)
[INFO] [stdout] 
[INFO] [stdout] running 10 tests
[INFO] [stdout] test tests::adapter_reports_workbuddy_provider_id ... ok
[INFO] [stdout] test tests::extract_text_handles_input_and_output ... ok
[INFO] [stdout] test tests::stable_file_identity_is_deterministic_and_differs ... ok
[INFO] [stdout] test tests::boundary_hash_before_offset_hashes_last_line ... ok
[INFO] [stdout] test tests::unix_millis_zero_is_epoch ... ok
[INFO] [stdout] test tests::boundary_hash_at_zero_is_empty ... ok
[INFO] [stdout] test tests::redact_search_text_strips_paths_and_secrets ... ok
[INFO] [stdout] test tests::redact_search_text_preserves_safe_text ... ok
[INFO] [stdout] test tests::unix_millis_to_rfc3339_converts_correctly ... ok
[INFO] [stdout] test tests::extract_text_returns_empty_for_no_content ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_adapter_zcode-b58d39492515ff28)
[INFO] [stdout] 
[INFO] [stdout] running 58 tests
[INFO] [stdout] test discovery::tests::discover_rejects_non_file_explicit ... ok
[INFO] [stdout] test discovery::tests::ensure_not_prohibited_rejects_logs_path ... ok
[INFO] [stdout] test discovery::tests::discover_finds_env_db_when_allow_defaults ... ok
[INFO] [stdout] test discovery::tests::empty_explicit_falls_through_to_env ... ok
[INFO] [stdout] test discovery::tests::ensure_not_prohibited_rejects_credentials_path ... ok
[INFO] [stdout] test discovery::tests::discover_deduplicates_explicit_and_env_when_same_db ... ok
[INFO] [stdout] test discovery::tests::discover_skips_disabled_explicit_source ... ok
[INFO] [stdout] test discovery::tests::discover_skips_missing_explicit_db ... ok
[INFO] [stdout] test discovery::tests::ensure_not_prohibited_rejects_model_io_rollout ... ok
[INFO] [stdout] test discovery::tests::env_override_relative_rejected ... ok
[INFO] [stdout] test discovery::tests::discover_finds_explicit_db ... ok
[INFO] [stdout] test discovery::tests::ensure_not_prohibited_accepts_db_path ... ok
[INFO] [stdout] test discovery::tests::explicit_relative_path_rejected ... ok
[INFO] [stdout] test discovery::tests::source_id_differs_for_different_dbs ... ok
[INFO] [stdout] test ingest::tests::reconcile_reports_source_missing ... ok
[INFO] [stdout] test normalize::tests::file_part_produces_file_reference ... ok
[INFO] [stdout] test normalize::tests::extract_visible_text_handles_string_and_array ... ok
[INFO] [stdout] test discovery::tests::source_id_is_stable_across_same_db ... ok
[INFO] [stdout] test normalize::tests::session_produces_session_and_project ... ok
[INFO] [stdout] test normalize::tests::session_target_produces_goal_event ... ok
[INFO] [stdout] test normalize::tests::message_and_text_part_produce_events_and_content ... ok
[INFO] [stdout] test normalize::tests::reasoning_part_is_excluded ... ok
[INFO] [stdout] test normalize::tests::parent_session_produces_edge ... ok
[INFO] [stdout] test normalize::tests::todo_produces_plan_event ... ok
[INFO] [stdout] test discovery::tests::explicit_absolute_path_wins ... ok
[INFO] [stdout] test normalize::tests::tool_part_produces_tool_activity ... ok
[INFO] [stdout] test normalize::tests::turn_usage_produces_usage_row ... ok
[INFO] [stdout] test normalize::tests::unknown_part_type_is_counted ... ok
[INFO] [stdout] test probe::tests::probe_unavailable_when_db_missing ... ok
[INFO] [stdout] test probe::tests::probe_unsupported_when_session_table_missing ... ok
[INFO] [stdout] test probe::tests::probe_degraded_when_optional_table_missing ... ok
[INFO] [stdout] test discovery::tests::env_override_used_when_no_explicit ... ok
[INFO] [stdout] test probe::tests::open_read_only_does_not_allow_writes ... ok
[INFO] [stdout] test probe::tests::probe_supported_when_all_tables_and_columns_present ... ok
[INFO] [stdout] test probe::tests::probe_via_source_instance_uses_display_name_as_db_path ... ok
[INFO] [stdout] test probe::tests::probe_degraded_when_required_column_missing ... ok
[INFO] [stdout] test ingest::tests::first_ingestion_produces_batch_and_cursor ... ok
[INFO] [stdout] test ingest::tests::source_db_byte_hash_unchanged_after_ingestion ... ok
[INFO] [stdout] test ingest::tests::ingestion_is_idempotent_on_replay ... ok
[INFO] [stdout] test ingest::tests::nonterminal_tool_usage_is_deferred ... ok
[INFO] [stdout] test tests::adapter_reports_zcode_provider_id ... ok
[INFO] [stdout] test tests::discover_returns_empty_when_no_root_configured ... ok
[INFO] [stdout] test tests::descriptor_reports_adapter_name_and_version ... ok
[INFO] [stdout] test tests::zcode_is_a_valid_provider_id ... ok
[INFO] [stdout] test tests::prohibited_paths_include_credentials_and_logs ... ok
[INFO] [stdout] test ingest::tests::append_advances_watermark ... ok
[INFO] [stdout] test reader::tests::get_str_and_get_i64_extract_fields ... ok
[INFO] [stdout] test reader::tests::parse_data_extracts_json ... ok
[INFO] [stdout] test ingest::tests::nonterminal_converges_after_terminal_transition ... ok
[INFO] [stdout] test ingest::tests::later_insert_below_another_tables_watermark_is_not_skipped ... ok
[INFO] [stdout] test ingest::tests::persisted_cursor_tracks_namespaced_tool_and_turn_rows_without_collision ... ok
[INFO] [stdout] test reader::tests::read_snapshot_does_not_modify_db ... ok
[INFO] [stdout] test reader::tests::read_snapshot_excludes_null_time_updated ... ok
[INFO] [stdout] test reader::tests::read_snapshot_returns_all_rows ... ok
[INFO] [stdout] test reader::tests::tool_cursor_skips_terminal_rows_but_rereads_nonterminal_ids ... ok
[INFO] [stdout] test reader::tests::read_snapshot_watermark_skips_committed_rows ... ok
[INFO] [stdout] test reader::tests::table_namespace_prevents_tool_turn_nonterminal_collision ... ok
[INFO] [stdout] test reader::tests::turn_cursor_skips_committed_rows_but_rereads_namespaced_nonterminal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.62s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/golden_fixture.rs (/opt/rustwide/target/debug/deps/golden_fixture-7496c2a69ec3f803)
[INFO] [stdout] 
[INFO] [stdout] running 8 tests
[INFO] [stdout] test prohibited_path_canary_never_enters_canonical_storage ... ok
[INFO] [stdout] test missing_required_columns_yield_degraded_not_guessed_parsing ... ok
[INFO] [stdout] test source_db_byte_hash_is_identical_before_and_after ... ok
[INFO] [stdout] test golden_fixture_normalizes_all_supported_record_kinds ... ok
[INFO] [stdout] test adapter_format_version_is_persisted_in_cursor ... ok
[INFO] [stdout] test full_adapter_lifecycle_discovers_probes_and_ingests ... ok
[INFO] [stdout] test ingestion_is_idempotent_on_replay ... ok
[INFO] [stdout] test running_tool_row_converges_after_terminal_transition_without_time_updated ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 8 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.41s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_application-e961f97d96c730b0)
[INFO] [stdout] 
[INFO] [stdout] running 152 tests
[INFO] [stdout] test budget::tests::clamps_to_hard_limits ... ok
[INFO] [stdout] test budget::tests::defaults_match_spec ... ok
[INFO] [stdout] test consistency::tests::stale_ok_is_default ... ok
[INFO] [stdout] test error::tests::domain_error_wraps_without_envelope ... ok
[INFO] [stdout] test error::tests::envelope_error_exposes_code ... ok
[INFO] [stdout] test budget::tests::zero_uses_default ... ok
[INFO] [stdout] test error::tests::external_message_redacts_secret_and_path ... ok
[INFO] [stdout] test budget::tests::handoff_default_is_larger_than_search ... ok
[INFO] [stdout] test budget::tests::preserves_in_range_values ... ok
[INFO] [stdout] test freshness::tests::accepted_partial_with_degraded_compat_is_stale ... ok
[INFO] [stdout] test consistency::tests::fresh_uses_default_deadline_when_zero ... ok
[INFO] [stdout] test consistency::tests::fresh_preserves_explicit_deadline ... ok
[INFO] [stdout] test freshness::tests::all_unsupported_provider_is_unsupported ... ok
[INFO] [stdout] test freshness::tests::all_variants_produce_distinct_bootstrap_states ... ok
[INFO] [stdout] test freshness::tests::complete_then_degraded_reports_stale ... ok
[INFO] [stdout] test freshness::tests::all_failed_and_no_success_is_failed_bootstrap ... ok
[INFO] [stdout] test freshness::tests::complete_plus_failed_is_degraded_and_stale ... ok
[INFO] [stdout] test freshness::tests::complete_plus_unavailable_sibling_is_degraded_not_unavailable ... ok
[INFO] [stdout] test freshness::tests::default_freshness_is_stale_and_not_started ... ok
[INFO] [stdout] test freshness::tests::empty_states_yield_default_freshness ... ok
[INFO] [stdout] test freshness::tests::no_contradiction_between_compat_and_provider_status ... ok
[INFO] [stdout] test freshness::tests::provider_removed_leaves_no_state ... ok
[INFO] [stdout] test freshness::tests::single_complete_source_is_fresh ... ok
[INFO] [stdout] test freshness::tests::in_progress_source_reports_in_progress_and_stale ... ok
[INFO] [stdout] test freshness::tests::accepted_partial_with_supported_compat_is_not_stale ... ok
[INFO] [stdout] test freshness::tests::partial_then_complete_reports_complete ... ok
[INFO] [stdout] test freshness::tests::source_unavailable_before_first_successful_sync ... ok
[INFO] [stdout] test freshness::tests::failed_with_prior_success_retains_timestamp ... ok
[INFO] [stdout] test freshness::tests::bootstrap_state_round_trips ... ok
[INFO] [stdout] test handoff::tests::assistant_report_without_tool_result_is_not_verified ... ok
[INFO] [stdout] test freshness::tests::failed_then_recovered_reports_complete ... ok
[INFO] [stdout] test handoff::tests::browser_wrapper_preserves_only_explicit_request_payload ... ok
[INFO] [stdout] test handoff::tests::builder_truncated_flag_propagates_to_bundle ... ok
[INFO] [stdout] test handoff::tests::bundle_serialization_canary_no_secrets ... ok
[INFO] [stdout] test handoff::tests::bundle_has_correct_schema ... ok
[INFO] [stdout] test handoff::tests::claim_id_is_40_hex_chars ... ok
[INFO] [stdout] test handoff::tests::claim_ids_are_stable_across_rebuilds ... ok
[INFO] [stdout] test handoff::tests::completed_excludes_math_proof_and_blockquote ... ok
[INFO] [stdout] test freshness::tests::multi_provider_mixed_states_aggregate_independently ... ok
[INFO] [stdout] test freshness::tests::in_progress_then_complete_reports_complete ... ok
[INFO] [stdout] test handoff::tests::completed_work_not_duplicated_in_decisions ... ok
[INFO] [stdout] test handoff::tests::completed_excludes_mst_proof_conclusion ... ok
[INFO] [stdout] test handoff::tests::context_dependent_latest_request_carries_prior_user_context ... ok
[INFO] [stdout] test handoff::tests::decisions_exclude_system_actor ... ok
[INFO] [stdout] test handoff::tests::completed_excludes_negation_and_advice ... ok
[INFO] [stdout] test handoff::tests::completed_work_takes_summary_not_first_sentence ... ok
[INFO] [stdout] test handoff::tests::decision_excludes_explanatory_uses_of_decide ... ok
[INFO] [stdout] test handoff::tests::completed_work_skips_pure_intent_messages ... ok
[INFO] [stdout] test handoff::tests::decision_claims_are_extracted ... ok
[INFO] [stdout] test handoff::tests::decision_excludes_rule_text_and_definitions ... ok
[INFO] [stdout] test handoff::tests::decision_excludes_hypothetical_and_teaching ... ok
[INFO] [stdout] test handoff::tests::empty_events_produce_no_bundle ... ok
[INFO] [stdout] test handoff::tests::completed_preserves_real_completions ... ok
[INFO] [stdout] test handoff::tests::failure_claims_captured ... ok
[INFO] [stdout] test handoff::tests::file_reference_paths_are_redacted ... ok
[INFO] [stdout] test handoff::tests::explicit_chinese_decision_is_extracted ... ok
[INFO] [stdout] test handoff::tests::objective_claim_is_source_explicit ... ok
[INFO] [stdout] test handoff::tests::objective_preserves_html_request ... ok
[INFO] [stdout] test handoff::tests::next_step_no_fallback_when_completed ... ok
[INFO] [stdout] test handoff::tests::decision_teaching_remarks_not_extracted ... ok
[INFO] [stdout] test handoff::tests::objective_not_truncated_at_url_or_dot ... ok
[INFO] [stdout] test handoff::tests::objective_skips_system_context ... ok
[INFO] [stdout] test handoff::tests::redaction_does_not_touch_ordinary_words ... ok
[INFO] [stdout] test handoff::tests::multiple_secrets_all_redacted ... ok
[INFO] [stdout] test handoff::tests::next_step_claims_are_inferred ... ok
[INFO] [stdout] test handoff::tests::final_serialization_gate_all_canaries ... ok
[INFO] [stdout] test handoff::tests::nonzero_failed_detected_as_failure ... ok
[INFO] [stdout] test handoff::tests::paths_are_redacted_in_claims ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_all_supported_secret_delimiters ... ok
[INFO] [stdout] test handoff::tests::objective_skips_long_system_prompt ... ok
[INFO] [stdout] test handoff::tests::objective_preserves_long_real_message ... ok
[INFO] [stdout] test handoff::tests::multi_topic_no_wrong_topic_claims ... ok
[INFO] [stdout] test handoff::tests::redaction_report_zero_when_no_secrets ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_compound_keys_in_bundle ... ok
[INFO] [stdout] test handoff::tests::redaction_redacts_file_reference_path_in_serialized_bundle ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_json_quoted_secret_in_bundle ... ok
[INFO] [stdout] test handoff::tests::secrets_are_redacted_in_claims ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_expanded_paths_in_bundle ... ok
[INFO] [stdout] test handoff::tests::tool_usage_passes_through_redaction ... ok
[INFO] [stdout] test handoff::tests::redaction_unicode_safe_in_bundle ... ok
[INFO] [stdout] test handoff::tests::unresolved_detects_in_progress_tool_call ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_spaced_json_in_bundle ... ok
[INFO] [stdout] test handoff::tests::unresolved_empty_when_no_issues ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_authorization_bearer ... ok
[INFO] [stdout] test handoff_v2::tests::assistant_completion_without_result_is_reported ... ok
[INFO] [stdout] test handoff_v2::tests::context_injection_ends_completed_segment ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_standalone_bearer_in_bundle ... ok
[INFO] [stdout] test handoff::tests::redaction_report_counts_exclusions ... ok
[INFO] [stdout] test handoff::tests::redaction_handles_multiple_secrets_and_path_in_one_statement ... ok
[INFO] [stdout] test handoff::tests::supersession_does_not_cross_topics ... ok
[INFO] [stdout] test project_resolver::tests::ambiguous_envelope_carries_candidate_ids ... ok
[INFO] [stdout] test project_resolver::tests::identity_kind_round_trips ... ok
[INFO] [stdout] test handoff::tests::unresolved_excludes_future_plan_and_teaching ... ok
[INFO] [stdout] test handoff::tests::supersession_uses_real_claim_id ... ok
[INFO] [stdout] test handoff::tests::sections_backward_compatible ... ok
[INFO] [stdout] test handoff::tests::redaction_runs_in_bounded_time_for_repeated_secrets ... ok
[INFO] [stdout] test handoff_v2::tests::extension_anchors_to_nearest_related_request ... ok
[INFO] [stdout] test handoff::tests::zero_failed_not_detected_as_failure ... ok
[INFO] [stdout] test handoff_v2::tests::serialized_v2_redacts_every_source_derived_text_surface ... ok
[INFO] [stdout] test project_resolver::tests::resolve_request_from_explicit_path_uses_path_only ... ok
[INFO] [stdout] test project_resolver::tests::resolve_request_from_public_id_is_not_a_path_resolution ... ok
[INFO] [stdout] test project_resolver::tests::resolve_request_from_current_uses_cwd_when_no_hint ... ok
[INFO] [stdout] test handoff_v2::tests::bundle_is_deterministic ... ok
[INFO] [stdout] test project_resolver::tests::not_found_envelope_is_distinct_from_ambiguous ... ok
[INFO] [stdout] test project_scope::tests::any_is_explicit_tag ... ok
[INFO] [stdout] test project_scope::tests::current_round_trips_with_optional_hint ... ok
[INFO] [stdout] test redaction::tests::idempotent_already_redacted_input ... ok
[INFO] [stdout] test redaction::tests::escaped_quote_in_json_value ... ok
[INFO] [stdout] test redaction::tests::idempotent_unicode_path ... ok
[INFO] [stdout] test redaction::tests::forward_slash_windows_paths ... ok
[INFO] [stdout] test redaction::tests::idempotent_mixed_secret_and_path ... ok
[INFO] [stdout] test redaction::tests::json_quoted_secret_redacted ... ok
[INFO] [stdout] test project_scope::tests::public_id_round_trips ... ok
[INFO] [stdout] test redaction::tests::all_delimiter_forms ... ok
[INFO] [stdout] test redaction::tests::mixed_json_and_shell_secrets ... ok
[INFO] [stdout] test redaction::tests::expanded_unix_paths ... ok
[INFO] [stdout] test redaction::tests::authorization_bearer_value ... ok
[INFO] [stdout] test redaction::tests::compound_keys_redacted ... ok
[INFO] [stdout] test redaction::tests::report_counts_actual_replacements ... ok
[INFO] [stdout] test handoff_v2::tests::teaching_session_preserves_proof_and_delivered_plan ... ok
[INFO] [stdout] test redaction::tests::spaced_json_nested_secret ... ok
[INFO] [stdout] test redaction::tests::safe_message_unchanged ... ok
[INFO] [stdout] test redaction::tests::shell_quoted_with_space_after_equals ... ok
[INFO] [stdout] test redaction::tests::spaced_json_multi_space_secret ... ok
[INFO] [stdout] test redaction::tests::unicode_numeric_unix_paths ... ok
[INFO] [stdout] test redaction::tests::url_scheme_not_matched_as_drive ... ok
[INFO] [stdout] test redaction::tests::multiple_secrets_and_path_in_one_statement ... ok
[INFO] [stdout] test redaction::tests::path_followed_by_paren ... ok
[INFO] [stdout] test service::tests::delete_request_requires_confirmation ... ok
[INFO] [stdout] test redaction::tests::shell_double_quoted_secret ... ok
[INFO] [stdout] test service::tests::export_scope_default_is_canonical ... ok
[INFO] [stdout] test service::tests::response_meta_carries_freshness ... ok
[INFO] [stdout] test redaction::tests::ordinary_provider_names_and_urls_survive ... ok
[INFO] [stdout] test service::tests::search_query_tags_serialize_canonical ... ok
[INFO] [stdout] test redaction::tests::windows_drive_and_unc_paths ... ok
[INFO] [stdout] test service_impl::tests::parse_evidence_ref_rejects_invalid ... ok
[INFO] [stdout] test redaction::tests::ordinary_words_preserved ... ok
[INFO] [stdout] test service_impl::tests::parse_session_ref_accepts_bare_and_uri ... ok
[INFO] [stdout] test service_impl::tests::parse_evidence_ref_accepts_bare_and_uri ... ok
[INFO] [stdout] test redaction::tests::relative_path_not_redacted ... ok
[INFO] [stdout] test redaction::tests::shell_single_quoted_secret ... ok
[INFO] [stdout] test redaction::tests::spaced_json_one_space_secret ... ok
[INFO] [stdout] test redaction::tests::url_not_treated_as_secret ... ok
[INFO] [stdout] test redaction::tests::spaced_json_compact_secret ... ok
[INFO] [stdout] test redaction::tests::unicode_no_misalignment ... ok
[INFO] [stdout] test redaction::tests::standalone_bearer_redacted ... ok
[INFO] [stdout] test service::tests::providers_list_request_round_trips ... ok
[INFO] [stdout] test service::tests::request_header_defaults_to_version_one ... ok
[INFO] [stdout] test service::tests::source_sync_outcome_status_round_trips ... ok
[INFO] [stdout] test redaction::tests::spaced_json_escaped_quote ... ok
[INFO] [stdout] test redaction::tests::standalone_provider_credentials_are_redacted ... ok
[INFO] [stdout] test redaction::tests::idempotent_and_bounded ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 152 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.19s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_domain-22ef908bd84a023c)
[INFO] [stdout] 
[INFO] [stdout] running 37 tests
[INFO] [stdout] test canonical::tests::tool_activity_defaults_to_bounded_fields ... ok
[INFO] [stdout] test error::tests::retryable_defaults_are_stable ... ok
[INFO] [stdout] test canonical::tests::event_visibility_serializes_canonical_forms ... ok
[INFO] [stdout] test provider_id::tests::rejects_invalid_forms ... ok
[INFO] [stdout] test canonical::tests::session_round_trips_through_serde ... ok
[INFO] [stdout] test provider_id::tests::trailing_and_internal_hyphens_are_allowed_per_spec ... ok
[INFO] [stdout] test error::tests::envelope_display_is_code_only ... ok
[INFO] [stdout] test canonical::tests::source_locator_round_trips_tagged ... ok
[INFO] [stdout] test locale::tests::canonical_string_form_is_stable ... ok
[INFO] [stdout] test locale::tests::unknown_tags_are_rejected_and_fallback_is_en ... ok
[INFO] [stdout] test public_id::tests::base32_encoding_matches_known_vector ... ok
[INFO] [stdout] test provider_id::tests::round_trips_through_serde ... ok
[INFO] [stdout] test public_id::tests::different_inputs_produce_different_ids ... ok
[INFO] [stdout] test public_id::tests::ids_are_deterministic_and_stable_across_rebuilds ... ok
[INFO] [stdout] test provider_id::tests::accepts_documented_examples ... ok
[INFO] [stdout] test error::tests::envelope_round_trips_through_json ... ok
[INFO] [stdout] test provider_id::tests::serde_rejects_invalid ... ok
[INFO] [stdout] test public_id::tests::builder_produces_valid_canonical_id ... ok
[INFO] [stdout] test error::tests::code_as_str_matches_serde_form ... ok
[INFO] [stdout] test public_id::tests::evidence_ref_uses_canonical_scheme ... ok
[INFO] [stdout] test public_id::tests::prefix_round_trips ... ok
[INFO] [stdout] test public_id::tests::native_storage_leak_guard_rejects_paths_and_rowids ... ok
[INFO] [stdout] test public_id::tests::missing_native_id_still_produces_stable_id ... ok
[INFO] [stdout] test registry::tests::not_registered_envelope_carries_offending_id ... ok
[INFO] [stdout] test registry::tests::lookup_invalid_id_format_returns_error ... ok
[INFO] [stdout] test public_id::tests::prefixes_match_canonical_schema ... ok
[INFO] [stdout] test public_id::tests::rejects_malformed_id_on_parse ... ok
[INFO] [stdout] test registry::tests::provider_registry_accepts_known_ids ... ok
[INFO] [stdout] test registry::tests::provider_registry_rejects_duplicate_registration ... ok
[INFO] [stdout] test registry::tests::future_provider_ids_register_without_core_change ... ok
[INFO] [stdout] test registry::tests::lookup_unknown_id_returns_error_not_enum_change ... ok
[INFO] [stdout] test public_id::tests::round_trips_through_serde ... ok
[INFO] [stdout] test timestamp::tests::formats_known_leap_day_vector ... ok
[INFO] [stdout] test timestamp::tests::unix_epoch_is_valid_rfc3339 ... ok
[INFO] [stdout] test public_id::tests::length_prefixing_disambiguates_concatenation ... ok
[INFO] [stdout] test locale::tests::known_tags_parse ... ok
[INFO] [stdout] test timestamp::tests::current_time_has_fixed_rfc3339_shape ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 37 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_platform-9c5e4af4baf74ab3)
[INFO] [stdout] 
[INFO] [stdout] running 32 tests
[INFO] [stdout] test locale::tests::process_locale_strips_utf8_modifier ... ok
[INFO] [stdout] test project_identity::tests::parse_origin_url_returns_none_when_absent ... ok
[INFO] [stdout] test directories::tests::env_override_wins_when_absolute ... ok
[INFO] [stdout] test directories::tests::env_override_rejected_when_relative ... ok
[INFO] [stdout] test locale::tests::process_locale_from_env_prefers_lc_all ... ok
[INFO] [stdout] test locale::tests::explicit_flag_wins ... ok
[INFO] [stdout] test project_identity::tests::parse_origin_url_finds_section ... ok
[INFO] [stdout] test project_identity::tests::git_remote_strips_credentials_from_fingerprint ... ok
[INFO] [stdout] test project_identity::tests::resolves_git_repository_without_remote ... ok
[INFO] [stdout] test redaction::tests::preserves_safe_message ... ok
[INFO] [stdout] test redaction::tests::handles_unicode_without_corruption ... ok
[INFO] [stdout] test redaction::tests::redacts_forbidden_substring_in_token ... ok
[INFO] [stdout] test redaction::tests::redacts_secret_pairs ... ok
[INFO] [stdout] test redaction::tests::custom_forbidden_substring ... ok
[INFO] [stdout] test project_identity::tests::invalid_path_reports_invalid_path ... ok
[INFO] [stdout] test redaction::tests::redacts_unix_path ... ok
[INFO] [stdout] test locale::tests::unknown_falls_back_to_english ... ok
[INFO] [stdout] test project_identity::tests::resolves_device_local_when_no_git ... ok
[INFO] [stdout] test test_home::tests::keep_preserves_tree ... ok
[INFO] [stdout] test redaction::tests::redacts_windows_path ... ok
[INFO] [stdout] test locale::tests::empty_layers_fall_back ... ok
[INFO] [stdout] test tracing_setup::tests::redacting_writer_redacts_paths ... ok
[INFO] [stdout] test test_home::tests::creates_isolated_user_only_home ... ok
[INFO] [stdout] test project_identity::tests::one_project_accepts_multiple_paths_worktrees_providers ... ok
[INFO] [stdout] test project_identity::tests::candidates_returns_empty_by_default ... ok
[INFO] [stdout] test project_identity::tests::strip_credentials_handles_common_forms ... ok
[INFO] [stdout] test project_identity::tests::nonexistent_path_reports_invalid_path ... ok
[INFO] [stderr] dummy
[INFO] [stdout] test locale::tests::config_beats_process ... ok
[INFO] [stdout] test test_home::tests::cleanup_on_drop ... ok
[INFO] [stdout] test project_identity::tests::resolves_git_remote_when_origin_present ... ok
[INFO] [stdout] test directories::tests::ensure_creates_user_only_dir ... ok
[INFO] [stdout] test test_home::tests::writes_and_reads_files_under_home ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 32 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/privacy_canary.rs (/opt/rustwide/target/debug/deps/privacy_canary-07669cc4dd43ec77)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test fixtures_directory_contains_no_real_user_history ... ok
[INFO] [stdout] test real_home_paths_are_redacted_from_logs ... ok
[INFO] [stdout] test error_envelopes_carry_no_secrets_by_construction ... ok
[INFO] [stdout] test secret_canaries_are_redacted_from_logs ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_source_api-778d973f41a8b42e)
[INFO] [stdout] 
[INFO] [stdout] running 13 tests
[INFO] [stdout] test contract::tests::discover_request_defaults_to_allow_defaults ... ok
[INFO] [stdout] test contract::tests::explicit_source_default_enabled ... ok
[INFO] [stdout] test error::tests::into_envelope_carries_code_and_retryable ... ok
[INFO] [stdout] test contract::tests::source_origin_serializes_snake_case ... ok
[INFO] [stdout] test contract::tests::reconcile_snapshot_unchanged_has_no_ids ... ok
[INFO] [stdout] test error::tests::io_error_converts_to_source_io ... ok
[INFO] [stdout] test contract::tests::change_batch_empty_has_no_cursor ... ok
[INFO] [stdout] test contract::tests::compatibility_report_to_compatibility_round_trips ... ok
[INFO] [stdout] test contract::tests::compatibility_report_supported_has_no_reasons ... ok
[INFO] [stdout] test error::tests::codes_match_spec ... ok
[INFO] [stdout] test error::tests::path_outside_allowlist_maps_to_privacy_violation ... ok
[INFO] [stdout] test tests::compatibility_status_round_trips ... ok
[INFO] [stdout] test tests::read_only_contract_is_non_empty ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 13 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_store_api-368bff7e419d9239)
[INFO] [stdout] 
[INFO] [stdout] running 20 tests
[INFO] [stdout] test deletion::tests::session_scope_carries_target ... ok
[INFO] [stdout] test search::tests::defaults_match_spec ... ok
[INFO] [stdout] test deletion::tests::scope_kinds_serialize_canonical ... ok
[INFO] [stdout] test error::tests::codes_match_spec ... ok
[INFO] [stdout] test cursor::tests::nonterminal_reconciliation_converges_when_terminal ... ok
[INFO] [stdout] test deletion::tests::index_scope_omits_target ... ok
[INFO] [stdout] test sync_state::tests::compat_status_strict_round_trips ... ok
[INFO] [stdout] test search::tests::normalize_unifies_separators_and_case ... ok
[INFO] [stdout] test upsert::tests::empty_batch_is_empty ... ok
[INFO] [stdout] test sync_state::tests::compat_status_strict_rejects_unknown ... ok
[INFO] [stdout] test sync_state::tests::bootstrap_state_strict_rejects_unknown ... ok
[INFO] [stdout] test cursor::tests::multi_file_codex_cursor_round_trips_through_serde ... ok
[INFO] [stdout] test cursor::tests::source_cursor_round_trips_through_serde ... ok
[INFO] [stdout] test sync_state::tests::bootstrap_state_strict_round_trips ... ok
[INFO] [stdout] test cursor::tests::cursor_kind_round_trips ... ok
[INFO] [stdout] test sync_state::tests::compat_status_round_trips ... ok
[INFO] [stdout] test sync_state::tests::bootstrap_state_unknown_fails_safe ... ok
[INFO] [stdout] test sync_state::tests::compat_status_unknown_fails_safe ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_store_sqlite-b839fa371a1b9dee)
[INFO] [stdout] test sync_state::tests::bootstrap_state_round_trips ... ok
[INFO] [stdout] test tests::required_tables_include_cursor_and_fts ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 40 tests
[INFO] [stdout] test codec::tests::enums_round_trip ... ok
[INFO] [stdout] test codec::tests::unknown_strings_map_to_unknown ... ok
[INFO] [stdout] test lock::tests::acquire_then_reacquire_succeeds_after_drop ... ok
[INFO] [stdout] test lock::tests::second_concurrent_acquire_reports_already_running ... ok
[INFO] [stdout] test search::tests::sanitize_quotes_tokens ... ok
[INFO] [stdout] test search::tests::short_query_has_no_trigrams ... ok
[INFO] [stdout] test search::tests::trigrams_of_chinese_substring ... ok
[INFO] [stdout] test schema::tests::fts5_is_available ... ok
[INFO] [stdout] test schema::tests::migration_failure_leaves_recoverable_database ... ok
[INFO] [stdout] test tests::cursor_round_trips_through_store ... ok
[INFO] [stdout] test tests::invalid_provider_scope_is_rejected_before_writes ... ok
[INFO] [stdout] test tests::chunked_upsert_rolls_back_every_chunk_when_a_late_child_fails ... ok
[INFO] [stdout] test tests::invalid_source_scope_is_rejected_before_writes ... ok
[INFO] [stdout] test tests::migrate_creates_required_tables ... ok
[INFO] [stdout] test schema::tests::migrate_is_idempotent ... ok
[INFO] [stdout] test tests::changing_indexed_field_updates_only_that_event_index ... ok
[INFO] [stdout] test tests::changing_non_indexed_event_field_does_not_churn_index ... ok
[INFO] [stdout] test tests::all_four_search_primitives_work ... ok
[INFO] [stdout] test tests::identical_child_records_are_not_rewritten ... ok
[INFO] [stdout] test tests::adapter_name_is_stable ... ok
[INFO] [stdout] test tests::sync_state_row_errors_distinguish_corruption_from_availability ... ok
[INFO] [stdout] test tests::late_injected_failure_rolls_back_canonical_children_indexes_cursor_and_state ... ok
[INFO] [stdout] test tests::evidence_references_round_trip_and_leak_no_paths_or_storage_keys ... ok
[INFO] [stdout] test schema::tests::migrate_creates_all_required_tables ... ok
[INFO] [stdout] test tests::upsert_is_idempotent_on_replay ... ok
[INFO] [stdout] test tests::one_project_accepts_multiple_paths_and_providers ... ok
[INFO] [stdout] test tests::multiple_content_blocks_under_one_event_do_not_collide ... ok
[INFO] [stdout] test tests::null_to_value_value_to_null_and_null_to_null_equality ... ok
[INFO] [stdout] test tests::successful_sync_event_count_is_cumulative_across_commits ... ok
[INFO] [stdout] test tests::out_of_scope_child_records_referencing_a_foreign_event_are_rejected ... ok
[INFO] [stdout] test tests::scoped_delete_provider_cascades_to_sources_and_sessions ... ok
[INFO] [stdout] test tests::scoped_delete_session_removes_only_that_session ... ok
[INFO] [stdout] test tests::scoped_delete_project_removes_locations_and_sessions ... ok
[INFO] [stdout] test tests::rebuild_indexes_repopulates_from_events ... ok
[INFO] [stdout] test tests::scoped_delete_index_removes_derived_data_only ... ok
[INFO] [stdout] test tests::upsert_distinguishes_insert_change_and_identical_noop_counts ... ok
[INFO] [stdout] test tests::terminal_state_failure_rolls_back_rows_indexes_and_cursor ... ok
[INFO] [stdout] test tests::restart_observes_the_same_persisted_result ... ok
[INFO] [stdout] test tests::two_readers_remain_safe_while_one_writer_holds_sync_lock ... ok
[INFO] [stdout] test tests::every_scope_variant_is_rejected_with_no_partial_writes ... ok
[INFO] [stderr]      Running tests/service_e4.rs (/opt/rustwide/target/debug/deps/service_e4-2c71703510fc268c)
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 40 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 24 tests
[INFO] [stdout] test derived_data_delete_index_scope_removes_all ... ok
[INFO] [stdout] test m1_clean_index_reports_not_started ... ok
[INFO] [stdout] test m1_sync_state_table_exists_after_migration ... ok
[INFO] [stdout] test handoff_prepare_short_session_is_not_truncated ... ok
[INFO] [stdout] test handoff_prepare_sections_have_resolvable_evidence_refs ... ok
[INFO] [stdout] test evidence_export_contains_no_absolute_paths_or_secrets ... ok
[INFO] [stdout] test history_search_returns_english_lexical_hits ... ok
[INFO] [stdout] test evidence_refs_in_search_hits_are_valid ... ok
[INFO] [stdout] test m1_complete_sync_persists_across_restart ... ok
[INFO] [stdout] test m1_delete_index_resets_sync_state ... ok
[INFO] [stdout] test history_search_returns_chinese_trigram_hits ... ok
[INFO] [stdout] test m1_aggregate_consistent_with_per_source_state ... ok
[INFO] [stdout] test handoff_v2_is_explicit_and_v1_remains_default ... ok
[INFO] [stdout] test handoff_prepare_samples_head_and_tail_of_long_session ... ok
[INFO] [stdout] test context_read_returns_focal_and_neighbors ... ok
[INFO] [stdout] test m1_transition_complete_to_failed_retains_last_success_in_db ... ok
[INFO] [stdout] test m1_source_unavailable_before_first_success ... ok
[INFO] [stdout] test project_scoped_search_leaks_zero_excluded_project_events ... ok
[INFO] [stdout] test m1_two_service_instances_produce_identical_freshness ... ok
[INFO] [stdout] test m1_transition_failed_to_recovered_reports_complete ... ok
[INFO] [stdout] test session_list_returns_sessions_in_scope ... ok
[INFO] [stdout] test store_layer_failed_sync_coalesce_retains_last_success ... ok
[INFO] [stdout] test providers_list_returns_configured_providers ... ok
[INFO] [stdout] test session_read_returns_events ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_transport_cli-b8f4c30eae79454f)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test catalog::tests::every_key_has_zh_cn ... ok
[INFO] [stdout] test tests::command_vocabulary_matches_spec ... ok
[INFO] [stdout] test tests::exit_codes_are_distinct_and_match_spec ... ok
[INFO] [stdout] test catalog::tests::placeholders_fill_consistently_across_locales ... ok
[INFO] [stdout] test catalog::tests::version_placeholder_fills ... ok
[INFO] [stdout] test catalog::tests::every_key_has_english ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/spellbook_transport_mcp-f34d29335ac64a97)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Doc-tests spellbook_adapter_codex
[INFO] [stdout] test tests::tool_vocabulary_matches_spec ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_adapter_workbuddy
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_adapter_zcode
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_application
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_domain
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_platform
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_source_api
[INFO] [stderr]    Doc-tests spellbook_store_api
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_store_sqlite
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_transport_cli
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests spellbook_transport_mcp
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9", kill_on_drop: false }`
[INFO] [stdout] 7d8077b1c9a7b19cf0a554226871563a55517a2f6fead8392efef8b79323e4b9
