[INFO] fetching crate qiongli-platform 2.1.1...
[INFO] testing qiongli-platform-2.1.1 against 1.100.0-beta.1 for beta-1.100-2
[INFO] extracting crate qiongli-platform 2.1.1 into /workspace/builds/worker-3-tc2/source
[INFO] started tweaking crates.io crate qiongli-platform 2.1.1
[INFO] finished tweaking crates.io crate qiongli-platform 2.1.1
[INFO] tweaked toml for crates.io crate qiongli-platform 2.1.1 written to /workspace/builds/worker-3-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate qiongli-platform 2.1.1 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 qiongli-platform 2.1.1 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] 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] db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77
[INFO] running `Command { std: "docker" "start" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", 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" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77" "/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" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", 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" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.106
[INFO] [stderr]    Compiling quote v1.0.46
[INFO] [stderr]    Compiling writeable v0.6.3
[INFO] [stderr]    Compiling semver v1.0.28
[INFO] [stderr]    Compiling serde_core v1.0.228
[INFO] [stderr]    Compiling litemap v0.8.2
[INFO] [stderr]    Compiling icu_normalizer_data v2.2.0
[INFO] [stderr]    Compiling icu_properties_data v2.2.0
[INFO] [stderr]    Compiling zmij v1.0.22
[INFO] [stderr]    Compiling serde_json v1.0.150
[INFO] [stderr]    Compiling hybrid-array v0.4.13
[INFO] [stderr]    Compiling serde v1.0.228
[INFO] [stderr]    Compiling smallvec v1.15.2
[INFO] [stderr]    Compiling simd-adler32 v0.3.9
[INFO] [stderr]    Compiling generic-array v0.14.7
[INFO] [stderr]    Compiling tinyvec v1.12.0
[INFO] [stderr]    Compiling rustc_version v0.4.1
[INFO] [stderr]    Compiling bitflags v2.13.0
[INFO] [stderr]    Compiling cpufeatures v0.3.0
[INFO] [stderr]    Compiling ryu-js v1.0.3
[INFO] [stderr]    Compiling rustix v1.1.4
[INFO] [stderr]    Compiling linux-raw-sys v0.12.1
[INFO] [stderr]    Compiling miniz_oxide v0.8.9
[INFO] [stderr]    Compiling signature v3.0.0
[INFO] [stderr]    Compiling subtle v2.6.1
[INFO] [stderr]    Compiling curve25519-dalek v5.0.0
[INFO] [stderr]    Compiling form_urlencoded v1.2.2
[INFO] [stderr]    Compiling fdeflate v0.3.7
[INFO] [stderr]    Compiling ed25519 v3.0.0
[INFO] [stderr]    Compiling flate2 v1.1.9
[INFO] [stderr]    Compiling unicode-normalization v0.1.25
[INFO] [stderr]    Compiling block-buffer v0.12.1
[INFO] [stderr]    Compiling crypto-common v0.2.2
[INFO] [stderr]    Compiling crypto-common v0.1.7
[INFO] [stderr]    Compiling block-buffer v0.10.4
[INFO] [stderr]    Compiling digest v0.10.7
[INFO] [stderr]    Compiling syn v2.0.118
[INFO] [stderr]    Compiling sha2 v0.10.9
[INFO] [stderr]    Compiling png v0.18.1
[INFO] [stderr]    Compiling digest v0.11.3
[INFO] [stderr]    Compiling sha2 v0.11.0
[INFO] [stderr]    Compiling synstructure v0.13.2
[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 serde_derive v1.0.228
[INFO] [stderr]    Compiling curve25519-dalek-derive v0.1.1
[INFO] [stderr]    Compiling thiserror-impl v1.0.69
[INFO] [stderr]    Compiling thiserror v1.0.69
[INFO] [stderr]    Compiling zerofrom v0.1.8
[INFO] [stderr]    Compiling yoke v0.8.3
[INFO] [stderr]    Compiling zerotrie v0.2.4
[INFO] [stderr]    Compiling zerovec v0.11.6
[INFO] [stderr]    Compiling ed25519-dalek v3.0.0
[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 icu_provider v2.2.0
[INFO] [stderr]    Compiling icu_properties v2.2.0
[INFO] [stderr]    Compiling icu_normalizer v2.2.0
[INFO] [stderr]    Compiling serde_json_canonicalizer v0.3.2
[INFO] [stderr]    Compiling qiongli-content v2.1.1
[INFO] [stderr]    Compiling idna_adapter v1.2.2
[INFO] [stderr]    Compiling idna v1.1.0
[INFO] [stderr]    Compiling url v2.5.8
[INFO] [stderr]    Compiling qiongli-config v2.1.1
[INFO] [stderr]    Compiling qiongli-platform v2.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/activation.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 131 |         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 131 -         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 131 +         .try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 42.56s
[INFO] running `Command { std: "docker" "inspect" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", 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" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen" "--no-run" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/activation.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 131 |         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 131 -         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 131 +         .try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]    Compiling qiongli-platform v2.1.1 (/opt/rustwide/workdir)
[INFO] [stdout] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stdout]    --> src/activation.rs:131:10
[INFO] [stdout]     |
[INFO] [stdout] 131 |         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |          ^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] help: replace the use of the deprecated method
[INFO] [stdout]     |
[INFO] [stdout] 131 -         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout] 131 +         .try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stdout]     |
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 19.61s
[INFO] running `Command { std: "docker" "inspect" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", 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" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77" "/opt/rustwide/cargo-home/bin/cargo" "+1.100.0-beta.1" "test" "--frozen", kill_on_drop: false }`
[INFO] [stderr] warning: use of deprecated method `std::sync::atomic::Atomic::<u64>::fetch_update`: renamed to `try_update` for consistency
[INFO] [stderr]    --> src/activation.rs:131:10
[INFO] [stderr]     |
[INFO] [stderr] 131 |         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |          ^^^^^^^^^^^^
[INFO] [stderr]     |
[INFO] [stderr]     = note: `#[warn(deprecated)]` on by default
[INFO] [stderr] help: replace the use of the deprecated method
[INFO] [stderr]     |
[INFO] [stderr] 131 -         .fetch_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr] 131 +         .try_update(Ordering::Relaxed, Ordering::Relaxed, |value| {
[INFO] [stderr]     |
[INFO] [stderr] 
[INFO] [stderr] warning: `qiongli-platform` (lib) generated 1 warning (run `cargo fix --lib -p qiongli-platform` to apply 1 suggestion)
[INFO] [stderr] warning: `qiongli-platform` (lib test) generated 1 warning (1 duplicate)
[INFO] [stderr]     Finished `test` profile [unoptimized + debuginfo] target(s) in 0.20s
[INFO] [stderr]      Running unittests src/lib.rs (/opt/rustwide/target/debug/build/qiongli-platform/882f00e32ae210a1/out/qiongli_platform-882f00e32ae210a1)
[INFO] [stdout] 
[INFO] [stdout] running 138 tests
[INFO] [stdout] test claude::tests::discovery_is_read_only_and_redacted ... ok
[INFO] [stdout] test claude_bundle::reply_only_entry_has_one_bounded_plugin_path ... ok
[INFO] [stdout] test client_inventory::tests::official_user_project_and_override_paths_are_symbolic_and_private ... ok
[INFO] [stdout] test client_inventory::tests::managed_drift_recovery_and_conflict_have_distinct_next_actions ... ok
[INFO] [stdout] test client_inventory::tests::config_symlink_is_reported_without_following_it ... ok
[INFO] [stdout] test client_inventory::tests::config_and_host_presence_are_independent_discovery_signals ... ok
[INFO] [stdout] test codex::tests::discovery_is_read_only_and_redacted ... ok
[INFO] [stdout] test client_inventory::tests::missing_clients_are_inspect_only_and_discovery_does_not_write ... ok
[INFO] [stdout] test client_inventory::tests::relative_override_is_unsafe_and_does_not_leak_the_path ... ok
[INFO] [stdout] test client_inventory::tests::legacy_install_is_detected_as_migration_input_not_current_ownership ... ok
[INFO] [stdout] test claude::tests::skills_directory_discovery_requires_an_exact_verified_bundle ... ok
[INFO] [stdout] test codex_bundle::tests::workflow_wrappers_preserve_metadata_and_reject_unsafe_entries ... ok
[INFO] [stdout] test community_alpha::tests::candidate_set_closes_source_run_version_and_target_order ... ok
[INFO] [stdout] test codex::tests::source_drift_and_oversized_marketplace_are_rejected ... ok
[INFO] [stdout] test community_alpha::tests::each_target_requires_its_exact_public_assets ... ok
[INFO] [stdout] test community_alpha::tests::errors_are_fixed_and_path_free ... ok
[INFO] [stdout] test community_alpha::tests::promotion_json_is_strict_bounded_and_canonical ... ok
[INFO] [stdout] test community_alpha::tests::raw_ci_or_publishable_promotion_fails_closed ... ok
[INFO] [stdout] test community_alpha::tests::candidate_set_digest_detects_content_tampering ... ok
[INFO] [stdout] test codex::tests::malformed_marketplace_and_incomplete_approval_are_rejected ... ok
[INFO] [stdout] test community_alpha_integrity::tests::authorization_receipt_consumes_only_matching_environment_context ... ok
[INFO] [stdout] test claude::tests::malformed_marketplace_and_incomplete_approval_are_rejected ... ok
[INFO] [stdout] test desktop_package::tests::desktop_file_names_are_target_specific ... ok
[INFO] [stdout] test desktop_package::tests::errors_are_fixed_and_never_render_paths ... ok
[INFO] [stdout] test desktop_package::tests::generic_zip_is_deterministic_and_rejects_tampering ... ok
[INFO] [stdout] test community_alpha_integrity::tests::signed_integrity_binds_the_exact_three_target_release_set ... ok
[INFO] [stdout] test distribution::tests::authorization_json_is_strict_and_unknown_fields_are_rejected ... ok
[INFO] [stdout] test distribution::tests::authorization_mismatch_future_and_stale_records_fail_closed ... ok
[INFO] [stdout] test distribution::tests::community_alpha_policy_closes_the_three_free_targets ... ok
[INFO] [stdout] test distribution::tests::community_alpha_rejects_wrong_channel_profile_kind_and_target ... ok
[INFO] [stdout] test distribution::tests::community_alpha_release_set_requires_the_exact_target_matrix ... ok
[INFO] [stdout] test distribution::tests::error_output_is_fixed_and_path_free ... ok
[INFO] [stdout] test distribution::tests::github_bot_actor_is_supported_without_relaxing_other_labels ... ok
[INFO] [stdout] test distribution::tests::policy_tampering_fails_closed ... ok
[INFO] [stdout] test desktop_package::tests::icon_validation_decodes_the_complete_png ... ok
[INFO] [stdout] test distribution::tests::production_policy_cannot_silently_relabel_community_alpha ... ok
[INFO] [stdout] test distribution::tests::protected_environment_authorization_is_exact_and_time_bounded ... ok
[INFO] [stdout] test distribution::tests::release_set_authorization_is_consumed_only_for_its_exact_set ... ok
[INFO] [stdout] test grant::tests::grant_lists_must_be_sorted_unique_and_lite_capable ... ok
[INFO] [stdout] test distribution::tests::release_set_json_is_strict_bounded_and_canonical ... ok
[INFO] [stdout] test grant::tests::strict_bounded_json_rejects_unknown_and_oversized_input ... ok
[INFO] [stdout] test grant::tests::tampering_and_untrusted_keys_fail_closed ... ok
[INFO] [stdout] test claude::tests::legacy_marketplace_is_upgraded_without_removing_the_legacy_entry ... ok
[INFO] [stdout] test community_alpha_integrity::tests::integrity_rejects_candidate_asset_drift ... ok
[INFO] [stdout] test identity::tests::lite_verification_rejects_higher_and_lower_profiles ... ok
[INFO] [stdout] test identity::tests::channel_and_semver_must_match_exactly ... ok
[INFO] [stdout] test desktop_package::tests::all_platform_layouts_are_exact_and_collision_free ... ok
[INFO] [stdout] test grant::tests::valid_signature_creates_verified_token ... ok
[INFO] [stdout] test codex::tests::repair_restores_only_a_receipt_owned_missing_entry ... ok
[INFO] [stdout] test legacy_migration::tests::changed_inventory_and_expired_plan_are_rejected ... ok
[INFO] [stdout] test claude::tests::preview_apply_verify_replay_and_remove_preserve_unrelated_entries ... ok
[INFO] [stdout] test legacy_migration::tests::empty_home_has_no_migration ... ok
[INFO] [stdout] test legacy_migration::tests::drifted_shared_entry_requires_review_without_blocking_known_items ... ok
[INFO] [stdout] test legacy_migration::tests::migration_plan_binds_inventory_identity_and_approvals ... ok
[INFO] [stdout] test claude::tests::repair_restores_only_a_receipt_owned_missing_entry ... ok
[INFO] [stdout] test codex::tests::preview_apply_verify_replay_and_remove_preserve_unrelated_entries ... ok
[INFO] [stdout] test legacy_migration::tests::receipt_cannot_complete_before_verified_cleanup ... ok
[INFO] [stdout] test legacy_migration::tests::recognized_plugins_and_skills_are_eligible ... ok
[INFO] [stdout] test legacy_migration::tests::recognized_shared_entries_are_item_scoped_and_eligible ... ok
[INFO] [stdout] test legacy_migration::tests::review_only_inventory_produces_review_receipt_without_write_approvals ... ok
[INFO] [stdout] test legacy_migration::tests::unproven_or_symlinked_content_requires_review ... ok
[INFO] [stdout] test claude::tests::source_drift_and_oversized_marketplace_are_rejected ... ok
[INFO] [stdout] test native_archive::tests::file_name_is_concrete_and_deterministic ... ok
[INFO] [stdout] test native_archive::tests::zip_parser_rejects_noncanonical_structure ... ok
[INFO] [stdout] test native_archive::tests::zip_writer_is_byte_deterministic ... ok
[INFO] [stdout] test native_artifact::tests::current_identity_and_paths_are_concrete_and_deterministic ... ok
[INFO] [stdout] test native_artifact::tests::errors_do_not_expose_paths ... ok
[INFO] [stdout] test native_artifact::tests::identity_rejects_wrong_channel_profile_kind_and_target ... ok
[INFO] [stdout] test legacy_migration::tests::resumed_plan_accepts_current_entries_but_rejects_legacy_item_drift ... ok
[INFO] [stdout] test native_archive::tests::errors_do_not_expose_paths ... ok
[INFO] [stdout] test legacy_migration::tests::migration_store_loads_the_latest_bounded_transaction ... ok
[INFO] [stdout] test claude_bundle::channel_receipts_verify_legacy_names_and_reject_mixed_identities ... ok
[INFO] [stdout] test legacy_migration::tests::migration_store_persists_canonical_contracts_with_compare_and_swap ... ok
[INFO] [stdout] test native_release::tests::release_errors_expose_only_stable_reason_codes ... ok
[INFO] [stdout] test native_release::tests::release_key_policy_is_windowed_bounded_and_redacted ... ok
[INFO] [stdout] test native_release::tests::signed_release_json_is_strict_bounded_and_canonical ... ok
[INFO] [stdout] test legacy_migration::tests::cleanup_failure_compensates_already_moved_directories ... ok
[INFO] [stdout] test native_update::tests::errors_are_fixed_reason_codes_without_paths ... ok
[INFO] [stdout] test grant::tests::time_generation_identity_digest_mode_and_scope_are_bound ... ok
[INFO] [stdout] test codex_bundle::tests::channel_receipts_verify_legacy_names_and_reject_mixed_identities ... ok
[INFO] [stdout] test native_update::tests::signed_manifest_is_bounded_canonical_and_verifiable ... ok
[INFO] [stdout] test legacy_migration::tests::cleanup_removes_only_recognized_legacy_surfaces_and_keeps_backups ... ok
[INFO] [stdout] test native_update::tests::downloaded_desktop_and_signing_evidence_is_exact_and_tamper_evident ... ok
[INFO] [stdout] test native_update::tests::signature_generation_time_stream_team_and_host_fail_closed ... ok
[INFO] [stdout] test native_install::tests::archive_drift_and_foreign_destination_fail_before_adoption ... ok
[INFO] [stdout] test plan::tests::plan_json_is_strict_bounded_digest_checked_and_expiring ... ok
[INFO] [stdout] test native_install::tests::rel_913_repair_requires_absence_and_refuses_present_drift ... ok
[INFO] [stdout] test plan::tests::semantic_changes_change_digest ... ok
[INFO] [stdout] test plan::tests::roots_paths_arguments_and_inverse_fail_closed ... ok
[INFO] [stdout] test plan::tests::verified_capability_cannot_be_reused_for_another_mode_or_scope ... ok
[INFO] [stdout] test native_update::tests::updater_rejects_legacy_equal_downgrade_and_incompatible_versions ... ok
[INFO] [stdout] test codex::tests::post_activation_failure_restores_prior_document_or_retains_recovery_evidence ... ok
[INFO] [stdout] test native_update::tests::malformed_source_url_target_and_context_are_rejected ... ok
[INFO] [stdout] test legacy_migration::tests::completed_receipt_finalizes_only_transaction_owned_backups ... ok
[INFO] [stdout] test native_install::tests::state_commit_faults_restore_apply_and_lifecycle ... ok
[INFO] [stdout] test legacy_migration::tests::durable_cleanup_journal_restores_after_restart ... ok
[INFO] [stdout] test plan::tests::equivalent_semantics_have_one_digest_and_verify ... ok
[INFO] [stdout] test release_authority::tests::authority_errors_are_fixed_reason_codes ... ok
[INFO] [stdout] test release_authority::tests::authority_is_canonical_bounded_and_role_separated ... ok
[INFO] [stdout] test release_candidate::tests::candidate_errors_expose_only_fixed_reason_codes ... ok
[INFO] [stdout] test release_authority::tests::authority_rejects_unknown_unsorted_stale_and_overlapping_keys ... ok
[INFO] [stdout] test codex::tests::conflict_drift_and_recovery_states_fail_closed ... ok
[INFO] [stdout] test native_install::tests::rel_913_apply_verify_replay_and_remove_are_canonical_and_idempotent ... ok
[INFO] [stdout] test release_candidate::tests::candidate_requires_exact_target_grants_and_identity_closure ... ok
[INFO] [stdout] test release_candidate::tests::candidate_json_is_strict_bounded_canonical_and_redacted ... ok
[INFO] [stdout] test native_install::tests::receipt_owned_predecessor_verification_preserves_pack_bound_authority ... ok
[INFO] [stdout] test claude::tests::conflict_drift_and_recovery_states_fail_closed ... ok
[INFO] [stdout] test transaction::tests::approval_payload_and_receipt_parsing_fail_closed ... ok
[INFO] [stdout] test transaction::tests::approved_root_identity_rejects_path_replacement ... ok
[INFO] [stdout] test claude::tests::post_activation_failure_restores_prior_document_or_retains_recovery_evidence ... ok
[INFO] [stdout] test native_update::tests::stable_and_beta_streams_enforce_the_two_stream_policy ... ok
[INFO] [stdout] test product_control::tests::executable_control_and_target_tampering_fail_closed ... ok
[INFO] [stdout] test transaction::tests::managed_root_must_be_private ... ok
[INFO] [stdout] test transaction::tests::no_replace_rename_preserves_both_directories_on_conflict ... ok
[INFO] [stdout] test product_control::tests::changed_client_state_after_preview_is_rejected_before_product_write ... ok
[INFO] [stdout] test transaction::tests::ambiguous_apply_rollback_retains_recovery_evidence ... ok
[INFO] [stdout] test transaction::tests::ambiguous_apply_state_commit_retains_state_target_and_journal ... ok
[INFO] [stdout] test transaction::tests::root_transaction_journal_serializes_distinct_install_ids ... ok
[INFO] [stdout] test transaction::tests::ambiguous_lifecycle_state_commit_retains_state_quarantine_and_journal ... ok
[INFO] [stdout] test zotero_companion::tests::artifact_is_deterministic_strict_and_tamper_evident ... ok
[INFO] [stdout] test zotero_companion::tests::artifact_rejects_endpoint_and_version_drift ... ok
[INFO] [stdout] test zotero_companion::tests::artifact_rejects_non_lf_source_bytes ... ok
[INFO] [stdout] test zotero_companion_stage::tests::stage_rejects_receipt_or_artifact_drift ... ok
[INFO] [stdout] test zotero_companion_stage::tests::stage_requires_approval_and_is_idempotent ... ok
[INFO] [stdout] test transaction::tests::payload_and_unmanaged_destination_conflicts_perform_no_managed_write ... ok
[INFO] [stdout] test product_control::tests::verified_package_derives_only_two_bounded_in_memory_capabilities ... ok
[INFO] [stdout] test product_control::tests::packaged_install_is_previewed_applied_verified_and_removed_with_receipts ... ok
[INFO] [stdout] test transaction::tests::ambiguous_materializer_result_preserves_target_and_journal ... ok
[INFO] [stdout] test transaction::tests::post_commit_cleanup_is_reported_without_false_rollback ... ok
[INFO] [stdout] test transaction::tests::rollback_has_a_distinct_idempotent_lifecycle ... ok
[INFO] [stdout] test product_control::tests::receipt_owned_source_without_registration_is_repaired ... ok
[INFO] [stdout] test transaction::tests::lifecycle_commit_failure_restores_the_active_target ... ok
[INFO] [stdout] test transaction::tests::applies_verifies_replays_and_removes_idempotently ... ok
[INFO] [stdout] test transaction::tests::repairs_only_an_absent_target_and_refuses_present_drift ... ok
[INFO] [stdout] test product_control::tests::batch_install_verifies_with_both_recognized_legacy_marketplaces_present ... ok
[INFO] [stdout] test product_control::tests::batch_install_uses_one_preview_for_both_clients ... ok
[INFO] [stdout] test product_control::tests::current_product_can_explicitly_remove_an_intact_prior_managed_install ... ok
[INFO] [stdout] test transaction::tests::pre_commit_failures_restore_absence ... ok
[INFO] [stdout] 
[INFO] [stdout] test result: ok. 138 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 3.09s
[INFO] [stdout] 
[INFO] [stderr]    Doc-tests qiongli_platform
[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" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77", kill_on_drop: false }`
[INFO] [stdout] db57dc93dc5b9e82c1532593a7fcf3eff872e5792e5adb66ffc0748c4e672b77
