[INFO] fetching crate tftio-bsky-comment-extractor 2.4.0...
[INFO] testing tftio-bsky-comment-extractor-2.4.0 against beta-2026-04-21 for beta-1.96-2
[INFO] extracting crate tftio-bsky-comment-extractor 2.4.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate tftio-bsky-comment-extractor 2.4.0
[INFO] removed 0 missing tests
[INFO] finished tweaking crates.io crate tftio-bsky-comment-extractor 2.4.0
[INFO] tweaked toml for crates.io crate tftio-bsky-comment-extractor 2.4.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tftio-bsky-comment-extractor 2.4.0 on toolchain beta-2026-04-21
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+beta-2026-04-21" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tftio-bsky-comment-extractor 2.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" "+beta-2026-04-21" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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" "+beta-2026-04-21" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 9cb6e645069c928e722eb3210cbe22ea7426296dd050d9dee6627863fcd5fb51
[INFO] running `Command { std: "docker" "start" "-a" "9cb6e645069c928e722eb3210cbe22ea7426296dd050d9dee6627863fcd5fb51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "9cb6e645069c928e722eb3210cbe22ea7426296dd050d9dee6627863fcd5fb51", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "9cb6e645069c928e722eb3210cbe22ea7426296dd050d9dee6627863fcd5fb51", kill_on_drop: false }`
[INFO] [stdout] 9cb6e645069c928e722eb3210cbe22ea7426296dd050d9dee6627863fcd5fb51
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 7f9cabb2e12e0eea8a924fcd04d449445d3b03599a67446790c74fcf32f9f535
[INFO] running `Command { std: "docker" "start" "-a" "7f9cabb2e12e0eea8a924fcd04d449445d3b03599a67446790c74fcf32f9f535", kill_on_drop: false }`
[INFO] [stderr]    Compiling slab v0.4.12
[INFO] [stderr]    Compiling anstyle-parse v1.0.0
[INFO] [stderr]    Compiling is_terminal_polyfill v1.70.2
[INFO] [stderr]    Compiling anstyle v1.0.13
[INFO] [stderr]    Compiling colorchoice v1.0.4
[INFO] [stderr]    Compiling anstyle-query v1.1.5
[INFO] [stderr]    Compiling cc v1.2.56
[INFO] [stderr]    Compiling tokio v1.50.0
[INFO] [stderr]    Compiling portable-atomic v1.13.1
[INFO] [stderr]    Compiling clap_derive v4.6.0
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling unicode-width v0.2.2
[INFO] [stderr]    Compiling hashbrown v0.16.1
[INFO] [stderr]    Compiling serde_json v1.0.149
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling unit-prefix v0.5.2
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling dirs-sys v0.5.0
[INFO] [stderr]    Compiling chrono v0.4.44
[INFO] [stderr]    Compiling fallible-streaming-iterator v0.1.9
[INFO] [stderr]    Compiling colored v3.1.1
[INFO] [stderr]    Compiling console v0.16.2
[INFO] [stderr]    Compiling fallible-iterator v0.3.0
[INFO] [stderr]    Compiling anstream v1.0.0
[INFO] [stderr]    Compiling directories v6.0.0
[INFO] [stderr]    Compiling clap_builder v4.6.0
[INFO] [stderr]    Compiling hashlink v0.11.0
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling cmake v0.1.57
[INFO] [stderr]    Compiling indicatif v0.18.4
[INFO] [stderr]    Compiling dateparser v0.2.1
[INFO] [stderr]    Compiling aws-lc-sys v0.39.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.36.0
[INFO] [stderr]    Compiling clap v4.6.0
[INFO] [stderr]    Compiling clap_complete v4.6.0
[INFO] [stderr]    Compiling tftio-cli-common v2.4.0
[INFO] [stderr]    Compiling hyper v1.8.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling aws-lc-rs v1.16.2
[INFO] [stderr]    Compiling rustls v0.23.37
[INFO] [stderr]    Compiling rustls-webpki v0.103.10
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.6.2
[INFO] [stderr]    Compiling hyper-rustls v0.27.7
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling tftio-bsky-comment-extractor v2.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 38.56s
[INFO] running `Command { std: "docker" "inspect" "7f9cabb2e12e0eea8a924fcd04d449445d3b03599a67446790c74fcf32f9f535", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "7f9cabb2e12e0eea8a924fcd04d449445d3b03599a67446790c74fcf32f9f535", kill_on_drop: false }`
[INFO] [stdout] 7f9cabb2e12e0eea8a924fcd04d449445d3b03599a67446790c74fcf32f9f535
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] 0f542883dcc0bb284993534135b6e40feb459284699059bc6a74531d1d4bf113
[INFO] running `Command { std: "docker" "start" "-a" "0f542883dcc0bb284993534135b6e40feb459284699059bc6a74531d1d4bf113", kill_on_drop: false }`
[INFO] [stderr]    Compiling tower-http v0.6.8
[INFO] [stderr]    Compiling rusqlite v0.38.0
[INFO] [stderr]    Compiling reqwest v0.13.2
[INFO] [stderr]    Compiling tftio-bsky-comment-extractor v2.4.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 6.93s
[INFO] running `Command { std: "docker" "inspect" "0f542883dcc0bb284993534135b6e40feb459284699059bc6a74531d1d4bf113", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "0f542883dcc0bb284993534135b6e40feb459284699059bc6a74531d1d4bf113", kill_on_drop: false }`
[INFO] [stdout] 0f542883dcc0bb284993534135b6e40feb459284699059bc6a74531d1d4bf113
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-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" "+beta-2026-04-21" "test" "--frozen", kill_on_drop: false }`
[INFO] [stdout] 64077896613af30da79602126e0dcbe1e5153dadc3b05ccef9a852dbe9686d03
[INFO] running `Command { std: "docker" "start" "-a" "64077896613af30da79602126e0dcbe1e5153dadc3b05ccef9a852dbe9686d03", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.31s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bsky_comment_extractor-9c5235b402dc34ed)
[INFO] [stdout] 
[INFO] [stdout] running 67 tests
[INFO] [stdout] test cli::tests::test_cli_parse_flat_invocation_fails ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_migrate_defaults ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_migrate_with_db ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_query_rejects_since_flag ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_query_defaults ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_fetch_subcommand ... ok
[INFO] [stdout] test client::tests::test_backoff_delay ... ok
[INFO] [stdout] test cli::tests::test_query_help_shows_query_language_docs ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_query_overrides ... ok
[INFO] [stdout] test client::tests::test_extract_post_fields ... ok
[INFO] [stdout] test client::tests::test_extract_post_fields_missing_created_at ... ok
[INFO] [stdout] test client::tests::test_fetch_summary_has_new_and_existing_count ... ok
[INFO] [stdout] test db::tests::test_extract_structured_fields_no_optional_data ... ok
[INFO] [stdout] test client::tests::test_parse_retry_after_seconds ... ok
[INFO] [stdout] test client::tests::test_parse_rate_limit_reset ... ok
[INFO] [stdout] test client::tests::test_parse_retry_after_missing ... ok
[INFO] [stdout] test cli::tests::test_cli_parse_query_with_filter ... ok
[INFO] [stdout] test client::tests::test_extract_post_fields_missing_text ... ok
[INFO] [stdout] test db::tests::test_db_has_uri_false ... ok
[INFO] [stdout] test db::tests::test_open_existing_db_missing_file_fails ... ok
[INFO] [stdout] test client::tests::test_complete_extraction_sets_completed_at ... ok
[INFO] [stdout] test db::tests::test_load_cursor_missing ... ok
[INFO] [stdout] test db::tests::test_init_db_creates_tables ... ok
[INFO] [stdout] test db::tests::test_is_migrated_false_on_fresh_db ... ok
[INFO] [stdout] test client::tests::test_cursor_persistence_roundtrip ... ok
[INFO] [stdout] test client::tests::test_fetch_all_posts_db_roundtrip ... ok
[INFO] [stdout] test db::tests::test_db_has_uri_true ... ok
[INFO] [stdout] test db::tests::test_count_posts_empty_db_returns_zero ... ok
[INFO] [stdout] test client::tests::test_incremental_stop_on_known_uri ... ok
[INFO] [stdout] test db::tests::test_upsert_extraction ... ok
[INFO] [stdout] test db::tests::test_fts_search_after_migration ... ok
[INFO] [stdout] test db::tests::test_query_posts_orders_by_created_at_then_uri_desc ... ok
[INFO] [stdout] test db::tests::test_save_and_load_cursor ... ok
[INFO] [stdout] test db::tests::test_query_posts_applies_limit_and_offset ... ok
[INFO] [stdout] test db::tests::test_upsert_post_idempotent ... ok
[INFO] [stdout] test models::tests::test_query_post_serializes_only_curated_fields ... ok
[INFO] [stdout] test query_lang::tests::test_all_fields_parse ... ok
[INFO] [stdout] test query_lang::tests::test_parse_comparison_operators ... ok
[INFO] [stdout] test query_lang::tests::test_parse_fts_match ... ok
[INFO] [stdout] test query_lang::tests::test_parse_fts_match_phrase ... ok
[INFO] [stdout] test models::tests::test_query_envelope_serializes_required_fields ... ok
[INFO] [stdout] test query_lang::tests::test_parse_invalid_field_rejected ... ok
[INFO] [stdout] test query_lang::tests::test_parse_empty_query ... ok
[INFO] [stdout] test query_lang::tests::test_parse_is_reply_true_normalizes ... ok
[INFO] [stdout] test query_lang::tests::test_parse_match_only_valid_for_text ... ok
[INFO] [stdout] test query_lang::tests::test_parse_no_operator ... ok
[INFO] [stdout] test query_lang::tests::test_parse_multiple_and ... ok
[INFO] [stdout] test query_lang::tests::test_parse_single_eq ... ok
[INFO] [stdout] test query_lang::tests::test_parse_single_quoted_value ... ok
[INFO] [stdout] test query_lang::tests::test_parse_is_reply_rejects_non_bool ... ok
[INFO] [stdout] test query_lang::tests::test_to_where_clause_combined ... ok
[INFO] [stdout] test db::tests::test_upsert_post_insert ... ok
[INFO] [stdout] test db::tests::test_run_migration_backfills_from_raw_json ... ok
[INFO] [stdout] test db::tests::test_upsert_post_returns_true_for_new ... ok
[INFO] [stdout] test query_lang::tests::test_parse_quoted_value ... ok
[INFO] [stdout] test db::tests::test_upsert_post_returns_false_for_existing ... ok
[INFO] [stdout] test query_lang::tests::test_to_where_clause_fts ... ok
[INFO] [stdout] test query_lang::tests::test_to_where_clause_simple ... ok
[INFO] [stdout] test db::tests::test_fts_case_insensitive ... ok
[INFO] [stdout] test db::tests::test_require_migration_fails_on_fresh_db ... ok
[INFO] [stdout] test db::tests::test_run_migration_adds_columns ... ok
[INFO] [stdout] test db::tests::test_require_migration_passes_after_migration ... ok
[INFO] [stdout] test db::tests::test_run_migration_idempotent ... ok
[INFO] [stdout] test db::tests::test_open_db_creates_parent_dirs ... ok
[INFO] [stdout] test client::tests::test_client_new_auth_mode ... ok
[INFO] [stdout] test client::tests::test_client_new_public_mode ... ok
[INFO] [stdout] test client::tests::test_build_url ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 67 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.24s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bce-b15d970577509dce)
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test tests::tool_spec_declares_only_query_posts_agent_capability ... ok
[INFO] [stderr] {"error":"db_not_found","message":"database not found: /tmp/bce-missing-db-84-1777257564841792365.sqlite"}
[INFO] [stdout] test tests::test_make_spinner_quiet ... ok
[INFO] [stdout] test tests::run_returns_success_for_query_command ... ok
[INFO] [stdout] test tests::test_db_path_default ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/agent_surface.rs (/opt/rustwide/target/debug/deps/agent_surface-0a3694875bc1f989)
[INFO] [stdout] 
[INFO] [stdout] running 3 tests
[INFO] [stdout] test agent_surface_hidden_fetch_is_rejected_in_agent_mode ... ok
[INFO] [stdout] test agent_surface_skill_query_posts_renders_single_capability_contract ... ok
[INFO] [stderr]      Running tests/query_cli.rs (/opt/rustwide/target/debug/deps/query_cli-0849f5a436030f1b)
[INFO] [stdout] test agent_surface_help_shows_only_query_posts_capability ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.06s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stdout] test query_without_filter_still_works_without_migration ... ok
[INFO] [stdout] test query_without_migration_fails_when_filter_used ... ok
[INFO] [stdout] test query_offset_skips_rows ... ok
[INFO] [stdout] test query_does_not_require_bsky_app_password ... ok
[INFO] [stdout] test migrate_command_succeeds ... ok
[INFO] [stdout] test query_outputs_jsonl ... ok
[INFO] [stdout] test query_limit_controls_page_size ... ok
[INFO] [stdout] test query_db_override_and_missing_db ... ok
[INFO] [stdout] test query_filter_case_insensitive_fts ... ok
[INFO] [stdout] test query_filter_fts_text_search ... ok
[INFO] [stdout] test migrate_command_idempotent ... ok
[INFO] [stdout] test query_filter_is_reply ... ok
[INFO] [stdout] test query_filter_created_at_range ... ok
[INFO] [stdout] test query_filter_combined_and ... ok
[INFO] [stderr]    Doc-tests bsky_comment_extractor
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.26s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "64077896613af30da79602126e0dcbe1e5153dadc3b05ccef9a852dbe9686d03", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "64077896613af30da79602126e0dcbe1e5153dadc3b05ccef9a852dbe9686d03", kill_on_drop: false }`
[INFO] [stdout] 64077896613af30da79602126e0dcbe1e5153dadc3b05ccef9a852dbe9686d03
