CI: SUCCESS radicle-artifact

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-06-12 09:34:33ZProgram: ambient-execute-plan
Version: 0.14.0@c37ec71
plan: Runnable plan
After 0.00 seconds at 2026-06-12 09:34:33Z
steps:
- action: mkdir
  pathname: /ci
- action: mkdir
  pathname: /ci/artifacts
- action: tar_extract
  archive: /dev/vdc
  directory: /ci/src
- action: tar_extract
  archive: /dev/vdf
  directory: /ci/deps
- action: tar_extract
  archive: /dev/vde
  directory: /ci/cache
- action: shell
  shell: ln -sf /ci /workspace
- action: shell
  shell: git config --global user.name 'Ambient CI'
- action: shell
  shell: git config --global user.email ambient@example.com
- action: cargo_fmt
- action: cargo_clippy
- action: cargo_test
- action: tar_create
  archive: /dev/vde
  directory: /ci/cache
- action: tar_create
  archive: /dev/vdd
  directory: /ci/artifacts
executor_drive: /dev/vdb
source_drive: /dev/vdc
artifact_drive: /dev/vdd
cache_drive: /dev/vde
deps_drive: /dev/vdf
workspace_dir: /ci
source_dir: /ci/src
deps_dir: /ci/deps
cache_dir: /ci/cache
artifacts_dir: /ci/artifacts
envs: {}
plan: Successful action mkdir: /ci
After 0.02 seconds at 2026-06-12 09:34:33Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-06-12 09:34:33Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-06-12 09:34:33Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.02 seconds at 2026-06-12 09:34:33Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-06-12 09:34:33Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-06-12 09:34:33Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.03 seconds at 2026-06-12 09:34:33Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-06-12 09:34:33Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-06-12 09:34:33Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.07 seconds at 2026-06-12 09:34:33Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-06-12 09:34:33Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-06-12 09:34:35Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 2.16 seconds at 2026-06-12 09:34:35Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-06-12 09:34:35Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-06-12 09:34:42Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 8.52 seconds at 2026-06-12 09:34:42Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 8.53 seconds at 2026-06-12 09:34:42Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stderr:
    + git config --global user.name 'Ambient CI'
    
  • plan: Action succeeded shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 8.55 seconds at 2026-06-12 09:34:42Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stderr:
    + git config --global user.email ambient@example.com
    
  • plan: Action succeeded shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Successful action cargo_fmt
