[INFO] cloning repository https://github.com/GhostXia/AIRP-Core
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/GhostXia/AIRP-Core" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGhostXia%2FAIRP-Core", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGhostXia%2FAIRP-Core'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] 8b98491877840263da7532c2fa5303563624cade
[INFO] testing GhostXia/AIRP-Core against 1.97.0-beta.6 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2FGhostXia%2FAIRP-Core" "/workspace/builds/worker-7-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7-tc1/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-7-tc1/source/.cargo/config.toml
[INFO] started tweaking git repo https://github.com/GhostXia/AIRP-Core
[INFO] finished tweaking git repo https://github.com/GhostXia/AIRP-Core
[INFO] tweaked toml for git repo https://github.com/GhostXia/AIRP-Core written to /workspace/builds/worker-7-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/GhostXia/AIRP-Core on toolchain 1.97.0-beta.6
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/GhostXia/AIRP-Core 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.97.0-beta.6" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded tower_governor v0.4.3
[INFO] [stderr]   Downloaded quanta v0.12.6
[INFO] [stderr]   Downloaded spinning_top v0.3.0
[INFO] [stderr]   Downloaded uuid v1.23.1
[INFO] [stderr]   Downloaded wasm-bindgen-futures v0.4.71
[INFO] [stderr]   Downloaded forwarded-header-value v0.1.1
[INFO] [stderr]   Downloaded nonempty v0.7.0
[INFO] [stderr]   Downloaded nonzero_ext v0.3.0
[INFO] [stderr]   Downloaded futures-timer v3.0.4
[INFO] [stderr]   Downloaded sse-stream v0.2.3
[INFO] [stderr]   Downloaded rmcp-macros v1.7.0
[INFO] [stderr]   Downloaded schemars_derive v1.2.1
[INFO] [stderr]   Downloaded pastey v0.2.3
[INFO] [stderr]   Downloaded openssl-sys v0.9.116
[INFO] [stderr]   Downloaded governor v0.6.3
[INFO] [stderr]   Downloaded raw-cpuid v11.6.0
[INFO] [stderr]   Downloaded openssl v0.10.80
[INFO] [stderr]   Downloaded rmcp v1.7.0
[INFO] [stderr]   Downloaded web-sys v0.3.98
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7-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:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de
[INFO] running `Command { std: "docker" "start" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", 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" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", 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" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling futures-io v0.3.32
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling cc v1.2.62
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling futures-macro v0.3.32
[INFO] [stderr]    Compiling tokio-macros v2.7.0
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.5
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling zerocopy v0.8.48
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling serde_derive_internals v0.29.1
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling getrandom v0.4.2
[INFO] [stderr]    Compiling typenum v1.20.0
[INFO] [stderr]    Compiling rand_core v0.10.1
[INFO] [stderr]    Compiling darling_core v0.23.0
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling ref-cast v1.0.25
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling ref-cast-impl v1.0.25
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling colorchoice v1.0.5
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling anstyle v1.0.14
[INFO] [stderr]    Compiling dyn-clone v1.0.20
[INFO] [stderr]    Compiling memchr v2.8.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling hashbrown v0.14.5
[INFO] [stderr]    Compiling chacha20 v0.10.0
[INFO] [stderr]    Compiling errno v0.3.14
[INFO] [stderr]    Compiling socket2 v0.6.3
[INFO] [stderr]    Compiling signal-hook-registry v1.4.8
[INFO] [stderr]    Compiling mio v1.2.0
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling openssl-sys v0.9.116
[INFO] [stderr]    Compiling yoke v0.8.2
[INFO] [stderr]    Compiling getrandom v0.2.17
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rand_core v0.6.4
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling dashmap v5.5.3
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling schemars_derive v1.2.1
[INFO] [stderr]    Compiling spinning_top v0.3.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling axum-macros v0.4.2
[INFO] [stderr]    Compiling pin-project-internal v1.1.13
[INFO] [stderr]    Compiling rmcp v1.7.0
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling clap_lex v1.1.0
[INFO] [stderr]    Compiling nonzero_ext v0.3.0
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling schemars v0.8.22
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling futures-timer v3.0.4
[INFO] [stderr]    Compiling nonempty v0.7.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling darling_macro v0.23.0
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling forwarded-header-value v0.1.1
[INFO] [stderr]    Compiling clap_derive v4.6.1
[INFO] [stderr]    Compiling pin-project v1.1.13
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling darling v0.23.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling thiserror v2.0.18
[INFO] [stderr]    Compiling rand v0.10.1
[INFO] [stderr]    Compiling uuid v1.23.1
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling ppv-lite86 v0.2.21
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling schemars_derive v0.8.22
[INFO] [stderr]    Compiling async-stream-impl v0.3.6
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling futures v0.3.32
[INFO] [stderr]    Compiling rmcp-macros v1.7.0
[INFO] [stderr]    Compiling sse-stream v0.2.3
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling encoding_rs v0.8.35
[INFO] [stderr]    Compiling thread_local v1.1.9
[INFO] [stderr]    Compiling pastey v0.2.3
[INFO] [stderr]    Compiling nu-ansi-term v0.50.3
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling async-stream v0.3.6
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling governor v0.6.3
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling regex v1.12.3
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling clap v4.6.1
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling h2 v0.4.14
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tower_governor v0.4.3
[INFO] [stderr]    Compiling airp-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 31s
[INFO] running `Command { std: "docker" "inspect" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", 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" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bitflags v2.11.1
[INFO] [stderr]    Compiling hyper v1.9.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling getrandom v0.3.4
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling wait-timeout v0.2.1
[INFO] [stderr]    Compiling num_cpus v1.17.0
[INFO] [stderr]    Compiling deadpool-runtime v0.1.4
[INFO] [stderr]    Compiling assert-json-diff v2.0.2
[INFO] [stderr]    Compiling unarray v0.1.4
[INFO] [stderr]    Compiling openssl v0.10.80
[INFO] [stderr]    Compiling raw-cpuid v11.6.0
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling tower-http v0.5.2
[INFO] [stderr]    Compiling rand_core v0.9.5
[INFO] [stderr]    Compiling deadpool v0.12.3
[INFO] [stderr]    Compiling rand_xorshift v0.4.0
[INFO] [stderr]    Compiling rand_chacha v0.9.0
[INFO] [stderr]    Compiling rand v0.9.4
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling schemars v1.2.1
[INFO] [stderr]    Compiling quanta v0.12.6
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling governor v0.6.3
[INFO] [stderr]    Compiling rmcp v1.7.0
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling rusty-fork v0.3.1
[INFO] [stderr]    Compiling proptest v1.11.0
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling wiremock v0.6.5
[INFO] [stderr]    Compiling native-tls v0.2.18
[INFO] [stderr]    Compiling tokio-native-tls v0.3.1
[INFO] [stderr]    Compiling hyper-tls v0.6.0
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling tower_governor v0.4.3
[INFO] [stderr]    Compiling airp-core v0.1.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 55.38s
[INFO] running `Command { std: "docker" "inspect" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", 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" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de" "/opt/rustwide/cargo-home/bin/cargo" "+1.97.0-beta.6" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.49s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/airp_core-c6640298966ef941)
[INFO] [stdout] 
[INFO] [stdout] running 300 tests
[INFO] [stdout] test adapter::tests::test_backend_engine_default_is_direct ... ok
[INFO] [stdout] test adapter::tests::test_backend_engine_serde_roundtrip ... ok
[INFO] [stdout] test adapter::tests::test_chat_message_roundtrip ... ok
[INFO] [stdout] test adapter::tests::test_parse_anthropic_delta_line_extracts_text ... ok
[INFO] [stdout] test adapter::tests::test_parse_anthropic_delta_line_no_text_returns_none ... ok
[INFO] [stdout] test adapter::tests::test_message_role_serde_lowercase ... ok
[INFO] [stdout] test adapter::tests::test_parse_openai_delta_content ... ok
[INFO] [stdout] test adapter::tests::test_parse_openai_ignores_non_data_lines ... ok
[INFO] [stdout] test adapter::tests::test_parse_openai_invalid_json_is_error ... ok
[INFO] [stdout] test adapter::tests::test_parse_openai_no_content_delta ... ok
[INFO] [stdout] test adapter::tests::test_parse_openai_done_marker ... ok
[INFO] [stdout] test agent::tests::max_steps_one_is_single_turn ... ok
[INFO] [stdout] test adapter::tests::test_parse_anthropic_delta_line_invalid_json_returns_none ... ok
[INFO] [stdout] test agent::tests::subagent_context_has_no_orchestrator_noise ... ok
[INFO] [stdout] test auto_converter::tests::test_cf5_does_not_overwrite_existing_md ... ok
[INFO] [stdout] test auto_converter::tests::test_cf5_main_lorebook_not_touched ... ok
[INFO] [stdout] test auto_converter::tests::test_cf5_legacy_worldbooks_dir_still_scanned ... ok
[INFO] [stdout] test auto_converter::tests::test_cf5_extra_dir_scanned ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_dx1::test_dx1_empty_user_id_uses_data_root ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_dx1::test_dx1_invalid_user_id_rejected ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_dx1::test_dx1_no_user_id_uses_data_root ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_dx1::test_dx1_different_users_get_different_roots ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_dx1::test_dx1_user_id_resolves_under_users_dir ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_mls3::test_mls3_history_appended_on_first_call ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_mls9::test_ls9_empty_state_object_persisted ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_mls9::test_ls9_inject_state_max_from_state_takes_priority ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_mls9::test_ls9_extract_persist_inject_roundtrip ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_mls3::test_mls3_live_json_overwritten_history_appended ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_state_extract::mixed_valid_invalid_takes_last_valid ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_state_extract::multiple_tags_last_wins ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_state_extract::no_tag_unchanged ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_state_extract::single_tag_stripped_and_parsed ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_state_extract::invalid_json_block_removed_state_none ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_state_extract::unclosed_tag_kept_in_text ... ok
[INFO] [stdout] test chat_store::tests::test_jsonl_persistence_layout ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_mls3::test_mls3_history_accumulates_multiple_calls ... ok
[INFO] [stdout] test chat_store::tests::test_legacy_json_migration ... ok
[INFO] [stdout] test chat_store::tests::test_pre_cf2_jsonl_migration ... ok
[INFO] [stdout] test config::tests::test_app_config_validate_propagates_volume_failure ... ok
[INFO] [stdout] test config::tests::test_env_invalid_port_does_not_panic_keeps_previous ... ok
[INFO] [stdout] test chat_store::tests::test_chat_log_crud ... ok
[INFO] [stdout] test config::tests::test_env_override_beats_data_settings ... ok
[INFO] [stdout] test config::tests::test_invalid_volume_in_settings_caught_by_validate ... ok
[INFO] [stdout] test config::tests::test_full_chain_default_then_settings_then_env ... ok
[INFO] [stdout] test config::tests::test_merge_data_settings_empty_strings_ignored ... ok
[INFO] [stdout] test config::tests::test_merge_data_settings_overrides_non_empty_fields ... ok
[INFO] [stdout] test config::tests::test_provider_deserialize_from_settings ... ok
[INFO] [stdout] test config::tests::test_volume_config_nested_merge_from_settings ... ok
[INFO] [stdout] test config::tests::test_volume_config_validate_ok_on_default ... ok
[INFO] [stdout] test config::tests::test_merge_data_settings_ignores_unknown_fields ... ok
[INFO] [stdout] test config::tests::test_merge_data_settings_missing_file_is_noop ... ok
[INFO] [stdout] test config::tests::test_volume_config_validate_rejects_soft_ge_hard ... ok
[INFO] [stdout] test config::tests::test_volume_config_validate_rejects_zero_interval ... ok
[INFO] [stdout] test daemon::tests::test_a2_5_constant_time_eq ... ok
[INFO] [stdout] test config::tests::test_volume_config_validate_rejects_bad_temperature ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_dx1::test_dx1_pipeline_user_id_creates_isolated_root ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_succeeds_with_minimal_inputs ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_rejects_absolute_lorebook_path ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_rejects_malformed_inline_character_card_json ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_rejects_traversal_in_character_card_id ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_resolves_provider_priority_request_over_default ... ok
[INFO] [stdout] test daemon::tests::test_audit_10_version_endpoint_returns_metadata ... ok
[INFO] [stdout] test daemon::tests::test_audit_10_version_unauthenticated_with_key_set ... ok
[INFO] [stdout] test daemon::tests::test_dx2_bearer_prefix_required ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_ms6::test_ms6_invalid_scene_id_rejected ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_ms6::test_ms6_scene_pipeline_character_id_none_in_finalizer ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_loads_chat_history_when_omitted ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_includes_default_seal_filter ... ok
[INFO] [stdout] test chat_pipeline::tests::tests_ms6::test_ms6_scene_pipeline_builds_multi_char_prompt ... ok
[INFO] [stdout] test chat_pipeline::tests::tests::prepare_rejects_malformed_inline_lorebook_json ... ok
[INFO] [stdout] test daemon::tests::test_dx2_no_key_all_pass ... ok
[INFO] [stdout] test daemon::tests::test_ls7_schema_404_when_no_file ... ok
[INFO] [stdout] test daemon::tests::test_ls5_history_404_when_no_file ... ok
[INFO] [stdout] test daemon::tests_dx4::test_dx4_bearer_token_used_as_key ... ok
[INFO] [stdout] test daemon::tests_dx4::test_dx4_ip_used_when_no_auth_header ... ok
[INFO] [stdout] test daemon::tests_dx4::test_a2_7_falls_back_to_fixed_key_without_auth_or_connect_info ... ok
[INFO] [stdout] test data_dir::security::tests::audit_4_balanced_parent_dirs_stay_under_base ... ok
[INFO] [stdout] test daemon::tests_dx4::test_dx4_long_token_truncated_to_32_chars ... ok
[INFO] [stdout] test data_dir::security::tests::audit_4_single_dot_components_resolved_under_base ... ok
[INFO] [stdout] test data_dir::security::tests::audit_4_unicode_homoglyph_passes_validation ... ok
[INFO] [stdout] test data_dir::security::tests::audit_4_empty_after_trim_rejected ... ok
[INFO] [stdout] test daemon::tests::test_dx2_missing_header_returns_401 ... ok
[INFO] [stdout] test daemon::tests::test_dx2_correct_key_passes ... ok
[INFO] [stdout] test daemon::tests::test_ls5_history_limit_param ... ok
[INFO] [stdout] test daemon::tests::test_mls3_state_bad_char_id_returns_400 ... ok
[INFO] [stdout] test daemon::tests::test_ls7_schema_returns_json ... ok
[INFO] [stdout] test data_dir::security::tests::prop_validate_id_accepts_clean_names ... ok
[INFO] [stdout] test daemon::tests::test_ms3_add_character_to_scene ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_analysis_dir ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_card_dir_creates_and_returns_path ... ok
[INFO] [stdout] test daemon::tests::test_ms3_create_and_get_scene ... ok
[INFO] [stdout] test daemon::tests::test_mls3_state_404_when_no_live_json ... ok
[INFO] [stdout] test daemon::tests::test_ls5_history_returns_reversed_entries ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_gating_dir_initializes_templates ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_world_lorebook_path_no_create ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_history_dir ... ok
[INFO] [stdout] test data_dir::tests::test_cf3_migrate_legacy_session_to_memory ... ok
[INFO] [stdout] test daemon::tests::test_dx2_wrong_key_returns_401 ... ok
[INFO] [stdout] test data_dir::tests::test_cf6_handles_empty_chars_dir ... ok
[INFO] [stdout] test data_dir::tests::test_cf6_handles_missing_chars_dir ... ok
[INFO] [stdout] test data_dir::tests::test_cf6_lock_prevents_repeat ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_greetings_dir ... ok
[INFO] [stdout] test data_dir::tests::test_cf1_char_world_dir_includes_extra ... ok
[INFO] [stdout] test data_dir::tests::test_cf3_no_migration_when_new_has_data ... ok
[INFO] [stdout] test data_dir::tests::test_cf3_migrate_named_session_to_memory ... ok
[INFO] [stdout] test data_dir::tests::test_list_presets_covers_json_and_md_dedup ... ok
[INFO] [stdout] test data_dir::tests::test_cf6_migrate_card_files ... ok
[INFO] [stdout] test data_dir::tests::test_cf6_triggers_gating_and_session_migration ... ok
[INFO] [stdout] test data_dir::security::tests::prop_validate_id_rejects_null_byte ... ok
[INFO] [stdout] test data_dir::tests::test_list_and_create_sessions ... ok
[INFO] [stdout] test data_dir::tests::test_pr2_handles_empty_presets_dir ... ok
[INFO] [stdout] test data_dir::tests::test_list_presets_dir_form ... ok
[INFO] [stdout] test daemon::tests::test_mls3_state_returns_live_json ... ok
[INFO] [stdout] test data_dir::tests::test_pr2_idempotent_no_overwrite ... ok
[INFO] [stdout] test data_dir::tests::test_pr2_handles_missing_presets_dir ... ok
[INFO] [stdout] test data_dir::tests::test_pr2_migrate_flat_md_to_dir ... ok
[INFO] [stdout] test data_dir::tests::test_list_sessions_ignores_non_uuid_dirs ... ok
[INFO] [stdout] test data_dir::tests::test_pr1_preset_json_path ... ok
[INFO] [stdout] test data_dir::tests::test_pr1_preset_dir_creates ... ok
[INFO] [stdout] test data_dir::tests::test_resolve_session_dir_default_memory_path_when_none ... ok
[INFO] [stdout] test daemon::tests::test_ms3_list_scenes_empty ... ok
[INFO] [stdout] test data_dir::tests::test_pr1_preset_regex_dir ... ok
[INFO] [stdout] test data_dir::tests::test_pr2_migrate_flat_json_to_dir ... ok
[INFO] [stdout] test data_dir::tests::test_safe_resolve_rejects_absolute ... ok
[INFO] [stdout] test data_dir::tests::test_safe_resolve_rejects_null_byte ... ok
[INFO] [stdout] test data_dir::tests::test_pr2_migrate_handles_both_json_and_md ... ok
[INFO] [stdout] test data_dir::tests::test_validate_id_segment_rejects_traversal ... ok
[INFO] [stdout] test error::tests::test_error_display ... ok
[INFO] [stdout] test data_dir::tests::test_safe_resolve_accepts_subpath ... ok
[INFO] [stdout] test data_dir::tests::test_validate_id_segment_accepts_normal ... ok
[INFO] [stdout] test data_dir::tests::test_strip_utf8_bom ... ok
[INFO] [stdout] test fsm::tests::test_chunk_boundaries ... ok
[INFO] [stdout] test data_dir::tests::test_safe_resolve_rejects_traversal_outside_root ... ok
[INFO] [stdout] test fsm::tests::test_filtering ... ok
[INFO] [stdout] test fsm::tests::test_multibyte_in_buffering_no_panic ... ok
[INFO] [stdout] test fsm::tests::test_regex_filter_parser ... ok
[INFO] [stdout] test error::tests::test_error_from_io ... ok
[INFO] [stdout] test fsm::tests::test_rollback_on_false_positive ... ok
[INFO] [stdout] test fsm::tests::test_seal_tag_across_chunks ... ok
[INFO] [stdout] test fsm::tests::test_state_tag_across_chunks ... ok
[INFO] [stdout] test fsm::tests::test_state_tag_filter ... ok
[INFO] [stdout] test fsm::tests::test_variable_replacement ... ok
[INFO] [stdout] test data_dir::tests::test_resolve_session_dir_named_memory_path_when_some ... ok
[INFO] [stdout] test fsm::tests::test_self_closing_volume_seal_tag ... ok
[INFO] [stdout] test index_parser::tests::test_extract_diff_block ... ok
[INFO] [stdout] test index_parser::tests::test_apply_diff_append_to_existing ... ok
[INFO] [stdout] test index_parser::tests::test_apply_diff_new_entries ... ok
[INFO] [stdout] test index_parser::tests::test_extract_volume_number ... ok
[INFO] [stdout] test index_parser::tests::test_parse_named_with_paren ... ok
[INFO] [stdout] test orchestrator::card::tests::test_invalid_json_returned_asis ... ok
[INFO] [stdout] test orchestrator::card::tests::test_legacy_name_not_overriding_v2style ... ok
[INFO] [stdout] test data_dir::security::tests::prop_validate_id_rejects_double_dot ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_card_wins_over_embedded_prompts ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_preset_prompts_plus_params ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_unknown_when_ambiguous ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_v1_flat_card ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_v1_legacy_card ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_v2_card ... ok
[INFO] [stdout] test orchestrator::card::tests::test_v1_flat_v2style_names_lifted ... ok
[INFO] [stdout] test index_parser::tests::test_local_only_not_promoted ... ok
[INFO] [stdout] test orchestrator::card::tests::test_v2_card_unchanged ... ok
[INFO] [stdout] test orchestrator::card::tests::test_v3_card_unchanged ... ok
[INFO] [stdout] test orchestrator::card::tests::test_shape_v3_card ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_get_current_checkpoint_empty_id ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_get_current_checkpoint_missing_file ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_get_current_checkpoint_malformed_returns_default ... ok
[INFO] [stdout] test index_parser::tests::test_parse_index_diff ... ok
[INFO] [stdout] test orchestrator::card::tests::test_v1_legacy_names_mapped ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_load_filtered_known_no_known_file_returns_empty ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_load_filtered_known_no_disclosure_passes_through ... ok
[INFO] [stdout] test daemon::tests::test_ms3_get_scene_404 ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_load_filtered_known_substring_match ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_load_filtered_known_malformed_disclosure_passes_through ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_load_filtered_known_empty_forbidden_keys_passes_all ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_cf4_template_initialized_when_absent ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_gating_filtering ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::bench_aho_corasick_vs_naive ... ignored
[INFO] [stdout] test orchestrator::lorebook::tests::test_ms5_merge_lorebooks_empty ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::test_ms5_merge_lorebooks_preserves_all_unique ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::test_ms5_merge_lorebooks_deduplicates_by_content ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_disabled_entry_ignored ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_cf4_migrate_legacy_gating_files ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_no_match_returns_empty ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_single_match ... ok
[INFO] [stdout] test fsm::tests::test_nested_or_adjacent_patterns ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_audit_4_load_filtered_known_unknown_cp_no_filtering ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_priority_sort_desc ... ok
[INFO] [stdout] test orchestrator::tests::test_ls4_inject_live_state_injects_block ... ok
[INFO] [stdout] test orchestrator::tests::test_ls4_inject_live_state_invalid_json_noop ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_multiple_keys_or_semantic ... ok
[INFO] [stdout] test orchestrator::tests::test_ls8_inject_live_state_uses_schema_labels ... ok
[INFO] [stdout] test orchestrator::tests::test_ms9_multi_char_prompt_contains_all_character_sections ... ok
[INFO] [stdout] test orchestrator::tests::test_ms9_multi_char_prompt_includes_triggered_lore ... ok
[INFO] [stdout] test orchestrator::tests::test_ms9_multi_char_prompt_no_cards_uses_ids ... ok
[INFO] [stdout] test orchestrator::tests::test_orchestrator_build ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_collect_alias_resolves_to_canonical ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_collect_length_desc_priority ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_collect_non_overlapping_independent_matches ... ok
[INFO] [stdout] test orchestrator::tests::test_ls4_inject_live_state_no_file ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_inject_current_context ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_inject_volume_context_alias_end_to_end ... ok
[INFO] [stdout] test data_dir::security::tests::prop_safe_resolve_rejects_absolute ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_skips_empty_keys ... ok
[INFO] [stdout] test orchestrator::lorebook::tests::trigger_stress_many_entries ... ok
[INFO] [stdout] test orchestrator::gating::tests::test_timeline_and_checkpoint_advancement ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_parse_entity_line_basic ... ok
[INFO] [stdout] test png_parser::tests::test_rejects_bad_signature ... ok
[INFO] [stdout] test png_parser::tests::test_rejects_oversized_chunk ... ok
[INFO] [stdout] test png_parser::tests::test_ztxt_compressed_chara ... ok
[INFO] [stdout] test png_parser::tests::test_chara_fallback_when_no_ccv3 ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_filter_keeps_only_ai_output_enabled_empty_replace ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_bom_tolerant ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_load_array_format ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_load_empty_dir ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_load_single_object ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_strip_delimiters_bare_pattern ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_strip_delimiters_no_flags ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_strip_delimiters_with_flags ... ok
[INFO] [stdout] test quota::tests_dx3::test_check_increments_counter ... ok
[INFO] [stdout] test quota::tests_dx3::test_check_rejects_when_limit_reached ... ok
[INFO] [stdout] test quota::tests_dx3::test_check_rejects_when_token_limit_reached ... ok
[INFO] [stdout] test quota::tests_dx3::test_check_unlimited_always_ok ... ok
[INFO] [stdout] test quota::tests_dx3::test_quota_config_default_is_unlimited ... ok
[INFO] [stdout] test quota::tests_dx3::test_quota_no_file_is_fresh_start ... ok
[INFO] [stdout] test quota::tests_dx3::test_quota_state_resets_on_new_day ... ok
[INFO] [stdout] test quota::tests_dx3::test_record_tokens_accumulates ... ok
[INFO] [stdout] test scene::tests::test_audit_4_character_role_serializes_snake_case ... ok
[INFO] [stdout] test scene::tests::test_audit_4_load_nonexistent_scene_errors ... ok
[INFO] [stdout] test scene::tests::test_audit_4_lorebook_merge_serializes_snake_case ... ok
[INFO] [stdout] test scene::tests::test_audit_4_primary_returns_first_when_multiple ... ok
[INFO] [stdout] test scene::tests::test_audit_4_primary_returns_none_when_only_npcs ... ok
[INFO] [stdout] test scene::tests::test_audit_4_save_creates_scene_dir_if_missing ... ok
[INFO] [stdout] test preset_regex::tests::test_pr4_load_invalid_json_skipped ... ok
[INFO] [stdout] test scene::tests::test_ms2_list_scenes_empty_when_no_dir ... ok
[INFO] [stdout] test scene::tests::test_audit_4_scene_load_rejects_malformed_json ... ok
[INFO] [stdout] test scene::tests::test_ms2_primary_finds_primary_character ... ok
[INFO] [stdout] test orchestrator::preset::tests::test_preset_rendering ... ok
[INFO] [stdout] test scene::tests::test_ms2_list_scenes_returns_saved ... ok
[INFO] [stdout] test types::tests::character_id_rejects_traversal ... ok
[INFO] [stdout] test scene::tests::test_ms2_scene_defaults ... ok
[INFO] [stdout] test types::tests::character_id_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::character_id_valid ... ok
[INFO] [stdout] test types::tests::character_id_serde_rejects_invalid ... ok
[INFO] [stdout] test types::tests::preset_id_basic ... ok
[INFO] [stdout] test types::tests::scene_id_serde_rejects_invalid ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_parse_entity_line_with_aliases ... ok
[INFO] [stdout] test types::tests::scene_id_valid ... ok
[INFO] [stdout] test types::tests::session_id_parse_invalid ... ok
[INFO] [stdout] test types::tests::session_id_parse_valid ... ok
[INFO] [stdout] test types::tests::session_id_serde_roundtrip ... ok
[INFO] [stdout] test types::tests::session_id_uniqueness ... ok
[INFO] [stdout] test types::tests::user_id_rejects_traversal ... ok
[INFO] [stdout] test types::tests::user_id_serde_rejects_invalid ... ok
[INFO] [stdout] test types::tests::scene_id_serde_roundtrip ... ok
[INFO] [stdout] test scene::tests::test_ms2_scene_config_roundtrip ... ok
[INFO] [stdout] test data_dir::security::tests::prop_validate_id_rejects_path_separators ... ok
[INFO] [stdout] test types::tests::user_id_valid ... ok
[INFO] [stdout] test types::tests::user_id_serde_roundtrip ... ok
[INFO] [stdout] test volume_manager::tests::test_collect_cross_volume_appearances ... ok
[INFO] [stdout] test data_dir::security::tests::prop_validate_id_rejects_windows_reserved ... ok
[INFO] [stdout] test volume_manager::tests::test_multi_session_turn_counter_isolation ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_appearance_line_missing ... ok
[INFO] [stdout] test volume_manager::tests::test_multi_session_current_md_isolation ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_appearance_line_basic ... ok
[INFO] [stdout] test volume_manager::tests::test_multi_session_isolation_volumes_and_index ... ok
[INFO] [stdout] test types::tests::scene_id_rejects_traversal ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_inject_volume_context_matches_keyword ... ok
[INFO] [stdout] test png_parser::tests::test_ccv3_preferred_over_chara ... ok
[INFO] [stdout] test orchestrator::volume_inject::tests::test_inject_volume_context_no_match ... ok
[INFO] [stdout] test volume_manager::tests::test_run_maintenance_archives_resolved ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_sealing_output_missing_blocks ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_seal_signal_missing ... ok
[INFO] [stdout] test volume_manager::tests::test_run_maintenance_does_not_duplicate_existing ... ok
[INFO] [stdout] test volume_manager::tests::test_substitute_volume_placeholder ... ok
[INFO] [stdout] test volume_manager::tests::test_run_maintenance_promotes_cross_volume_entity ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_seal_signal_no_attrs ... ok
[INFO] [stdout] test volume_manager::tests::test_should_force_seal ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_seal_signal_false ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_seal_signal_basic ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_seal_signal_attr_order_and_quote_styles ... ok
[INFO] [stdout] test chat_store::tests::test_chat_log_rolling_truncation ... ok
[INFO] [stdout] test volume_store::tests::test_append_and_read_current ... ok
[INFO] [stdout] test volume_manager::tests::test_soft_pressure_hint ... ok
[INFO] [stdout] test volume_store::tests::test_clear_current ... ok
[INFO] [stdout] test data_dir::security::tests::prop_safe_resolve_rejects_null_byte ... ok
[INFO] [stdout] test data_dir::security::tests::prop_safe_resolve_for_write_never_escapes ... ok
[INFO] [stdout] test volume_manager::tests::test_parse_sealing_output_complete ... ok
[INFO] [stdout] test volume_store::tests::test_estimate_tokens ... ok
[INFO] [stdout] test volume_store::tests::test_estimate_tokens_documented_bounds ... ok
[INFO] [stdout] test xml_unpacker::tests::test_unpacker_basic ... ok
[INFO] [stdout] test volume_store::tests::test_volume_write_read_and_header ... ok
[INFO] [stdout] test xml_unpacker::tests::test_unpacker_split_tokens ... ok
[INFO] [stdout] test volume_store::tests::test_next_volume_number ... ok
[INFO] [stdout] test volume_store::tests::test_index_write_read ... ok
[INFO] [stdout] test volume_store::tests::test_increment_turn_counter ... ok
[INFO] [stdout] test volume_store::tests::test_ensure_session_dirs ... ok
[INFO] [stdout] test fsm::tests::proptest_fsm::prop_variable_replacement_chunk_independent ... ok
[INFO] [stdout] test fsm::tests::proptest_fsm::prop_no_panic_any_input ... ok
[INFO] [stdout] test fsm::tests::proptest_fsm::prop_chunk_boundaries_independent ... ok
[INFO] [stdout] test fsm::tests::proptest_fsm::prop_seal_tag_chunk_independent ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 299 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 1.70s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/airp_core-45a6a2922d8bf8a5)
[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/openai_compat.rs (/opt/rustwide/target/debug/deps/openai_compat-4bf5eee37a3534d9)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test test_dx7_upstream_error_propagated_as_error_event ... ok
[INFO] [stdout] test test_dx7_completions_sse_has_message_events ... ok
[INFO] [stdout] test test_dx10_multi_user_quota_isolation ... ok
[INFO] [stdout] test test_dx7_completions_returns_sse_200 ... ok
[INFO] [stdout] test test_dx10_quota_enforced_per_user ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.25s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/sse_wiremock.rs (/opt/rustwide/target/debug/deps/sse_wiremock-125d843ca594fe0f)
[INFO] [stdout] 
[INFO] [stdout] running 5 tests
[INFO] [stdout] test streaming_api_collects_all_delta_tokens ... ok
[INFO] [stdout] test streaming_api_handles_unparsable_sse_line_gracefully ... ok
[INFO] [stdout] test streaming_api_propagates_upstream_error_status ... ok
[INFO] [stdout] test streaming_api_handles_crlf_line_endings ... ok
[INFO] [stdout] test streaming_api_handles_done_marker_only ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.32s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests airp_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] running `Command { std: "docker" "inspect" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de", kill_on_drop: false }`
[INFO] [stdout] d9c6c213266a4f355905d2ffcf5296b4114544fec5ca038cb55a963a531bd4de
