[INFO] cloning repository https://github.com/ynishi/mini-app-mcp
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/ynishi/mini-app-mcp" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fynishi%2Fmini-app-mcp", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fynishi%2Fmini-app-mcp'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] bdeba2ee07f42d0c80f973f02a14acd758bebc25
[INFO] testing ynishi/mini-app-mcp 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%2Fynishi%2Fmini-app-mcp" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/ynishi/mini-app-mcp
[INFO] finished tweaking git repo https://github.com/ynishi/mini-app-mcp
[INFO] tweaked toml for git repo https://github.com/ynishi/mini-app-mcp written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/ynishi/mini-app-mcp 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/ynishi/mini-app-mcp 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]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.70
[INFO] [stderr]   Downloaded rmcp-macros v1.8.0
[INFO] [stderr]   Downloaded sse-stream v0.2.5
[INFO] [stderr]   Downloaded unsafe-libyaml-norway v0.2.15
[INFO] [stderr]   Downloaded saphyr-parser-bw v0.0.611
[INFO] [stderr]   Downloaded rmcp v1.8.0
[INFO] [stderr]   Downloaded serde_yaml_bw v2.5.5
[INFO] [stderr]   Downloaded object_store v0.12.5
[INFO] [stderr]   Downloaded h2 v0.4.18
[INFO] [stderr]   Downloaded memo-map v0.3.3
[INFO] [stderr]   Downloaded minijinja v2.20.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-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] debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72
[INFO] running `Command { std: "docker" "start" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", 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" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72" "/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" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", 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" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72" "/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.45
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling bytes v1.11.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling regex-syntax v0.8.10
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]    Compiling foldhash v0.1.5
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling hashbrown v0.15.5
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]    Compiling hashbrown v0.17.0
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]    Compiling option-ext v0.2.0
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling dirs-sys v0.4.1
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling chacha20 v0.10.1
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling memo-map v0.3.3
[INFO] [stderr]    Compiling unsafe-libyaml-norway v0.2.15
[INFO] [stderr]    Compiling ryu v1.0.23
[INFO] [stderr]    Compiling rmcp v1.8.0
[INFO] [stderr]    Compiling rand v0.10.2
[INFO] [stderr]    Compiling arc-swap v1.9.1
[INFO] [stderr]    Compiling dirs v5.0.1
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling thread_local v1.1.10
[INFO] [stderr]    Compiling pastey v0.2.2
[INFO] [stderr]    Compiling matchit v0.8.4
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling tokio v1.52.1
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zstd v0.13.3
[INFO] [stderr]    Compiling axum-core v0.5.6
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling saphyr-parser-bw v0.0.611
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling rmcp-macros v1.8.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling minijinja v2.20.0
[INFO] [stderr]    Compiling serde_yaml_bw v2.5.5
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling sse-stream v0.2.5
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling tokio-stream v0.1.19
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.8.9
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling mini-app-core v0.19.1 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling mini-app-mcp v0.19.1 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 21s
[INFO] running `Command { std: "docker" "inspect" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", 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" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72" "/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.11.1
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling winnow v1.0.2
[INFO] [stderr]    Compiling target-triple v1.0.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling glob v0.3.3
[INFO] [stderr]    Compiling termcolor v1.4.1
[INFO] [stderr]    Compiling rusqlite v0.37.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling mini-app-core v0.19.1 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]    Compiling trybuild v1.0.116
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling mini-app-mcp v0.19.1 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 1m 00s
[INFO] running `Command { std: "docker" "inspect" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", 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" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72" "/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.50s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mini_app_core-8a050bdf27def4dd)
[INFO] [stdout] 
[INFO] [stdout] running 289 tests
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_non_pattern_passes_through ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_rejects_unsupported_metachar ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_rejects_empty_pattern ... ok
[INFO] [stdout] test aggregator::tests::groupby_having_emitted_after_group_by ... ok
[INFO] [stdout] test aggregator::tests::source_spec_tables_slice ... ok
[INFO] [stdout] test aggregator::tests::nested_groupby_is_rejected_at_validation ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_exact_match_no_wildcard ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_single_hit_normalises_to_single ... ok
[INFO] [stdout] test aggregator::tests::source_spec_includes_table_single_multi_pattern ... ok
[INFO] [stdout] test aggregator::tests::source_spec_pattern_unresolved_yields_empty_tables ... ok
[INFO] [stdout] test aggregator::tests::multi_source_emits_union_all_not_join ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_zero_hit_returns_error ... ok
[INFO] [stdout] test aggregator::tests::validate_identifier_rejects_injection_chars ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_middle_glob ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_match_all_glob ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_suffix_glob ... ok
[INFO] [stdout] test aggregator::tests::source_spec_resolve_pattern_prefix_glob ... ok
[INFO] [stdout] test aggregator::tests::too_many_sources_returns_aggregator_error ... ok
[INFO] [stdout] test alias_storage::tests::create_duplicate_returns_already_exists ... ok
[INFO] [stdout] test alias_storage::tests::delete_round_trip_then_not_found ... ok
[INFO] [stdout] test alias_storage::tests::create_persists_pattern_source ... ok
[INFO] [stdout] test alias_storage::tests::create_get_roundtrip_in_memory ... ok
[INFO] [stdout] test alias_storage::tests::create_persists_sources_multi_and_aggregator_groupby ... ok
[INFO] [stdout] test alias_storage::tests::get_unknown_returns_not_found ... ok
[INFO] [stdout] test alias_storage::tests::migrate_from_per_table_skips_collision_with_existing_global ... ok
[INFO] [stdout] test alias_storage::tests::migrate_from_per_table_idempotent_on_second_run ... ok
[INFO] [stdout] test alias_storage::tests::list_returns_sorted_ascending_by_name ... ok
[INFO] [stdout] test alias_storage::tests::migrate_from_per_table_lossless_roundtrip ... ok
[INFO] [stdout] test alias_storage::tests::open_requires_at_least_one_scope ... ok
[INFO] [stdout] test alias_storage::tests::order_by_none_roundtrip ... ok
[INFO] [stdout] test alias_storage::tests::order_by_roundtrip ... ok
[INFO] [stdout] test alias_storage::tests::open_persists_across_reopen ... ok
[INFO] [stdout] test aggregator::tests::sum_single_source_returns_sum ... ok
[INFO] [stdout] test aggregator::tests::count_single_source_returns_row_count ... ok
[INFO] [stdout] test aggregator::tests::min_max_avg_single_source_returns_scalars ... ok
[INFO] [stdout] test alias_run::tests::multi_without_aggregator_is_error ... ok
[INFO] [stdout] test alias_run::tests::legacy_mode_table_fallback ... ok
[INFO] [stdout] test config::tests::backup_retention_getter_never_zero ... ok
[INFO] [stdout] test alias_run::tests::rows_path_single_source ... ok
[INFO] [stdout] test alias_run::tests::jinja_render_substitution ... ok
[INFO] [stdout] test alias_run::tests::jinja_render_with_stringified_params ... ok
[INFO] [stdout] test alias_run::tests::aggregator_path_count ... ok
[INFO] [stdout] test aggregator::tests::groupby_with_having_and_inner_sum_filters_groups ... ok
[INFO] [stdout] test config::tests::backup_retention_defaults_to_10 ... ok
[INFO] [stdout] test config::tests::backup_retention_non_parsable_env_falls_back_to_default ... ok
[INFO] [stdout] test config::tests::load_no_env_vars_succeeds ... ok
[INFO] [stdout] test config::tests::backup_retention_reads_from_env ... ok
[INFO] [stdout] test config::tests::load_missing_db_returns_none ... ok
[INFO] [stdout] test config::tests::load_does_not_panic_with_no_env_file ... ok
[INFO] [stdout] test config::tests::load_missing_schema_returns_none ... ok
[INFO] [stdout] test config::tests::snapshot_retention_getter_never_zero ... ok
[INFO] [stdout] test config::tests::load_success ... ok
[INFO] [stdout] test config::tests::load_success_legacy_vars ... ok
[INFO] [stdout] test config::tests::snapshot_retention_defaults_to_10 ... ok
[INFO] [stdout] test config::tests::load_success_both_legacy_and_dir_vars ... ok
[INFO] [stdout] test config::tests::load_success_dir_env_vars ... ok
[INFO] [stdout] test config::tests::snapshot_retention_independent_from_backup_retention ... ok
[INFO] [stdout] test config::tests::load_only_schema_env_has_legacy_env_false ... ok
[INFO] [stdout] test dump::tests::dump_path_custom_dir_override ... ok
[INFO] [stdout] test dump::tests::dump_path_with_cwd_none_branch_joins_mini_app_table_id ... ok
[INFO] [stdout] test config::tests::snapshot_retention_non_parsable_env_falls_back_to_default ... ok
[INFO] [stdout] test config::tests::snapshot_retention_reads_from_env ... ok
[INFO] [stdout] test dump::tests::render_has_trailing_newline ... ok
[INFO] [stdout] test dump::tests::on_change_no_dump_config_is_noop ... ok
[INFO] [stdout] test dump::tests::render_line1_is_title_heading ... ok
[INFO] [stdout] test dump::tests::dump_path_default_uses_cwd_mini_app_table_id ... ok
[INFO] [stdout] test dump::tests::render_missing_title_field_yields_empty_heading ... ok
[INFO] [stdout] test dump::tests::render_with_custom_title_field ... ok
[INFO] [stdout] test dump::tests::render_non_string_title_uses_to_string ... ok
[INFO] [stdout] test dump::tests::render_body_with_trailing_newline_collapses_to_single_lf ... ok
[INFO] [stdout] test error::tests::backup_error_code_is_not_storage_or_io ... ok
[INFO] [stdout] test filter::tests::and_build_sql ... ok
[INFO] [stdout] test filter::tests::and_composition_validate_ok ... ok
[INFO] [stdout] test dump::tests::on_change_creates_parent_dirs ... ok
[INFO] [stdout] test dump::tests::on_change_writes_file ... ok
[INFO] [stdout] test filter::tests::and_empty_filters_reject ... ok
[INFO] [stdout] test filter::tests::array_contains_non_array_field_reject ... ok
[INFO] [stdout] test error::tests::error_code_all_variants ... ok
[INFO] [stdout] test filter::tests::array_contains_null_value_reject ... ok
[INFO] [stdout] test filter::tests::array_contains_build_sql ... ok
[INFO] [stdout] test filter::tests::array_contains_validate_ok ... ok
[INFO] [stdout] test filter::tests::array_contains_object_value_reject ... ok
[INFO] [stdout] test filter::tests::boolean_field_accepts_bool_value ... ok
[INFO] [stdout] test filter::tests::eq_build_sql ... ok
[INFO] [stdout] test filter::tests::bool_against_string_field_reject ... ok
[INFO] [stdout] test filter::tests::array_not_contains_build_sql ... ok
[INFO] [stdout] test dump::tests::on_delete_keeps_file_by_default ... ok
[INFO] [stdout] test filter::tests::array_contains_unknown_field_reject ... ok
[INFO] [stdout] test filter::tests::in_validate_ok ... ok
[INFO] [stdout] test filter::tests::like_build_sql ... ok
[INFO] [stdout] test filter::tests::in_build_sql ... ok
[INFO] [stdout] test filter::tests::like_in_and_composition_build_sql ... ok
[INFO] [stdout] test filter::tests::array_contains_serde_roundtrip ... ok
[INFO] [stdout] test filter::tests::like_non_string_field_reject ... ok
[INFO] [stdout] test filter::tests::like_serde_roundtrip ... ok
[INFO] [stdout] test filter::tests::like_unknown_field_reject ... ok
[INFO] [stdout] test filter::tests::in_empty_values_reject ... ok
[INFO] [stdout] test filter::tests::nested_or_of_and_build_sql ... ok
[INFO] [stdout] test filter::tests::eq_validate_ok ... ok
[INFO] [stdout] test filter::tests::like_validate_ok ... ok
[INFO] [stdout] test filter::tests::null_value_reject ... ok
[INFO] [stdout] test filter::tests::typed_scalar_mismatch_reject ... ok
[INFO] [stdout] test filter::tests::or_empty_filters_reject ... ok
[INFO] [stdout] test filter::tests::or_composition_validate_ok ... ok
[INFO] [stdout] test filter::tests::or_build_sql ... ok
[INFO] [stdout] test filter::tests::number_field_accepts_number_value ... ok
[INFO] [stdout] test filter::tests::unknown_field_reject ... ok
[INFO] [stdout] test materialize::tests::apply_projection_all_returns_unchanged ... ok
[INFO] [stdout] test materialize::tests::apply_projection_none_returns_unchanged ... ok
[INFO] [stdout] test materialize::tests::apply_projection_missing_field_in_data_returns_null ... ok
[INFO] [stdout] test materialize::tests::apply_projection_list_projects_multiple_rows ... ok
[INFO] [stdout] test materialize::tests::apply_projection_list_projects_data ... ok
[INFO] [stdout] test materialize::tests::apply_projection_unknown_field_returns_error ... ok
[INFO] [stdout] test alias_storage::tests::user_only_alias_returned_when_no_project_collision ... ok
[INFO] [stdout] test backup::tests::write_backup_pair_io_error_returns_backup_variant ... ok
[INFO] [stdout] test materialize::tests::error_empty_result ... ok
[INFO] [stdout] test materialize::tests::dry_run_no_write_but_sha256_and_bytes_present ... ok
[INFO] [stdout] test materialize::tests::dry_run_write_mode_error_existing_file_still_errors ... ok
[INFO] [stdout] test materialize::tests::error_dest_invalid_write_mode_error_existing_file ... ok
[INFO] [stdout] test materialize::tests::error_row_not_found ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_json_by_filter_concat ... ok
[INFO] [stdout] test materialize::tests::error_dest_relative_is_rejected_at_validation ... ok
[INFO] [stdout] test aggregator::tests::multi_db_attach_union_all_count_returns_combined_total ... ok
[INFO] [stdout] test materialize::tests::error_field_unknown ... ok
[INFO] [stdout] test backup::tests::write_backup_pair_creates_yaml_and_db ... ok
[INFO] [stdout] test materialize::tests::error_invalid_param_concat_by_id ... ok
[INFO] [stdout] test alias_storage::tests::project_overrides_user_on_name_collision ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_json_by_id_concat ... ok
[INFO] [stdout] test filter::tests::schema_for_list_filter_succeeds ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_json_by_id_no_concat ... ok
[INFO] [stdout] test backup::tests::purge_old_backups_no_op_when_below_limit ... ok
[INFO] [stdout] test backup::tests::purge_old_backups_keeps_n_newest ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_json_by_filter_no_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_markdown_by_filter_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_markdown_by_filter_no_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_markdown_by_id_no_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_raw_by_filter_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_raw_by_id_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_markdown_by_id_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_yaml_by_filter_concat ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_yaml_by_id_concat ... ok
[INFO] [stdout] test materialize::tests::validate_field_selector_list_empty_fields_ok ... ok
[INFO] [stdout] test materialize::tests::validate_field_selector_all_is_ok ... ok
[INFO] [stdout] test materialize::tests::validate_field_selector_list_known_fields_ok ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_raw_by_filter_no_concat ... ok
[INFO] [stdout] test materialize::tests::path_validation_concat_true_file_dest ... ok
[INFO] [stdout] test materialize::tests::row_id_is_none_when_concat ... ok
[INFO] [stdout] test materialize::tests::path_validation_create_dir_all_success ... ok
[INFO] [stdout] test materialize::tests::validate_field_selector_list_single_known_field_ok ... ok
[INFO] [stdout] test order_by::tests::build_order_by_sql_single_desc ... ok
[INFO] [stdout] test materialize::tests::validate_field_selector_list_unknown_field_returns_validation_error ... ok
[INFO] [stdout] test order_by::tests::direction_serde_roundtrip ... ok
[INFO] [stdout] test order_by::tests::build_order_by_sql_multi_key ... ok
[INFO] [stdout] test order_by::tests::build_order_by_sql_multi_key_mixed_directions ... ok
[INFO] [stdout] test order_by::tests::schema_for_order_by_succeeds ... ok
[INFO] [stdout] test order_by::tests::order_by_item_serde_roundtrip ... ok
[INFO] [stdout] test order_by::tests::validate_order_by_ok ... ok
[INFO] [stdout] test order_by::tests::validate_order_by_empty_reject ... ok
[INFO] [stdout] test order_by::tests::validate_order_by_unknown_field_reject ... ok
[INFO] [stdout] test order_by::tests::build_order_by_sql_single_asc ... ok
[INFO] [stdout] test registry::tests::both_dirs_none_mounts_zero_tables ... ok
[INFO] [stdout] test materialize::tests::projection_unknown_field_returns_error ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_yaml_by_filter_no_concat ... ok
[INFO] [stdout] test materialize::tests::path_validation_relative_dest ... ok
[INFO] [stdout] test registry::tests::mount_from_dirs_without_any_dir_has_no_global_alias_storage ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_raw_by_id_no_concat ... ok
[INFO] [stdout] test materialize::tests::projection_all_fields_in_schema_order ... ok
[INFO] [stdout] test materialize::tests::materialize_grid_yaml_by_id_no_concat ... ok
[INFO] [stdout] test materialize::tests::projection_list_specified_order ... ok
[INFO] [stdout] test materialize::tests::row_id_set_for_each_file_when_no_concat ... ok
[INFO] [stdout] test registry::tests::empty_dirs_mount_zero_tables ... ok
[INFO] [stdout] test registry::tests::legacy_mode_mounts_one_table_with_default ... ok
[INFO] [stdout] test row_history::tests::fetch_at_returns_correct_snapshot ... ok
[INFO] [stdout] test row_history::tests::ensure_table_is_idempotent ... ok
[INFO] [stdout] test row_history::tests::prev_data_json_is_not_written ... ok
[INFO] [stdout] test row_history::tests::purge_by_max_per_row ... ok
[INFO] [stdout] test row_history::tests::record_and_list_versions ... ok
[INFO] [stdout] test row_history::tests::roll_below_threshold_is_noop ... ok
[INFO] [stdout] test row_history::tests::purge_by_age ... ok
[INFO] [stdout] test row_history::tests::roll_is_capped_per_call_for_backlog_drain ... ok
[INFO] [stdout] test backup::tests::test_spawn_blocking_cancel_safety_insert_survives ... ok
[INFO] [stdout] test schema::tests::all_field_types_match_correctly ... ok
[INFO] [stdout] test schema::tests::field_def_with_description_round_trips ... ok
[INFO] [stdout] test schema::tests::history_mode_defaults_to_full_when_absent ... ok
[INFO] [stdout] test schema::tests::history_mode_off_parses_from_yaml ... ok
[INFO] [stdout] test schema::tests::load_from_malformed_yaml_returns_schema_error ... ok
[INFO] [stdout] test schema::tests::load_from_nonexistent_path_returns_io_error ... ok
[INFO] [stdout] test schema::tests::load_valid_schema_yaml ... ok
[INFO] [stdout] test schema::tests::validate_empty_object_with_no_required_fields ... ok
[INFO] [stdout] test schema::tests::validate_happy_path_all_fields_present ... ok
[INFO] [stdout] test schema::tests::validate_non_object_root_is_error ... ok
[INFO] [stdout] test schema::tests::validate_null_value_for_optional_field_is_ok ... ok
[INFO] [stdout] test schema::tests::validate_null_value_for_required_field_is_error ... ok
[INFO] [stdout] test schema::tests::validate_optional_field_absent_is_ok ... ok
[INFO] [stdout] test schema::tests::validate_required_field_missing_returns_validation_error ... ok
[INFO] [stdout] test schema::tests::validate_type_mismatch_array_field ... ok
[INFO] [stdout] test schema::tests::validate_type_mismatch_boolean_field ... ok
[INFO] [stdout] test schema::tests::validate_type_mismatch_string_vs_number ... ok
[INFO] [stdout] test schema::tests::validate_unknown_fields_are_accepted ... ok
[INFO] [stdout] test schema::tests::write_to_path_missing_parent_returns_io_error ... ok
[INFO] [stdout] test schema::tests::write_to_path_round_trips_via_load_from_path ... ok
[INFO] [stdout] test schema::tests::write_to_path_uses_tmp_then_rename ... ok
[INFO] [stdout] test schema::tests::yaml_with_bidirectional_sync_deserializes ... ok
[INFO] [stdout] test schema::tests::yaml_with_dump_section_deserializes ... ok
[INFO] [stdout] test schema::tests::yaml_with_title_and_description_deserializes ... ok
[INFO] [stdout] test schema::tests::yaml_without_dump_section_yields_none ... ok
[INFO] [stdout] test schema::tests::yaml_without_title_section_yields_none ... ok
[INFO] [stdout] test snapshot::tests::purge_old_snapshots_keeps_n_newest ... ok
[INFO] [stdout] test snapshot::tests::purge_old_snapshots_no_op_when_below_limit ... ok
[INFO] [stdout] test snapshot::tests::purge_old_snapshots_no_op_when_dir_missing ... ok
[INFO] [stdout] test row_history::tests::version_stays_monotonic_across_roll ... ok
[INFO] [stdout] test row_history::tests::roll_moves_oldest_entries_into_archive_and_reads_through ... ok
[INFO] [stdout] test registry::tests::mount_from_dirs_attaches_global_alias_storage ... ok
[INFO] [stdout] test snapshot::tests::test_upload_without_feature_errors_before_any_write ... ok
[INFO] [stdout] test registry::tests::subdir_without_schema_yaml_is_skipped ... ok
[INFO] [stdout] test snapshot::tests::write_snapshot_db_missing_db_returns_snapshot_variant ... ok
[INFO] [stdout] test snapshot_upload::tests::derive_region_shapes ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_checksum_parse ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_empty_reports_all_missing ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_empty_string_counts_as_missing ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_region_derived_from_endpoint ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_resolves_optionals ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_resolves_with_defaults ... ok
[INFO] [stdout] test snapshot_upload::tests::from_vars_virtual_hosted_style_parse ... ok
[INFO] [stdout] test snapshot_upload::tests::key_for_prefix_join ... ok
[INFO] [stdout] test registry::tests::resolve_unknown_table_returns_table_not_found ... ok
[INFO] [stdout] test store::tests::alias_create_and_get_round_trip ... ok
[INFO] [stdout] test store::tests::alias_create_with_optional_nulls ... ok
[INFO] [stdout] test store::tests::alias_create_duplicate_returns_already_exists ... ok
[INFO] [stdout] test registry::tests::mount_legacy_has_no_global_alias_storage ... ok
[INFO] [stdout] test store::tests::alias_get_missing_returns_not_found ... ok
[INFO] [stdout] test store::tests::alias_delete_removes_alias ... ok
[INFO] [stdout] test registry::tests::nonexistent_dir_is_skipped_not_fatal ... ok
[INFO] [stdout] test store::tests::create_triggers_dump_when_configured ... ok
[INFO] [stdout] test store::tests::alias_delete_missing_returns_not_found ... ok
[INFO] [stdout] test store::tests::shallow_merge_deletes_null_for_optional_field ... ok
[INFO] [stdout] test store::tests::shallow_merge_errors_on_null_for_required_field ... ok
[INFO] [stdout] test store::tests::shallow_merge_preserves_absent_fields ... ok
[INFO] [stdout] test store::tests::shallow_merge_rejects_non_object_patch ... ok
[INFO] [stdout] test store::tests::alias_list_returns_all ... ok
[INFO] [stdout] test store::tests::alias_namespace_isolation_between_stores ... ok
[INFO] [stdout] test store::tests::shallow_merge_replaces_nested_object_wholesale ... ok
[INFO] [stdout] test store::tests::store_open_with_bidirectional_sync_returns_ok ... ok
[INFO] [stdout] test store::tests::delete_keeps_dump_file_by_default ... ok
[INFO] [stdout] test store::tests::store_update_merge_runs_post_merge_validation ... ok
[INFO] [stdout] test store::tests::test_create_and_get_roundtrip ... ok
[INFO] [stdout] test store::tests::test_create_delete_get_not_found ... ok
[INFO] [stdout] test store::tests::test_create_missing_required_field_validation_error ... ok
[INFO] [stdout] test store::tests::test_create_then_list ... ok
[INFO] [stdout] test store::tests::test_create_type_mismatch_validation_error ... ok
[INFO] [stdout] test store::tests::test_delete_unknown_id_not_found ... ok
[INFO] [stdout] test store::tests::test_delete_prefix_match_single ... ok
[INFO] [stdout] test store::tests::test_delete_prefix_match_ambiguous ... ok
[INFO] [stdout] test store::tests::test_get_prefix_match_not_found ... ok
[INFO] [stdout] test store::tests::test_get_prefix_match_single ... ok
[INFO] [stdout] test store::tests::test_get_unknown_id_not_found ... ok
[INFO] [stdout] test store::tests::test_history_full_still_records ... ok
[INFO] [stdout] test store::tests::test_get_prefix_match_ambiguous ... ok
[INFO] [stdout] test store::tests::test_get_full_uuid_bypass ... ok
[INFO] [stdout] test store::tests::test_history_off_records_nothing ... ok
[INFO] [stdout] test store::tests::test_savepoint_atomic_rollback_on_op_failure ... ok
[INFO] [stdout] test store::tests::test_savepoint_commit_on_success ... ok
[INFO] [stdout] test store::tests::test_store_arc_clone_across_tasks ... ok
[INFO] [stdout] test store::tests::test_list_limit_offset ... ok
[INFO] [stdout] test snapshot::tests::write_snapshot_db_creates_db_file_only ... ok
[INFO] [stdout] test store::tests::test_store_create_concurrent ... ok
[INFO] [stdout] test store::tests::test_store_create_concurrent_dump_writes_all_files ... ok
[INFO] [stdout] test store::tests::test_store_mutex_no_await_holding_lock ... ok
[INFO] [stdout] test registry::tests::mount_from_dirs_auto_migrates_per_table_aliases ... ok
[INFO] [stdout] test store::tests::test_update_prefix_match_ambiguous ... ok
[INFO] [stdout] test store::tests::test_update_prefix_match_single ... ok
[INFO] [stdout] test store::tests::test_update_timestamps ... ok
[INFO] [stdout] test store::tests::test_update_unknown_id_not_found ... ok
[INFO] [stdout] test store::tests::update_overwrites_dump_file ... ok
[INFO] [stdout] test store::tests::test_store_concurrent_update_same_id ... ok
[INFO] [stdout] test snapshot::tests::test_do_data_snapshot_dry_run_zero_write ... ok
[INFO] [stdout] test registry::tests::resolve_none_without_default_returns_table_required ... ok
[INFO] [stdout] test registry::tests::user_scope_only_mounts_two_tables ... ok
[INFO] [stdout] test store::tests::store_open_sets_wal_journal_mode ... ok
[INFO] [stdout] test snapshot::tests::test_spawn_blocking_cancel_safety_snapshot_survives ... ok
[INFO] [stdout] test store::tests::test_store_concurrent_create ... ok
[INFO] [stdout] test registry::tests::project_override_is_file_level_swap_not_field_merge ... ok
[INFO] [stdout] test store::tests::test_spawn_blocking_join_error_propagation ... ok
[INFO] [stdout] test store::tests::test_store_mutex_poison_propagated_as_error ... ok
[INFO] [stdout] test registry::tests::mount_from_dirs_preserves_user_alias_when_project_overrides_table ... ok
[INFO] [stdout] test registry::tests::mount_from_dirs_routes_per_table_aliases_to_origin_scope ... ok
[INFO] [stdout] test registry::tests::user_and_project_scopes_merge_with_project_override ... ok
[INFO] [stdout] test backup::tests::test_backup_does_not_block_concurrent_reads ... ok
[INFO] [stdout] test snapshot::tests::test_snapshot_does_not_block_concurrent_writes ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 289 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.63s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/row_history_e2e.rs (/opt/rustwide/target/debug/deps/row_history_e2e-0c6b7f061c7c5743)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test case2_restore_live_row_to_original_state ... ok
[INFO] [stdout] test case5_atomicity_rollback ... ok
[INFO] [stdout] test case1_fetch_at_intermediate_state ... ok
[INFO] [stdout] test case3_restore_deleted_row_same_id ... ok
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/mini_app_mcp-ef491a3f1043d8af)
[INFO] [stdout] test case4_purge_max_per_row ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.15s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 118 tests
[INFO] [stdout] test error_conv::tests::materialize_dest_relative_has_path_field ... ok
[INFO] [stdout] test error_conv::tests::alias_not_found_error_has_structured_data ... ok
[INFO] [stdout] test error_conv::tests::config_error_has_structured_data ... ok
[INFO] [stdout] test error_conv::tests::batch_aborted_error_has_structured_data ... ok
[INFO] [stdout] test error_conv::tests::materialize_field_unknown_has_field_name ... ok
[INFO] [stdout] test error_conv::tests::all_variants_produce_some_data ... ok
[INFO] [stdout] test error_conv::tests::ambiguous_id_error_has_structured_data ... ok
[INFO] [stdout] test error_conv::tests::not_found_error_has_structured_data ... ok
[INFO] [stdout] test mcp::resources::tests::derive_json_schema_required_array_contains_required_fields ... ok
[INFO] [stdout] test error_conv::tests::table_not_found_error_has_structured_data_with_table_field ... ok
[INFO] [stdout] test mcp::resources::tests::derive_json_schema_type_mapping ... ok
[INFO] [stdout] test error_conv::tests::schema_error_has_structured_data ... ok
[INFO] [stdout] test mcp::resources::tests::order_by_doc_contains_basic_sections ... ok
[INFO] [stdout] test mcp::resources::tests::filters_doc_contains_all_filter_types ... ok
[INFO] [stdout] test mcp::resources::tests::quickstart_documents_mode_detection ... ok
[INFO] [stdout] test mcp::resources::tests::tools_doc_contains_all_seventeen_tools ... ok
[INFO] [stdout] test mcp::resources::tests::tools_doc_contains_data_snapshot ... ok
[INFO] [stdout] test error_conv::tests::validation_error_has_structured_data ... ok
[INFO] [stdout] test mcp::resources::tests::derive_json_schema_has_correct_title ... ok
[INFO] [stdout] test mcp::resources::tests::errors_doc_contains_all_error_codes ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_empty_ops_succeeds_with_zero_affects ... ok
[INFO] [stdout] test mcp::resources::tests::tools_doc_contains_row_materialize ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_dry_run_also_rejects_traversal ... ok
[INFO] [stdout] test mcp::resources::tests::quickstart_points_to_other_docs ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_dry_run_returns_affects_no_filesystem_write ... ok
[INFO] [stdout] test mcp::resources::tests::filters_doc_mentions_alias_create ... ok
[INFO] [stdout] test mcp::resources::tests::quickstart_starts_with_heading ... ok
[INFO] [stdout] test error_conv::tests::schema_exists_error_has_structured_data ... ok
[INFO] [stdout] test error_conv::tests::table_required_error_has_structured_data ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_scope_user_when_user_dir_none_returns_config_error ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_rejects_path_traversal_in_table_name ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_multi_table_ops_returns_validation_error ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_update_and_delete_also_reject_traversal ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_io_error_on_yaml_write_returns_io_error ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_dry_run_returns_aggregate_affects ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_savepoint_rollback_leaves_no_tmp_files ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_existing_table_returns_schema_exists_error ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_update_unknown_table_returns_table_not_found ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_delete_dry_run_returns_row_count_no_filesystem_write ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_yaml_rename_failure_after_savepoint_commit_returns_backup_error_with_log_warning ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_arcswap_store_concurrent_reload ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_round_trips_title_and_description ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_create_real_creates_yaml_and_registers_table ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_schema_update_then_query_succeeds_with_yaml_swap ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_update_dry_run_returns_field_diff_no_filesystem_write ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_op_failure_rolls_back_all_preceding_ops ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_delete_does_not_drop_db_file ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_delete_with_zero_rows_succeeds ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_update_backup_failure_returns_backup_error_and_yaml_unchanged ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_update_real_does_not_alter_db_table_structure ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_delete_real_moves_yaml_to_backup_and_unmounts_table ... ok
[INFO] [stdout] test mcp::server::tests::alias_run_with_fields_projection ... ok
[INFO] [stdout] test mcp::server::tests::alias_run_with_unknown_field_returns_validation_error ... ok
[INFO] [stdout] test mcp::server::tests::create_and_get_roundtrip ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_batch_query_only_executes_under_savepoint ... ok
[INFO] [stdout] test mcp::server::tests::create_and_update_data_param_is_typed_object ... ok
[INFO] [stdout] test mcp::server::tests::create_missing_required_field_returns_err ... ok
[INFO] [stdout] test mcp::server::tests::delete_not_found_returns_err ... ok
[INFO] [stdout] test mcp::server::tests::delete_tool_success ... ok
[INFO] [stdout] test mcp::server::tests::get_not_found_returns_err ... ok
[INFO] [stdout] test mcp::server::tests::get_with_fields_projection ... ok
[INFO] [stdout] test mcp::server::tests::get_with_unknown_field_returns_validation_error ... ok
[INFO] [stdout] test mcp::server::tests::get_without_fields_returns_all ... ok
[INFO] [stdout] test mcp::server::tests::list_resources_legacy_mode_has_schema_and_docs ... ok
[INFO] [stdout] test mcp::server::tests::info_tool_returns_schema_json ... ok
[INFO] [stdout] test mcp::server::tests::list_tool_returns_array ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_block_on_inside_spawn_blocking ... ok
[INFO] [stdout] test mcp::server::tests::list_tool_with_limit_and_offset ... ok
[INFO] [stdout] test mcp::server::tests::list_with_fields_projection ... ok
[INFO] [stdout] test mcp::server::tests::list_with_unknown_field_returns_validation_error ... ok
[INFO] [stdout] test mcp::server::tests::list_tools_contains_all_seventeen ... ok
[INFO] [stdout] test mcp::server::tests::list_without_fields_returns_all ... ok
[INFO] [stdout] test mcp::server::tests::list_with_fields_all_returns_all ... ok
[INFO] [stdout] test mcp::server::tests::multi_table_get_with_nonexistent_table_returns_table_not_found ... ok
[INFO] [stdout] test mcp::server::tests::multi_table_create_with_table_arg_succeeds ... ok
[INFO] [stdout] test mcp::server::tests::multi_table_create_without_table_arg_returns_table_required ... ok
[INFO] [stdout] test mcp::server::tests::multi_table_resource_list_has_entries_for_each_table ... ok
[INFO] [stdout] test mcp::server::tests::multi_table_read_resource_no_query_returns_err ... ok
[INFO] [stdout] test mcp::server::tests::parse_table_query_no_query_string ... ok
[INFO] [stdout] test mcp::server::tests::parse_table_query_no_table_param_in_query_string ... ok
[INFO] [stdout] test mcp::server::tests::parse_table_query_multiple_params_extracts_table ... ok
[INFO] [stdout] test mcp::server::tests::multi_table_read_resource_schema_json_with_table_query ... ok
[INFO] [stdout] test mcp::server::tests::parse_table_query_with_table_param ... ok
[INFO] [stdout] test mcp::server::tests::read_resource_quickstart_documents_mode_detection ... ok
[INFO] [stdout] test mcp::server::tests::read_resource_json_schema_has_required_array ... ok
[INFO] [stdout] test mcp::server::tests::read_resource_unknown_uri_returns_err ... ok
[INFO] [stdout] test mcp::server::tests::read_resource_schema_json_with_table_query_returns_schema ... ok
[INFO] [stdout] test mcp::server::tests::read_resource_schema_json_no_query_uses_default_in_legacy_mode ... ok
[INFO] [stdout] test mcp::server::tests::registry_diff_added_and_removed ... ok
[INFO] [stdout] test mcp::server::tests::reload_returns_config_error_on_legacy_server ... ok
[INFO] [stdout] test mcp::server::tests::tool_annotations_create_is_not_idempotent ... ok
[INFO] [stdout] test mcp::server::tests::tool_annotations_delete_is_destructive ... ok
[INFO] [stdout] test mcp::server::tests::tool_annotations_reload ... ok
[INFO] [stdout] test mcp::server::tests::tool_annotations_read_only_tools ... ok
[INFO] [stdout] test mcp::server::tests::tool_descriptions_mention_table_argument ... ok
[INFO] [stdout] test mcp::server::tests::tool_info_includes_title_and_description ... ok
[INFO] [stdout] test mcp::server::tests::update_merge_mode_default_preserves_absent_fields ... ok
[INFO] [stdout] test mcp::server::tests::update_merge_mode_deletes_optional_field_on_null ... ok
[INFO] [stdout] test mcp::server::tests::update_merge_mode_replaces_nested_object_wholesale ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_bool_match_value_rejected_with_validation_error ... ok
[INFO] [stdout] test mcp::server::tests::update_merge_mode_runs_post_merge_validation ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_number_match_value_rejected_with_validation_error ... ok
[INFO] [stdout] test mcp::server::tests::update_not_found_returns_err ... ok
[INFO] [stdout] test mcp::schema_tools::tests::schema_update_real_overwrites_yaml_and_writes_backup_pair ... ok
[INFO] [stdout] test mcp::server::tests::alias_create_user_only_mount_explicit_project_scope_returns_clear_error ... ok
[INFO] [stdout] test mcp::server::tests::update_replace_mode_round_trip_identity ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_multi_key_match_uses_and_join ... ok
[INFO] [stdout] test mcp::server::tests::alias_create_user_only_mount_default_scope_falls_back_to_user ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_null_match_value_rejected_with_validation_error ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_empty_match_rejected_with_validation_error ... ok
[INFO] [stdout] test mcp::server::tests::alias_create_user_only_mount_explicit_user_scope_succeeds ... ok
[INFO] [stdout] test mcp::server::tests::update_merge_mode_returns_validation_on_null_required ... ok
[INFO] [stdout] test mcp::server::tests::update_tool_success ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_preserves_rows_outside_match_scope ... ok
[INFO] [stdout] test mcp::server::tests::alias_delete_user_only_mount_round_trip ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_batch_replace_savepoint_rollback_on_insert_failure ... ok
[INFO] [stdout] test mcp::schema_tools::tests::test_relation_table_bulk_replace_by_hand_observation ... ok
[INFO] [stdout] test mcp::server::tests::reload_round_trip_with_new_directory ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 118 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.69s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/mini_app_mcp-8a606a9dfcfaaf94)
[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/compile_fail.rs (/opt/rustwide/target/debug/deps/compile_fail-2b532b5b4fe46647)
[INFO] [stdout] 
[INFO] [stdout] running 1 test
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.45
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]     Checking cfg-if v1.0.4
[INFO] [stderr]     Checking pin-project-lite v0.2.17
[INFO] [stderr]     Checking memchr v2.8.0
[INFO] [stderr]     Checking itoa v1.0.18
[INFO] [stderr]     Checking smallvec v1.15.1
[INFO] [stderr]     Checking bytes v1.11.1
[INFO] [stderr]     Checking futures-core v0.3.32
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling shlex v1.3.0
[INFO] [stderr]     Checking futures-sink v0.3.32
[INFO] [stderr]     Checking scopeguard v1.2.0
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]     Checking lock_api v0.4.14
[INFO] [stderr]     Checking once_cell v1.21.4
[INFO] [stderr]     Checking futures-channel v0.3.32
[INFO] [stderr]    Compiling autocfg v1.5.0
[INFO] [stderr]     Checking log v0.4.29
[INFO] [stderr]     Checking tracing-core v0.1.36
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]     Checking rand_core v0.10.1
[INFO] [stderr]     Checking futures-io v0.3.32
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]     Checking slab v0.4.12
[INFO] [stderr]     Checking futures-task v0.3.32
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]     Checking regex-syntax v0.8.10
[INFO] [stderr]     Checking typenum v1.20.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]     Checking http v1.5.0
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]     Checking tower-service v0.3.3
[INFO] [stderr]     Checking aho-corasick v1.1.4
[INFO] [stderr]    Compiling zstd-safe v7.2.4
[INFO] [stderr]     Checking foldhash v0.1.5
[INFO] [stderr]    Compiling rustversion v1.0.22
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]     Checking bitflags v2.11.1
[INFO] [stderr]     Checking utf8parse v0.2.2
[INFO] [stderr]    Compiling syn v2.0.117
[INFO] [stderr]     Checking anstyle-parse v1.0.0
[INFO] [stderr]     Checking hashbrown v0.15.5
[INFO] [stderr]     Checking base64 v0.22.1
[INFO] [stderr]     Checking anstyle v1.0.14
[INFO] [stderr]     Checking cpufeatures v0.3.0
[INFO] [stderr]     Checking hashbrown v0.17.0
[INFO] [stderr]     Checking equivalent v1.0.2
[INFO] [stderr]     Checking is_terminal_polyfill v1.70.2
[INFO] [stderr]     Checking http-body v1.1.0
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]     Checking block-buffer v0.10.4
[INFO] [stderr]     Checking crypto-common v0.1.7
[INFO] [stderr]     Checking dyn-clone v1.0.20
[INFO] [stderr]     Checking tower-layer v0.3.3
[INFO] [stderr]     Checking http-body-util v0.1.5
[INFO] [stderr]     Checking colorchoice v1.0.5
[INFO] [stderr]     Checking anstyle-query v1.1.5
[INFO] [stderr]     Checking percent-encoding v2.3.2
[INFO] [stderr]     Checking option-ext v0.2.0
[INFO] [stderr]     Checking sync_wrapper v1.0.2
[INFO] [stderr]     Checking arraydeque v0.5.1
[INFO] [stderr]    Compiling anyhow v1.0.102
[INFO] [stderr]     Checking atomic-waker v1.1.2
[INFO] [stderr]    Compiling cc v1.2.61
[INFO] [stderr]     Checking errno v0.3.14
[INFO] [stderr]     Checking mio v1.2.0
[INFO] [stderr]     Checking socket2 v0.6.3
[INFO] [stderr]     Checking signal-hook-registry v1.4.8
[INFO] [stderr]     Checking httpdate v1.0.3
[INFO] [stderr]     Checking parking_lot v0.12.5
[INFO] [stderr]     Checking hashlink v0.10.0
[INFO] [stderr]     Checking dirs-sys v0.4.1
[INFO] [stderr]     Checking form_urlencoded v1.2.2
[INFO] [stderr]     Checking anstream v1.0.0
[INFO] [stderr]     Checking digest v0.10.7
[INFO] [stderr]     Checking chacha20 v0.10.1
[INFO] [stderr]     Checking fallible-streaming-iterator v0.1.9
[INFO] [stderr]     Checking fallible-iterator v0.3.0
[INFO] [stderr]     Checking uuid v1.23.1
[INFO] [stderr]     Checking memo-map v0.3.3
[INFO] [stderr]     Checking unsafe-libyaml-norway v0.2.15
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]     Checking lazy_static v1.5.0
[INFO] [stderr]     Checking ryu v1.0.23
[INFO] [stderr]     Checking clap_lex v1.1.0
[INFO] [stderr]     Checking cpufeatures v0.2.17
[INFO] [stderr]    Compiling rmcp v1.8.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]     Checking mime v0.3.17
[INFO] [stderr]     Checking sha2 v0.10.9
[INFO] [stderr]     Checking sharded-slab v0.1.7
[INFO] [stderr]     Checking clap_builder v4.6.0
[INFO] [stderr]     Checking indexmap v2.14.0
[INFO] [stderr]     Checking rand v0.10.2
[INFO] [stderr]     Checking dirs v5.0.1
[INFO] [stderr]     Checking tracing-log v0.2.0
[INFO] [stderr]     Checking thread_local v1.1.10
[INFO] [stderr]    Compiling pastey v0.2.2
[INFO] [stderr]     Checking linux-raw-sys v0.12.1
[INFO] [stderr]     Checking matchit v0.8.4
[INFO] [stderr]     Checking dotenvy v0.15.7
[INFO] [stderr]     Checking nu-ansi-term v0.50.3
[INFO] [stderr]     Checking regex-automata v0.4.14
[INFO] [stderr]     Checking arc-swap v1.9.1
[INFO] [stderr]     Checking hex v0.4.3
[INFO] [stderr]     Checking fastrand v2.4.1
[INFO] [stderr]     Checking serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling zstd-sys v2.0.16+zstd.1.5.7
[INFO] [stderr]    Compiling libsqlite3-sys v0.35.0
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]     Checking tempfile v3.27.0
[INFO] [stderr]     Checking regex v1.12.3
[INFO] [stderr]     Checking matchers v0.2.0
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling thiserror-impl v2.0.18
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]     Checking futures-util v0.3.32
[INFO] [stderr]     Checking tokio v1.52.1
[INFO] [stderr]     Checking tracing v0.1.44
[INFO] [stderr]     Checking saphyr-parser-bw v0.0.611
[INFO] [stderr]     Checking axum-core v0.5.6
[INFO] [stderr]     Checking tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling rmcp-macros v1.8.0
[INFO] [stderr]     Checking clap v4.6.1
[INFO] [stderr]     Checking zstd v0.13.3
[INFO] [stderr]     Checking futures-executor v0.3.32
[INFO] [stderr]     Checking sse-stream v0.2.5
[INFO] [stderr]     Checking futures v0.3.32
[INFO] [stderr]     Checking chrono v0.4.44
[INFO] [stderr]     Checking minijinja v2.20.0
[INFO] [stderr]     Checking serde_yaml_bw v2.5.5
[INFO] [stderr]     Checking serde_urlencoded v0.7.1
[INFO] [stderr]     Checking schemars v1.2.1
[INFO] [stderr]     Checking hyper v1.11.0
[INFO] [stderr]     Checking tower v0.5.3
[INFO] [stderr]     Checking tokio-util v0.7.18
[INFO] [stderr]     Checking tokio-stream v0.1.19
[INFO] [stderr]     Checking hyper-util v0.1.20
[INFO] [stdout] test connection_not_sync has been running for over 60 seconds
[INFO] [stderr]     Checking axum v0.8.9
[INFO] [stderr]     Checking rusqlite v0.37.0
[INFO] [stderr]     Checking mini-app-core v0.19.1 (/opt/rustwide/workdir/crates/core)
[INFO] [stderr]     Checking mini-app-mcp v0.19.1 (/opt/rustwide/workdir/crates/mcp)
[INFO] [stderr]     Checking mini-app-mcp-tests v0.0.0 (/opt/rustwide/target/tests/trybuild/mini-app-mcp)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 14s
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stderr] test tests/ui/arc_connection_no_sync.rs ... ok
[INFO] [stderr] 
[INFO] [stderr] 
[INFO] [stdout] test connection_not_sync ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 128.87s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/e2e_mcp.rs (/opt/rustwide/target/debug/deps/e2e_mcp-eb25eba054264bea)
[INFO] [stdout] 
[INFO] [stdout] running 38 tests
[INFO] [stdout] test content_insert_line_equals_total_plus_one_rejected ... ok
[INFO] [stdout] test content_insert_out_of_range ... ok
[INFO] [stdout] test alias_parameterized_run_missing_params ... ok
[INFO] [stdout] test alias_create_with_both_sources_and_table_is_rejected ... ok
[INFO] [stdout] test alias_parameterized_create_run ... ok
[INFO] [stdout] test alias_create_duplicate_returns_already_exists ... ok
[INFO] [stdout] test alias_run_pattern_zero_match_returns_aggregator_error ... ok
[INFO] [stdout] test content_insert_type_error_on_array_field ... ok
[INFO] [stdout] test alias_create_without_fields_alias_run_returns_all_fields ... ok
[INFO] [stdout] test content_insert_after_last_line ... ok
[INFO] [stdout] test alias_create_multi_sources_with_count_aggregator_round_trip ... ok
[INFO] [stdout] test alias_crud_round_trip ... ok
[INFO] [stdout] test alias_run_limit_override ... ok
[INFO] [stdout] test content_insert_prepend_line_zero ... ok
[INFO] [stdout] test alias_create_with_fields_then_alias_run_uses_stored_fields ... ok
[INFO] [stdout] test content_replace_ambiguous_with_multibyte ... ok
[INFO] [stdout] test content_replace_all_returns_count ... ok
[INFO] [stdout] test content_replace_inverted_view_range_validation ... ok
[INFO] [stdout] test alias_create_pattern_sources_resolves_at_alias_run ... ok
[INFO] [stdout] test content_replace_ambiguous_caps_candidates ... ok
[INFO] [stdout] test content_replace_type_error_on_array_field ... ok
[INFO] [stdout] test content_replace_not_found ... ok
[INFO] [stdout] test content_view_full_text_line_numbers ... ok
[INFO] [stdout] test content_replace_ambiguous_match_with_candidates ... ok
[INFO] [stdout] test content_replace_empty_old_str_rejected ... ok
[INFO] [stdout] test query_aggregate_empty_multi_returns_aggregator_error ... ok
[INFO] [stdout] test content_view_with_range ... ok
[INFO] [stdout] test content_view_type_error_on_array_field ... ok
[INFO] [stdout] test content_replace_unique_match ... ok
[INFO] [stdout] test create_get_update_list_delete_round_trip_via_stdio ... ok
[INFO] [stdout] test content_replace_view_range_scoping ... ok
[INFO] [stdout] test query_aggregate_unknown_table_returns_table_not_found ... ok
[INFO] [stdout] test query_aggregate_groupby_with_having_filters_groups ... ok
[INFO] [stdout] test create_with_stringified_data_is_rejected ... ok
[INFO] [stdout] test query_aggregate_multi_count_returns_combined_total ... ok
[INFO] [stdout] test tools_list_advertises_typed_data_object_for_create_and_update ... ok
[INFO] [stdout] test query_aggregate_single_count_returns_row_count ... ok
[INFO] [stdout] test tools_list_contains_all_advertised_tools ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 38 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/reload_concurrency.rs (/opt/rustwide/target/debug/deps/reload_concurrency-fbb0a14c351889fb)
[INFO] [stdout] 
[INFO] [stdout] running 6 tests
[INFO] [stdout] test test_arc_config_clone_send_across_tasks ... ok
[INFO] [stdout] test test_reload_arcswap_atomic_swap_visible_to_concurrent_readers ... ok
[INFO] [stdout] test test_reload_concurrent_double_reload_last_write_wins ... ok
[INFO] [stdout] test test_dual_store_wal_no_lock_conflict ... ok
[INFO] [stdout] test test_arcswap_guard_drop_before_await_in_resolve_table ... ok
[INFO] [stdout] test test_spawn_blocking_in_reload_does_not_block_runtime ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests mini_app_core
[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 mini_app_mcp
[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" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72", kill_on_drop: false }`
[INFO] [stdout] debb30c0ad723b82777d85808af931315273fafd4ab91771878da1ebe1f3fb72