After 8.56 seconds at 2026-06-12 09:34:42Z
  • plan: Start action cargo_fmt
    After 0.00 seconds at 2026-06-12 09:34:42Z
    CargoFmt(
        CargoFmt,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • cargo
    • fmt
    • --check
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
  • plan: Action succeeded cargo_fmt
    After 0.00 seconds at 2026-06-12 09:34:42Z
    CargoFmt(
        CargoFmt,
    )
plan: Successful action cargo_clippy
After 8.86 seconds at 2026-06-12 09:34:42Z
  • plan: Start action cargo_clippy
    After 0.00 seconds at 2026-06-12 09:34:42Z
    CargoClippy(
        CargoClippy,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:42Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:42Z
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:47Z
    Exit code: 0
    Stderr:
        Checking radicle-artifact-core v0.14.0 (/ci/src/crates/radicle-artifact-core)
        Checking radicle-artifact-client v0.14.0 (/ci/src/crates/radicle-artifact-client)
        Checking radicle-artifact-node v0.14.0 (/ci/src/crates/radicle-artifact-node)
        Checking radicle-artifact v0.14.0 (/ci/src/crates/radicle-artifact)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.97s
    
  • plan: Action succeeded cargo_clippy
    After 0.00 seconds at 2026-06-12 09:34:47Z
    CargoClippy(
        CargoClippy,
    )
plan: Successful action cargo_test
After 13.98 seconds at 2026-06-12 09:34:47Z
  • plan: Start action cargo_test
    After 0.00 seconds at 2026-06-12 09:34:47Z
    CargoTest(
        CargoTest,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:47Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:47Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:47Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:47Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-12 09:34:47Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:34:47Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-12 09:34:47Z
    • cargo
    • test
    • --offline
    • --locked
    • --workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-12 09:36:01Z
    Exit code: 0
    Stdout:
    running 58 tests
    test display::tests::describe_progress_maps_every_frame ... ok
    test lifecycle::tests::log_path_is_under_artifacts_dir ... ok
    test lifecycle::tests::rotate_log_moves_current_to_dot_one ... ok
    test test::add_location_for_missing_cid_is_noop ... ok
    test test::attest_missing_cid_is_noop ... ok
    test test::author_self_attestation_is_noop ... ok
    test test::attestation_persists_through_reload ... ok
    test test::create_records_tag_oid ... ok
    test test::create_rejects_commit_oid_as_tag ... ok
    test test::create_rejects_tag_pointing_at_other_commit ... ok
    test test::create_rejects_unknown_tag_oid ... ok
    test test::create_without_tag_leaves_none ... ok
    test test::creator_persists_through_reload ... ok
    test test::display_marks_seeding_for_local_endpoint_location ... ok
    test test::display_renders_metadata ... ok
    test test::find_by_cid_aggregates_across_different_oids ... ok
    test test::e2e ... ok
    test test::find_by_cid_aggregates_duplicate_oid_releases ... ok
    test test::find_by_cid_finds_across_releases ... ok
    test test::find_by_commit_returns_empty_for_no_match ... ok
    test test::find_by_commit_returns_matching_releases ... ok
    test test::get_mut_not_found ... ok
    test test::idempotent_create ... ok
    test test::idempotent_attestation ... ok
    test test::idempotent_register_artifact ... ok
    test test::locations_by_scheme_duplicate_url_from_two_dids ... ok
    test test::locations_by_scheme_filters_correctly ... ok
    test test::metadata_persists_through_reload ... ok
    test test::missing_commit ... ok
    test test::multi_user_redaction ... ok
    test test::multi_delegate_attestation ... ok
    test test::multi_user_same_reason ... ok
    test test::multiple_locations_per_node ... ok
    test test::non_author_cannot_rename_artifact ... ok
    test test::pretty_renders_compact_and_detailed ... ok
    test test::redact_artifact ... ok
    test test::redact_empty_reason ... ok
    test test::redact_nonexistent_cid_errors ... ok
    test test::redact_reason_too_long ... ok
    test test::redact_only_removes_own_attestation ... ok
    test test::redact_removes_attestation ... ok
    test test::redact_then_attest_is_blocked ... ok
    test test::redact_updates_reason ... ok
    test test::redaction_persists_through_reload ... ok
    test test::register_artifact_wire_name_stays_add_artifact ... ok
    test test::register_artifact_records_author ... ok
    test test::reload_refreshes_from_store ... ok
    test test::remove_location_for_node_that_never_added_is_noop ... ok
    test test::remove_metadata_drops_key ... ok
    test test::remove_metadata_for_missing_key_is_noop ... ok
    test test::set_metadata_accepts_json_object ... ok
    test test::set_metadata_basic ... ok
    test test::set_metadata_for_missing_cid_is_noop ... ok
    test test::set_metadata_rejects_invalid_keys ... ok
    test test::set_metadata_last_writer_wins ... ok
    test test::tag_field_default_none_on_old_actions ... ok
    test test::set_metadata_rejects_oversized_value ... ok
    test test::tag_persists_through_reload ... ok
    
    test result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s
    
    
    running 12 tests
    test reconcile::tests::bare_iroh_is_current_endpoint ... ok
    test reconcile::tests::current_endpoint_not_seeded_is_orphaned_self ... ok
    test reconcile::tests::explicit_current_endpoint_is_current ... ok
    test reconcile::tests::legacy_iroh_scheme_is_stale ... ok
    test reconcile::tests::legacy_only_cid_is_reported_missing ... ok
    test reconcile::tests::missing_and_dangling_split_correctly ... ok
    test reconcile::tests::missing_picks_release_with_latest_timestamp ... ok
    test reconcile::tests::mixed_urls_on_same_cid_split_into_buckets ... ok
    test reconcile::tests::other_endpoint_is_stale ... ok
    test reconcile::tests::seeded_with_current_location_is_not_missing ... ok
    test reconcile::tests::seeded_cid_with_no_matching_release_is_dangling ... ok
    test reconcile::tests::undecodable_host_is_stale ... ok
    
    test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 3 tests
    test codec::tests::command_round_trip ... ok
    test codec::tests::result_okay_and_error ... ok
    test codec::tests::stream_event_frames ... ok
    
    test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 39 tests
    test cid::tests::artifact_kind_blob ... ok
    test cid::tests::artifact_kind_unknown_codec ... ok
    test cid::tests::artifact_kind_collection ... ok
    test cid::tests::blake3_hash_to_cid_blob_roundtrip ... ok
    test cid::tests::blake3_hash_to_cid_collection_roundtrip ... ok
    test cid::tests::canonical_walk_normalizes_separators ... ok
    test cid::tests::canonical_walk_returns_absolute_paths ... ok
    test cid::tests::canonical_walk_returns_sorted_entries ... ok
    test cid::tests::canonical_walk_skips_directories ... ok
    test cid::tests::cid_to_blake3_hash_rejects_sha256 ... ok
    test cid::tests::cid_to_blake3_hash_roundtrip ... ok
    test cid::tests::cid_to_blake3_works_with_hashseq_codec ... ok
    test cid::tests::determinism ... ok
    test cid::tests::golden_hash ... ok
    test cid::tests::symlink_is_skipped ... ok
    test keys::tests::display_differs_from_iroh_default ... ok
    test keys::tests::display_is_endpoint_url ... ok
    test keys::tests::from_url_bare_is_none ... ok
    test keys::tests::from_url_garbage_host_errors ... ok
    test keys::tests::from_url_rejects_legacy_iroh_scheme ... ok
    test keys::tests::from_url_wrong_scheme_errors ... ok
    test keys::tests::fromstr_round_trip ... ok
    test keys::tests::is_endpoint_url_only_matches_endpoint_scheme ... ok
    test keys::tests::is_legacy_endpoint_url_matches_only_iroh_scheme ... ok
    test keys::tests::matches_url_rules ... ok
    test keys::tests::radicle_and_iroh_keys_share_same_public_identity ... ok
    test keys::tests::url_round_trip ... ok
    test protocol::tests::wire_snapshot_command_alive ... ok
    test protocol::tests::wire_snapshot_command_has_export_fetch_download ... ok
    test protocol::tests::wire_snapshot_command_result_ok_and_err ... ok
    test protocol::tests::wire_snapshot_command_seed ... ok
    test protocol::tests::wire_snapshot_command_status ... ok
    test protocol::tests::wire_snapshot_command_unseed_and_lookups ... ok
    test protocol::tests::wire_snapshot_fetch_progress ... ok
    test protocol::tests::wire_snapshot_fetch_results ... ok
    test protocol::tests::wire_snapshot_receipts ... ok
    test protocol::tests::wire_snapshot_status_zeroed ... ok
    test protocol::tests::wire_snapshot_stream_event ... ok
    test keys::tests::encrypted_keystore_requires_passphrase ... ok
    
    test result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s
    
    
    running 25 tests
    test fetch::tests::export_collection_rejects_unsafe_member ... ok
    test fetch::tests::export_collection_writes_members ... ok
    test fetch::tests::http_to_store_rejects_mismatch ... ok
    test fetch::tests::http_to_store_imports_matching_blob ... ok
    test fetch::tests::safe_join_allows_nested_paths ... ok
    test fetch::tests::scoped_path_removes_dir_on_drop ... ok
    test fetch::tests::safe_join_rejects_traversal_and_absolute ... ok
    test fetch::tests::scoped_path_removes_file_on_drop ... ok
    test iroh::tests::default_uses_radworks_endpoints ... ok
    test iroh::tests::parse_env_rejects_malformed_value ... ok
    test iroh::tests::parse_relay_urls_comma_separated ... ok
    test iroh::tests::parse_relay_urls_rejects_malformed ... ok
    test node::tests::double_start_errors ... ok
    test node::tests::fetch_and_download_fast_path_and_no_locations ... ok
    test node::tests::invalid_typed_fields_surface_as_invalid_request ... ok
    test node::tests::has_and_export_round_trip ... ok
    test node::tests::malformed_json_surfaces_as_invalid_request ... ok
    test node::tests::node_round_trip ... ok
    test node::tests::run_stream_aborts_on_client_disconnect ... ok
    test node::tests::seed_missing_path_errors ... ok
    test seeder::tests::all_seeded_round_trip ... ok
    test seeder::tests::per_repo_tags_isolate ... ok
    test seeder::tests::seeded_tag_layout ... ok
    test seeder::tests::unregister_unknown_is_noop ... ok
    test node::tests::stale_socket_is_reclaimed ... ok
    
    test result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 40.26s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test streaming_methods_round_trip ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.08s
    
    
    running 2 tests
    test empty_dir_matches ... ok
    test content_id_matches_iroh_blobs_collection_encoding ... ok
    
    test result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test crates/radicle-artifact/src/lib.rs - (line 13) ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    Stderr:
       Compiling radicle-artifact-core v0.14.0 (/ci/src/crates/radicle-artifact-core)
       Compiling radicle-artifact-client v0.14.0 (/ci/src/crates/radicle-artifact-client)
       Compiling radicle-artifact-node v0.14.0 (/ci/src/crates/radicle-artifact-node)
       Compiling radicle-artifact v0.14.0 (/ci/src/crates/radicle-artifact)
        Finished `test` profile [unoptimized + debuginfo] target(s) in 19.90s
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-53e9f8948408895f)
         Running unittests src/bin/rad-artifact/main.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-cf298f63177383e5)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact_client-dcc9f1e2a3b0049c)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact_core-480633a6258782f9)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact_node-73e8b26f25a2445d)
         Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad_artifact_node-9926bc2ef7868382)
         Running tests/client_streaming.rs (/ci/cache/cargo-target/debug/deps/client_streaming-fde229942014b935)
         Running tests/collection_format.rs (/ci/cache/cargo-target/debug/deps/collection_format-36ac20df5afffea2)
       Doc-tests radicle_artifact
       Doc-tests radicle_artifact_client
       Doc-tests radicle_artifact_core
       Doc-tests radicle_artifact_node
    
  • plan: Action succeeded cargo_test
    After 0.00 seconds at 2026-06-12 09:36:01Z
    CargoTest(
        CargoTest,
    )
