[INFO] fetching crate tuff-core 0.16.0...
[INFO] testing tuff-core-0.16.0 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate tuff-core 0.16.0 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate tuff-core 0.16.0
[INFO] finished tweaking crates.io crate tuff-core 0.16.0
[INFO] tweaked toml for crates.io crate tuff-core 0.16.0 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate tuff-core 0.16.0 on toolchain 1.100.0-beta.1
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate tuff-core 0.16.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" "+1.100.0-beta.1" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.documentation`
[INFO] [stderr]   --> Cargo.toml:74:12
[INFO] [stderr]    |
[INFO] [stderr] 72 | documentation = "https://tuffcli.dev"
[INFO] [stderr]    |                 ---------------------
[INFO] [stderr] 73 | edition = "2024"
[INFO] [stderr] 74 | homepage = "https://tuffcli.dev"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tuff-core` (manifest) generated 1 warning
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-tc2/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-3-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:3111399a4047eeb3a02b7a90e478d715f38a8c6669b5c4b49d30a17385265909" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d
[INFO] running `Command { std: "docker" "start" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", 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" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", 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" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.documentation`
[INFO] [stderr]   --> Cargo.toml:74:12
[INFO] [stderr]    |
[INFO] [stderr] 72 | documentation = "https://tuffcli.dev"
[INFO] [stderr]    |                 ---------------------
[INFO] [stderr] 73 | edition = "2024"
[INFO] [stderr] 74 | homepage = "https://tuffcli.dev"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tuff-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling unicode-ident v1.0.24
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling libc v0.2.186
[INFO] [stderr]    Compiling shlex v2.0.1
[INFO] [stderr]    Compiling find-msvc-tools v0.1.9
[INFO] [stderr]    Compiling pkg-config v0.3.33
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling stable_deref_trait v1.2.1
[INFO] [stderr]    Compiling itoa v1.0.18
[INFO] [stderr]    Compiling dunce v1.0.5
[INFO] [stderr]    Compiling bytes v1.12.1
[INFO] [stderr]    Compiling fs_extra v1.3.0
[INFO] [stderr]    Compiling futures-core v0.3.34
[INFO] [stderr]    Compiling once_cell v1.21.4
[INFO] [stderr]    Compiling aws-lc-rs v1.18.0
[INFO] [stderr]    Compiling memchr v2.8.2
[INFO] [stderr]    Compiling typenum v1.20.1
[INFO] [stderr]    Compiling vcpkg v0.2.15
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling utf8_iter v1.0.4
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling zmij v1.0.21
[INFO] [stderr]    Compiling log v0.4.33
[INFO] [stderr]    Compiling untrusted v0.7.1
[INFO] [stderr]    Compiling hashbrown v0.17.1
[INFO] [stderr]    Compiling strsim v0.11.1
[INFO] [stderr]    Compiling ident_case v1.0.1
[INFO] [stderr]    Compiling equivalent v1.0.2
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling tracing-core v0.1.36
[INFO] [stderr]    Compiling futures-sink v0.3.34
[INFO] [stderr]    Compiling untrusted v0.9.0
[INFO] [stderr]    Compiling futures-task v0.3.34
[INFO] [stderr]    Compiling httparse v1.10.1
[INFO] [stderr]    Compiling rustls v0.23.43
[INFO] [stderr]    Compiling version_check v0.9.5
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling try-lock v0.2.5
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling atomic-waker v1.1.2
[INFO] [stderr]    Compiling tower-service v0.3.3
[INFO] [stderr]    Compiling base64 v0.22.1
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling syn v3.0.3
[INFO] [stderr]    Compiling http v1.5.0
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling want v0.3.1
[INFO] [stderr]    Compiling futures-channel v0.3.34
[INFO] [stderr]    Compiling hybrid-array v0.4.14
[INFO] [stderr]    Compiling autocfg v1.5.1
[INFO] [stderr]    Compiling aho-corasick v1.1.4
[INFO] [stderr]    Compiling sync_wrapper v1.0.2
[INFO] [stderr]    Compiling regex-syntax v0.8.11
[INFO] [stderr]    Compiling tinyvec_macros v0.1.1
[INFO] [stderr]    Compiling openssl-probe v0.2.1
[INFO] [stderr]    Compiling thiserror v2.0.20
[INFO] [stderr]    Compiling unicode-xid v0.2.6
[INFO] [stderr]    Compiling tower-layer v0.3.3
[INFO] [stderr]    Compiling konst_macro_rules v0.2.19
[INFO] [stderr]    Compiling ipnet v2.12.1
[INFO] [stderr]    Compiling const_format_proc_macros v0.2.34
[INFO] [stderr]    Compiling jobserver v0.1.35
[INFO] [stderr]    Compiling mio v1.2.2
[INFO] [stderr]    Compiling socket2 v0.6.5
[INFO] [stderr]    Compiling konst v0.2.20
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling num-traits v0.2.19
[INFO] [stderr]    Compiling cc v1.3.0
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling heck v0.5.0
[INFO] [stderr]    Compiling http-body v1.1.0
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling winnow v1.0.3
[INFO] [stderr]    Compiling const-oid v0.10.2
[INFO] [stderr]    Compiling getrandom v0.4.3
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling http-body-util v0.1.5
[INFO] [stderr]    Compiling const_format v0.2.36
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling mime v0.3.17
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling signature v2.2.0
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling toml_writer v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling strum v0.27.2
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling http-auth v0.1.10
[INFO] [stderr]    Compiling toml_datetime v1.1.1+spec-1.1.0
[INFO] [stderr]    Compiling winnow v0.7.15
[INFO] [stderr]    Compiling fastrand v2.4.1
[INFO] [stderr]    Compiling unicase v2.9.0
[INFO] [stderr]    Compiling cpufeatures v0.2.17
[INFO] [stderr]    Compiling openssl-probe v0.1.6
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling cmake v0.1.58
[INFO] [stderr]    Compiling openssl-src v300.6.1+3.6.3
[INFO] [stderr]    Compiling regex-automata v0.4.14
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling indexmap v2.14.0
[INFO] [stderr]    Compiling toml_parser v1.1.2+spec-1.1.0
[INFO] [stderr]    Compiling toml_datetime v0.7.5+spec-1.1.0
[INFO] [stderr]    Compiling serde_spanned v1.1.1
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling aws-lc-sys v0.44.0
[INFO] [stderr]    Compiling libz-sys v1.1.29
[INFO] [stderr]    Compiling openssl-sys v0.9.117
[INFO] [stderr]    Compiling libssh2-sys v0.3.2
[INFO] [stderr]    Compiling libgit2-sys v0.18.7+1.9.6
[INFO] [stderr]    Compiling tempfile v3.27.0
[INFO] [stderr]    Compiling toml v0.9.12+spec-1.1.0
[INFO] [stderr]    Compiling toml_edit v0.25.12+spec-1.1.0
[INFO] [stderr]    Compiling tokio-macros v2.7.2
[INFO] [stderr]    Compiling futures-macro v0.3.34
[INFO] [stderr]    Compiling thiserror-impl v2.0.20
[INFO] [stderr]    Compiling synstructure v0.13.2
[INFO] [stderr]    Compiling darling_core v0.20.11
[INFO] [stderr]    Compiling regex v1.12.4
[INFO] [stderr]    Compiling tokio v1.53.1
[INFO] [stderr]    Compiling futures-util v0.3.34
[INFO] [stderr]    Compiling zerofrom-derive v0.1.7
[INFO] [stderr]    Compiling yoke-derive v0.8.2
[INFO] [stderr]    Compiling zerovec-derive v0.11.3
[INFO] [stderr]    Compiling displaydoc v0.2.6
[INFO] [stderr]    Compiling zeroize_derive v1.5.0
[INFO] [stderr]    Compiling serde_derive v1.0.228
[INFO] [stderr]    Compiling tracing-attributes v0.1.31
[INFO] [stderr]    Compiling strum_macros v0.27.2
[INFO] [stderr]    Compiling zeroize v1.9.0
[INFO] [stderr]    Compiling getset v0.1.7
[INFO] [stderr]    Compiling rustls-pki-types v1.15.1
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling tracing v0.1.44
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling rustls-native-certs v0.8.4
[INFO] [stderr]    Compiling darling_macro v0.20.11
[INFO] [stderr]    Compiling darling v0.20.11
[INFO] [stderr]    Compiling derive_builder_core v0.20.2
[INFO] [stderr]    Compiling tinystr v0.8.3
[INFO] [stderr]    Compiling potential_utf v0.1.5
[INFO] [stderr]    Compiling icu_locale_core v2.2.0
[INFO] [stderr]    Compiling icu_collections v2.2.0
[INFO] [stderr]    Compiling derive_builder_macro v0.20.2
[INFO] [stderr]    Compiling derive_builder v0.20.2
[INFO] [stderr]    Compiling icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling tokio-util v0.7.19
[INFO] [stderr]    Compiling tower v0.5.3
[INFO] [stderr]    Compiling serde_urlencoded v0.7.1
[INFO] [stderr]    Compiling chrono v0.4.45
[INFO] [stderr]    Compiling oci-spec v0.9.0
[INFO] [stderr]    Compiling olpc-cjson v0.1.4
[INFO] [stderr]    Compiling docker_credential v1.4.0
[INFO] [stderr]    Compiling tuff-hooks-spec v0.16.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling h2 v0.4.19
[INFO] [stderr]    Compiling tower-http v0.6.11
[INFO] [stderr]    Compiling hyper v1.11.0
[INFO] [stderr]    Compiling hyper-util v0.1.20
[INFO] [stderr]    Compiling rustls-webpki v0.103.15
[INFO] [stderr]    Compiling jsonwebtoken v10.4.0
[INFO] [stderr]    Compiling tokio-rustls v0.26.4
[INFO] [stderr]    Compiling rustls-platform-verifier v0.7.0
[INFO] [stderr]    Compiling hyper-rustls v0.27.9
[INFO] [stderr]    Compiling reqwest v0.13.4
[INFO] [stderr]    Compiling oci-client v0.17.0
[INFO] [stderr]    Compiling git2 v0.20.4
[INFO] [stderr]    Compiling tuff-core v0.16.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 4m 11s
[INFO] running `Command { std: "docker" "inspect" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", 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" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.documentation`
[INFO] [stderr]   --> Cargo.toml:74:12
[INFO] [stderr]    |
[INFO] [stderr] 72 | documentation = "https://tuffcli.dev"
[INFO] [stderr]    |                 ---------------------
[INFO] [stderr] 73 | edition = "2024"
[INFO] [stderr] 74 | homepage = "https://tuffcli.dev"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tuff-core` (manifest) generated 1 warning
[INFO] [stderr]    Compiling tuff-core v0.16.0 (/opt/rustwide/workdir)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 12.65s
[INFO] running `Command { std: "docker" "inspect" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", 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" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: `package.homepage` is redundant with `package.documentation`
[INFO] [stderr]   --> Cargo.toml:74:12
[INFO] [stderr]    |
[INFO] [stderr] 72 | documentation = "https://tuffcli.dev"
[INFO] [stderr]    |                 ---------------------
[INFO] [stderr] 73 | edition = "2024"
[INFO] [stderr] 74 | homepage = "https://tuffcli.dev"
[INFO] [stderr]    |            ^^^^^^^^^^^^^^^^^^^^^
[INFO] [stderr]    |
[INFO] [stderr]    = note: `cargo::redundant_homepage` is set to `warn` by default
[INFO] [stderr] help: consider removing `package.homepage`
[INFO] [stderr] warning: `tuff-core` (manifest) generated 1 warning
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.39s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/tuff-core/c78cf45b4bce4083/out/tuff_core-c78cf45b4bce4083)
[INFO] [stdout] 
[INFO] [stdout] running 189 tests
[INFO] [stdout] test error::tests::a_hint_is_carried_separately_from_the_message ... ok
[INFO] [stdout] test error::tests::exit_codes_separate_the_three_audiences ... ok
[INFO] [stdout] test error::tests::tuff_error_from_serde_json_error ... ok
[INFO] [stdout] test error::tests::tuff_error_displays_message ... ok
[INFO] [stdout] test git::tests::clean_file_url_passes_through ... ok
[INFO] [stdout] test git::tests::clean_plain_url_passes_through ... ok
[INFO] [stdout] test git::tests::detect_file_url ... ok
[INFO] [stdout] test git::tests::detect_github_clean_url ... ok
[INFO] [stdout] test git::tests::detect_github_tree_url ... ok
[INFO] [stdout] test git::tests::detect_ssh_url ... ok
[INFO] [stdout] test git::tests::github_folder_url_is_normalized_and_preserves_subdirectory ... ok
[INFO] [stdout] test cache::tests::hash_tree_is_independent_of_creation_order ... ok
[INFO] [stdout] test git::tests::github_tree_url_preserves_branch_and_subdirectory ... ok
[INFO] [stdout] test git::tests::reject_local_path ... ok
[INFO] [stdout] test git::tests::ls_remote_tags_peel_annotated_tags_to_their_commit ... ok
[INFO] [stdout] test hook_settings::tests::a_flat_file_without_a_version_gains_one ... ok
[INFO] [stdout] test hook_settings::tests::a_flat_fragment_registers_the_entry_directly_and_declares_a_version ... ok
[INFO] [stdout] test hook_settings::tests::a_settings_file_that_is_not_an_object_is_reported_as_corrupt ... ok
[INFO] [stdout] test catalog::tests::unknown_id_is_none_not_an_error ... ok
[INFO] [stdout] test hook_settings::tests::a_whole_settings_file_is_refused_as_a_fragment ... ok
[INFO] [stdout] test hook_settings::tests::a_grouped_fragment_registers_a_typed_entry_inside_a_group ... ok
[INFO] [stdout] test hook_settings::tests::merging_keeps_what_the_user_already_had ... ok
[INFO] [stdout] test catalog::tests::github_entry_uses_the_current_docker_based_launch ... ok
[INFO] [stdout] test hook_settings::tests::merging_the_same_fragment_twice_does_not_duplicate_the_hook ... ok
[INFO] [stdout] test hook_settings::tests::removal_with_nothing_registered_or_no_file_is_a_no_op ... ok
[INFO] [stdout] test error::tests::tuff_error_from_io_error ... ok
[INFO] [stdout] test lockfile::tests::a_lockfile_in_the_wrong_encoding_for_its_version_is_corrupt ... ok
[INFO] [stdout] test lockfile::tests::a_lockfile_without_a_version_is_corrupt_not_empty ... ok
[INFO] [stdout] test lockfile::tests::an_empty_lockfile_is_canonical_json ... ok
[INFO] [stdout] test git::tests::clean_github_blob_extracts_repo_and_branch ... ok
[INFO] [stdout] test git::tests::clean_github_tree_extracts_repo_and_branch ... ok
[INFO] [stdout] test git::tests::clean_gitlab_tree_extracts_repo_and_branch ... ok
[INFO] [stdout] test hook_settings::tests::removal_takes_out_only_tuff_registrations_in_either_shape ... ok
[INFO] [stdout] test lockfile::tests::a_version_2_lockfile_is_read_as_is_and_written_as_version_3 ... ok
[INFO] [stdout] test lockfile::tests::a_version_1_lockfile_migrates_every_source_kind ... ok
[INFO] [stdout] test lockfile::tests::init_lockfile_at_creates_new_file ... ok
[INFO] [stdout] test lockfile::tests::read_lockfile_at_rejects_a_newer_schema_in_either_encoding ... ok
[INFO] [stdout] test lockfile::tests::missing_target_ownership_defaults_to_generated ... ok
[INFO] [stdout] test catalog::tests::excluded_servers_are_not_in_the_catalog ... ok
[INFO] [stdout] test lockfile::tests::write_and_read_roundtrip ... ok
[INFO] [stdout] test lockfile::tests::hash_bytes_produces_consistent_output ... ok
[INFO] [stdout] test manifest::tests::a_manifest_with_an_escaping_id_is_refused_at_load ... ok
[INFO] [stdout] test lockfile::tests::managed_mcp_entry_status_tracks_the_entry_not_the_file ... ok
[INFO] [stdout] test adapter::tests::hook_script_rejects_nul_bytes ... ok
[INFO] [stdout] test cache::tests::concurrent_populate_reuses_existing_content_addressed_directory ... ok
[INFO] [stdout] test lockfile::tests::read_lockfile_at_rejects_missing ... ok
[INFO] [stdout] test catalog::tests::remote_entries_carry_their_auth_header_as_a_reference ... ok
[INFO] [stdout] test manifest::tests::a_multi_line_description_is_left_alone_rather_than_half_read ... ok
[INFO] [stdout] test manifest::tests::capability_type_round_trips_the_hyphenated_name ... ok
[INFO] [stdout] test manifest::tests::a_server_without_headers_serializes_without_the_table ... ok
[INFO] [stdout] test manifest::tests::a_capability_id_is_a_relative_path_of_plain_names ... ok
[INFO] [stdout] test cache::tests::cache_round_trip_verifies_content ... ok
[INFO] [stdout] test manifest::tests::load_rejects_missing_manifest ... ok
[INFO] [stdout] test manifest::tests::declared_description_reads_the_frontmatter_and_prefers_the_manifest ... ok
[INFO] [stdout] test manifest::tests::declared_version_prefers_the_manifest_over_the_frontmatter ... ok
[INFO] [stdout] test manifest::tests::listed_files_that_install_to_the_same_path_are_refused_but_a_repeat_is_not ... ok
[INFO] [stdout] test manifest::tests::load_hook_manifest_succeeds ... ok
[INFO] [stdout] test manifest::tests::load_rejects_unsupported_type ... ok
[INFO] [stdout] test manifest::tests::a_policy_manifest_loads_and_refuses_files ... ok
[INFO] [stdout] test manifest::tests::load_tool_manifest_succeeds ... ok
[INFO] [stdout] test manifest::tests::load_skill_manifest_succeeds ... ok
[INFO] [stdout] test manifest::tests::source_files_resolves_paths ... ok
[INFO] [stdout] test manifest::tests::validate_non_empty_rejects_empty ... ok
[INFO] [stdout] test manifest::tests::mcp_server_headers_are_refused_on_stdio ... ok
[INFO] [stdout] test manifest::tests::mcp_server_headers_must_be_references_not_literals ... ok
[INFO] [stdout] test manifest::tests::mcp_server_stdio_requires_command_and_http_requires_url ... ok
[INFO] [stdout] test manifest::tests::source_files_refuse_a_path_that_climbs_out_of_the_capability ... ok
[INFO] [stdout] test mcp::tests::register_preserves_unrelated_fields ... ok
[INFO] [stdout] test manifest::tests::source_files_refuse_a_symbolic_link_anywhere_along_the_path ... ok
[INFO] [stdout] test manifest::tests::source_files_rejects_missing_file ... ok
[INFO] [stdout] test manifest::tests::mcp_server_requires_server_section ... ok
[INFO] [stdout] test manifest::tests::source_files_accept_plain_nested_and_dot_slash_paths ... ok
[INFO] [stdout] test mcp::tests::an_opencode_config_keeps_its_key_order_and_loses_mcp_when_emptied ... ok
[INFO] [stdout] test manifest::tests::frontmatter_version_reads_top_level_then_metadata ... ok
[INFO] [stdout] test mcp::tests::register_rejects_malformed_json_without_changing_it ... ok
[INFO] [stdout] test mcp::tests::remove_rejects_malformed_json_without_changing_it ... ok
[INFO] [stdout] test oci::tests::manifest_is_deterministic_and_contains_one_pack_layer ... ok
[INFO] [stdout] test oci::tests::manifest_validation_rejects_extra_layers ... ok
[INFO] [stdout] test adapter::tests::hook_script_preserves_shell_sensitive_values ... ok
[INFO] [stdout] test oci::tests::manifest_validation_rejects_non_empty_config_contract ... ok
[INFO] [stdout] test oci::tests::manifest_validation_rejects_subject_on_primary_pack ... ok
[INFO] [stdout] test oci::tests::manifest_validation_rejects_wrong_artifact_type ... ok
[INFO] [stdout] test oci::tests::credential_helper_error_does_not_include_helper_output ... ok
[INFO] [stdout] test oci::tests::manifest_validation_rejects_wrong_layer_media_type ... ok
[INFO] [stdout] test oci::tests::identity_token_becomes_bearer_auth ... ok
[INFO] [stdout] test mcp::tests::validation_rejects_non_object_mcp_servers ... ok
[INFO] [stdout] test oci::tests::annotation_validation_rejects_metadata_mismatch ... ok
[INFO] [stdout] test mcp::tests::register_server_refuses_untracked_collision_unless_overwrite_allowed ... ok
[INFO] [stdout] test mcp::tests::register_server_writes_entry_and_preserves_neighbours ... ok
[INFO] [stdout] test oci::tests::pull_reference_requires_explicit_tag_or_digest ... ok
[INFO] [stdout] test oci::tests::push_reference_rejects_digest ... ok
[INFO] [stdout] test manifest::tests::mcp_server_header_format_needs_exactly_one_placeholder ... ok
[INFO] [stdout] test pack::tests::relative_path_rejects_parent_traversal ... ok
[INFO] [stdout] test pack::tests::artifact_metadata_rejects_a_capability_id_that_escapes ... ok
[INFO] [stdout] test oci::tests::push_reference_requires_explicit_tag ... ok
[INFO] [stdout] test policy::tests::a_command_argument_cannot_be_a_pattern ... ok
[INFO] [stdout] test policy::tests::a_codex_config_refuses_a_rule_for_an_undeclared_server_or_a_conflicting_approval_mode ... ok
[INFO] [stdout] test pack::tests::artifact_build_is_byte_for_byte_deterministic ... ok
[INFO] [stdout] test policy::tests::a_codex_config_writes_inline_server_tables_inline ... ok
[INFO] [stdout] test oci::tests::sha256_validation_requires_prefixed_lower_or_upper_hex ... ok
[INFO] [stdout] test policy::tests::a_policy_cannot_allow_anything ... ok
[INFO] [stdout] test mcp::tests::rewriting_a_toml_server_keeps_the_settings_policy_rules_own ... ok
[INFO] [stdout] test policy::tests::an_empty_policy_is_refused ... ok
[INFO] [stdout] test pack::tests::artifact_read_rejects_tampered_payload ... ok
[INFO] [stdout] test policy::tests::a_rule_the_matrix_does_not_mention_is_never_treated_as_enforced ... ok
[INFO] [stdout] test policy::tests::a_codex_config_takes_mcp_tool_rules_on_the_servers_table_and_gives_them_back ... ok
[INFO] [stdout] test policy::tests::a_corrupt_settings_file_is_refused ... ok
[INFO] [stdout] test policy::tests::an_opencode_config_refuses_a_conflicting_rule_and_empties_when_only_tuff_wrote_it ... ok
[INFO] [stdout] test policy::tests::each_rule_has_exactly_one_subject ... ok
[INFO] [stdout] test policy::tests::enforcement_separates_the_rules_a_harness_enforces_from_the_ones_it_does_not ... ok
[INFO] [stdout] test policy::tests::malformed_rules_are_refused_with_the_rule_number ... ok
[INFO] [stdout] test policy::tests::merging_permissions_keeps_the_users_rules_and_adds_each_rule_once ... ok
[INFO] [stdout] test policy::tests::a_rules_file_holds_one_rule_per_line_and_is_removed_when_emptied ... ok
[INFO] [stdout] test policy::tests::removing_permissions_prunes_only_what_it_emptied ... ok
[INFO] [stdout] test policy::tests::the_not_implemented_matrix_covers_every_effect_and_subject_as_unsupported ... ok
[INFO] [stdout] test manifest::tests::mcp_server_header_reference_carries_an_optional_format ... ok
[INFO] [stdout] test policy::tests::unknown_keys_in_a_rule_are_a_parse_error ... ok
[INFO] [stdout] test policy::tests::an_opencode_config_keeps_the_users_order_and_puts_policy_rules_last ... ok
[INFO] [stdout] test manifest::tests::mcp_server_env_must_be_a_reference_not_a_literal ... ok
[INFO] [stdout] test policy::tests::the_infrastructure_example_is_a_valid_policy ... ok
[INFO] [stdout] test policy_eval::tests::other_commands_are_left_alone ... ok
[INFO] [stdout] test policy_eval::tests::compound_commands_are_split ... ok
[INFO] [stdout] test policy_eval::tests::path_patterns_follow_gitignore_rules ... ok
[INFO] [stdout] test policy::tests::a_gap_makes_a_covered_rule_unenforced ... ok
[INFO] [stdout] test policy_eval::tests::wrappers_are_unwrapped ... ok
[INFO] [stdout] test policy_eval::tests::files_named_on_the_command_line_are_found ... ok
[INFO] [stdout] test policy::tests::recorded_permission_status_and_removal_from_disk ... ok
[INFO] [stdout] test policy_eval::tests::short_option_clusters_match_in_any_spelling ... ok
[INFO] [stdout] test policy_eval::tests::paths_are_judged_relative_to_the_project ... ok
[INFO] [stdout] test policy_eval::tests::deny_wins_over_ask_and_the_first_rule_is_named ... ok
[INFO] [stdout] test policy_eval::tests::reworded_commands_from_issue_41_are_matched ... ok
[INFO] [stdout] test catalog::tests::embedded_catalog_parses_and_every_entry_validates ... ok
[INFO] [stdout] test registry::tests::a_package_kind_with_no_launcher_is_refused ... ok
[INFO] [stdout] test registry::tests::a_remote_without_headers_installs_as_an_http_server ... ok
[INFO] [stdout] test registry::tests::an_entry_needing_a_substituted_value_is_refused_rather_than_guessed ... ok
[INFO] [stdout] test registry::tests::a_capability_id_never_contains_a_path_separator ... ok
[INFO] [stdout] test registry::tests::a_header_without_a_documented_value_takes_the_whole_value_from_one_variable ... ok
[INFO] [stdout] test registry::tests::arguments_are_ordered_runtime_then_package_then_package_arguments ... ok
[INFO] [stdout] test registry::tests::a_capability_id_keeps_the_publishers_name_when_the_last_segment_is_generic ... ok
[INFO] [stdout] test registry::tests::an_image_is_run_with_docker_and_told_about_its_environment ... ok
[INFO] [stdout] test registry::tests::a_runtime_hint_wins_over_the_package_kind ... ok
[INFO] [stdout] test registry::tests::environment_variables_become_references_never_values ... ok
[INFO] [stdout] test registry::tests::a_header_built_from_two_variables_is_refused ... ok
[INFO] [stdout] test registry::tests::a_documented_template_becomes_the_format_and_names_the_variable ... ok
[INFO] [stdout] test registry::tests::a_generic_placeholder_name_is_qualified_by_the_capability ... ok
[INFO] [stdout] test registry::tests::a_literal_header_value_is_refused_rather_than_smuggled_into_the_manifest ... ok
[INFO] [stdout] test registry::tests::streamable_http_is_preferred_and_an_sse_only_entry_is_refused ... ok
[INFO] [stdout] test release::tests::a_full_version_is_exact_and_a_partial_one_is_a_range ... ok
[INFO] [stdout] test release::tests::change_kind_reads_the_version_delta ... ok
[INFO] [stdout] test release::tests::name_and_requirement_split_at_the_at_sign ... ok
[INFO] [stdout] test registry::tests::an_npm_package_becomes_an_npx_command_pinned_to_its_version ... ok
[INFO] [stdout] test registry::tests::a_variable_name_is_made_legal_for_a_shell ... ok
[INFO] [stdout] test registry::tests::optional_headers_are_left_out_and_named_instead ... ok
[INFO] [stdout] test registry::tests::the_command_comes_from_the_package_kind_when_no_hint_is_given ... ok
[INFO] [stdout] test release::tests::an_unparsable_requirement_is_a_usage_error ... ok
[INFO] [stdout] test release::tests::repo_wide_and_scoped_tag_shapes_are_recognised ... ok
[INFO] [stdout] test mcp::tests::a_toml_config_keeps_the_users_lines_and_loses_mcp_servers_when_emptied ... ok
[INFO] [stdout] test release::tests::resolve_explains_no_tags_and_no_match_differently ... ok
[INFO] [stdout] test release::tests::a_tag_is_checked_against_the_commit_that_was_installed ... ok
[INFO] [stdout] test release::tests::scoped_tags_hide_repo_wide_ones_in_a_monorepo ... ok
[INFO] [stdout] test release::tests::prereleases_are_not_picked_by_a_range ... ok
[INFO] [stdout] test release::tests::selection_takes_the_highest_match_by_version_not_by_string ... ok
[INFO] [stdout] test resolver::tests::check_collision_no_global_returns_none ... ok
[INFO] [stdout] test resolver::tests::resolve_entry_not_found_returns_none ... ok
[INFO] [stdout] test resolver::tests::resolve_entry_project_wins_over_global ... ok
[INFO] [stdout] test registry::tests::an_entry_with_nothing_to_launch_is_refused ... ok
[INFO] [stdout] test resolver::tests::scope_as_str ... ok
[INFO] [stdout] test resolver::tests::overrides_global_false_when_no_conflict ... ok
[INFO] [stdout] test report::tests::remotes_normalise_to_one_name ... ok
[INFO] [stdout] test resolver::tests::scope_from_str_valid ... ok
[INFO] [stdout] test tool::tests::entrypoint_accepts_valid_file ... ok
[INFO] [stdout] test tool::tests::entrypoint_rejects_directory ... ok
[INFO] [stdout] test report::tests::projects_are_found_below_the_root_and_hidden_folders_are_skipped ... ok
[INFO] [stdout] test tool::tests::path_traversal_allows_relative ... ok
[INFO] [stdout] test tool::tests::path_traversal_blocks_dot_dot ... ok
[INFO] [stdout] test tool::tests::entrypoint_rejects_non_existent_file ... ok
[INFO] [stdout] test tool::tests::path_traversal_blocks_absolute ... ok
[INFO] [stdout] test tool::tests::path_traversal_blocks_empty ... ok
[INFO] [stdout] test tool::tests::schema_rejects_missing_properties ... ok
[INFO] [stdout] test tool::tests::schema_accepts_no_required_field ... ok
[INFO] [stdout] test tool::tests::schema_rejects_empty_properties ... ok
[INFO] [stdout] test tool::tests::schema_rejects_missing_type ... ok
[INFO] [stdout] test tool::tests::schema_valid_object_with_properties ... ok
[INFO] [stdout] test tool::tests::schema_rejects_non_object_type ... ok
[INFO] [stdout] test report::tests::a_project_outside_git_needs_a_name ... ok
[INFO] [stdout] test catalog::tests::each_entry_versions_independently ... ok
[INFO] [stdout] test tree_diff::tests::compares_added_removed_and_modified_files ... ok
[INFO] [stdout] test report::tests::a_monorepo_project_is_named_by_its_origin_and_path ... ok
[INFO] [stdout] test oci::tests::references_accept_registry_ports ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 189 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.53s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests tuff_core
[INFO] [stdout] 
[INFO] [stdout] running 0 tests
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
[INFO] [stdout] 
[INFO] running `Command { std: "docker" "inspect" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d", kill_on_drop: false }`
[INFO] [stdout] c4466674e40162453f52cc3a38d275e5ee1304d5804e12677c269e57f23be50d
