[INFO] cloning repository https://github.com/olafkfreund/bifrost
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/olafkfreund/bifrost" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Folafkfreund%2Fbifrost", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Folafkfreund%2Fbifrost'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] c09bb97cb9eb59d92ca9219c054d74ef190d5157
[INFO] testing olafkfreund/bifrost against 1.98.0-beta.1 for beta-1.98-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Folafkfreund%2Fbifrost" "/workspace/builds/worker-5-tc2/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-5-tc2/source'...
[INFO] [stderr] done.
[INFO] removed /workspace/builds/worker-5-tc2/source/rust-toolchain.toml
[INFO] started tweaking git repo https://github.com/olafkfreund/bifrost
[INFO] finished tweaking git repo https://github.com/olafkfreund/bifrost
[INFO] tweaked toml for git repo https://github.com/olafkfreund/bifrost written to /workspace/builds/worker-5-tc2/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/olafkfreund/bifrost on toolchain 1.98.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/olafkfreund/bifrost already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.98.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-5-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3d5ced03c013a94a2f102a4510f48a6e9184255caf5fd8244f58017bde7f5210" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858
[INFO] running `Command { std: "docker" "start" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling memchr v2.8.1
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling log v0.4.32
[INFO] [stderr]    Compiling cc v1.2.63
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling tokio v1.52.3
[INFO] [stderr]    Compiling futures-channel v0.3.32
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling http-body v1.0.1
[INFO] [stderr]    Compiling zeroize v1.8.2
[INFO] [stderr]    Compiling crossbeam-utils v0.8.21
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling rustls-pki-types v1.14.1
[INFO] [stderr]    Compiling time-macros v0.2.27
[INFO] [stderr]    Compiling http-body-util v0.1.3
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling num-integer v0.1.46
[INFO] [stderr]    Compiling async-trait v0.1.89
[INFO] [stderr]    Compiling parking v2.2.1
[INFO] [stderr]    Compiling futures-util v0.3.32
[INFO] [stderr]    Compiling crc-catalog v2.5.0
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling hmac v0.12.1
[INFO] [stderr]    Compiling webpki-roots v1.0.7
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling num-bigint v0.4.6
[INFO] [stderr]    Compiling crc v3.4.0
[INFO] [stderr]    Compiling tinyvec v1.11.0
[INFO] [stderr]    Compiling hashlink v0.10.0
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling inout v0.1.4
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling cipher v0.4.4
[INFO] [stderr]    Compiling rand_chacha v0.3.1
[INFO] [stderr]    Compiling concurrent-queue v2.5.0
[INFO] [stderr]    Compiling crossbeam-queue v0.3.12
[INFO] [stderr]    Compiling event-listener v5.4.1
[INFO] [stderr]    Compiling universal-hash v0.5.1
[INFO] [stderr]    Compiling spin v0.9.8
[INFO] [stderr]    Compiling atoi v2.0.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.18
[INFO] [stderr]    Compiling unicode-properties v0.1.4
[INFO] [stderr]    Compiling polyval v0.6.2
[INFO] [stderr]    Compiling flume v0.11.1
[INFO] [stderr]    Compiling rand v0.8.6
[INFO] [stderr]    Compiling hkdf v0.12.4
[INFO] [stderr]    Compiling md-5 v0.10.6
[INFO] [stderr]    Compiling md5 v0.7.0
[INFO] [stderr]    Compiling time v0.3.47
[INFO] [stderr]    Compiling weezl v0.1.12
[INFO] [stderr]    Compiling dotenvy v0.15.7
[INFO] [stderr]    Compiling home v0.5.12
[INFO] [stderr]    Compiling byteorder v1.5.0
[INFO] [stderr]    Compiling whoami v1.6.1
[INFO] [stderr]    Compiling ttf-parser v0.19.2
[INFO] [stderr]    Compiling linked-hash-map v0.5.6
[INFO] [stderr]    Compiling ghash v0.5.1
[INFO] [stderr]    Compiling stringprep v0.1.5
[INFO] [stderr]    Compiling ctr v0.9.2
[INFO] [stderr]    Compiling aes v0.8.4
[INFO] [stderr]    Compiling tracing-log v0.2.0
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling aead v0.5.2
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling matchit v0.7.3
[INFO] [stderr]    Compiling ring v0.17.14
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling libsqlite3-sys v0.30.1
[INFO] [stderr]    Compiling aes-gcm v0.10.3
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling owned_ttf_parser v0.19.0
[INFO] [stderr]    Compiling serde_path_to_error v0.1.20
[INFO] [stderr]    Compiling simple_asn1 v0.6.4
[INFO] [stderr]    Compiling smallvec v1.15.1
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling either v1.16.0
[INFO] [stderr]    Compiling tracing-serde v0.2.0
[INFO] [stderr]    Compiling bifrost-core v0.1.0 (/opt/rustwide/workdir/crates/bifrost-core)
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling parking_lot_core v0.9.12
[INFO] [stderr]    Compiling parking_lot v0.12.5
[INFO] [stderr]    Compiling futures-intrusive v0.5.0
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling futures-executor v0.3.32
[INFO] [stderr]    Compiling axum-core v0.4.5
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling bstr v1.12.1
[INFO] [stderr]    Compiling matchers v0.2.0
[INFO] [stderr]    Compiling rustls v0.23.40
[INFO] [stderr]    Compiling tracing-subscriber v0.3.23
[INFO] [stderr]    Compiling pom v3.4.0
[INFO] [stderr]    Compiling lopdf v0.31.0
[INFO] [stderr]    Compiling hyper v1.10.1
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling tokio-util v0.7.18
[INFO] [stderr]    Compiling rustls-webpki v0.103.13
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling jsonwebtoken v9.3.1
[INFO] [stderr]    Compiling tokio-stream v0.1.18
[INFO] [stderr]    Compiling sqlx-core v0.8.6
[INFO] [stderr]    Compiling printpdf v0.7.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling axum v0.7.9
[INFO] [stderr]    Compiling sqlx-postgres v0.8.6
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.12.28
[INFO] [stderr]    Compiling sqlx-sqlite v0.8.6
[INFO] [stderr]    Compiling bifrost-llm v0.1.0 (/opt/rustwide/workdir/crates/bifrost-llm)
[INFO] [stderr]    Compiling sqlx v0.8.6
[INFO] [stderr]    Compiling bifrost-mcp v0.1.0 (/opt/rustwide/workdir/crates/bifrost-mcp)
[INFO] [stderr]    Compiling bifrost-adapters v0.1.0 (/opt/rustwide/workdir/crates/bifrost-adapters)
[INFO] [stderr]    Compiling bifrost-cli v0.1.0 (/opt/rustwide/workdir/crates/bifrost-cli)
[INFO] [stderr]    Compiling bifrost-api v0.1.0 (/opt/rustwide/workdir/crates/bifrost-api)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 1m 26s
[INFO] running `Command { std: "docker" "inspect" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling bifrost-core v0.1.0 (/opt/rustwide/workdir/crates/bifrost-core)
[INFO] [stderr]    Compiling bifrost-llm v0.1.0 (/opt/rustwide/workdir/crates/bifrost-llm)
[INFO] [stderr]    Compiling bifrost-mcp v0.1.0 (/opt/rustwide/workdir/crates/bifrost-mcp)
[INFO] [stderr]    Compiling bifrost-adapters v0.1.0 (/opt/rustwide/workdir/crates/bifrost-adapters)
[INFO] [stderr]    Compiling bifrost-api v0.1.0 (/opt/rustwide/workdir/crates/bifrost-api)
[INFO] [stderr]    Compiling bifrost-cli v0.1.0 (/opt/rustwide/workdir/crates/bifrost-cli)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 27.97s
[INFO] running `Command { std: "docker" "inspect" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=warn" "-e" "RUSTDOCFLAGS=--cap-lints=warn" "-w" "/opt/rustwide/workdir" "--user" "0:0" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858" "/opt/rustwide/cargo-home/bin/cargo" "+1.98.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.45s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bifrost_adapters-82514485834709ba)
[INFO] [stdout] 
[INFO] [stdout] running 103 tests
[INFO] [stdout] test ado_auth::tests::live_mints_an_ado_token ... ignored, calls Entra — needs a real service principal
[INFO] [stdout] test azure_devops::tests::live_discover_and_enumerate ... ignored, requires live ADO credentials
[INFO] [stdout] test azure_devops::tests::classifies_classic_when_no_yamlfilename ... ok
[INFO] [stdout] test azure_devops::tests::classifies_yaml_pipeline_by_yamlfilename ... ok
[INFO] [stdout] test azure_devops::tests::parsers_never_retain_secret_values_or_credentials ... ok
[INFO] [stdout] test azure_devops::tests::parses_projects ... ok
[INFO] [stdout] test bamboo::tests::live_enumerate ... ignored, requires a live Bamboo (BAMBOO_URL / BAMBOO_TOKEN)
[INFO] [stdout] test ado_auth::tests::entra_token_url_is_the_v2_endpoint ... ok
[INFO] [stdout] test bamboo::tests::plans_are_classic_and_grouped_by_project_key ... ok
[INFO] [stdout] test baseline::tests::live_fetches_ado_baseline ... ignored, reads the real ADO API — run only with AZDO_* set against a project you own
[INFO] [stdout] test bamboo::tests::projects_are_parsed_from_the_nested_shape ... ok
[INFO] [stdout] test bamboo::tests::variables_record_names_and_sensitive_flag_only ... ok
[INFO] [stdout] test ado_auth::tests::pat_auth_applies_basic ... ok
[INFO] [stdout] test bitbucket::tests::live_enumerate ... ignored, requires a live Bitbucket (BITBUCKET_WORKSPACE / BITBUCKET_USER / BITBUCKET_APP_PASSWORD)
[INFO] [stdout] test azure_devops::tests::parses_service_connections_name_and_type ... ok
[INFO] [stdout] test bitbucket::tests::projects_are_the_distinct_workspace_projects ... ok
[INFO] [stdout] test bitbucket::tests::repos_classify_enabled_as_yaml_and_disabled_as_classic ... ok
[INFO] [stdout] test bitbucket::tests::variables_record_names_and_secured_flag_only ... ok
[INFO] [stdout] test board::tests::issue_body_renders_a_checklist ... ok
[INFO] [stdout] test board::tests::live_provisions_a_board ... ignored, creates a real repo + org Project — run only against an org you own
[INFO] [stdout] test board::tests::mock_captures_status_options_and_resolves_a_sync_target ... ok
[INFO] [stdout] test board::tests::mock_provisions_repo_project_fields_and_one_issue_per_pipeline ... ok
[INFO] [stdout] test board::tests::mock_second_provision_is_idempotent ... ok
[INFO] [stdout] test board::tests::status_sync_target_is_none_when_unresolvable ... ok
[INFO] [stdout] test circleci::tests::envvars_record_names_only_and_never_masked_values ... ok
[INFO] [stdout] test circleci::tests::every_project_is_a_yaml_pipeline ... ok
[INFO] [stdout] test circleci::tests::live_enumerate ... ignored, requires a live CircleCI (CIRCLECI_TOKEN)
[INFO] [stdout] test circleci::tests::projects_are_the_distinct_vcs_orgs ... ok
[INFO] [stdout] test convert::tests::classic_pipeline_becomes_a_manual_rework_proposal_without_gap_fill ... ok
[INFO] [stdout] test convert::tests::air_gap_conversion_makes_zero_frontier_egress ... ok
[INFO] [stdout] test convert::tests::converts_a_pipeline_into_a_draft_proposal_and_runbook ... ok
[INFO] [stdout] test convert::tests::detects_dotnet_from_the_pipeline ... ok
[INFO] [stdout] test convert::tests::detects_multiple_languages_and_tools ... ok
[INFO] [stdout] test convert::tests::snippet_extracts_the_task_block_with_its_inputs ... ok
[INFO] [stdout] test convert::tests::snippet_falls_back_to_the_construct_when_unavailable ... ok
[INFO] [stdout] test convert::tests::snippet_matches_a_dotted_construct_by_last_segment ... ok
[INFO] [stdout] test convert::tests::unknown_when_nothing_detected ... ok
[INFO] [stdout] test convert::tests::air_gap_conversion_uses_only_the_local_provider ... ok
[INFO] [stdout] test docker_importer::tests::digest_pinned_image_is_its_own_digest ... ok
[INFO] [stdout] test docker_importer::tests::extracts_definition_id_from_config ... ok
[INFO] [stdout] test docker_importer::tests::extracts_org_from_url ... ok
[INFO] [stdout] test docker_importer::tests::live_audit_against_real_org ... ignored, requires Docker + live ADO/GitHub credentials
[INFO] [stdout] test docker_importer::tests::live_dry_run_produces_a_real_conversion ... ignored, requires Docker + live ADO/GitHub credentials
[INFO] [stdout] test docker_importer::tests::for_source_builds_a_generic_importer_or_none ... ok
[INFO] [stdout] test docker_importer::tests::pipeline_dir_candidates_prefer_nested_then_flat ... ok
[INFO] [stdout] test docker_importer::tests::source_mapping_picks_subcommand_and_env_per_platform ... ok
[INFO] [stdout] test github_auth::tests::live_mints_installation_token ... ignored, calls the real GitHub App API — needs GITHUB_APP_* configured
[INFO] [stdout] test github_auth::tests::invalid_private_key_is_rejected ... ok
[INFO] [stdout] test gitlab::tests::live_enumerate ... ignored, requires a live GitLab (GITLAB_URL / GITLAB_TOKEN)
[INFO] [stdout] test gitlab::tests::groups_become_projects ... ok
[INFO] [stdout] test github_auth::tests::static_token_returns_the_token ... ok
[INFO] [stdout] test importer::tests::dry_run_extracts_id_and_converted_ratio ... ok
[INFO] [stdout] test importer::tests::dry_run_groups_gaps_by_kind ... ok
[INFO] [stdout] test importer::tests::parse_forecast_falls_back_to_sum_without_an_explicit_total ... ok
[INFO] [stdout] test importer::tests::parses_a_real_audit_summary ... ignored, requires a real audit_summary.md path in BIFROST_REAL_AUDIT
[INFO] [stdout] test importer::tests::parses_actions_allowlist_without_counts ... ok
[INFO] [stdout] test gitlab::tests::path_ids_are_percent_encoded_for_the_api ... ok
[INFO] [stdout] test importer::tests::parse_forecast_extracts_total_and_per_pipeline ... ok
[INFO] [stdout] test importer::tests::parses_pipeline_and_step_counts_from_bold_percent_format ... ok
[INFO] [stdout] test importer::tests::parses_secret_and_environment_manual_tasks ... ok
[INFO] [stdout] test importer::tests::parses_unknown_build_steps_with_counts ... ok
[INFO] [stdout] test jenkins::tests::credentials_record_id_and_type_only ... ok
[INFO] [stdout] test board::tests::mock_sync_issue_status_records_an_updated_action ... ok
[INFO] [stdout] test jenkins::tests::live_enumerate ... ignored, requires a live Jenkins (JENKINS_URL / JENKINS_USER / JENKINS_TOKEN)
[INFO] [stdout] test gitlab::tests::variables_record_names_and_secret_flag_only ... ok
[INFO] [stdout] test jenkins::tests::projects_are_the_folders_plus_root ... ok
[INFO] [stdout] test jenkins::tests::parses_jobs_classifying_pipeline_vs_freestyle_and_folders ... ok
[INFO] [stdout] test importer::tests::parses_manual_task_secret_names ... ok
[INFO] [stdout] test publisher::tests::live_opens_a_pr ... ignored, creates a real PR — run only against a sandbox repo you own
[INFO] [stdout] test importer::tests::parses_unsupported_steps_from_a_real_converted_workflow ... ok
[INFO] [stdout] test publisher::tests::mock_publisher_returns_a_synthetic_pr_url ... ok
[INFO] [stdout] test publisher::tests::refuses_to_commit_to_the_base_branch ... ok
[INFO] [stdout] test source::tests::classic_pipelines_have_no_yaml_source ... ok
[INFO] [stdout] test importer::tests::mock_importer_audits_and_dry_runs ... ok
[INFO] [stdout] test orchestrator::tests::audits_org_into_a_computed_portfolio ... ok
[INFO] [stdout] test github_auth::tests::app_jwt_is_signed_and_has_correct_claims ... ok
[INFO] [stdout] test source::tests::mock_adapter_enumerates_and_classifies ... ok
[INFO] [stdout] test orchestrator::tests::merge_combines_orgs_and_recomputes_totals ... ok
[INFO] [stdout] test source::tests::secret_variables_are_flagged_but_present_by_name_only ... ok
[INFO] [stdout] test source::tests::unknown_pipeline_is_not_found ... ok
[INFO] [stdout] test orchestrator::tests::totals_are_consistent_with_entries ... ok
[INFO] [stdout] test orchestrator::tests::provenance_digest_flows_into_the_summary ... ok
[INFO] [stdout] test importer::tests::unknown_sections_are_ignored ... ok
[INFO] [stdout] test orchestrator::tests::forecast_total_flows_into_portfolio_totals ... ok
[INFO] [stdout] test source_factory::tests::cloud_platforms_build_without_a_base_url ... ok
[INFO] [stdout] test source_factory::tests::builds_each_supported_platform ... ok
[INFO] [stdout] test source_factory::tests::missing_required_fields_and_unknown_platform_do_not_build ... ok
[INFO] [stdout] test travis::tests::env_vars_flag_secret_by_public_and_keep_names_only ... ok
[INFO] [stdout] test travis::tests::live_enumerate ... ignored, requires a live Travis (TRAVIS_TOKEN)
[INFO] [stdout] test test_fixtures::tests::every_fixture_loads_and_parses ... ok
[INFO] [stdout] test travis::tests::owners_are_the_distinct_logins ... ok
[INFO] [stdout] test travis::tests::slug_is_percent_encoded_for_the_api ... ok
[INFO] [stdout] test travis::tests::every_repo_is_a_yaml_pipeline_keyed_by_slug ... ok
[INFO] [stdout] test validate::tests::declared_outputs_collects_workflow_and_job_outputs ... ok
[INFO] [stdout] test validate::tests::declared_outputs_empty_when_none ... ok
[INFO] [stdout] test validate::tests::live_captures_a_run ... ignored, reads a real GitHub run — run only against a sandbox you own
[INFO] [stdout] test validate::tests::live_dispatches_a_workflow ... ignored, triggers a real workflow run — run only against a sandbox you own
[INFO] [stdout] test validate::tests::mock_collector_reports_success ... ok
[INFO] [stdout] test validate::tests::mock_trigger_reports_dispatched ... ok
[INFO] [stdout] test gitlab::tests::projects_classify_auto_devops_as_classic_and_committed_as_yaml ... ok
[INFO] [stdout] test azure_devops::tests::parses_variable_groups_names_and_secret_flags_only ... ok
[INFO] [stdout] test baseline::tests::mock_baseline_reports_a_successful_run ... ok
[INFO] [stdout] test circleci::tests::project_slug_picks_the_vcs_prefix ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 86 passed; 0 failed; 17 ignored; 0 measured; 0 filtered out; finished in 0.05s
[INFO] [stdout] 
[INFO] [stderr]      Running tests/conformance.rs (/opt/rustwide/target/debug/deps/conformance-f04daad3d51475dc)
[INFO] [stdout] 
[INFO] [stdout] running 7 tests
[INFO] [stdout] test bamboo_is_conformant ... ok
[INFO] [stdout] test gitlab_is_conformant ... ok
[INFO] [stdout] test travis_is_conformant ... ok
[INFO] [stdout] test azure_devops_is_conformant ... ok
[INFO] [stdout] test jenkins_is_conformant ... ok
[INFO] [stdout] test bitbucket_is_conformant ... ok
[INFO] [stdout] test circleci_is_conformant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 7 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bifrost_api-26b30a460f8d7b54)
[INFO] [stdout] 
[INFO] [stdout] running 66 tests
[INFO] [stdout] test auth::tests::generic_oidc_no_roles_yields_viewer ... ok
[INFO] [stdout] test auth::tests::generic_oidc_maps_roles_from_groups_claim ... ok
[INFO] [stdout] test auth::tests::generic_oidc_configurable_tenant_claim ... ok
[INFO] [stdout] test auth::tests::github_admin_login_maps_to_admin_case_insensitive ... ok
[INFO] [stdout] test auth::tests::github_null_name_and_email_are_omitted ... ok
[INFO] [stdout] test auth::tests::github_user_maps_to_viewer_by_default ... ok
[INFO] [stdout] test auth::tests::mock_authenticator_yields_local_admin ... ok
[INFO] [stdout] test auth::tests::generic_oidc_wrong_issuer_rejected ... ok
[INFO] [stdout] test metrics::tests::output_carries_help_and_type_lines ... ok
[INFO] [stdout] test metrics::tests::records_and_renders_http_counts_and_histogram ... ok
[INFO] [stdout] test pdf::tests::wrap_breaks_on_word_boundaries ... ok
[INFO] [stdout] test pdf::tests::renders_a_valid_non_empty_pdf ... ok
[INFO] [stdout] test auth::tests::wrong_issuer_is_rejected ... ok
[INFO] [stdout] test secrets::tests::decrypt_fails_with_a_different_key ... ok
[INFO] [stdout] test secrets::tests::decrypt_rejects_a_malformed_nonce ... ok
[INFO] [stdout] test secrets::tests::resolver_decrypts_inline_with_the_master_key ... ok
[INFO] [stdout] test jobs::tests::job_skips_already_converted_pipelines ... ok
[INFO] [stdout] test metrics::tests::records_domain_counters ... ok
[INFO] [stdout] test store::tests::postgres_round_trips_and_appends_audit ... ignored, requires a Postgres server in BIFROST_PG_TEST_URL
[INFO] [stdout] test secrets::tests::encrypt_then_decrypt_round_trips ... ok
[INFO] [stdout] test secrets::tests::resolver_reads_env_var_refs ... ok
[INFO] [stdout] test jobs::tests::job_converts_all_pipelines_and_reports_done ... ok
[INFO] [stdout] test tests::air_gap_toggles_unless_locked ... ok
[INFO] [stdout] test auth::tests::no_roles_claim_yields_viewer_only ... ok
[INFO] [stdout] test tests::ado_inputs_resolves_org_url_and_secret ... ok
[INFO] [stdout] test secrets::tests::vault_and_app_refs_are_unsupported_for_now ... ok
[INFO] [stdout] test auth::tests::wrong_audience_is_rejected ... ok
[INFO] [stdout] test tests::attest_requires_committed ... ok
[INFO] [stdout] test tests::attestation_exports_a_signed_record_for_any_proposal ... ok
[INFO] [stdout] test tests::connections_are_admin_only ... ok
[INFO] [stdout] test tests::connection_providers_build_by_family_and_respect_air_gap_eligibility ... ok
[INFO] [stdout] test tests::me_returns_identity_when_present_and_401_when_absent ... ok
[INFO] [stdout] test tests::air_gap_setting_reads_open_but_toggles_admin_only ... ok
[INFO] [stdout] test tests::audit_pack_bundles_every_migration_and_verifies ... ok
[INFO] [stdout] test tests::conversion_helper_produces_a_draft_proposal_and_runbook ... ok
[INFO] [stdout] test tests::parity_requires_committed ... ok
[INFO] [stdout] test auth::tests::valid_token_maps_to_identity_with_roles ... ok
[INFO] [stdout] test tests::metrics_endpoint_is_open_and_reflects_traffic ... ok
[INFO] [stdout] test tests::program_board_export_returns_management_snapshot_md_and_json ... ok
[INFO] [stdout] test tests::program_board_provision_uses_the_mock_offline_and_records_the_attestation_trail ... ok
[INFO] [stdout] test tests::required_role_gates_by_method_and_path ... ok
[INFO] [stdout] test tests::portfolio_overlays_live_review_state_from_the_store ... ok
[INFO] [stdout] test tests::proposal_id_from_path_extracts_the_id ... ok
[INFO] [stdout] test tests::parity_after_commit_reports_a_verdict ... ok
[INFO] [stdout] test tests::connection_crud_encrypts_inline_redacts_and_scopes_by_tenant ... ok
[INFO] [stdout] test tests::source_connection_input_maps_to_the_source_kind ... ok
[INFO] [stdout] test tests::providers_endpoint_lists_the_catalog ... ok
[INFO] [stdout] test tests::run_result_requires_committed ... ok
[INFO] [stdout] test tests::routing_policy_round_trips_per_tenant ... ok
[INFO] [stdout] test tests::convert_stores_then_transition_walks_the_lifecycle ... ok
[INFO] [stdout] test auth::tests::generic_oidc_valid_token_maps_roles_from_roles_claim ... ok
[INFO] [stdout] test tests::transition_with_unmatched_pipeline_is_a_no_op ... ok
[INFO] [stdout] test tests::sample_portfolio_tags_org ... ok
[INFO] [stdout] test tests::validate_requires_committed ... ok
[INFO] [stdout] test tests::commit_requires_approval_then_opens_a_pr_and_moves_to_committed ... ok
[INFO] [stdout] test tests::enforced_auth_requires_token_role_and_tenant ... ok
[INFO] [stdout] test tests::transition_syncs_board_status_when_a_board_exists ... ok
[INFO] [stdout] test auth::tests::generic_oidc_wrong_audience_rejected ... ok
[INFO] [stdout] test tests::run_result_after_commit_reports_mock_run ... ok
[INFO] [stdout] test tests::transition_without_a_board_is_a_clean_no_op ... ok
[INFO] [stdout] test store::tests::sqlite_persists_across_reconnect ... ok
[INFO] [stdout] test tests::attest_records_parity_on_proposal_and_in_audit_log ... ok
[INFO] [stdout] test tests::validate_is_gated_on_required_manual_tasks ... ok
[INFO] [stdout] test tests::illegal_transition_and_edit_after_approval_are_409_unknown_is_404 ... ok
[INFO] [stdout] test store::tests::sqlite_round_trips_a_proposal_and_appends_audit ... ok
[INFO] [stdout] test store::tests::sqlite_round_trips_the_tenant ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 65 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.17s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/main.rs (/opt/rustwide/target/debug/deps/bifrost-7d2b3039917fe709)
[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 unittests src/lib.rs (/opt/rustwide/target/debug/deps/bifrost_core-ae1ff56234e8e1b6)
[INFO] [stdout] 
[INFO] [stdout] running 73 tests
[INFO] [stdout] test agent_instructions::tests::always_emits_conventions_and_review_first ... ok
[INFO] [stdout] test assemble::tests::empty_baseline_still_emits_the_gap_fill_section ... ok
[INFO] [stdout] test agent_instructions::tests::grounds_in_the_audit ... ok
[INFO] [stdout] test attest::tests::hex_roundtrips ... ok
[INFO] [stdout] test attest::tests::build_captures_decisions_and_risk ... ok
[INFO] [stdout] test attest::tests::signing_is_deterministic ... ok
[INFO] [stdout] test attest::tests::audit_pack_build_is_order_independent ... ok
[INFO] [stdout] test attest::tests::verify_fails_on_tamper ... ok
[INFO] [stdout] test attest::tests::audit_pack_summarizes_signs_and_verifies ... ok
[INFO] [stdout] test assemble::tests::no_fills_returns_the_baseline_unchanged ... ok
[INFO] [stdout] test attest::tests::sign_then_verify_roundtrips ... ok
[INFO] [stdout] test attest::tests::verify_fails_with_wrong_key ... ok
[INFO] [stdout] test assemble::tests::fills_are_appended_with_provenance_after_the_baseline ... ok
[INFO] [stdout] test completeness::tests::every_row_has_a_github_equivalent ... ok
[INFO] [stdout] test connection::tests::redaction_strips_encrypted_material_but_keeps_locators ... ok
[INFO] [stdout] test conversion::tests::built_pipeline_carries_the_computed_assessment ... ok
[INFO] [stdout] test conversion::tests::clean_signals_produce_a_green_pipeline ... ok
[INFO] [stdout] test connection::tests::llm_connection_round_trips_with_residency_and_local_flag ... ok
[INFO] [stdout] test attest::tests::attestation_records_model_provenance ... ok
[INFO] [stdout] test conversion::tests::fully_converted_dry_run_with_no_gaps_is_green ... ok
[INFO] [stdout] test conversion::tests::signals_are_derived_from_gaps ... ok
[INFO] [stdout] test conversion::tests::dry_run_pipeline_is_amber_for_this_fixture ... ok
[INFO] [stdout] test forecast::tests::cost_rounds_to_cents ... ok
[INFO] [stdout] test forecast::tests::empty_portfolio_is_zero ... ok
[INFO] [stdout] test forecast::tests::per_project_is_grouped_and_sorted_by_minutes_desc ... ok
[INFO] [stdout] test connection::tests::vault_and_app_refs_survive_redaction_unchanged ... ok
[INFO] [stdout] test forecast::tests::totals_and_cost_are_deterministic ... ok
[INFO] [stdout] test identity::tests::actor_prefers_email_then_name_then_subject ... ok
[INFO] [stdout] test identity::tests::role_from_claim_is_case_insensitive_and_aliased ... ok
[INFO] [stdout] test identity::tests::has_role_uses_highest_held ... ok
[INFO] [stdout] test identity::tests::roles_are_privilege_ordered ... ok
[INFO] [stdout] test parity::tests::identical_runs_pass ... ok
[INFO] [stdout] test parity::tests::extra_artifacts_are_informational_not_a_gap ... ok
[INFO] [stdout] test gei::tests::coordinates_pipeline_progress_per_project_with_repos_pending ... ok
[INFO] [stdout] test identity::tests::no_roles_defaults_to_viewer ... ok
[INFO] [stdout] test program::tests::cohorts_pipelines_into_three_waves_by_difficulty ... ok
[INFO] [stdout] test parity::tests::status_mismatch_is_a_gap ... ok
[INFO] [stdout] test program::tests::progress_tally_buckets_statuses ... ok
[INFO] [stdout] test program_board::tests::humanize_minutes_steps_through_units ... ok
[INFO] [stdout] test program_board::tests::export_markdown_has_management_sections ... ok
[INFO] [stdout] test program_board::tests::waves_match_difficulty ... ok
[INFO] [stdout] test parity::tests::missing_artifact_is_a_gap ... ok
[INFO] [stdout] test program_board::tests::export_kpis_match_the_plan_and_waves_group_correctly ... ok
[INFO] [stdout] test parity::tests::missing_output_is_a_gap ... ok
[INFO] [stdout] test program_board::tests::plan_has_fields_one_issue_per_pipeline_and_kpis ... ok
[INFO] [stdout] test proposal::tests::editing_after_approval_is_rejected ... ok
[INFO] [stdout] test proposal::tests::new_proposal_starts_in_draft_with_deterministic_risk ... ok
[INFO] [stdout] test proposal::tests::parity_attestation_before_commit_is_rejected ... ok
[INFO] [stdout] test proposal::tests::editing_before_approval_updates_yaml_and_logs_a_same_state_event ... ok
[INFO] [stdout] test proposal::tests::parity_attestation_records_on_committed_and_logs_a_same_state_event ... ok
[INFO] [stdout] test proposal::tests::changes_requested_can_be_resubmitted ... ok
[INFO] [stdout] test proposal::tests::illegal_transition_is_rejected_and_not_logged ... ok
[INFO] [stdout] test readiness::tests::egress_reflects_air_gap ... ok
[INFO] [stdout] test proposal::tests::full_legal_lifecycle_is_recorded_in_order ... ok
[INFO] [stdout] test report::tests::stats_count_secrets_and_connections_to_add ... ok
[INFO] [stdout] test report::tests::project_scope_filters_pipelines_and_setup ... ok
[INFO] [stdout] test risk::tests::assessment_is_deterministic ... ok
[INFO] [stdout] test report::tests::report_lists_github_setup_and_what_changes ... ok
[INFO] [stdout] test risk::tests::classic_alone_lands_amber ... ok
[INFO] [stdout] test completeness::tests::classifies_known_categories_from_audit_data ... ok
[INFO] [stdout] test risk::tests::service_connection_contribution_is_capped ... ok
[INFO] [stdout] test risk::tests::score_is_the_capped_sum_of_contributions ... ok
[INFO] [stdout] test runbook::tests::categorises_manual_tasks_from_real_sarc_shape ... ok
[INFO] [stdout] test runbook::tests::first_party_steps_and_partial_constructs_are_not_manual ... ok
[INFO] [stdout] test runbook::tests::namespaced_unsupported_task_becomes_a_replacement_action ... ok
[INFO] [stdout] test runbook::tests::self_hosted_runner_and_variable_group_categorised ... ok
[INFO] [stdout] test source_stats::tests::aggregates_mix_density_and_per_project ... ok
[INFO] [stdout] test risk::tests::bands_partition_the_score_range ... ok
[INFO] [stdout] test risk::tests::adding_a_risk_signal_never_lowers_the_score ... ok
[INFO] [stdout] test readiness::tests::derives_action_items_from_audit_and_marks_gates_unverified ... ok
[INFO] [stdout] test risk::tests::clean_yaml_pipeline_is_green_with_no_factors ... ok
[INFO] [stdout] test risk::tests::classic_release_with_connections_and_gates_is_red ... ok
[INFO] [stdout] test proposal::tests::self_edges_and_backward_edges_are_illegal ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 73 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
[INFO] [stdout] 
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/deps/bifrost_llm-a3644590b8ed65e3)
[INFO] [stdout] 
[INFO] [stdout] running 51 tests
[INFO] [stdout] test anthropic::tests::live_fills_a_real_gap ... ignored, requires ANTHROPIC_API_KEY and network
[INFO] [stdout] test anthropic::tests::extracts_text_blocks_and_skips_thinking ... ok
[INFO] [stdout] test anthropic::tests::defaults_to_opus_and_is_not_local ... ok
[INFO] [stdout] test copilot::tests::live_copilot_fills_a_real_gap ... ignored, requires a GitHub token with models access and network
[INFO] [stdout] test azure_openai::tests::private_endpoint_is_air_gap_eligible_and_defaults_api_version ... ok
[INFO] [stdout] test azure_openai::tests::builds_the_azure_deployment_url_with_api_version ... ok
[INFO] [stdout] test copilot::tests::request_body_carries_the_grounded_prompt ... ok
[INFO] [stdout] test copilot::tests::extracts_first_choice_message ... ok
[INFO] [stdout] test copilot::tests::defaults_and_is_not_local ... ok
[INFO] [stdout] test cost::tests::budget_blocks_the_call_that_would_exceed_it ... ok
[INFO] [stdout] test cost::tests::budget_allows_calls_until_the_cap_then_stops ... ok
[INFO] [stdout] test cost::tests::estimate_tokens_is_chars_over_four_rounded_up ... ok
[INFO] [stdout] test anthropic::tests::request_body_sends_adaptive_thinking_and_grounded_prompt ... ok
[INFO] [stdout] test cost::tests::ledger_accumulates_tokens_cost_and_breakdown ... ok
[INFO] [stdout] test gemini::tests::defaults_to_flash_and_is_not_local ... ok
[INFO] [stdout] test cost::tests::local_providers_bypass_an_exhausted_rate_limiter ... ok
[INFO] [stdout] test cost::tests::local_provider_calls_are_free ... ok
[INFO] [stdout] test cost::tests::cost_is_zero_for_local_and_priced_for_frontier ... ok
[INFO] [stdout] test gemini::tests::live_gemini_fills_a_real_gap ... ignored, requires GEMINI_API_KEY and network
[INFO] [stdout] test gemini::tests::extracts_text_from_first_candidate_parts ... ok
[INFO] [stdout] test ollama::tests::live_fills_a_real_gap ... ignored, requires a running local Ollama server
[INFO] [stdout] test gemini::tests::request_body_carries_the_grounded_prompt ... ok
[INFO] [stdout] test cost::tests::rate_limiter_caps_concurrent_permits ... ok
[INFO] [stdout] test openai_compatible::tests::live_fills_a_real_gap ... ignored, requires a running OpenAI-compatible server + BIFROST_OPENAI_* env
[INFO] [stdout] test ollama::tests::parses_ollama_envelope_into_gap_fill ... ok
[INFO] [stdout] test ollama::tests::is_local_and_strips_trailing_slash ... ok
[INFO] [stdout] test openai_compatible::tests::extracts_first_choice_message ... ok
[INFO] [stdout] test resilience::tests::backoff_grows_and_stays_within_equal_jitter_bounds ... ok
[INFO] [stdout] test ollama::tests::request_constrains_json_and_disables_streaming ... ok
[INFO] [stdout] test openai_compatible::tests::hosted_endpoint_is_not_local ... ok
[INFO] [stdout] test openai_compatible::tests::request_body_carries_the_grounded_prompt ... ok
[INFO] [stdout] test resilience::tests::none_policy_makes_a_single_attempt ... ok
[INFO] [stdout] test resilience::tests::status_and_reqwest_classification ... ok
[INFO] [stdout] test tests::air_gap_with_only_a_frontier_provider_errors ... ok
[INFO] [stdout] test tests::custom_policy_overrides_preference_order ... ok
[INFO] [stdout] test openai_compatible::tests::local_endpoint_is_air_gap_eligible ... ok
[INFO] [stdout] test resilience::tests::succeeds_on_first_attempt_without_retrying ... ok
[INFO] [stdout] test tests::air_gap_routing_never_returns_a_frontier_provider ... ok
[INFO] [stdout] test tests::air_gap_blocks_non_local_providers ... ok
[INFO] [stdout] test resilience::tests::permanent_errors_are_not_retried ... ok
[INFO] [stdout] test tests::routes_by_task_class_under_default_policy ... ok
[INFO] [stdout] test tests::prompt_is_grounded_in_the_diff ... ok
[INFO] [stdout] test tests::mock_provider_returns_structured_response_without_a_score ... ok
[INFO] [stdout] test tests::parse_gap_fill_errors_when_no_json_present ... ok
[INFO] [stdout] test tests::parse_gap_fill_unwraps_fenced_json_with_surrounding_prose ... ok
[INFO] [stdout] test tests::routes_to_a_configured_provider_absent_from_the_policy ... ok
[INFO] [stdout] test vertex::tests::extracts_text_from_first_candidate_parts ... ok
[INFO] [stdout] test vertex::tests::private_endpoint_is_air_gap_eligible ... ok
[INFO] [stderr]      Running tests/prompt_eval.rs (/opt/rustwide/target/debug/deps/prompt_eval-f6049e873acd5843)
[INFO] [stdout] test resilience::tests::gives_up_after_max_attempts ... ok
[INFO] [stdout] test vertex::tests::builds_the_vertex_endpoint_with_project_and_location ... ok
[INFO] [stdout] test resilience::tests::retries_transient_errors_until_success ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 46 passed; 0 failed; 5 ignored; 0 measured; 0 filtered out; finished in 0.02s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] running 4 tests
[INFO] [stdout] test prompt_template_enforces_the_non_negotiables ... ok
[INFO] [stdout] test rendered_prompt_matches_the_committed_golden ... ok
[INFO] [stdout] test stray_model_score_is_dropped_not_propagated ... ok
[INFO] [stdout] test recorded_outputs_satisfy_the_structured_contract ... 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 unittests src/main.rs (/opt/rustwide/target/debug/deps/bifrost_mcp-f2969a3420530f0e)
[INFO] [stdout] 
[INFO] [stdout] running 14 tests
[INFO] [stderr]    Doc-tests bifrost_adapters
[INFO] [stdout] test tests::convert_tool_routes_to_a_post_at_the_pipeline_path ... ok
[INFO] [stdout] test tests::commit_enabled_routes_to_a_post_at_the_proposal_commit_path ... ok
[INFO] [stdout] test tests::runbook_tool_routes_to_a_get_at_the_proposal_path ... ok
[INFO] [stdout] test tests::commit_without_pipeline_id_is_an_error_even_when_enabled ... ok
[INFO] [stdout] test tests::initialize_advertises_tools_capability ... ok
[INFO] [stdout] test tests::commit_is_disabled_by_default ... ok
[INFO] [stdout] test tests::notifications_produce_no_response ... ok
[INFO] [stdout] test tests::convert_without_pipeline_id_is_an_error ... ok
[INFO] [stdout] test tests::unknown_tool_returns_an_is_error_result ... ok
[INFO] [stdout] test tests::report_tool_passes_the_project_query ... ok
[INFO] [stdout] test tests::tool_call_routes_to_the_api_path ... ok
[INFO] [stdout] test tests::validate_workflow_is_local_and_flags_missing_keys ... ok
[INFO] [stdout] test tests::tools_list_includes_every_api_tool_plus_validate ... ok
[INFO] [stdout] test tests::unknown_method_with_id_is_an_error ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 14 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bifrost_core
[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] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests bifrost_llm
[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" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858", kill_on_drop: false }`
[INFO] [stdout] 09759719f64165695d1404571d3e60368053d11e57fd838968421bc534708858