plan: Successful action tar_create
After 87.81 seconds at 2026-06-12 09:36:01Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-06-12 09:36:01Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-06-12 09:36:07Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action tar_create
After 93.86 seconds at 2026-06-12 09:36:07Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-06-12 09:36:07Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-06-12 09:36:07Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
plan: Plan succeeded
After 93.86 seconds at 2026-06-12 09:36:07ZHopefully all is good.

Raw log messages for Ambient troubleshooting

Raw log messages

These raw log messages are meant to help Ambient developers figure out problems. You can ignore them.

  1. {
      "type": "executor_starts",
      "name": "ambient-execute-plan",
      "version": "0.14.0@c37ec71",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 806952148
      },
      "log_source": "Plan"
    }
  2. {
      "type": "runnable_plan",
      "steps": [
        {
          "action": "mkdir",
          "pathname": "/ci"
        },
        {
          "action": "mkdir",
          "pathname": "/ci/artifacts"
        },
        {
          "action": "tar_extract",
          "archive": "/dev/vdc",
          "directory": "/ci/src"
        },
        {
          "action": "tar_extract",
          "archive": "/dev/vdf",
          "directory": "/ci/deps"
        },
        {
          "action": "tar_extract",
          "archive": "/dev/vde",
          "directory": "/ci/cache"
        },
        {
          "action": "shell",
          "shell": "ln -sf /ci /workspace"
        },
        {
          "action": "shell",
          "shell": "git config --global user.name 'Ambient CI'"
        },
        {
          "action": "shell",
          "shell": "git config --global user.email ambient@example.com"
        },
        {
          "action": "cargo_fmt"
        },
        {
          "action": "cargo_clippy"
        },
        {
          "action": "cargo_test"
        },
        {
          "action": "tar_create",
          "archive": "/dev/vde",
          "directory": "/ci/cache"
        },
        {
          "action": "tar_create",
          "archive": "/dev/vdd",
          "directory": "/ci/artifacts"
        }
      ],
      "executor_drive": "/dev/vdb",
      "source_drive": "/dev/vdc",
      "artifact_drive": "/dev/vdd",
      "cache_drive": "/dev/vde",
      "deps_drive": "/dev/vdf",
      "workspace_dir": "/ci",
      "source_dir": "/ci/src",
      "deps_dir": "/ci/deps",
      "cache_dir": "/ci/cache",
      "artifacts_dir": "/ci/artifacts",
      "envs": {},
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 811316400
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 826381770
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 829114280
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 831422037
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 833889053
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 836308321
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 872068212
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1781256873,
        "nanos_since_epoch": 875101502
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1781256875,
        "nanos_since_epoch": 964639475
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1781256875,
        "nanos_since_epoch": 967327678
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 323318375
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 325923755
      },
      "log_source": "Plan"
    }
  14. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            98,
            97,
            115,
            104
          ]
        },
        {
          "Unix": [
            45,
            99
          ]
        },
        {
          "Unix": [
            115,
            101,
            116,
            32,
            45,
            120,
            101,
            117,
            111,
            32,
            112,
            105,
            112,
            101,
            102,
            97,
            105,
            108,
            10,
            108,
            110,
            32,
            45,
            115,
            102,
            32,
            47,
            99,
            105,
            32,
            47,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 328309805
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 336280361
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 338814083
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 341123922
      },
      "log_source": "Plan"
    }
  18. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            98,
            97,
            115,
            104
          ]
        },
        {
          "Unix": [
            45,
            99
          ]
        },
        {
          "Unix": [
            115,
            101,
            116,
            32,
            45,
            120,
            101,
            117,
            111,
            32,
            112,
            105,
            112,
            101,
            102,
            97,
            105,
            108,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            45,
            45,
            103,
            108,
            111,
            98,
            97,
            108,
            32,
            117,
            115,
            101,
            114,
            46,
            110,
            97,
            109,
            101,
            32,
            39,
            65,
            109,
            98,
            105,
            101,
            110,
            116,
            32,
            67,
            73,
            39,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 343771451
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 354301966
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 357174860
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 359802173
      },
      "log_source": "Plan"
    }
  22. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            98,
            97,
            115,
            104
          ]
        },
        {
          "Unix": [
            45,
            99
          ]
        },
        {
          "Unix": [
            115,
            101,
            116,
            32,
            45,
            120,
            101,
            117,
            111,
            32,
            112,
            105,
            112,
            101,
            102,
            97,
            105,
            108,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            45,
            45,
            103,
            108,
            111,
            98,
            97,
            108,
            32,
            117,
            115,
            101,
            114,
            46,
            101,
            109,
            97,
            105,
            108,
            32,
            97,
            109,
            98,
            105,
            101,
            110,
            116,
            64,
            101,
            120,
            97,
            109,
            112,
            108,
            101,
            46,
            99,
            111,
            109,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 362530695
      },
      "log_source": "Plan"
    }
  23. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.email ambient@example.com\n",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 370373539
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 370399567
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 370405019
      },
      "log_source": "Plan"
    }
  26. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 370649549
      },
      "log_source": "Plan"
    }
  27. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 409890300
      },
      "log_source": "Plan"
    }
  28. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            99,
            108,
            105,
            112,
            112,
            121
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 409934152
      },
      "log_source": "Plan"
    }
  29. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 464647720
      },
      "log_source": "Plan"
    }
  30. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 467448787
      },
      "log_source": "Plan"
    }
  31. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 484646399
      },
      "log_source": "Plan"
    }
  32. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            102,
            109,
            116
          ]
        },
        {
          "Unix": [
            45,
            45,
            99,
            104,
            101,
            99,
            107
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 487431442
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 660263425
      },
      "log_source": "Plan"
    }
  34. {
      "type": "action_succeeded",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 662542632
      },
      "log_source": "Plan"
    }
  35. {
      "type": "execute_action",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 664540413
      },
      "log_source": "Plan"
    }
  36. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 666557448
      },
      "log_source": "Plan"
    }
  37. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 677738739
      },
      "log_source": "Plan"
    }
  38. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            99,
            108,
            105,
            112,
            112,
            121
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 680563414
      },
      "log_source": "Plan"
    }
  39. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 710970321
      },
      "log_source": "Plan"
    }
  40. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 713800567
      },
      "log_source": "Plan"
    }
  41. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 729326061
      },
      "log_source": "Plan"
    }
  42. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            99,
            108,
            105,
            112,
            112,
            121
          ]
        },
        {
          "Unix": [
            45,
            45,
            111,
            102,
            102,
            108,
            105,
            110,
            101
          ]
        },
        {
          "Unix": [
            45,
            45,
            108,
            111,
            99,
            107,
            101,
            100
          ]
        },
        {
          "Unix": [
            45,
            45,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101
          ]
        },
        {
          "Unix": [
            45,
            45,
            97,
            108,
            108,
            45,
            116,
            97,
            114,
            103,
            101,
            116,
            115
          ]
        },
        {
          "Unix": [
            45,
            45,
            110,
            111,
            45,
            100,
            101,
            112,
            115
          ]
        },
        {
          "Unix": [
            45,
            45
          ]
        },
        {
          "Unix": [
            45,
            45,
            100,
            101,
            110,
            121
          ]
        },
        {
          "Unix": [
            119,
            97,
            114,
            110,
            105,
            110,
            103,
            115
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256882,
        "nanos_since_epoch": 732117907
      },
      "log_source": "Plan"
    }
  43. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "    Checking radicle-artifact-core v0.14.0 (/ci/src/crates/radicle-artifact-core)\n    Checking radicle-artifact-client v0.14.0 (/ci/src/crates/radicle-artifact-client)\n    Checking radicle-artifact-node v0.14.0 (/ci/src/crates/radicle-artifact-node)\n    Checking radicle-artifact v0.14.0 (/ci/src/crates/radicle-artifact)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 4.97s\n",
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 776247736
      },
      "log_source": "Plan"
    }
  44. {
      "type": "action_succeeded",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 783541595
      },
      "log_source": "Plan"
    }
  45. {
      "type": "execute_action",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 785576511
      },
      "log_source": "Plan"
    }
  46. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 787576702
      },
      "log_source": "Plan"
    }
  47. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 798180840
      },
      "log_source": "Plan"
    }
  48. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            99,
            108,
            105,
            112,
            112,
            121
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 798222321
      },
      "log_source": "Plan"
    }
  49. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 829435411
      },
      "log_source": "Plan"
    }
  50. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 832170100
      },
      "log_source": "Plan"
    }
  51. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 846465481
      },
      "log_source": "Plan"
    }
  52. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            116,
            101,
            115,
            116
          ]
        },
        {
          "Unix": [
            45,
            45,
            111,
            102,
            102,
            108,
            105,
            110,
            101
          ]
        },
        {
          "Unix": [
            45,
            45,
            108,
            111,
            99,
            107,
            101,
            100
          ]
        },
        {
          "Unix": [
            45,
            45,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781256887,
        "nanos_since_epoch": 849182972
      },
      "log_source": "Plan"
    }
  53. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "\nrunning 58 tests\ntest display::tests::describe_progress_maps_every_frame ... ok\ntest lifecycle::tests::log_path_is_under_artifacts_dir ... ok\ntest lifecycle::tests::rotate_log_moves_current_to_dot_one ... ok\ntest test::add_location_for_missing_cid_is_noop ... ok\ntest test::attest_missing_cid_is_noop ... ok\ntest test::author_self_attestation_is_noop ... ok\ntest test::attestation_persists_through_reload ... ok\ntest test::create_records_tag_oid ... ok\ntest test::create_rejects_commit_oid_as_tag ... ok\ntest test::create_rejects_tag_pointing_at_other_commit ... ok\ntest test::create_rejects_unknown_tag_oid ... ok\ntest test::create_without_tag_leaves_none ... ok\ntest test::creator_persists_through_reload ... ok\ntest test::display_marks_seeding_for_local_endpoint_location ... ok\ntest test::display_renders_metadata ... ok\ntest test::find_by_cid_aggregates_across_different_oids ... ok\ntest test::e2e ... ok\ntest test::find_by_cid_aggregates_duplicate_oid_releases ... ok\ntest test::find_by_cid_finds_across_releases ... ok\ntest test::find_by_commit_returns_empty_for_no_match ... ok\ntest test::find_by_commit_returns_matching_releases ... ok\ntest test::get_mut_not_found ... ok\ntest test::idempotent_create ... ok\ntest test::idempotent_attestation ... ok\ntest test::idempotent_register_artifact ... ok\ntest test::locations_by_scheme_duplicate_url_from_two_dids ... ok\ntest test::locations_by_scheme_filters_correctly ... ok\ntest test::metadata_persists_through_reload ... ok\ntest test::missing_commit ... ok\ntest test::multi_user_redaction ... ok\ntest test::multi_delegate_attestation ... ok\ntest test::multi_user_same_reason ... ok\ntest test::multiple_locations_per_node ... ok\ntest test::non_author_cannot_rename_artifact ... ok\ntest test::pretty_renders_compact_and_detailed ... ok\ntest test::redact_artifact ... ok\ntest test::redact_empty_reason ... ok\ntest test::redact_nonexistent_cid_errors ... ok\ntest test::redact_reason_too_long ... ok\ntest test::redact_only_removes_own_attestation ... ok\ntest test::redact_removes_attestation ... ok\ntest test::redact_then_attest_is_blocked ... ok\ntest test::redact_updates_reason ... ok\ntest test::redaction_persists_through_reload ... ok\ntest test::register_artifact_wire_name_stays_add_artifact ... ok\ntest test::register_artifact_records_author ... ok\ntest test::reload_refreshes_from_store ... ok\ntest test::remove_location_for_node_that_never_added_is_noop ... ok\ntest test::remove_metadata_drops_key ... ok\ntest test::remove_metadata_for_missing_key_is_noop ... ok\ntest test::set_metadata_accepts_json_object ... ok\ntest test::set_metadata_basic ... ok\ntest test::set_metadata_for_missing_cid_is_noop ... ok\ntest test::set_metadata_rejects_invalid_keys ... ok\ntest test::set_metadata_last_writer_wins ... ok\ntest test::tag_field_default_none_on_old_actions ... ok\ntest test::set_metadata_rejects_oversized_value ... ok\ntest test::tag_persists_through_reload ... ok\n\ntest result: ok. 58 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s\n\n\nrunning 12 tests\ntest reconcile::tests::bare_iroh_is_current_endpoint ... ok\ntest reconcile::tests::current_endpoint_not_seeded_is_orphaned_self ... ok\ntest reconcile::tests::explicit_current_endpoint_is_current ... ok\ntest reconcile::tests::legacy_iroh_scheme_is_stale ... ok\ntest reconcile::tests::legacy_only_cid_is_reported_missing ... ok\ntest reconcile::tests::missing_and_dangling_split_correctly ... ok\ntest reconcile::tests::missing_picks_release_with_latest_timestamp ... ok\ntest reconcile::tests::mixed_urls_on_same_cid_split_into_buckets ... ok\ntest reconcile::tests::other_endpoint_is_stale ... ok\ntest reconcile::tests::seeded_with_current_location_is_not_missing ... ok\ntest reconcile::tests::seeded_cid_with_no_matching_release_is_dangling ... ok\ntest reconcile::tests::undecodable_host_is_stale ... ok\n\ntest result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 3 tests\ntest codec::tests::command_round_trip ... ok\ntest codec::tests::result_okay_and_error ... ok\ntest codec::tests::stream_event_frames ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 39 tests\ntest cid::tests::artifact_kind_blob ... ok\ntest cid::tests::artifact_kind_unknown_codec ... ok\ntest cid::tests::artifact_kind_collection ... ok\ntest cid::tests::blake3_hash_to_cid_blob_roundtrip ... ok\ntest cid::tests::blake3_hash_to_cid_collection_roundtrip ... ok\ntest cid::tests::canonical_walk_normalizes_separators ... ok\ntest cid::tests::canonical_walk_returns_absolute_paths ... ok\ntest cid::tests::canonical_walk_returns_sorted_entries ... ok\ntest cid::tests::canonical_walk_skips_directories ... ok\ntest cid::tests::cid_to_blake3_hash_rejects_sha256 ... ok\ntest cid::tests::cid_to_blake3_hash_roundtrip ... ok\ntest cid::tests::cid_to_blake3_works_with_hashseq_codec ... ok\ntest cid::tests::determinism ... ok\ntest cid::tests::golden_hash ... ok\ntest cid::tests::symlink_is_skipped ... ok\ntest keys::tests::display_differs_from_iroh_default ... ok\ntest keys::tests::display_is_endpoint_url ... ok\ntest keys::tests::from_url_bare_is_none ... ok\ntest keys::tests::from_url_garbage_host_errors ... ok\ntest keys::tests::from_url_rejects_legacy_iroh_scheme ... ok\ntest keys::tests::from_url_wrong_scheme_errors ... ok\ntest keys::tests::fromstr_round_trip ... ok\ntest keys::tests::is_endpoint_url_only_matches_endpoint_scheme ... ok\ntest keys::tests::is_legacy_endpoint_url_matches_only_iroh_scheme ... ok\ntest keys::tests::matches_url_rules ... ok\ntest keys::tests::radicle_and_iroh_keys_share_same_public_identity ... ok\ntest keys::tests::url_round_trip ... ok\ntest protocol::tests::wire_snapshot_command_alive ... ok\ntest protocol::tests::wire_snapshot_command_has_export_fetch_download ... ok\ntest protocol::tests::wire_snapshot_command_result_ok_and_err ... ok\ntest protocol::tests::wire_snapshot_command_seed ... ok\ntest protocol::tests::wire_snapshot_command_status ... ok\ntest protocol::tests::wire_snapshot_command_unseed_and_lookups ... ok\ntest protocol::tests::wire_snapshot_fetch_progress ... ok\ntest protocol::tests::wire_snapshot_fetch_results ... ok\ntest protocol::tests::wire_snapshot_receipts ... ok\ntest protocol::tests::wire_snapshot_status_zeroed ... ok\ntest protocol::tests::wire_snapshot_stream_event ... ok\ntest keys::tests::encrypted_keystore_requires_passphrase ... ok\n\ntest result: ok. 39 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.82s\n\n\nrunning 25 tests\ntest fetch::tests::export_collection_rejects_unsafe_member ... ok\ntest fetch::tests::export_collection_writes_members ... ok\ntest fetch::tests::http_to_store_rejects_mismatch ... ok\ntest fetch::tests::http_to_store_imports_matching_blob ... ok\ntest fetch::tests::safe_join_allows_nested_paths ... ok\ntest fetch::tests::scoped_path_removes_dir_on_drop ... ok\ntest fetch::tests::safe_join_rejects_traversal_and_absolute ... ok\ntest fetch::tests::scoped_path_removes_file_on_drop ... ok\ntest iroh::tests::default_uses_radworks_endpoints ... ok\ntest iroh::tests::parse_env_rejects_malformed_value ... ok\ntest iroh::tests::parse_relay_urls_comma_separated ... ok\ntest iroh::tests::parse_relay_urls_rejects_malformed ... ok\ntest node::tests::double_start_errors ... ok\ntest node::tests::fetch_and_download_fast_path_and_no_locations ... ok\ntest node::tests::invalid_typed_fields_surface_as_invalid_request ... ok\ntest node::tests::has_and_export_round_trip ... ok\ntest node::tests::malformed_json_surfaces_as_invalid_request ... ok\ntest node::tests::node_round_trip ... ok\ntest node::tests::run_stream_aborts_on_client_disconnect ... ok\ntest node::tests::seed_missing_path_errors ... ok\ntest seeder::tests::all_seeded_round_trip ... ok\ntest seeder::tests::per_repo_tags_isolate ... ok\ntest seeder::tests::seeded_tag_layout ... ok\ntest seeder::tests::unregister_unknown_is_noop ... ok\ntest node::tests::stale_socket_is_reclaimed ... ok\n\ntest result: ok. 25 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 40.26s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest streaming_methods_round_trip ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 10.08s\n\n\nrunning 2 tests\ntest empty_dir_matches ... ok\ntest content_id_matches_iroh_blobs_collection_encoding ... ok\n\ntest result: ok. 2 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle-artifact/src/lib.rs - (line 13) ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.70s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n",
      "stderr": "   Compiling radicle-artifact-core v0.14.0 (/ci/src/crates/radicle-artifact-core)\n   Compiling radicle-artifact-client v0.14.0 (/ci/src/crates/radicle-artifact-client)\n   Compiling radicle-artifact-node v0.14.0 (/ci/src/crates/radicle-artifact-node)\n   Compiling radicle-artifact v0.14.0 (/ci/src/crates/radicle-artifact)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 19.90s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-53e9f8948408895f)\n     Running unittests src/bin/rad-artifact/main.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-cf298f63177383e5)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact_client-dcc9f1e2a3b0049c)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact_core-480633a6258782f9)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact_node-73e8b26f25a2445d)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad_artifact_node-9926bc2ef7868382)\n     Running tests/client_streaming.rs (/ci/cache/cargo-target/debug/deps/client_streaming-fde229942014b935)\n     Running tests/collection_format.rs (/ci/cache/cargo-target/debug/deps/collection_format-36ac20df5afffea2)\n   Doc-tests radicle_artifact\n   Doc-tests radicle_artifact_client\n   Doc-tests radicle_artifact_core\n   Doc-tests radicle_artifact_node\n",
      "timestamp": {
        "secs_since_epoch": 1781256961,
        "nanos_since_epoch": 515192858
      },
      "log_source": "Plan"
    }
  54. {
      "type": "action_succeeded",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1781256961,
        "nanos_since_epoch": 618038331
      },
      "log_source": "Plan"
    }
  55. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1781256961,
        "nanos_since_epoch": 618211556
      },
      "log_source": "Plan"
    }
  56. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1781256967,
        "nanos_since_epoch": 666092557
      },
      "log_source": "Plan"
    }
  57. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1781256967,
        "nanos_since_epoch": 666135197
      },
      "log_source": "Plan"
    }
  58. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1781256967,
        "nanos_since_epoch": 668235972
      },
      "log_source": "Plan"
    }
  59. {
      "type": "plan_succeeded",
      "timestamp": {
        "secs_since_epoch": 1781256967,
        "nanos_since_epoch": 668397264
      },
      "log_source": "Plan"
    }
  60. {
      "type": "executor_ends_successfully",
      "timestamp": {
        "secs_since_epoch": 1781256967,
        "nanos_since_epoch": 668401193
      },
      "log_source": "Plan"
    }

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "patch",
  "repository": {
    "id": "rad:z4VYyJ9KuwMNkXGQnmKuGPGKw3inv",
    "name": "radicle-artifact",
    "description": "Secure artifact distribution for Radicle",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm"
    ]
  },
  "action": "Updated",
  "patch": {
    "id": "64652d0ac096c5d73d34c333152c3b0b2f431612",
    "author": {
      "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
      "alias": "2color"
    },
    "title": "Split into a four-crate workspace: lean COB crate, separate seeding daemon",
    "state": {
      "status": "open",
      "conflicts": []
    },
    "before": "e8124907190fee1b4d5f8a1b902ef1767a63107f",
    "after": "89303ca15681df0c21c2caccf75e1431b685a717",
    "commits": [
      "89303ca15681df0c21c2caccf75e1431b685a717",
      "bf56ce54a3758e94130079429a62f9cae1cf8e78",
      "8437d1d859b4722b05120e139a931273ce9783d3",
      "641ebd74126e2f593423ff391fb383c9515cc955",
      "ef4e8796b74eda8c81ac67bd48eb1246ff6ab1fa",
      "98aca4ecd99666f472da41f9fd35dbad3b33b972"
    ],
    "target": "e8124907190fee1b4d5f8a1b902ef1767a63107f",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "64652d0ac096c5d73d34c333152c3b0b2f431612",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "Implements the crate split discussed with yorgos, hdh, and spacefrogg: the\norg.radworks.artifact COB and iroh seeding are distinct concerns, and\nCOB-only consumers should never pull the iroh dependency tree; as a durable\narrangement, not a feature flag.\n\n- **radicle-artifact**: COB types/operations + the rad-artifact CLI. No iroh,\nno tokio; the share crate feature is gone. The CLI keeps all subcommands and\ntalks to the daemon over the control socket via the sync client.\n- **radicle-artifact-node**: new rad-artifact-node binary, a pure foreground\ndaemon owning the iroh stack (store, blob serving, fetch/export).\nrad-artifact node start spawns it (sibling of the CLI, then PATH).\n- **radicle-artifact-core**:  wire protocol, CID helpers,\nendpoint identity. Depends on iroh-base[key] only (pure crypto, the same\nre-exported types as iroh, so no conversion at the daemon boundary).\nDirectory CIDs reimplement the iroh-blobs CollectionV0/HashSeq encoding;\na cross-check test in the node crate pins it against the real encoding.\n- **radicle-artifact-client**: control-socket client over a shared codec. Sync\ntransport by default; a tokio feature adds the async client for\nembedders (e.g. a Tauri app) without ever pulling iroh.\n\ncargo tree verified: no iroh/iroh-blobs/tokio/quinn in core, client\n(default features), or the CLI crate. All crates version in lockstep;\nrelease plumbing, install script, and docs updated for the two binaries.",
        "base": "e8124907190fee1b4d5f8a1b902ef1767a63107f",
        "oid": "f0b732a9a38324ce4a7d1d51eb8abe5c3f5611ee",
        "timestamp": 1781192464
      },
      {
        "id": "2c9ebe6f5a63293c2c761a746e9191abbd7cd9d6",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "",
        "base": "e8124907190fee1b4d5f8a1b902ef1767a63107f",
        "oid": "bf56ce54a3758e94130079429a62f9cae1cf8e78",
        "timestamp": 1781194525
      },
      {
        "id": "dbf2ee4e4d42618e0dcffc885deb99aee8203732",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "docs: corrections for accuracy and rust doc fixes",
        "base": "e8124907190fee1b4d5f8a1b902ef1767a63107f",
        "oid": "89303ca15681df0c21c2caccf75e1431b685a717",
        "timestamp": 1781256857
      }
    ]
  }
}

Ambient stdout

executor from config: /usr/bin/ambient-execute-plan
executor from PATH: /usr/bin/ambient-execute-plan
run CI for rad:z4VYyJ9KuwMNkXGQnmKuGPGKw3inv

Ambient stderr

<empty log>