[INFO] fetching crate roam-sdk 0.4.0... [INFO] testing roam-sdk-0.4.0 against try#dec9417b8611e34e787a3e4c37686b5131f9e5c5 for pr-154210-1 [INFO] extracting crate roam-sdk 0.4.0 into /workspace/builds/worker-4-tc2/source [INFO] started tweaking crates.io crate roam-sdk 0.4.0 [INFO] finished tweaking crates.io crate roam-sdk 0.4.0 [INFO] tweaked toml for crates.io crate roam-sdk 0.4.0 written to /workspace/builds/worker-4-tc2/source/Cargo.toml [INFO] validating manifest of crates.io crate roam-sdk 0.4.0 on toolchain dec9417b8611e34e787a3e4c37686b5131f9e5c5 [INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }` [INFO] crate crates.io crate roam-sdk 0.4.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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }` [INFO] [stdout] 4a069982f84713b231071d2c2bf70d423353f2e5713dd380b2a2bdd2998be41b [INFO] running `Command { std: "docker" "start" "-a" "4a069982f84713b231071d2c2bf70d423353f2e5713dd380b2a2bdd2998be41b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "inspect" "4a069982f84713b231071d2c2bf70d423353f2e5713dd380b2a2bdd2998be41b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "4a069982f84713b231071d2c2bf70d423353f2e5713dd380b2a2bdd2998be41b", kill_on_drop: false }` [INFO] [stdout] 4a069982f84713b231071d2c2bf70d423353f2e5713dd380b2a2bdd2998be41b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "build" "--frozen" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] 57d7f6add5bb7da1628a839adb2160176796f3207931c2c69da5521a3f1c0312 [INFO] running `Command { std: "docker" "start" "-a" "57d7f6add5bb7da1628a839adb2160176796f3207931c2c69da5521a3f1c0312", kill_on_drop: false }` [INFO] [stderr] Compiling tree-sitter-language v0.1.7 [INFO] [stderr] Compiling smallvec v1.15.1 [INFO] [stderr] Compiling cc v1.2.56 [INFO] [stderr] Compiling serde_core v1.0.228 [INFO] [stderr] Compiling bitflags v2.11.0 [INFO] [stderr] Compiling serde v1.0.228 [INFO] [stderr] Compiling hashbrown v0.16.1 [INFO] [stderr] Compiling syn v2.0.117 [INFO] [stderr] Compiling mio v1.1.1 [INFO] [stderr] Compiling socket2 v0.6.2 [INFO] [stderr] Compiling futures-channel v0.3.32 [INFO] [stderr] Compiling slab v0.4.12 [INFO] [stderr] Compiling writeable v0.6.2 [INFO] [stderr] Compiling litemap v0.8.1 [INFO] [stderr] Compiling serde_json v1.0.149 [INFO] [stderr] Compiling parking_lot_core v0.9.12 [INFO] [stderr] Compiling indexmap v2.13.0 [INFO] [stderr] Compiling http v1.4.0 [INFO] [stderr] Compiling signal-hook v0.3.18 [INFO] [stderr] Compiling icu_normalizer_data v2.1.1 [INFO] [stderr] Compiling memchr v2.8.0 [INFO] [stderr] Compiling icu_properties_data v2.1.2 [INFO] [stderr] Compiling rustls-pki-types v1.14.0 [INFO] [stderr] Compiling itertools v0.14.0 [INFO] [stderr] Compiling castaway v0.2.4 [INFO] [stderr] Compiling parking_lot v0.12.5 [INFO] [stderr] Compiling getrandom v0.2.17 [INFO] [stderr] Compiling instability v0.3.11 [INFO] [stderr] Compiling compact_str v0.9.0 [INFO] [stderr] Compiling tracing-core v0.1.36 [INFO] [stderr] Compiling lru v0.16.3 [INFO] [stderr] Compiling proc-macro2-diagnostics v0.10.1 [INFO] [stderr] Compiling convert_case v0.10.0 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling rustls v0.23.36 [INFO] [stderr] Compiling deranged v0.5.7 [INFO] [stderr] Compiling http-body v1.0.1 [INFO] [stderr] Compiling signal-hook-mio v0.2.5 [INFO] [stderr] Compiling aho-corasick v1.1.4 [INFO] [stderr] Compiling regex-syntax v0.8.9 [INFO] [stderr] Compiling litrs v1.0.0 [INFO] [stderr] Compiling num_threads v0.1.7 [INFO] [stderr] Compiling atomic-waker v1.1.2 [INFO] [stderr] Compiling yansi v1.0.1 [INFO] [stderr] Compiling linux-raw-sys v0.11.0 [INFO] [stderr] Compiling line-clipping v0.3.5 [INFO] [stderr] Compiling uncased v0.9.10 [INFO] [stderr] Compiling sync_wrapper v1.0.2 [INFO] [stderr] Compiling winnow v0.7.14 [INFO] [stderr] Compiling rustix v0.38.44 [INFO] [stderr] Compiling ipnet v2.11.0 [INFO] [stderr] Compiling document-features v0.2.12 [INFO] [stderr] Compiling tower-layer v0.3.3 [INFO] [stderr] Compiling ring v0.17.14 [INFO] [stderr] Compiling anstyle-query v1.1.5 [INFO] [stderr] Compiling tree-sitter-md v0.3.2 [INFO] [stderr] Compiling tree-sitter-html v0.23.2 [INFO] [stderr] Compiling anstream v0.6.21 [INFO] [stderr] Compiling tree-sitter-go v0.23.4 [INFO] [stderr] Compiling tree-sitter-yaml v0.7.2 [INFO] [stderr] Compiling tree-sitter-python v0.23.6 [INFO] [stderr] Compiling tree-sitter-toml-ng v0.7.0 [INFO] [stderr] Compiling time v0.3.47 [INFO] [stderr] Compiling tree-sitter-json v0.24.8 [INFO] [stderr] Compiling tree-sitter-bash v0.25.1 [INFO] [stderr] Compiling tree-sitter-javascript v0.23.1 [INFO] [stderr] Compiling tree-sitter-rust v0.24.0 [INFO] [stderr] Compiling tree-sitter-typescript v0.23.2 [INFO] [stderr] Compiling tree-sitter-c v0.24.1 [INFO] [stderr] Compiling tree-sitter-css v0.23.2 [INFO] [stderr] Compiling webpki-roots v1.0.6 [INFO] [stderr] Compiling unicode-truncate v2.0.1 [INFO] [stderr] Compiling figment v0.10.19 [INFO] [stderr] Compiling rmcp v1.1.0 [INFO] [stderr] Compiling iri-string v0.7.10 [INFO] [stderr] Compiling linux-raw-sys v0.4.15 [INFO] [stderr] Compiling streaming-iterator v0.1.9 [INFO] [stderr] Compiling inlinable_string v0.1.15 [INFO] [stderr] Compiling clap_builder v4.5.60 [INFO] [stderr] Compiling dirs-sys v0.4.1 [INFO] [stderr] Compiling http-body-util v0.1.3 [INFO] [stderr] Compiling regex-automata v0.4.14 [INFO] [stderr] Compiling pastey v0.2.1 [INFO] [stderr] Compiling crossterm v0.28.1 [INFO] [stderr] Compiling directories v5.0.1 [INFO] [stderr] Compiling tree-sitter v0.25.10 [INFO] [stderr] Compiling synstructure v0.13.2 [INFO] [stderr] Compiling darling_core v0.23.0 [INFO] [stderr] Compiling serde_derive_internals v0.29.1 [INFO] [stderr] Compiling zerofrom-derive v0.1.6 [INFO] [stderr] Compiling yoke-derive v0.8.1 [INFO] [stderr] Compiling zerovec-derive v0.11.2 [INFO] [stderr] Compiling serde_derive v1.0.228 [INFO] [stderr] Compiling displaydoc v0.2.5 [INFO] [stderr] Compiling tokio-macros v2.6.0 [INFO] [stderr] Compiling futures-macro v0.3.32 [INFO] [stderr] Compiling thiserror-impl v2.0.18 [INFO] [stderr] Compiling strum_macros v0.27.2 [INFO] [stderr] Compiling tracing-attributes v0.1.31 [INFO] [stderr] Compiling rustls-webpki v0.103.9 [INFO] [stderr] Compiling derive_more-impl v2.1.1 [INFO] [stderr] Compiling ref-cast-impl v1.0.25 [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling derive_more v2.1.1 [INFO] [stderr] Compiling ref-cast v1.0.25 [INFO] [stderr] Compiling tokio v1.49.0 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling regex v1.12.3 [INFO] [stderr] Compiling schemars_derive v1.2.1 [INFO] [stderr] Compiling pear_codegen v0.2.9 [INFO] [stderr] Compiling zerofrom v0.1.6 [INFO] [stderr] Compiling tracing v0.1.44 [INFO] [stderr] Compiling yoke v0.8.1 [INFO] [stderr] Compiling clap_derive v4.5.55 [INFO] [stderr] Compiling thiserror v2.0.18 [INFO] [stderr] Compiling kasuari v0.4.11 [INFO] [stderr] Compiling async-trait v0.1.89 [INFO] [stderr] Compiling zerovec v0.11.5 [INFO] [stderr] Compiling zerotrie v0.2.3 [INFO] [stderr] Compiling pear v0.2.9 [INFO] [stderr] Compiling tinystr v0.8.2 [INFO] [stderr] Compiling potential_utf v0.1.4 [INFO] [stderr] Compiling icu_locale_core v2.1.1 [INFO] [stderr] Compiling icu_collections v2.1.1 [INFO] [stderr] Compiling darling_macro v0.23.0 [INFO] [stderr] Compiling strum v0.27.2 [INFO] [stderr] Compiling darling v0.23.0 [INFO] [stderr] Compiling ratatui-core v0.1.0 [INFO] [stderr] Compiling rmcp-macros v1.1.0 [INFO] [stderr] Compiling clap v4.5.60 [INFO] [stderr] Compiling tree-sitter-highlight v0.25.10 [INFO] [stderr] Compiling icu_provider v2.1.1 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling icu_normalizer v2.1.1 [INFO] [stderr] Compiling icu_properties v2.1.2 [INFO] [stderr] Compiling serde_spanned v0.6.9 [INFO] [stderr] Compiling toml_datetime v0.6.11 [INFO] [stderr] Compiling chrono v0.4.43 [INFO] [stderr] Compiling serde_urlencoded v0.7.1 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling toml_edit v0.22.27 [INFO] [stderr] Compiling ratatui-widgets v0.3.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling idna_adapter v1.2.1 [INFO] [stderr] Compiling idna v1.1.0 [INFO] [stderr] Compiling url v2.5.8 [INFO] [stderr] Compiling schemars v1.2.1 [INFO] [stderr] Compiling ratatui-macros v0.7.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling toml v0.8.23 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling tokio-rustls v0.26.4 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling roam-sdk v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 38s [INFO] running `Command { std: "docker" "inspect" "57d7f6add5bb7da1628a839adb2160176796f3207931c2c69da5521a3f1c0312", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "57d7f6add5bb7da1628a839adb2160176796f3207931c2c69da5521a3f1c0312", kill_on_drop: false }` [INFO] [stdout] 57d7f6add5bb7da1628a839adb2160176796f3207931c2c69da5521a3f1c0312 [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }` [INFO] [stdout] fc0dd082547a079088b3a46a1bcdf4c9343bbb37e9feabd535f5c12de053805b [INFO] running `Command { std: "docker" "start" "-a" "fc0dd082547a079088b3a46a1bcdf4c9343bbb37e9feabd535f5c12de053805b", kill_on_drop: false }` [INFO] [stderr] Compiling futures-util v0.3.32 [INFO] [stderr] Compiling tokio-util v0.7.18 [INFO] [stderr] Compiling rustix v1.1.3 [INFO] [stderr] Compiling getrandom v0.4.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 fastrand v2.3.0 [INFO] [stderr] Compiling deadpool v0.12.3 [INFO] [stderr] Compiling h2 v0.4.13 [INFO] [stderr] Compiling crossterm v0.29.0 [INFO] [stderr] Compiling tempfile v3.25.0 [INFO] [stderr] Compiling futures-executor v0.3.32 [INFO] [stderr] Compiling tower v0.5.3 [INFO] [stderr] Compiling futures v0.3.32 [INFO] [stderr] Compiling rmcp v1.1.0 [INFO] [stderr] Compiling ratatui-crossterm v0.1.0 [INFO] [stderr] Compiling ratatui v0.30.0 [INFO] [stderr] Compiling tower-http v0.6.8 [INFO] [stderr] Compiling hyper v1.8.1 [INFO] [stderr] Compiling hyper-util v0.1.20 [INFO] [stderr] Compiling hyper-rustls v0.27.7 [INFO] [stderr] Compiling wiremock v0.6.5 [INFO] [stderr] Compiling reqwest v0.12.28 [INFO] [stderr] Compiling roam-sdk v0.4.0 (/opt/rustwide/workdir) [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 38.31s [INFO] running `Command { std: "docker" "inspect" "fc0dd082547a079088b3a46a1bcdf4c9343bbb37e9feabd535f5c12de053805b", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "fc0dd082547a079088b3a46a1bcdf4c9343bbb37e9feabd535f5c12de053805b", kill_on_drop: false }` [INFO] [stdout] fc0dd082547a079088b3a46a1bcdf4c9343bbb37e9feabd535f5c12de053805b [INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-4-tc2/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" "+dec9417b8611e34e787a3e4c37686b5131f9e5c5" "test" "--frozen", kill_on_drop: false }` [INFO] [stdout] e58b7e23909a79726f375a4b5a1761d6b4e9ea314d0399e02e23eb4249b7ec06 [INFO] running `Command { std: "docker" "start" "-a" "e58b7e23909a79726f375a4b5a1761d6b4e9ea314d0399e02e23eb4249b7ec06", kill_on_drop: false }` [INFO] [stderr] Finished `test` profile [unoptimized + debuginfo] target(s) in 0.46s [INFO] [stderr] Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/roam_sdk-58b7a4236eb9f1d8) [INFO] [stdout] [INFO] [stdout] running 62 tests [INFO] [stdout] test api::queries::tests::all_page_titles_query_contains_expected_clauses ... ok [INFO] [stdout] test api::queries::tests::daily_note_uid_formats_correctly ... ok [INFO] [stdout] test api::queries::tests::linked_refs_query_contains_page_title ... ok [INFO] [stdout] test api::queries::tests::pull_daily_note_returns_correct_eid_format ... ok [INFO] [stdout] test api::queries::tests::linked_refs_query_escapes_double_quotes ... ok [INFO] [stdout] test api::queries::tests::pull_daily_note_works_with_generated_uid ... ok [INFO] [stdout] test api::queries::tests::pull_page_by_title_uses_node_title_eid ... ok [INFO] [stdout] test api::queries::tests::pull_page_by_title_uses_same_selector_as_daily_note ... ok [INFO] [stdout] test api::queries::tests::pull_selector_includes_block_refs ... ok [INFO] [stdout] test api::types::tests::block_deserializes_without_optional_fields ... ok [INFO] [stdout] test api::types::tests::block_parses_refs_from_pull_response ... ok [INFO] [stdout] test api::queries::tests::pull_daily_note_selector_includes_children ... ok [INFO] [stdout] test api::types::tests::block_parses_without_refs ... ok [INFO] [stdout] test api::client::tests::pull_sends_correct_request ... ok [INFO] [stdout] test api::queries::tests::pull_page_by_title_with_special_chars ... ok [INFO] [stdout] test api::client::tests::write_batch_sends_individual_requests ... ok [INFO] [stdout] test api::client::tests::write_sends_correct_request ... ok [INFO] [stdout] test api::client::tests::write_returns_error_on_500 ... ok [INFO] [stdout] test api::types::tests::daily_note_from_pull_response_no_children ... ok [INFO] [stdout] test api::types::tests::block_serde_roundtrip ... ok [INFO] [stdout] test api::types::tests::daily_note_from_empty_pull_response ... ok [INFO] [stdout] test api::types::tests::daily_note_from_pull_response_parses_blocks ... ok [INFO] [stdout] test api::types::tests::daily_note_from_pull_response_with_nested_children ... ok [INFO] [stdout] test api::types::tests::order_value_index_serializes_as_number ... ok [INFO] [stdout] test api::client::tests::query_sends_correct_request ... ok [INFO] [stdout] test api::client::tests::query_returns_error_on_500 ... ok [INFO] [stdout] test api::types::tests::parse_linked_refs_filters_self_refs ... ok [INFO] [stdout] test api::types::tests::parse_linked_refs_groups_by_page ... ok [INFO] [stdout] test api::types::tests::parse_linked_refs_handles_empty ... ok [INFO] [stdout] test api::types::tests::parse_linked_refs_skips_missing_fields ... ok [INFO] [stdout] test api::types::tests::order_value_position_serializes_as_string ... ok [INFO] [stdout] test api::types::tests::pull_request_serializes ... ok [INFO] [stdout] test api::types::tests::query_request_serializes ... ok [INFO] [stdout] test api::types::tests::query_response_deserializes ... ok [INFO] [stdout] test api::types::tests::write_action_create_page_serializes ... ok [INFO] [stdout] test api::types::tests::write_action_create_page_without_uid ... ok [INFO] [stdout] test api::types::tests::write_action_create_block_serializes ... ok [INFO] [stdout] test api::types::tests::write_action_move_block_serializes ... ok [INFO] [stdout] test api::types::tests::parse_linked_refs_sorts_blocks_within_group ... ok [INFO] [stdout] test api::types::tests::write_action_delete_block_serializes ... ok [INFO] [stdout] test api::types::tests::write_action_update_block_serializes ... ok [INFO] [stdout] test api::types::tests::refs_not_serialized_in_block_json ... ok [INFO] [stdout] test error::tests::api_error_displays_status_and_message ... ok [INFO] [stdout] test error::tests::config_error_displays_message ... ok [INFO] [stdout] test error::tests::error_info_from_roam_api_error ... ok [INFO] [stdout] test api::client::tests::write_batch_stops_on_first_error ... ok [INFO] [stdout] test api::types::tests::pull_response_deserializes ... ok [INFO] [stdout] test api::types::tests::query_request_serializes_with_args ... ok [INFO] [stdout] test error::tests::error_info_from_roam_http_error_becomes_network ... ok [INFO] [stdout] test error::tests::error_popup_from_401 ... ok [INFO] [stdout] test error::tests::error_popup_from_403 ... ok [INFO] [stdout] test error::tests::error_popup_from_429_extracts_message ... ok [INFO] [stdout] test error::tests::error_popup_from_500 ... ok [INFO] [stdout] test error::tests::error_popup_from_network ... ok [INFO] [stdout] test error::tests::error_popup_from_unknown_status_plain_text ... ok [INFO] [stdout] test error::tests::error_popup_from_unknown_status_with_json ... ok [INFO] [stdout] test error::tests::error_popup_from_write ... ok [INFO] [stdout] test error::tests::error_popup_truncates_long_message ... ok [INFO] [stdout] test error::tests::error_popup_from_429_fallback ... ok [INFO] [stdout] test error::tests::io_error_converts_from_std ... ok [INFO] [stdout] test error::tests::json_error_converts_from_serde ... ok [INFO] [stdout] test error::tests::toml_error_converts_from_toml_de ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 62 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.04s [INFO] [stdout] [INFO] [stderr] Running unittests src/main.rs (/opt/rustwide/target/debug/deps/roam-a652c2c3f42cc82b) [INFO] [stdout] [INFO] [stdout] running 582 tests [INFO] [stdout] test app::slash::execute::tests::execute_insert_pair_bold ... ok [INFO] [stdout] test app::blocks::tests::generate_uid_is_9_chars ... ok [INFO] [stdout] test app::slash::execute::tests::execute_insert_code_block ... ok [INFO] [stdout] test app::blocks::tests::generate_uid_is_alphanumeric ... ok [INFO] [stdout] test app::slash::execute::tests::execute_with_query_in_middle ... ok [INFO] [stdout] test app::slash::tests::filter_case_insensitive ... ok [INFO] [stdout] test app::slash::tests::filter_no_match ... ok [INFO] [stdout] test app::slash::execute::tests::execute_insert_pair_embed ... ok [INFO] [stdout] test app::slash::execute::tests::execute_insert_time ... ok [INFO] [stdout] test app::slash::execute::tests::execute_insert_text_hr ... ok [INFO] [stdout] test app::slash::tests::filter_by_prefix ... ok [INFO] [stdout] test app::slash::execute::tests::execute_prepend_replaces_existing_done ... ok [INFO] [stdout] test app::slash::tests::filter_empty_returns_all ... ok [INFO] [stdout] test app::slash::execute::tests::execute_prepend_replaces_existing_todo ... ok [INFO] [stdout] test app::slash::execute::tests::execute_insert_date_today ... ok [INFO] [stdout] test app::slash::execute::tests::execute_prepend_h1 ... ok [INFO] [stdout] test app::slash::execute::tests::execute_prepend_todo ... ok [INFO] [stdout] test app::slash::tests::all_commands_has_18 ... ok [INFO] [stdout] test app::slash::execute::tests::execute_insert_text_with_query ... ok [INFO] [stdout] test app::slash::tests::all_commands_unique_names ... ok [INFO] [stdout] test app::slash::tests::filter_partial_match ... ok [INFO] [stdout] test app::slash::tests::no_trigger_cursor_at_start ... ok [INFO] [stdout] test app::slash::tests::no_trigger_empty_buffer ... ok [INFO] [stdout] test app::slash::tests::no_trigger_in_path ... ok [INFO] [stdout] test app::slash::tests::no_trigger_mid_word ... ok [INFO] [stdout] test app::slash::tests::trigger_after_newline ... ok [INFO] [stdout] test app::state::tests::selection_range_contains_all_in_range ... ok [INFO] [stdout] test app::state::tests::selection_range_reversed_contains_all ... ok [INFO] [stdout] test app::state::tests::selection_single_indices ... ok [INFO] [stdout] test app::tests::autocomplete_backspace_on_empty_closes ... ok [INFO] [stdout] test app::slash::tests::trigger_at_start ... ok [INFO] [stdout] test app::tests::autocomplete_enter_inserts_uid ... ok [INFO] [stdout] test app::tests::autocomplete_filters_by_query ... ok [INFO] [stdout] test app::state::tests::selection_count ... ok [INFO] [stdout] test app::tests::autocomplete_backspace_with_query_removes_char ... ok [INFO] [stdout] test app::state::tests::selection_cursor ... ok [INFO] [stdout] test app::state::tests::selection_indices_sorted ... ok [INFO] [stdout] test app::tests::can_nav_back_true_after_page_navigation ... ok [INFO] [stdout] test app::state::tests::selection_is_multi ... ok [INFO] [stdout] test app::state::tests::selection_single_contains_only_itself ... ok [INFO] [stdout] test app::tests::autocomplete_up_down_moves_selection ... ok [INFO] [stdout] test app::tests::block_ref_resolved_updates_cache ... ok [INFO] [stdout] test app::tests::can_nav_back_false_when_no_history ... ok [INFO] [stdout] test app::tests::can_nav_forward_false_at_end ... ok [INFO] [stdout] test app::tests::can_nav_forward_true_after_back ... ok [INFO] [stdout] test app::tests::collect_unresolved_refs_from_state ... ok [INFO] [stdout] test app::tests::collect_unresolved_refs_ignores_local_blocks ... ok [INFO] [stdout] test app::tests::create_block_enters_insert_mode_with_empty_buffer ... ok [INFO] [stdout] test app::tests::create_block_on_empty_day_creates_first_block ... ok [INFO] [stdout] test app::tests::create_block_on_empty_day_uses_day_uid_as_parent ... ok [INFO] [stdout] test app::tests::autocomplete_down_wraps_at_end ... ok [INFO] [stdout] test app::tests::collapse_hides_children_from_count ... ok [INFO] [stdout] test app::tests::collapsed_block_skips_children_in_resolve ... ok [INFO] [stdout] test app::tests::autocomplete_esc_closes_without_exit ... ok [INFO] [stdout] test app::tests::create_block_guard_in_linked_refs ... ok [INFO] [stdout] test app::tests::create_block_on_empty_day_sets_cursor_to_zero ... ok [INFO] [stdout] test app::tests::cursor_left_stops_at_zero ... ok [INFO] [stdout] test app::tests::creating_block_via_action_is_not_placeholder ... ok [INFO] [stdout] test app::tests::cursor_right_does_not_exceed_text_length ... ok [INFO] [stdout] test app::tests::cursor_right_increments_cursor_col ... ok [INFO] [stdout] test app::tests::cursor_right_on_empty_block_stays_at_zero ... ok [INFO] [stdout] test app::blocks::tests::generate_uid_is_unique ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_23rd ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_april_3rd ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_february_25 ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_january_1st ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_may_11th ... ok [INFO] [stdout] test app::tests::cursor_left_decrements_cursor_col ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_21st ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_22nd ... ok [INFO] [stdout] test app::tests::daily_note_loaded_maintains_chronological_order ... ok [INFO] [stdout] test app::tests::daily_note_empty_title_generates_roam_title_march_2nd ... ok [INFO] [stdout] test app::tests::daily_note_loaded_updates_state ... ok [INFO] [stdout] test app::tests::daily_note_non_empty_title_is_preserved ... ok [INFO] [stdout] test app::tests::daily_note_with_blocks_has_no_placeholder ... ok [INFO] [stdout] test app::slash::tests::trigger_after_space ... ok [INFO] [stdout] test app::tests::dedent_top_level_returns_none ... ok [INFO] [stdout] test app::tests::delete_block_removes_and_returns_action ... ok [INFO] [stdout] test app::tests::detect_block_ref_trigger_false_cursor_wrong ... ok [INFO] [stdout] test app::tests::detect_block_ref_trigger_true ... ok [INFO] [stdout] test app::tests::edit_block_enters_insert_mode ... ok [INFO] [stdout] test app::tests::editing_placeholder_empty_text_sends_nothing ... ok [INFO] [stdout] test app::tests::date_display_is_populated ... ok [INFO] [stdout] test app::tests::dedent_inserts_after_parent ... ok [INFO] [stdout] test app::tests::editing_placeholder_empty_then_again_with_text_sends_create ... ok [INFO] [stdout] test app::tests::dedent_moves_block_to_grandparent ... ok [INFO] [stdout] test app::tests::dedent_nested_deeper ... ok [INFO] [stdout] test app::tests::detect_block_ref_trigger_false_single_paren ... ok [INFO] [stdout] test app::tests::dedent_preserves_children ... ok [INFO] [stdout] test app::tests::detect_block_ref_trigger_false_cursor_at_end ... ok [INFO] [stdout] test app::tests::detect_block_ref_trigger_with_prefix ... ok [INFO] [stdout] test app::tests::delete_on_empty_days_returns_none ... ok [INFO] [stdout] test app::tests::edit_block_on_empty_days_does_nothing ... ok [INFO] [stdout] test app::tests::editing_placeholder_sends_create_not_update ... ok [INFO] [stdout] test app::tests::enter_with_multiple_links_opens_picker ... ok [INFO] [stdout] test app::tests::editing_real_block_sends_update ... ok [INFO] [stdout] test app::tests::enter_with_no_links_toggles_collapse ... ok [INFO] [stdout] test app::tests::enter_on_linked_ref_group_header_navigates ... ok [INFO] [stdout] test app::tests::enter_on_linked_ref_section_header_toggles_collapse ... ok [INFO] [stdout] test app::tests::enter_toggles_open ... ok [INFO] [stdout] test app::tests::enter_with_single_link_returns_page_request ... ok [INFO] [stdout] test app::tests::extract_uids_from_embed ... ok [INFO] [stdout] test app::tests::extract_uids_skips_already_known ... ok [INFO] [stdout] test app::tests::filter_blocks_by_query ... ok [INFO] [stdout] test app::tests::delete_last_block_adjusts_selection ... ok [INFO] [stdout] test app::tests::daily_note_loaded_empty_registers_placeholder_uid ... ok [INFO] [stdout] test app::tests::filter_page_titles_case_insensitive ... ok [INFO] [stdout] test app::tests::filter_blocks_includes_nested ... ok [INFO] [stdout] test app::tests::exit_closes_help ... ok [INFO] [stdout] test app::tests::filter_blocks_cache_no_duplicates ... ok [INFO] [stdout] test app::tests::expand_shows_children ... ok [INFO] [stdout] test app::tests::extract_uids_skips_cached ... ok [INFO] [stdout] test app::tests::extract_uids_skips_pending ... ok [INFO] [stdout] test app::tests::filter_blocks_case_insensitive ... ok [INFO] [stdout] test app::tests::filter_blocks_empty_query_returns_all ... ok [INFO] [stdout] test app::tests::filter_blocks_includes_cache ... ok [INFO] [stdout] test app::tests::filter_blocks_respects_limit ... ok [INFO] [stdout] test app::tests::filter_page_titles_empty_query_returns_all ... ok [INFO] [stdout] test app::tests::extract_uids_finds_block_refs ... ok [INFO] [stdout] test app::tests::extract_uids_multiple_refs ... ok [INFO] [stdout] test app::tests::filter_page_titles_no_match_returns_empty ... ok [INFO] [stdout] test app::tests::flat_block_count_with_nested_children ... ok [INFO] [stdout] test app::tests::go_daily_from_page_view_returns_to_daily ... ok [INFO] [stdout] test app::tests::go_daily_resets_to_first_block ... ok [INFO] [stdout] test app::tests::filter_page_titles_prefix_match_ranks_first ... ok [INFO] [stdout] test app::tests::filter_page_titles_respects_limit ... ok [INFO] [stdout] test app::tests::handle_api_error_clears_loading ... ok [INFO] [stdout] test app::tests::handle_api_error_sets_popup ... ok [INFO] [stdout] test app::tests::has_exact_match_returns_false_for_partial ... ok [INFO] [stdout] test app::tests::handle_page_loaded_sets_state ... ok [INFO] [stdout] test app::tests::has_exact_match_returns_true_case_insensitive ... ok [INFO] [stdout] test app::tests::indent_first_block_returns_none ... ok [INFO] [stdout] test app::tests::indent_appends_after_existing_children ... ok [INFO] [stdout] test app::tests::help_toggles_show_help ... ok [INFO] [stdout] test app::tests::indent_nonexistent_block_returns_none ... ok [INFO] [stdout] test app::tests::indent_preserves_children ... ok [INFO] [stdout] test app::tests::edit_block_guard_in_linked_refs ... ok [INFO] [stdout] test app::tests::indent_nested_block ... ok [INFO] [stdout] test app::tests::insert_arrows_move_cursor ... ok [INFO] [stdout] test app::tests::insert_backspace_deletes ... ok [INFO] [stdout] test app::tests::insert_block_as_child ... ok [INFO] [stdout] test app::tests::insert_block_top_level ... ok [INFO] [stdout] test app::tests::insert_cmd_enter_toggles_todo ... ok [INFO] [stdout] test app::tests::indent_moves_block_to_previous_sibling ... ok [INFO] [stdout] test app::tests::insert_esc_create_empty_discards ... ok [INFO] [stdout] test app::tests::insert_ctrl_e_moves_end ... ok [INFO] [stdout] test app::tests::insert_ctrl_arrows_word_jump ... ok [INFO] [stdout] test app::tests::insert_ctrl_a_moves_home ... ok [INFO] [stdout] test app::tests::insert_esc_changed_returns_update ... ok [INFO] [stdout] test app::tests::insert_esc_create_non_empty_returns_create ... ok [INFO] [stdout] test app::tests::insert_esc_unchanged_returns_none ... ok [INFO] [stdout] test app::tests::insert_open_paren_auto_closes ... ok [INFO] [stdout] test app::tests::insert_typing_adds_chars ... ok [INFO] [stdout] test app::tests::link_picker_enter_navigates_to_selected ... ok [INFO] [stdout] test app::tests::link_picker_esc_closes ... ok [INFO] [stdout] test app::tests::linked_ref_items_count_expanded ... ok [INFO] [stdout] test app::tests::linked_ref_items_count_collapsed ... ok [INFO] [stdout] test app::tests::move_down_at_last_block_requests_more ... ok [INFO] [stdout] test app::tests::move_down_no_auto_load_in_page_view ... ok [INFO] [stdout] test app::tests::move_down_on_empty_days_does_nothing ... ok [INFO] [stdout] test app::tests::move_down_resets_cursor_col ... ok [INFO] [stdout] test app::tests::move_down_while_loading_more_does_nothing ... ok [INFO] [stdout] test app::tests::move_up_resets_cursor_col ... ok [INFO] [stdout] test app::tests::nav_back_at_start_does_nothing ... ok [INFO] [stdout] test app::tests::move_up_decrements_selected_block ... ok [INFO] [stdout] test app::tests::insert_open_brace_auto_closes ... ok [INFO] [stdout] test app::tests::move_down_increments_selected_block ... ok [INFO] [stdout] test app::tests::linked_ref_items_count_empty_groups ... ok [INFO] [stdout] test app::tests::nav_back_restores_previous_view ... ok [INFO] [stdout] test app::tests::nav_back_sets_needs_linked_refs_refresh ... ok [INFO] [stdout] test app::tests::nav_forward_at_end_does_nothing ... ok [INFO] [stdout] test app::tests::nav_forward_sets_needs_linked_refs_refresh ... ok [INFO] [stdout] test app::tests::navigate_to_page_saves_history ... ok [INFO] [stdout] test app::tests::link_picker_navigate_up_down ... ok [INFO] [stdout] test app::tests::linked_ref_items_count_none ... ok [INFO] [stdout] test app::tests::insert_open_bracket_auto_closes ... ok [INFO] [stdout] test app::tests::move_down_navigates_into_linked_refs ... ok [INFO] [stdout] test app::tests::move_up_stops_at_zero ... ok [INFO] [stdout] test app::tests::nav_history_caps_at_50 ... ok [INFO] [stdout] test app::tests::new_edit_clears_redo_stack ... ok [INFO] [stdout] test app::tests::navigate_to_page_clears_linked_refs ... ok [INFO] [stdout] test app::tests::pending_key_d_then_other_clears_pending ... ok [INFO] [stdout] test app::tests::prev_day_jumps_to_next_day_blocks ... ok [INFO] [stdout] test app::tests::quick_switcher_action_opens_popup ... ok [INFO] [stdout] test app::tests::prev_day_noop_in_page_view ... ok [INFO] [stdout] test app::tests::quick_switcher_action_with_cache_populates_filtered ... ok [INFO] [stdout] test app::tests::quick_switcher_appends_create_when_no_exact_match ... ok [INFO] [stdout] test app::tests::new_state_starts_loading ... ok [INFO] [stdout] test app::tests::next_day_jumps_to_previous_day ... ok [INFO] [stdout] test app::tests::next_day_noop_in_page_view ... ok [INFO] [stdout] test app::tests::page_loaded_empty_creates_placeholder_block ... ok [INFO] [stdout] test app::tests::page_loaded_empty_registers_placeholder_uid ... ok [INFO] [stdout] test app::tests::page_loaded_sets_days_and_clears_loading ... ok [INFO] [stdout] test app::tests::page_title_cache_updated_on_new_page ... ok [INFO] [stdout] test app::tests::nav_forward_after_back ... ok [INFO] [stdout] test app::tests::pending_key_d_then_d_triggers_delete ... ok [INFO] [stdout] test app::tests::quick_switcher_create_entry_navigates ... ok [INFO] [stdout] test app::tests::quick_switcher_backspace_removes_char ... ok [INFO] [stdout] test app::tests::quick_switcher_backspace_on_empty_query_closes ... ok [INFO] [stdout] test app::tests::quick_switcher_no_create_when_exact_match ... ok [INFO] [stdout] test app::tests::quit_action_sets_should_quit ... ok [INFO] [stdout] test app::tests::page_title_cache_not_duplicated_on_existing_page ... ok [INFO] [stdout] test app::tests::redo_empty_stack_returns_none ... ok [INFO] [stdout] test app::tests::redo_after_undo_text_edit ... ok [INFO] [stdout] test app::tests::quick_switcher_enter_navigates_to_page ... ok [INFO] [stdout] test app::tests::quick_switcher_enter_on_empty_does_nothing ... ok [INFO] [stdout] test app::tests::quick_switcher_esc_closes ... ok [INFO] [stdout] test app::tests::quick_switcher_no_create_when_exact_match_case_insensitive ... ok [INFO] [stdout] test app::tests::quick_switcher_up_at_zero_stays_zero ... ok [INFO] [stdout] test app::tests::quick_switcher_typing_resets_debounce ... ok [INFO] [stdout] test app::tests::refresh_does_not_trigger_during_insert ... ok [INFO] [stdout] test app::tests::quick_switcher_typing_filters_from_cache ... ok [INFO] [stdout] test app::tests::refresh_loaded_ignores_unknown_day ... ok [INFO] [stdout] test app::tests::remove_nonexistent_block ... ok [INFO] [stdout] test app::tests::refresh_does_not_trigger_while_loading ... ok [INFO] [stdout] test app::tests::remove_nested_block ... ok [INFO] [stdout] test app::tests::refresh_loaded_replaces_changed_day ... ok [INFO] [stdout] test app::tests::resolve_nested_children ... ok [INFO] [stdout] test app::tests::refresh_loaded_skips_identical_day ... ok [INFO] [stdout] test app::tests::resolve_out_of_range ... ok [INFO] [stdout] test app::tests::search_backspace_updates_query ... ok [INFO] [stdout] test app::tests::remove_top_level_block ... ok [INFO] [stdout] test app::tests::resolve_first_block ... ok [INFO] [stdout] test app::tests::resolve_linked_ref_item_section_header ... ok [INFO] [stdout] test app::tests::resolve_linked_ref_item_block ... ok [INFO] [stdout] test app::tests::search_case_insensitive ... ok [INFO] [stdout] test app::tests::search_enter_navigates_to_block ... ok [INFO] [stdout] test app::tests::resolve_linked_ref_item_group_header ... ok [INFO] [stdout] test app::tests::search_esc_closes ... ok [INFO] [stdout] test app::tests::search_filters_by_query ... ok [INFO] [stdout] test app::tests::search_navigate_up_down ... ok [INFO] [stdout] test app::tests::refresh_loaded_preserves_selected_block ... ok [INFO] [stdout] test app::tests::resolve_linked_ref_item_second_group ... ok [INFO] [stdout] test app::tests::resolve_multi_day ... ok [INFO] [stdout] test app::tests::resolve_last_block ... ok [INFO] [stdout] test app::tests::shift_tab_updates_selected_block ... ok [INFO] [stdout] test app::tests::slash_menu_backspace_with_query ... ok [INFO] [stdout] test app::tests::slash_menu_backspace_on_empty_closes ... ok [INFO] [stdout] test app::tests::quick_switcher_up_down_changes_selection ... ok [INFO] [stdout] test app::tests::slash_menu_down_wraps_at_end ... ok [INFO] [stdout] test app::tests::slash_menu_enter_executes_hr ... ok [INFO] [stdout] test app::tests::search_opens_with_action ... ok [INFO] [stdout] test app::tests::slash_menu_navigate_up_down ... ok [INFO] [stdout] test app::tests::shift_tab_in_edit_mode_returns_move_block ... ok [INFO] [stdout] test app::tests::slash_no_trigger_in_url ... ok [INFO] [stdout] test app::tests::slash_menu_enter_executes_bold ... ok [INFO] [stdout] test app::tests::slash_menu_filters_by_query ... ok [INFO] [stdout] test app::tests::slash_menu_enter_executes_todo ... ok [INFO] [stdout] test app::tests::slash_trigger_after_space ... ok [INFO] [stdout] test app::tests::slash_menu_esc_closes ... ok [INFO] [stdout] test app::tests::resolve_linked_ref_item_regular_block_returns_none ... ok [INFO] [stdout] test app::tests::shift_tab_on_top_level_does_nothing ... ok [INFO] [stdout] test app::tests::tab_in_insert_edit_mode_returns_move_block ... ok [INFO] [stdout] test app::tests::tab_in_insert_create_mode_updates_create_info ... ok [INFO] [stdout] test app::tests::undo_create_adjusts_selected_block ... ok [INFO] [stdout] test app::tests::undo_delete_block_restores_it ... ok [INFO] [stdout] test app::tests::undo_create_block_removes_it ... ok [INFO] [stdout] test app::tests::undo_move_block_returns_to_original ... ok [INFO] [stdout] test app::tests::undo_delete_block_restores_position ... ok [INFO] [stdout] test app::tests::update_nested_block ... ok [INFO] [stdout] test app::tests::undo_delete_block_returns_create_action ... ok [INFO] [stdout] test app::tests::tab_on_first_block_does_nothing ... ok [INFO] [stdout] test app::tests::undo_multiple_sequential ... ok [INFO] [stdout] test app::tests::total_navigable_count_includes_linked_refs ... ok [INFO] [stdout] test app::tests::update_top_level_block ... ok [INFO] [stdout] test app::tests::typing_double_paren_opens_autocomplete ... ok [INFO] [stdout] test app::tests::update_nonexistent_block ... ok [INFO] [stdout] test app::tests::typing_slash_opens_slash_menu ... ok [INFO] [stdout] test app::tests::undo_text_edit_returns_update_action ... ok [INFO] [stdout] test app::tests::undo_create_block_returns_delete_action ... ok [INFO] [stdout] test app::tests::undo_empty_stack_returns_none ... ok [INFO] [stdout] test app::tests::undo_text_edit_restores_original ... ok [INFO] [stdout] test commands::tests::batch_invalid_json ... ok [INFO] [stdout] test commands::tests::get_daily_with_date ... ok [INFO] [stdout] test commands::tests::create_block_with_children ... ok [INFO] [stdout] test commands::tests::journal_add_creates_block ... ok [INFO] [stdout] test commands::tests::create_page_with_uid ... ok [INFO] [stdout] test commands::tests::get_daily_invalid_date ... ok [INFO] [stdout] test commands::tests::create_page_sends_write ... ok [INFO] [stdout] test commands::tests::get_stats_returns_counts ... ok [INFO] [stdout] test commands::tests::delete_page_sends_write ... ok [INFO] [stdout] test commands::tests::get_block_returns_json ... ok [INFO] [stdout] test commands::tests::get_daily_today ... ok [INFO] [stdout] test commands::tests::move_block_sends_write ... ok [INFO] [stdout] test commands::tests::get_refs_returns_references ... ok [INFO] [stdout] test commands::tests::get_backlinks_groups_by_page ... ok [INFO] [stdout] test commands::tests::get_page_returns_json ... ok [INFO] [stdout] test config::tests::config_dir_returns_some ... ok [INFO] [stdout] test commands::tests::query_invalid_args ... ok [INFO] [stdout] test commands::tests::query_with_args ... ok [INFO] [stdout] test commands::tests::query_raw_datalog ... ok [INFO] [stdout] test commands::tests::update_block_sends_write ... ok [INFO] [stdout] test commands::tests::batch_executes_actions ... ok [INFO] [stdout] test commands::tests::search_blocks_with_limit ... ok [INFO] [stdout] test commands::tests::get_page_api_error ... ok [INFO] [stdout] test commands::tests::search_pages_with_limit ... ok [INFO] [stdout] test commands::tests::search_blocks_filters_by_content ... ok [INFO] [stdout] test config::tests::env_var_overrides_token ... ok [INFO] [stdout] test config::tests::defaults_apply_for_missing_optional_fields ... ok [INFO] [stdout] test edit_buffer::tests::delete_forward ... ok [INFO] [stdout] test edit_buffer::tests::delete_forward_at_end ... ok [INFO] [stdout] test edit_buffer::tests::delete_back ... ok [INFO] [stdout] test edit_buffer::tests::delete_back_at_start ... ok [INFO] [stdout] test config::tests::loads_valid_config_from_toml ... ok [INFO] [stdout] test config::tests::validate_fails_without_graph_name ... ok [INFO] [stdout] test config::tests::keybinding_overrides_parsed ... ok [INFO] [stdout] test config::tests::write_default_creates_config_file ... ok [INFO] [stdout] test commands::tests::write_error_propagates ... ok [INFO] [stdout] test commands::tests::search_pages_filters_by_title ... ok [INFO] [stdout] test edit_buffer::tests::empty_operations ... ok [INFO] [stdout] test edit_buffer::tests::home_end ... ok [INFO] [stdout] test edit_buffer::tests::insert_char ... ok [INFO] [stdout] test edit_buffer::tests::insert_pair_braces ... ok [INFO] [stdout] test edit_buffer::tests::insert_pair_empty_buffer ... ok [INFO] [stdout] test edit_buffer::tests::insert_pair_brackets ... ok [INFO] [stdout] test edit_buffer::tests::insert_pair_mid_text ... ok [INFO] [stdout] test edit_buffer::tests::insert_pair_parentheses ... ok [INFO] [stdout] test edit_buffer::tests::insert_at_end ... ok [INFO] [stdout] test edit_buffer::tests::move_down_clamps_to_shorter_line ... ok [INFO] [stdout] test config::tests::validate_fails_without_api_token ... ok [INFO] [stdout] test edit_buffer::tests::move_down_on_last_line_goes_to_end ... ok [INFO] [stdout] test edit_buffer::tests::move_down_single_line_goes_to_end ... ok [INFO] [stdout] test edit_buffer::tests::move_down_three_lines ... ok [INFO] [stdout] test edit_buffer::tests::move_down_to_empty_line ... ok [INFO] [stdout] test edit_buffer::tests::move_up_single_line_goes_to_start ... ok [INFO] [stdout] test edit_buffer::tests::move_up_three_lines ... ok [INFO] [stdout] test edit_buffer::tests::move_up_to_same_column ... ok [INFO] [stdout] test edit_buffer::tests::new_cursor_at_end ... ok [INFO] [stdout] test edit_buffer::tests::new_empty ... ok [INFO] [stdout] test edit_buffer::tests::move_down_to_same_column ... ok [INFO] [stdout] test edit_buffer::tests::move_left_right ... ok [INFO] [stdout] test edit_buffer::tests::move_left_stops_at_zero ... ok [INFO] [stdout] test edit_buffer::tests::move_right_stops_at_end ... ok [INFO] [stdout] test edit_buffer::tests::move_up_clamps_to_shorter_line ... ok [INFO] [stdout] test edit_buffer::tests::move_up_from_empty_line ... ok [INFO] [stdout] test edit_buffer::tests::move_up_on_first_line_goes_to_start ... ok [INFO] [stdout] test edit_buffer::tests::replace_range_at_end ... ok [INFO] [stdout] test edit_buffer::tests::replace_range_at_start ... ok [INFO] [stdout] test edit_buffer::tests::replace_range_basic ... ok [INFO] [stdout] test edit_buffer::tests::toggle_done_removes_prefix ... ok [INFO] [stdout] test export::tests::json_empty_blocks ... ok [INFO] [stdout] test edit_buffer::tests::toggle_todo_adds_prefix ... ok [INFO] [stdout] test export::tests::json_daily_notes_has_date ... ok [INFO] [stdout] test edit_buffer::tests::toggle_todo_cursor_adjusts ... ok [INFO] [stdout] test edit_buffer::tests::toggle_todo_full_cycle ... ok [INFO] [stdout] test export::tests::json_has_required_fields ... ok [INFO] [stdout] test export::tests::json_preserves_block_structure ... ok [INFO] [stdout] test edit_buffer::tests::toggle_todo_to_done ... ok [INFO] [stdout] test edit_buffer::tests::unicode ... ok [INFO] [stdout] test edit_buffer::tests::word_jump_left ... ok [INFO] [stdout] test edit_buffer::tests::word_jump_right ... ok [INFO] [stdout] test export::tests::markdown_code_block_preserved ... ok [INFO] [stdout] test export::tests::markdown_deeply_nested ... ok [INFO] [stdout] test export::tests::markdown_daily_notes_with_separator ... ok [INFO] [stdout] test export::tests::markdown_handles_empty_blocks ... ok [INFO] [stdout] test export::tests::markdown_has_title_heading ... ok [INFO] [stdout] test export::tests::markdown_preserves_hierarchy ... ok [INFO] [stdout] test export::tests::markdown_preserves_roam_syntax ... ok [INFO] [stdout] test keys::parser::tests::parse_case_insensitive_modifiers ... ok [INFO] [stdout] test keys::parser::tests::parse_ctrl_arrow ... ok [INFO] [stdout] test keys::parser::tests::parse_ctrl_modifier ... ok [INFO] [stdout] test highlight::tests::unknown_lang_fallback ... ok [INFO] [stdout] test keys::parser::tests::parse_alt_modifier ... ok [INFO] [stdout] test keys::parser::tests::parse_function_keys ... ok [INFO] [stdout] test keys::parser::tests::parse_arrow_keys ... ok [INFO] [stdout] test keys::parser::tests::parse_arrow_unicode ... ok [INFO] [stdout] test keys::parser::tests::parse_invalid_key_returns_error ... ok [INFO] [stdout] test keys::parser::tests::parse_shift_modifier ... ok [INFO] [stdout] test keys::parser::tests::parse_simple_char ... ok [INFO] [stdout] test keys::parser::tests::parse_special_keys ... ok [INFO] [stdout] test keys::preset::tests::action_from_str_nav_back_forward ... ok [INFO] [stdout] test keys::preset::tests::action_from_str_cursor_left_right ... ok [INFO] [stdout] test keys::preset::tests::action_from_str_edit_create ... ok [INFO] [stdout] test keys::preset::tests::action_from_str_roundtrip ... ok [INFO] [stdout] test keys::preset::tests::action_hint_text_cursor_left_right ... ok [INFO] [stdout] test keys::preset::tests::action_hint_text_returns_non_empty ... ok [INFO] [stdout] test keys::parser::tests::parse_ctrl_shift_combo ... ok [INFO] [stdout] test keys::preset::tests::action_from_str_undo ... ok [INFO] [stdout] test keys::preset::tests::emacs_alt_bracket_maps_to_nav ... ok [INFO] [stdout] test keys::preset::tests::emacs_ctrl_p_maps_to_move_up ... ok [INFO] [stdout] test keys::preset::tests::emacs_ctrl_slash_maps_to_undo ... ok [INFO] [stdout] test keys::preset::tests::emacs_pagedown_maps_to_next_day ... ok [INFO] [stdout] test keys::preset::tests::emacs_preset_has_essential_actions ... ok [INFO] [stdout] test keys::preset::tests::emacs_shift_arrows_map_to_nav ... ok [INFO] [stdout] test keys::preset::tests::get_preset_returns_none_for_unknown ... ok [INFO] [stdout] test keys::preset::tests::vim_alt_bracket_maps_to_nav_back ... ok [INFO] [stdout] test keys::preset::tests::get_preset_case_insensitive ... ok [INFO] [stdout] test keys::preset::tests::vim_alt_bracket_maps_to_nav_forward ... ok [INFO] [stdout] test keys::preset::tests::vim_ctrl_k_maps_to_quick_switcher ... ok [INFO] [stdout] test keys::preset::tests::vim_ctrl_o_maps_to_nav_back ... ok [INFO] [stdout] test keys::preset::tests::vim_i_maps_to_edit_block ... ok [INFO] [stdout] test keys::preset::tests::vim_j_maps_to_move_down ... ok [INFO] [stdout] test keys::preset::tests::vim_left_maps_to_cursor_left ... ok [INFO] [stdout] test keys::preset::tests::vim_k_maps_to_move_up ... ok [INFO] [stdout] test commands::tests::delete_block_sends_write ... ok [INFO] [stdout] test keys::preset::tests::vim_pageup_maps_to_prev_day ... ok [INFO] [stdout] test keys::preset::tests::vim_preset_has_essential_actions ... ok [INFO] [stdout] test keys::preset::tests::emacs_pageup_maps_to_prev_day ... ok [INFO] [stdout] test keys::preset::tests::vim_o_maps_to_create_block ... ok [INFO] [stdout] test keys::preset::tests::vim_right_maps_to_cursor_right ... ok [INFO] [stdout] test keys::preset::tests::vim_q_maps_to_quit ... ok [INFO] [stdout] test keys::preset::tests::vim_pagedown_maps_to_next_day ... ok [INFO] [stdout] test keys::preset::tests::vim_shift_left_maps_to_nav_back ... ok [INFO] [stdout] test keys::preset::tests::vim_shift_right_maps_to_nav_forward ... ok [INFO] [stdout] test commands::tests::create_block_sends_write ... ok [INFO] [stdout] test keys::preset::tests::vim_u_maps_to_undo ... ok [INFO] [stdout] test keys::preset::tests::vscode_ctrl_k_maps_to_quick_switcher ... ok [INFO] [stdout] test commands::tests::get_refs_empty_when_no_refs ... ok [INFO] [stdout] test keys::preset::tests::emacs_alt_u_maps_to_quick_switcher ... ok [INFO] [stdout] test keys::preset::tests::vscode_ctrl_left_maps_to_collapse ... ok [INFO] [stdout] test keys::preset::tests::vscode_alt_bracket_maps_to_nav ... ok [INFO] [stdout] test keys::preset::tests::vscode_pagedown_maps_to_next_day ... ok [INFO] [stdout] test keys::preset::tests::vscode_ctrl_right_maps_to_expand ... ok [INFO] [stdout] test highlight::tests::empty_code_returns_empty ... ok [INFO] [stdout] test keys::preset::tests::vscode_ctrl_z_maps_to_undo ... ok [INFO] [stdout] test keys::preset::tests::vscode_pageup_maps_to_prev_day ... ok [INFO] [stdout] test keys::preset::tests::vscode_preset_has_essential_actions ... ok [INFO] [stdout] test keys::preset::tests::vscode_right_maps_to_cursor_right_not_expand ... ok [INFO] [stdout] test keys::preset::tests::vscode_shift_arrows_map_to_nav ... ok [INFO] [stdout] test keys::tests::all_hints_includes_all_actions ... ok [INFO] [stdout] test keys::tests::format_key_event_arrow ... ok [INFO] [stdout] test keys::tests::from_preset_vim_resolves_j_to_move_down ... ok [INFO] [stdout] test keys::tests::format_key_event_simple_char ... ok [INFO] [stdout] test keys::tests::format_key_event_with_ctrl ... ok [INFO] [stdout] test keys::tests::from_preset_vim_resolves_q_to_quit ... ok [INFO] [stdout] test keys::tests::hints_returns_important_actions ... ok [INFO] [stdout] test keys::tests::override_replaces_existing_binding ... ok [INFO] [stdout] test keys::preset::tests::vscode_left_maps_to_cursor_left_not_collapse ... ok [INFO] [stdout] test markdown::tests::block_ref_shows_uid_when_not_in_map ... ok [INFO] [stdout] test keys::tests::resolve_matches_despite_extra_state_bits ... ok [INFO] [stdout] test keys::tests::resolve_returns_none_for_unbound_key ... ok [INFO] [stdout] test keys::tests::unknown_action_in_override_returns_error ... ok [INFO] [stdout] test keys::tests::unknown_preset_returns_error ... ok [INFO] [stdout] test markdown::tests::block_ref_magenta ... ok [INFO] [stdout] test markdown::tests::block_ref_shows_uid_without_map ... ok [INFO] [stdout] test markdown::tests::block_ref_with_surrounding_text ... ok [INFO] [stdout] test markdown::tests::build_map_includes_nested_blocks ... ok [INFO] [stdout] test keys::preset::tests::vscode_arrows_for_navigation ... ok [INFO] [stdout] test markdown::tests::embed_block_uid_renders_with_indicator ... ok [INFO] [stdout] test markdown::tests::embed_plain_name ... ok [INFO] [stdout] test markdown::tests::bold_renders_bold ... ok [INFO] [stdout] test markdown::tests::embed_with_brackets_syntax ... ok [INFO] [stdout] test markdown::tests::build_map_from_flat_blocks ... ok [INFO] [stdout] test markdown::tests::build_map_skips_empty_strings ... ok [INFO] [stdout] test markdown::tests::done_checkmark ... ok [INFO] [stdout] test markdown::tests::embed_page_renders_page_name ... ok [INFO] [stdout] test markdown::tests::empty_string_empty_vec ... ok [INFO] [stdout] test markdown::tests::extract_empty_brackets_skipped ... ok [INFO] [stdout] test markdown::tests::extract_deduplicates_links ... ok [INFO] [stdout] test markdown::tests::block_ref_resolves_with_map ... ok [INFO] [stdout] test markdown::tests::extract_hashtag_page_link ... ok [INFO] [stdout] test markdown::tests::extract_ignores_block_refs ... ok [INFO] [stdout] test markdown::tests::extract_ignores_markdown_links ... ok [INFO] [stdout] test markdown::tests::extract_link_inside_bold ... ok [INFO] [stdout] test markdown::tests::extract_mixed_links_and_tags ... ok [INFO] [stdout] test markdown::tests::embed_unresolved_shows_uid ... ok [INFO] [stdout] test commands::tests::journal_add_with_children ... ok [INFO] [stdout] test markdown::tests::markdown_link_does_not_conflict_with_page_link ... ok [INFO] [stdout] test markdown::tests::extract_multiple_page_links ... ok [INFO] [stdout] test markdown::tests::extract_no_links_from_plain_text ... ok [INFO] [stdout] test markdown::tests::mixed_formatting ... ok [INFO] [stdout] test markdown::tests::page_link_cyan_no_delimiters ... ok [INFO] [stdout] test markdown::tests::markdown_link_missing_parens_shows_raw ... ok [INFO] [stdout] test markdown::tests::markdown_link_with_surrounding_text ... ok [INFO] [stdout] test markdown::tests::preserves_base_style_bg_on_bold ... ok [INFO] [stdout] test markdown::tests::plain_text_single_span ... ok [INFO] [stdout] test markdown::tests::extract_single_page_link ... ok [INFO] [stdout] test markdown::tests::markdown_link_renders_text_only ... ok [INFO] [stdout] test markdown::tests::extract_unclosed_brackets_ignored ... ok [INFO] [stdout] test markdown::tests::highlight_yellow_bg ... ok [INFO] [stdout] test markdown::tests::inline_code_green ... ok [INFO] [stdout] test markdown::tests::italic_renders_italic ... ok [INFO] [stdout] test highlight::tests::go_support ... ok [INFO] [stdout] test markdown::tests::extract_ignores_links_in_inline_code ... ok [INFO] [stdout] test markdown::tests::roam_done_with_brackets ... ok [INFO] [stdout] test markdown::tests::roam_todo_brackets_before_text ... ok [INFO] [stdout] test markdown::tests::render_spans_backward_compat_block_ref ... ok [INFO] [stdout] test markdown::tests::roam_todo_with_brackets ... ok [INFO] [stdout] test markdown::tests::strikethrough_gray ... ok [INFO] [stdout] test markdown::tests::tag_cyan ... ok [INFO] [stdout] test markdown::tests::tag_with_following_text ... ok [INFO] [stdout] test mcp::tests::batch_actions_serializes_correctly ... ok [INFO] [stdout] test markdown::tests::todo_before_text ... ok [INFO] [stdout] test mcp::tests::create_block_with_children_invalid_json_returns_error ... ok [INFO] [stdout] test highlight::tests::javascript_support ... ok [INFO] [stdout] test mcp::tests::batch_write_invalid_json_returns_error ... ok [INFO] [stdout] test markdown::tests::todo_checkbox ... ok [INFO] [stdout] test markdown::tests::unclosed_delimiter_raw ... ok [INFO] [stdout] test markdown::tests::unclosed_markdown_link_shows_raw ... ok [INFO] [stdout] test mcp::tests::batch_actions_deserializes ... ok [INFO] [stdout] test mcp::tests::create_block_with_children_no_children_single_write ... ok [INFO] [stdout] test mcp::tests::create_block_calls_write_endpoint ... ok [INFO] [stdout] test mcp::tests::create_page_calls_write_endpoint ... ok [INFO] [stdout] test mcp::tests::get_block_refs_returns_references ... ok [INFO] [stdout] test mcp::tests::get_daily_note_invalid_date_returns_error ... ok [INFO] [stdout] test mcp::tests::export_page_as_markdown_formats_tree ... ok [INFO] [stdout] test mcp::tests::delete_block_calls_write_endpoint ... ok [INFO] [stdout] test mcp::tests::delete_page_calls_write_endpoint ... ok [INFO] [stdout] test mcp::tests::parse_order_first ... ok [INFO] [stdout] test mcp::tests::parse_order_invalid_defaults_to_last ... ok [INFO] [stdout] test mcp::tests::parse_order_last ... ok [INFO] [stdout] test mcp::tests::parse_order_none_defaults_to_last ... ok [INFO] [stdout] test mcp::tests::render_block_as_markdown_nested ... ok [INFO] [stdout] test mcp::tests::get_block_refs_empty_when_no_refs ... ok [INFO] [stdout] test mcp::tests::get_backlinks_returns_grouped_refs ... ok [INFO] [stdout] test mcp::tests::parse_order_numeric ... ok [INFO] [stdout] test mcp::tests::get_block_calls_pull_with_uid ... ok [INFO] [stdout] test mcp::tests::get_daily_note_with_specific_date ... ok [INFO] [stdout] test mcp::tests::get_daily_note_today_calls_pull ... ok [INFO] [stdout] test mcp::tests::search_blocks_respects_limit ... ok [INFO] [stdout] test mcp::tests::search_filters_pages_by_query ... ok [INFO] [stdout] test mcp::tests::move_block_calls_write_endpoint ... ok [INFO] [stdout] test mcp::tests::create_block_with_children_sends_batch ... ok [INFO] [stdout] test mcp::tests::update_block_calls_write_endpoint ... ok [INFO] [stdout] test mcp::tests::roam_query_invalid_args_returns_error ... ok [INFO] [stdout] test mcp::tests::search_returns_error_on_api_failure ... ok [INFO] [stdout] test mcp::tests::batch_write_sends_individual_requests ... ok [INFO] [stdout] test ui::header::tests::header_renders_graph_name_and_date ... ok [INFO] [stdout] test ui::header::tests::header_renders_in_single_line ... ok [INFO] [stdout] test mcp::tests::get_page_calls_pull_endpoint ... ok [INFO] [stdout] test ui::status_bar::tests::status_bar_renders_message_when_present ... ok [INFO] [stdout] test ui::status_bar::tests::status_bar_renders_nav_back_hint_when_available ... ok [INFO] [stdout] test ui::status_bar::tests::status_bar_shows_insert_mode ... ok [INFO] [stdout] test mcp::tests::search_with_limit_truncates_results ... ok [INFO] [stdout] test mcp::tests::roam_query_passes_raw_query ... ok [INFO] [stdout] test mcp::tests::roam_query_with_args ... ok [INFO] [stdout] test ui::status_bar::tests::status_bar_no_nav_hints_when_unavailable ... ok [INFO] [stdout] test mcp::tests::get_graph_stats_returns_counts ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_empty_linked_refs_not_shown ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_collapsed_linked_refs ... ok [INFO] [stdout] test ui::view::tests::blockquote_renders_with_border ... ok [INFO] [stdout] test ui::view::tests::blockquote_with_inline_formatting ... ok [INFO] [stdout] test ui::view::tests::blockquote_detected_in_visible_lines ... ok [INFO] [stdout] test ui::view::tests::blockquote_preserves_depth ... ok [INFO] [stdout] test ui::status_bar::tests::status_bar_renders_hints ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_includes_linked_refs ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_single_day ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_two_days_has_separator ... ok [INFO] [stdout] test ui::view::tests::blockquote_strips_prefix ... ok [INFO] [stdout] test mcp::tests::write_error_500_returns_tool_error ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_nested_blocks ... ok [INFO] [stdout] test ui::view::tests::inject_cursor_at_mid_inverts_correct_char ... ok [INFO] [stdout] test ui::view::tests::inject_cursor_on_empty_spans_returns_space_with_cursor_style ... ok [INFO] [stdout] test ui::view::tests::build_visible_lines_loading_more ... ok [INFO] [stdout] test ui::view::tests::inject_cursor_preserves_all_chars ... ok [INFO] [stdout] test ui::view::tests::linked_refs_block_index_starts_after_flat_blocks ... ok [INFO] [stdout] test ui::view::tests::long_block_wraps_in_visible_output ... ok [INFO] [stdout] test ui::view::tests::regular_block_not_affected_by_blockquote ... ok [INFO] [stdout] test ui::view::tests::multiline_block_respects_newlines ... ok [INFO] [stdout] test ui::view::tests::renders_bold_text_with_styling ... ok [INFO] [stdout] test ui::view::tests::renders_empty_state ... ok [INFO] [stdout] test ui::view::tests::renders_day_heading_and_blocks ... ok [INFO] [stdout] test ui::view::tests::renders_linked_refs_header ... ok [INFO] [stdout] test ui::view::tests::day_with_empty_blocks_vec_renders_heading_not_no_notes ... ok [INFO] [stdout] test ui::view::tests::renders_loading_state ... ok [INFO] [stdout] test ui::view::tests::inject_cursor_at_zero_inverts_first_char ... ok [INFO] [stdout] test ui::view::tests::renders_nested_block_with_indentation ... ok [INFO] [stdout] test ui::view::tests::renders_page_link_without_brackets ... ok [INFO] [stdout] test ui::view::tests::renders_selected_block_with_bullet ... ok [INFO] [stdout] test ui::view::tests::inject_cursor_out_of_bounds_clamps_to_last_char ... ok [INFO] [stdout] test ui::view::tests::day_with_blocks_renders_heading_not_no_notes_message ... ok [INFO] [stdout] test ui::view::tests::wrap_spans_different_first_cont_widths ... ok [INFO] [stdout] test ui::view::tests::wrap_spans_empty_returns_single_empty_line ... ok [INFO] [stdout] test ui::view::tests::wrap_spans_long_text_wraps_at_word ... ok [INFO] [stdout] test ui::view::tests::test_selected_block_has_indicator ... ok [INFO] [stdout] test ui::view::tests::renders_todo_as_checkbox ... ok [INFO] [stdout] test ui::view::tests::test_collapsed_block_shows_children_count ... ok [INFO] [stdout] test ui::view::tests::test_day_separator_rendered ... ok [INFO] [stdout] test ui::view::tests::test_collapsed_block_shows_arrow_indicator ... ok [INFO] [stdout] test ui::view::tests::wrap_spans_preserves_styles ... ok [INFO] [stdout] test ui::view::tests::wrap_spans_short_text_no_wrap ... ok [INFO] [stdout] test ui::view::tests::wrap_spans_no_space_hard_wraps ... ok [INFO] [stdout] test ui::view::tests::test_open_block_shows_bullet ... ok [INFO] [stdout] test mcp::tests::search_blocks_filters_by_content ... ok [INFO] [stdout] test highlight::tests::bash_support ... ok [INFO] [stdout] test highlight::tests::highlight_python_code ... ok [INFO] [stdout] test ui::view::tests::code_lines_have_line_numbers ... ok [INFO] [stdout] test highlight::tests::highlight_rust_code ... ok [INFO] [stdout] test highlight::tests::multiline_code_returns_multiple_lines ... ok [INFO] [stdout] test ui::view::tests::code_label_is_separate_variant ... ok [INFO] [stdout] test ui::view::tests::code_line_number_rendered_in_buffer ... ok [INFO] [stdout] test ui::view::tests::code_block_expands_to_multiple_lines ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 582 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.60s [INFO] [stdout] [INFO] [stderr] Doc-tests roam_sdk [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" "e58b7e23909a79726f375a4b5a1761d6b4e9ea314d0399e02e23eb4249b7ec06", kill_on_drop: false }` [INFO] running `Command { std: "docker" "rm" "-f" "e58b7e23909a79726f375a4b5a1761d6b4e9ea314d0399e02e23eb4249b7ec06", kill_on_drop: false }` [INFO] [stdout] e58b7e23909a79726f375a4b5a1761d6b4e9ea314d0399e02e23eb4249b7ec06