[INFO] fetching crate outline-mcp 0.6.0... [INFO] testing outline-mcp-0.6.0 against master#562dee4820c458d823175268e41601d4c060588a for pr-154210-2 [INFO] extracting crate outline-mcp 0.6.0 into /workspace/builds/worker-0-tc1/source [INFO] started tweaking crates.io crate outline-mcp 0.6.0 [INFO] removed 0 missing tests [INFO] finished tweaking crates.io crate outline-mcp 0.6.0 [INFO] tweaked toml for crates.io crate outline-mcp 0.6.0 written to /workspace/builds/worker-0-tc1/source/Cargo.toml [INFO] validating manifest of crates.io crate outline-mcp 0.6.0 on toolchain 562dee4820c458d823175268e41601d4c060588a [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate outline-mcp 0.6.0 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" "+562dee4820c458d823175268e41601d4c060588a" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Downloading crates ... [INFO] [stderr] Downloaded rmcp-macros v0.15.0 [INFO] [stderr] Downloaded rmcp v0.15.0 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] cdb79a5ae0f9aa88302485fa77c9e910a074e80b1c47e9e060d1395ac46bd437 [INFO] running `Command { std: "docker" "start" "-a" "cdb79a5ae0f9aa88302485fa77c9e910a074e80b1c47e9e060d1395ac46bd437", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "cdb79a5ae0f9aa88302485fa77c9e910a074e80b1c47e9e060d1395ac46bd437", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "cdb79a5ae0f9aa88302485fa77c9e910a074e80b1c47e9e060d1395ac46bd437", kill_on_drop: false }` [INFO] [stdout] cdb79a5ae0f9aa88302485fa77c9e910a074e80b1c47e9e060d1395ac46bd437 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 6da91e3349866477659f6788707a5a140d817c2178a027d1704a89cb9638c7d4 [INFO] running `Command { std: "docker" "start" "-a" "6da91e3349866477659f6788707a5a140d817c2178a027d1704a89cb9638c7d4", kill_on_drop: false }` [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling syn v2.0.116 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling errno v0.3.14 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling getrandom v0.4.1 [INFO] [stderr] Compiling dyn-clone v1.0.20 [INFO] [stderr] Compiling rmcp v0.15.0 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling signal-hook-registry v1.4.8 [INFO] [stderr] Compiling uuid v1.21.0 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling rmcp-macros v0.15.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling outline-mcp v0.6.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 39.25s [INFO] running `Command { std: "docker" "inspect" "6da91e3349866477659f6788707a5a140d817c2178a027d1704a89cb9638c7d4", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "6da91e3349866477659f6788707a5a140d817c2178a027d1704a89cb9638c7d4", kill_on_drop: false }` [INFO] [stdout] 6da91e3349866477659f6788707a5a140d817c2178a027d1704a89cb9638c7d4 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 31679994ccae34962e30c3aa0c043e61dbd61e7d147f62a937d6243658e72989 [INFO] running `Command { std: "docker" "start" "-a" "31679994ccae34962e30c3aa0c043e61dbd61e7d147f62a937d6243658e72989", kill_on_drop: false }` [INFO] [stderr] Compiling getrandom v0.3.4 [INFO] [stderr] Compiling zerocopy v0.8.39 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling wait-timeout v0.2.1 [INFO] [stderr] Compiling console v0.15.11 [INFO] [stderr] Compiling rand_core v0.9.5 [INFO] [stderr] Compiling rand_xorshift v0.4.0 [INFO] [stderr] Compiling rand v0.9.2 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling rusty-fork v0.3.1 [INFO] [stderr] Compiling insta v1.46.3 [INFO] [stderr] Compiling rmcp v0.15.0 [INFO] [stderr] Compiling ppv-lite86 v0.2.21 [INFO] [stderr] Compiling rand_chacha v0.9.0 [INFO] [stderr] Compiling proptest v1.10.0 [INFO] [stderr] Compiling outline-mcp v0.6.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 30.45s [INFO] running `Command { std: "docker" "inspect" "31679994ccae34962e30c3aa0c043e61dbd61e7d147f62a937d6243658e72989", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "31679994ccae34962e30c3aa0c043e61dbd61e7d147f62a937d6243658e72989", kill_on_drop: false }` [INFO] [stdout] 31679994ccae34962e30c3aa0c043e61dbd61e7d147f62a937d6243658e72989 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-0-tc1/source:/opt/rustwide/workdir:ro,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" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+562dee4820c458d823175268e41601d4c060588a" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] f287ad21a453b0535f0b1ce7fda5ecaed012e7564f5b4bd06a3f56c3b6ebaa5c [INFO] running `Command { std: "docker" "start" "-a" "f287ad21a453b0535f0b1ce7fda5ecaed012e7564f5b4bd06a3f56c3b6ebaa5c", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/outline_mcp-fb74830cb28cb2e9) [INFO] [stdout] [INFO] [stdout] running 112 tests [INFO] [stdout] test application::eject::tests::list_to_checkbox_dash ... ok [INFO] [stdout] test application::eject::tests::list_to_checkbox_indented ... ok [INFO] [stdout] test application::eject::tests::import_tree_invalid_type ... ok [INFO] [stdout] test application::eject::tests::import_tree_roundtrip ... ok [INFO] [stdout] test application::eject::tests::list_to_checkbox_non_list ... ok [INFO] [stdout] test application::eject::tests::json_roundtrip_deserialize ... ok [INFO] [stdout] test application::eject::tests::render_json_full ... ok [INFO] [stdout] test application::eject::tests::render_json_subtree ... ok [INFO] [stdout] test application::eject::tests::render_markdown_full ... ok [INFO] [stdout] test application::eject::tests::render_markdown_without_placeholders ... ok [INFO] [stdout] test application::service::tests::test_add_node_changelog_failure_produces_warning ... ok [INFO] [stdout] test application::service::tests::test_add_node_no_changelog_returns_none_warning ... ok [INFO] [stdout] test application::service::tests::test_add_node_with_changelog_records_create ... ok [INFO] [stdout] test application::eject::tests::render_markdown_subtree ... ok [INFO] [stdout] test application::service::tests::test_batch_move_changelog_records_entries ... ok [INFO] [stdout] test application::service::tests::test_batch_move_empty_succeeds ... ok [INFO] [stdout] test application::service::tests::test_batch_move_single_node ... ok [INFO] [stdout] test application::service::tests::test_batch_move_invalid_node_returns_error_no_save ... ok [INFO] [stdout] test application::service::tests::test_batch_update_empty_succeeds ... ok [INFO] [stdout] test application::service::tests::test_batch_update_invalid_node_returns_error ... ok [INFO] [stdout] test application::service::tests::test_batch_update_multiple_nodes ... ok [INFO] [stdout] test application::service::tests::test_batch_update_single_node_title ... ok [INFO] [stdout] test application::service::tests::test_book_not_found_error ... ok [INFO] [stdout] test application::service::tests::test_node_status_not_related_to_service ... ok [INFO] [stdout] test application::service::tests::test_move_node_records_move ... ok [INFO] [stdout] test application::service::tests::test_timestamp_now_is_used_in_entry ... ok [INFO] [stdout] test application::service::tests::test_remove_node_records_delete ... ok [INFO] [stdout] test application::service::tests::test_update_node_records_before_and_after ... ok [INFO] [stdout] test application::service::tests::test_with_changelog_builder_does_not_break_existing_new ... ok [INFO] [stdout] test domain::model::book::tests::add_child_to_section ... ok [INFO] [stdout] test domain::model::book::tests::add_root_node ... ok [INFO] [stdout] test domain::model::book::tests::dfs_order ... ok [INFO] [stdout] test domain::model::book::tests::move_node_between_parents ... ok [INFO] [stdout] test domain::model::book::tests::reject_cyclic_move ... ok [INFO] [stdout] test domain::model::book::tests::reject_exceeding_max_depth ... ok [INFO] [stdout] test domain::model::book::tests::remove_node_with_descendants ... ok [INFO] [stdout] test domain::model::book::tests::update_node_title_and_type ... ok [INFO] [stdout] test domain::model::changelog::tests::test_change_action_serde_roundtrip ... ok [INFO] [stdout] test domain::model::changelog::tests::test_change_entry_serde_roundtrip ... ok [INFO] [stdout] test domain::model::changelog::tests::test_change_entry_with_none_fields ... ok [INFO] [stdout] test domain::model::changelog::tests::test_node_status_active_serde ... ok [INFO] [stdout] test domain::model::changelog::tests::test_node_status_default_is_active ... ok [INFO] [stdout] test domain::model::changelog::tests::test_node_status_serde_roundtrip ... ok [INFO] [stdout] test domain::model::node::tests::test_new_sets_status_active_and_updated_at ... ok [INFO] [stdout] test domain::model::node::tests::test_serde_backward_compat_missing_fields ... ok [INFO] [stdout] test domain::model::node::tests::test_serde_roundtrip_with_new_fields ... ok [INFO] [stdout] test domain::model::node::tests::test_set_body_updates_updated_at ... ok [INFO] [stdout] test domain::model::node::tests::test_set_properties_updates_updated_at ... ok [INFO] [stdout] test domain::model::node::tests::test_set_status ... ok [INFO] [stdout] test domain::model::node::tests::test_set_title_updates_updated_at ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_display_iso8601_known_value ... ok [INFO] [stdout] test application::eject::tests::list_to_checkbox_asterisk ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_display_iso8601_with_millis ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_from_millis_and_as_millis_roundtrip ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_ordering ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_parse_invalid_returns_err ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_now_is_recent ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_parse_iso8601_epoch ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_parse_iso8601_roundtrip ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_serde_deserialize ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_serde_roundtrip ... ok [INFO] [stdout] test domain::model::timestamp::tests::test_serde_serialize ... ok [INFO] [stdout] test interface::mcp::request::tests::batch_move_request_empty_moves ... ok [INFO] [stdout] test interface::mcp::request::tests::batch_move_request_minimal ... ok [INFO] [stdout] test interface::mcp::request::tests::batch_move_request_with_parent_and_position ... ok [INFO] [stdout] test interface::mcp::request::tests::batch_update_request_full ... ok [INFO] [stdout] test interface::mcp::request::tests::batch_update_request_minimal ... ok [INFO] [stdout] test infra::snapshot::tests::test_restore_roundtrip ... ok [INFO] [stdout] test infra::changelog_store::tests::test_load_all_empty_when_no_file ... ok [INFO] [stdout] test interface::mcp::request::tests::dump_request_parse_full ... ok [INFO] [stdout] test interface::mcp::request::tests::dump_request_parse_minimal ... ok [INFO] [stdout] test interface::mcp::request::tests::eject_request_defaults ... ok [INFO] [stdout] test infra::snapshot::tests::test_list_does_not_include_non_snapshot_files ... ok [INFO] [stdout] test infra::snapshot::tests::test_create_returns_path_that_exists ... ok [INFO] [stdout] test interface::mcp::request::tests::gen_routing_request_empty ... ok [INFO] [stdout] test interface::mcp::request::tests::import_request_parse ... ok [INFO] [stdout] test interface::mcp::request::tests::init_request_with_slug ... ok [INFO] [stdout] test interface::mcp::request::tests::node_create_request_minimal ... ok [INFO] [stdout] test interface::mcp::request::tests::node_history_request_parse ... ok [INFO] [stdout] test interface::mcp::request::tests::node_move_request_remove ... ok [INFO] [stdout] test infra::changelog_store::tests::test_append_and_load_all_roundtrip ... ok [INFO] [stdout] test interface::mcp::request::tests::batch_update_request_body_null_deserializes ... ok [INFO] [stdout] test infra::changelog_store::tests::test_changelog_file_naming ... ok [INFO] [stdout] test interface::mcp::request::tests::node_query_request_full ... ok [INFO] [stdout] test infra::json_store::tests::roundtrip_save_load ... ok [INFO] [stdout] test interface::mcp::request::tests::node_query_request_minimal ... ok [INFO] [stdout] test infra::changelog_store::tests::test_append_two_instances_independent ... ok [INFO] [stdout] test interface::mcp::request::tests::parse_node_type_invalid ... ok [INFO] [stdout] test infra::snapshot::tests::test_list_empty_when_no_snapshots ... ok [INFO] [stdout] test infra::snapshot::tests::test_restore_nonexistent_returns_error ... ok [INFO] [stdout] test interface::mcp::request::tests::parse_node_type_valid ... ok [INFO] [stdout] test infra::snapshot::tests::test_list_returns_created_snapshots ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_backslash ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_collapses_consecutive_underscores ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_double_dot_prevention ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_empty_and_whitespace ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_preserves_allowed_chars ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_slash_in_title ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_special_characters ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_basic_title ... ok [INFO] [stdout] test infra::changelog_store::tests::test_load_by_node_filters_correctly ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_strips_leading_trailing_underscores ... ok [INFO] [stdout] test interface::mcp::request::tests::sanitize_unicode ... ok [INFO] [stdout] test interface::mcp::request::tests::select_book_request ... ok [INFO] [stdout] test interface::mcp::request::tests::select_book_request_quiet ... ok [INFO] [stdout] test interface::mcp::request::tests::shelf_request_empty ... ok [INFO] [stdout] test interface::mcp::request::tests::snapshot_create_request_empty ... ok [INFO] [stdout] test interface::mcp::request::tests::snapshot_list_request_empty ... ok [INFO] [stdout] test interface::mcp::request::tests::validate_slug_invalid ... ok [INFO] [stdout] test interface::mcp::request::tests::validate_slug_valid ... ok [INFO] [stdout] test interface::mcp::request::tests::snapshot_restore_request_parse ... ok [INFO] [stdout] test interface::mcp::tests::server_info ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 112 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/outline_mcp-4a619c18d16c05f6) [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/integration.rs (/opt/rustwide/target/debug/deps/integration-c75b3ee8632f269b) [INFO] [stdout] [INFO] [stdout] running 11 tests [INFO] [stdout] test service_read_nonexistent_book_errors ... ok [INFO] [stdout] test service_create_and_read ... ok [INFO] [stdout] test service_json_repo_roundtrip ... ok [INFO] [stdout] test eject_writes_json_file ... ok [INFO] [stdout] test service_move_node ... ok [INFO] [stdout] test service_update_node ... ok [INFO] [stdout] test service_remove_node ... ok [INFO] [stdout] test service_add_node ... ok [INFO] [stdout] test eject_subtree_only ... ok [INFO] [stdout] test eject_writes_markdown_file ... ok [INFO] [stdout] test import_rejects_deep_nesting ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s [INFO] [stdout] [INFO] [stderr] Running tests/property.rs (/opt/rustwide/target/debug/deps/property-b0a0cdd84a3aaf5f) [INFO] [stdout] [INFO] [stdout] running 9 tests [INFO] [stdout] test hierarchical_id_accepts_two_level ... ok [INFO] [stdout] test dfs_count_equals_node_count ... ok [INFO] [stdout] test hierarchical_id_accepts_digits ... ok [INFO] [stdout] test depth_always_gte_one ... ok [INFO] [stdout] test content_renders_as_checkbox ... ok [INFO] [stdout] test hierarchical_id_rejects_arbitrary_strings ... ok [INFO] [stdout] test markdown_starts_with_book_title ... ok [INFO] [stdout] test add_remove_preserves_count ... ok [INFO] [stdout] test hierarchical_id_rejects_uuid ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.22s [INFO] [stdout] [INFO] [stderr] Running tests/snapshots.rs (/opt/rustwide/target/debug/deps/snapshots-948b1bbdd2ec691c) [INFO] [stdout] [INFO] [stdout] running 5 tests [INFO] [stdout] test snapshot_markdown_full ... ok [INFO] [stdout] test snapshot_markdown_no_placeholders ... ok [INFO] [stdout] test snapshot_json_subtree ... ok [INFO] [stdout] test snapshot_markdown_subtree ... ok [INFO] [stdout] test snapshot_json_full ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 5 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Doc-tests outline_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" "f287ad21a453b0535f0b1ce7fda5ecaed012e7564f5b4bd06a3f56c3b6ebaa5c", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "f287ad21a453b0535f0b1ce7fda5ecaed012e7564f5b4bd06a3f56c3b6ebaa5c", kill_on_drop: false }` [INFO] [stdout] f287ad21a453b0535f0b1ce7fda5ecaed012e7564f5b4bd06a3f56c3b6ebaa5c