CI: SUCCESS radicle-artifact

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-05-11 15:48:56ZProgram: ambient-execute-plan
Version: 0.14.0@c37ec71
plan: Runnable plan
After 0.00 seconds at 2026-05-11 15:48:56Z
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.00 seconds at 2026-05-11 15:48:56Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-05-11 15:48:56Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-05-11 15:48:56Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.00 seconds at 2026-05-11 15:48:56Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-05-11 15:48:56Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-05-11 15:48:56Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.00 seconds at 2026-05-11 15:48:56Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-05-11 15:48:56Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-05-11 15:48:56Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.05 seconds at 2026-05-11 15:48:56Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-05-11 15:48:56Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-05-11 15:48:59Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 2.61 seconds at 2026-05-11 15:48:59Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-05-11 15:48:59Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-05-11 15:49:03Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 7.04 seconds at 2026-05-11 15:49:03Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-05-11 15:49:03Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 7.05 seconds at 2026-05-11 15:49:03Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-05-11 15:49:03Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:03Z
    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-05-11 15:49:03Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 7.07 seconds at 2026-05-11 15:49:03Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-05-11 15:49:03Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:03Z
    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-05-11 15:49:03Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Successful action cargo_fmt
After 7.09 seconds at 2026-05-11 15:49:03Z
  • plan: Start action cargo_fmt
    After 0.00 seconds at 2026-05-11 15:49:03Z
    CargoFmt(
        CargoFmt,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:03Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:03Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:03Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-05-11 15:49:03Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:04Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:04Z
    • cargo
    • fmt
    • --check
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:04Z
    Exit code: 0
  • plan: Action succeeded cargo_fmt
    After 0.00 seconds at 2026-05-11 15:49:04Z
    CargoFmt(
        CargoFmt,
    )
plan: Successful action cargo_clippy
After 7.33 seconds at 2026-05-11 15:49:04Z
  • plan: Start action cargo_clippy
    After 0.00 seconds at 2026-05-11 15:49:04Z
    CargoClippy(
        CargoClippy,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:04Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:04Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:04Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:04Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-05-11 15:49:04Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:04Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:04Z
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:22Z
    Exit code: 0
    Stderr:
        Checking hashbrown v0.16.1
       Compiling n0-error-macros v1.0.0-rc.0
        Checking indexmap v2.13.0
        Checking n0-error v1.0.0-rc.0
       Compiling vergen-lib v9.1.0
       Compiling noq-udp v1.0.0-rc.0
        Checking h2 v0.4.13
        Checking base16ct v1.0.0
        Checking serdect v0.4.3
        Checking pkcs8 v0.11.0
        Checking signature v3.0.0
        Checking ed25519 v3.0.0
        Checking sha2 v0.11.0
       Compiling vergen-gitcl v9.1.0
        Checking ed25519-dalek v3.0.0-pre.7
       Compiling vergen v9.1.0
        Checking hickory-proto v0.26.1
        Checking hyper v1.9.0
        Checking rustls-platform-verifier v0.7.0
        Checking rand_pcg v0.10.2
       Compiling noq v1.0.0-rc.0
        Checking noq-proto v1.0.0-rc.0
        Checking hyper-util v0.1.20
        Checking hyper-rustls v0.27.8
        Checking hickory-net v0.26.1
        Checking iroh-base v1.0.0-rc.0
       Compiling iroh-metrics-derive v1.0.0-rc.0
       Compiling iroh-dns v1.0.0-rc.0
       Compiling netwatch v0.17.0
        Checking hickory-resolver v0.26.1
        Checking netdev v0.43.0
        Checking iroh-metrics v1.0.0-rc.0
        Checking hashbrown v0.17.1
        Checking reqwest v0.13.2
       Compiling iroh-relay v1.0.0-rc.0
        Checking n0-watcher v1.0.0-rc.0
        Checking arc-swap v1.9.1
        Checking simple-dns v0.11.2
        Checking igd-next v0.17.0
        Checking serde_json v1.0.149
        Checking lru v0.18.0
       Compiling iroh v1.0.0-rc.0
        Checking portmapper v0.17.0
       Compiling redb v4.1.0
        Checking schemars v1.2.1
       Compiling iroh-blobs v0.101.0
       Compiling irpc-derive v0.15.0
        Checking irpc v0.15.0
        Checking radicle-cob v0.20.0
        Checking radicle-core v0.3.0
        Checking iroh-tickets v1.0.0-rc.0
        Checking radicle v0.24.0
        Checking iroh-util v0.4.0
        Checking radicle-artifact v0.12.1 (/ci/src)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.92s
    
  • plan: Action succeeded cargo_clippy
    After 0.00 seconds at 2026-05-11 15:49:22Z
    CargoClippy(
        CargoClippy,
    )
plan: Successful action cargo_test
After 25.39 seconds at 2026-05-11 15:49:22Z
  • plan: Start action cargo_test
    After 0.00 seconds at 2026-05-11 15:49:22Z
    CargoTest(
        CargoTest,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:22Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:22Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:22Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:22Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-05-11 15:49:22Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:49:22Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-11 15:49:22Z
    • cargo
    • test
    • --offline
    • --locked
    • --workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-11 15:50:23Z
    Exit code: 0
    Stdout:
    running 76 tests
    test share::cid_utils::tests::artifact_kind_collection ... ok
    test share::cid_utils::tests::artifact_kind_blob ... ok
    test share::cid_utils::tests::artifact_kind_unknown_codec ... ok
    test share::cid_utils::tests::blake3_hash_to_cid_blob_roundtrip ... ok
    test share::cid_utils::tests::blake3_hash_to_cid_collection_roundtrip ... ok
    test share::cid_utils::tests::canonical_walk_normalizes_separators ... ok
    test share::cid_utils::tests::canonical_walk_returns_absolute_paths ... ok
    test share::cid_utils::tests::canonical_walk_returns_sorted_entries ... ok
    test share::cid_utils::tests::cid_to_blake3_hash_rejects_sha256 ... ok
    test share::cid_utils::tests::canonical_walk_skips_directories ... ok
    test share::cid_utils::tests::cid_to_blake3_hash_roundtrip ... ok
    test share::cid_utils::tests::cid_to_blake3_works_with_hashseq_codec ... ok
    test share::cid_utils::tests::determinism ... ok
    test share::cid_utils::tests::golden_hash ... ok
    test share::cid_utils::tests::verify_cid_matches ... ok
    test share::cid_utils::tests::symlink_is_skipped ... ok
    test share::cid_utils::tests::verify_cid_mismatch ... ok
    test share::endpoint::tests::default_is_radworks ... ok
    test share::fetch::tests::download_collection_url_only_reports_unsupported ... ok
    test share::fetch::tests::download_http_connect_times_out_fast ... ok
    test share::fetch::tests::download_no_locations ... ok
    test share::fetch::tests::download_unsupported_scheme ... ok
    test share::fetch::tests::partition_locations_splits_iroh_and_url ... ok
    test share::keys::tests::radicle_and_iroh_keys_share_same_public_identity ... ok
    test test::add_artifact_records_author ... ok
    test test::add_location_for_missing_cid_is_noop ... ok
    test test::attest_missing_cid_is_noop ... ok
    test test::attestation_persists_through_reload ... ok
    test test::author_self_attestation_is_noop ... 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_renders_metadata ... ok
    test test::e2e ... ok
    test test::find_by_cid_aggregates_across_different_oids ... 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 share::keys::tests::encrypted_keystore_requires_passphrase ... ok
    test test::find_by_commit_returns_matching_releases ... ok
    test test::get_mut_not_found ... ok
    test test::idempotent_add_artifact ... ok
    test test::idempotent_create ... ok
    test test::idempotent_attestation ... ok
    test test::locations_by_scheme_duplicate_url_from_two_dids ... ok
    test test::locations_by_scheme_filters_correctly ... ok
    test test::missing_commit ... ok
    test test::metadata_persists_through_reload ... 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_nonexistent_cid_errors ... ok
    test test::redact_empty_reason ... 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::reload_refreshes_from_store ... ok
    test test::remove_metadata_drops_key ... ok
    test test::remove_location_for_node_that_never_added_is_noop ... 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::tag_field_default_none_on_old_actions ... ok
    test test::tag_persists_through_reload ... ok
    test test::set_metadata_last_writer_wins ... ok
    
    test result: ok. 76 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.87s
    
    
    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 src/lib.rs - (line 13) ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s
    
    
    Stderr:
       Compiling hashbrown v0.16.1
       Compiling n0-error v1.0.0-rc.0
       Compiling base16ct v1.0.0
       Compiling serdect v0.4.3
       Compiling pkcs8 v0.11.0
       Compiling indexmap v2.13.0
       Compiling h2 v0.4.13
       Compiling toml_edit v0.25.11+spec-1.1.0
       Compiling signature v3.0.0
       Compiling ed25519 v3.0.0
       Compiling vergen-lib v9.1.0
       Compiling proc-macro-crate v3.5.0
       Compiling noq-udp v1.0.0-rc.0
       Compiling sha2 v0.11.0
       Compiling hyper v1.9.0
       Compiling hyper-util v0.1.20
       Compiling ed25519-dalek v3.0.0-pre.7
       Compiling vergen v9.1.0
       Compiling hickory-proto v0.26.1
       Compiling rustls-platform-verifier v0.7.0
       Compiling rand_pcg v0.10.2
       Compiling noq-proto v1.0.0-rc.0
       Compiling hickory-net v0.26.1
       Compiling hyper-rustls v0.27.8
       Compiling vergen-gitcl v9.1.0
       Compiling iroh-base v1.0.0-rc.0
       Compiling num_enum_derive v0.7.6
       Compiling iroh-metrics v1.0.0-rc.0
       Compiling hashbrown v0.17.1
       Compiling hickory-resolver v0.26.1
       Compiling netdev v0.43.0
       Compiling noq v1.0.0-rc.0
       Compiling reqwest v0.13.2
       Compiling num_enum v0.7.6
       Compiling iroh-relay v1.0.0-rc.0
       Compiling n0-watcher v1.0.0-rc.0
       Compiling arc-swap v1.9.1
       Compiling simple-dns v0.11.2
       Compiling iroh-dns v1.0.0-rc.0
       Compiling igd-next v0.17.0
       Compiling netwatch v0.17.0
       Compiling serde_json v1.0.149
       Compiling lru v0.18.0
       Compiling portmapper v0.17.0
       Compiling schemars v1.2.1
       Compiling irpc v0.15.0
       Compiling iroh v1.0.0-rc.0
       Compiling radicle-cob v0.20.0
       Compiling radicle-core v0.3.0
       Compiling redb v4.1.0
       Compiling iroh-tickets v1.0.0-rc.0
       Compiling nested_enum_utils v0.2.3
       Compiling radicle v0.24.0
       Compiling iroh-util v0.4.0
       Compiling iroh-blobs v0.101.0
       Compiling radicle-artifact v0.12.1 (/ci/src)
        Finished `test` profile [unoptimized + debuginfo] target(s) in 57.95s
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-7ee2a5d0c6645c19)
         Running unittests src/bin/rad-artifact.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-56758c994a7d81be)
       Doc-tests radicle_artifact
    
  • plan: Action succeeded cargo_test
    After 0.00 seconds at 2026-05-11 15:50:23Z
    CargoTest(
        CargoTest,
    )
plan: Successful action tar_create
After 87.01 seconds at 2026-05-11 15:50:23Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-05-11 15:50:23Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-05-11 15:50:29Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action tar_create
After 92.50 seconds at 2026-05-11 15:50:29Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-05-11 15:50:29Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-05-11 15:50:29Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
plan: Plan succeeded
After 92.51 seconds at 2026-05-11 15:50:29ZHopefully 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": 1778514536,
        "nanos_since_epoch": 817494736
      },
      "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": 1778514536,
        "nanos_since_epoch": 817822374
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 817880345
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 818128482
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 818286984
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 818315669
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 818504112
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 866871021
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1778514536,
        "nanos_since_epoch": 867323244
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1778514539,
        "nanos_since_epoch": 423091732
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778514539,
        "nanos_since_epoch": 425939714
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 852768586
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 855362888
      },
      "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": 1778514543,
        "nanos_since_epoch": 857616888
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 865021065
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 867582355
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 869872155
      },
      "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": 1778514543,
        "nanos_since_epoch": 872464943
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 883363534
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 886169571
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 888769321
      },
      "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": 1778514543,
        "nanos_since_epoch": 891412268
      },
      "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": 1778514543,
        "nanos_since_epoch": 899306867
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 902177413
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1778514543,
        "nanos_since_epoch": 904853950
      },
      "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": 1778514543,
        "nanos_since_epoch": 906790732
      },
      "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": 1778514543,
        "nanos_since_epoch": 936423080
      },
      "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": 1778514543,
        "nanos_since_epoch": 939189204
      },
      "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": 1778514543,
        "nanos_since_epoch": 993301944
      },
      "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": 1778514543,
        "nanos_since_epoch": 996131067
      },
      "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": 1778514544,
        "nanos_since_epoch": 14307751
      },
      "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": 1778514544,
        "nanos_since_epoch": 17064645
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1778514544,
        "nanos_since_epoch": 142413400
      },
      "log_source": "Plan"
    }
  34. {
      "type": "action_succeeded",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1778514544,
        "nanos_since_epoch": 142913974
      },
      "log_source": "Plan"
    }
  35. {
      "type": "execute_action",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1778514544,
        "nanos_since_epoch": 143120250
      },
      "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": 1778514544,
        "nanos_since_epoch": 143128792
      },
      "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": 1778514544,
        "nanos_since_epoch": 159272855
      },
      "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": 1778514544,
        "nanos_since_epoch": 161977978
      },
      "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": 1778514544,
        "nanos_since_epoch": 191251559
      },
      "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": 1778514544,
        "nanos_since_epoch": 191698028
      },
      "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": 1778514544,
        "nanos_since_epoch": 208760698
      },
      "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": 1778514544,
        "nanos_since_epoch": 211501521
      },
      "log_source": "Plan"
    }
  43. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "    Checking hashbrown v0.16.1\n   Compiling n0-error-macros v1.0.0-rc.0\n    Checking indexmap v2.13.0\n    Checking n0-error v1.0.0-rc.0\n   Compiling vergen-lib v9.1.0\n   Compiling noq-udp v1.0.0-rc.0\n    Checking h2 v0.4.13\n    Checking base16ct v1.0.0\n    Checking serdect v0.4.3\n    Checking pkcs8 v0.11.0\n    Checking signature v3.0.0\n    Checking ed25519 v3.0.0\n    Checking sha2 v0.11.0\n   Compiling vergen-gitcl v9.1.0\n    Checking ed25519-dalek v3.0.0-pre.7\n   Compiling vergen v9.1.0\n    Checking hickory-proto v0.26.1\n    Checking hyper v1.9.0\n    Checking rustls-platform-verifier v0.7.0\n    Checking rand_pcg v0.10.2\n   Compiling noq v1.0.0-rc.0\n    Checking noq-proto v1.0.0-rc.0\n    Checking hyper-util v0.1.20\n    Checking hyper-rustls v0.27.8\n    Checking hickory-net v0.26.1\n    Checking iroh-base v1.0.0-rc.0\n   Compiling iroh-metrics-derive v1.0.0-rc.0\n   Compiling iroh-dns v1.0.0-rc.0\n   Compiling netwatch v0.17.0\n    Checking hickory-resolver v0.26.1\n    Checking netdev v0.43.0\n    Checking iroh-metrics v1.0.0-rc.0\n    Checking hashbrown v0.17.1\n    Checking reqwest v0.13.2\n   Compiling iroh-relay v1.0.0-rc.0\n    Checking n0-watcher v1.0.0-rc.0\n    Checking arc-swap v1.9.1\n    Checking simple-dns v0.11.2\n    Checking igd-next v0.17.0\n    Checking serde_json v1.0.149\n    Checking lru v0.18.0\n   Compiling iroh v1.0.0-rc.0\n    Checking portmapper v0.17.0\n   Compiling redb v4.1.0\n    Checking schemars v1.2.1\n   Compiling iroh-blobs v0.101.0\n   Compiling irpc-derive v0.15.0\n    Checking irpc v0.15.0\n    Checking radicle-cob v0.20.0\n    Checking radicle-core v0.3.0\n    Checking iroh-tickets v1.0.0-rc.0\n    Checking radicle v0.24.0\n    Checking iroh-util v0.4.0\n    Checking radicle-artifact v0.12.1 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 17.92s\n",
      "timestamp": {
        "secs_since_epoch": 1778514562,
        "nanos_since_epoch": 206688549
      },
      "log_source": "Plan"
    }
  44. {
      "type": "action_succeeded",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1778514562,
        "nanos_since_epoch": 207216153
      },
      "log_source": "Plan"
    }
  45. {
      "type": "execute_action",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1778514562,
        "nanos_since_epoch": 207414399
      },
      "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": 1778514562,
        "nanos_since_epoch": 207423446
      },
      "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": 1778514562,
        "nanos_since_epoch": 248826927
      },
      "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": 1778514562,
        "nanos_since_epoch": 251520436
      },
      "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": 1778514562,
        "nanos_since_epoch": 281279365
      },
      "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": 1778514562,
        "nanos_since_epoch": 281739988
      },
      "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": 1778514562,
        "nanos_since_epoch": 293716132
      },
      "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": 1778514562,
        "nanos_since_epoch": 294152050
      },
      "log_source": "Plan"
    }
  53. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "\nrunning 76 tests\ntest share::cid_utils::tests::artifact_kind_collection ... ok\ntest share::cid_utils::tests::artifact_kind_blob ... ok\ntest share::cid_utils::tests::artifact_kind_unknown_codec ... ok\ntest share::cid_utils::tests::blake3_hash_to_cid_blob_roundtrip ... ok\ntest share::cid_utils::tests::blake3_hash_to_cid_collection_roundtrip ... ok\ntest share::cid_utils::tests::canonical_walk_normalizes_separators ... ok\ntest share::cid_utils::tests::canonical_walk_returns_absolute_paths ... ok\ntest share::cid_utils::tests::canonical_walk_returns_sorted_entries ... ok\ntest share::cid_utils::tests::cid_to_blake3_hash_rejects_sha256 ... ok\ntest share::cid_utils::tests::canonical_walk_skips_directories ... ok\ntest share::cid_utils::tests::cid_to_blake3_hash_roundtrip ... ok\ntest share::cid_utils::tests::cid_to_blake3_works_with_hashseq_codec ... ok\ntest share::cid_utils::tests::determinism ... ok\ntest share::cid_utils::tests::golden_hash ... ok\ntest share::cid_utils::tests::verify_cid_matches ... ok\ntest share::cid_utils::tests::symlink_is_skipped ... ok\ntest share::cid_utils::tests::verify_cid_mismatch ... ok\ntest share::endpoint::tests::default_is_radworks ... ok\ntest share::fetch::tests::download_collection_url_only_reports_unsupported ... ok\ntest share::fetch::tests::download_http_connect_times_out_fast ... ok\ntest share::fetch::tests::download_no_locations ... ok\ntest share::fetch::tests::download_unsupported_scheme ... ok\ntest share::fetch::tests::partition_locations_splits_iroh_and_url ... ok\ntest share::keys::tests::radicle_and_iroh_keys_share_same_public_identity ... ok\ntest test::add_artifact_records_author ... ok\ntest test::add_location_for_missing_cid_is_noop ... ok\ntest test::attest_missing_cid_is_noop ... ok\ntest test::attestation_persists_through_reload ... ok\ntest test::author_self_attestation_is_noop ... 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_renders_metadata ... ok\ntest test::e2e ... ok\ntest test::find_by_cid_aggregates_across_different_oids ... 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 share::keys::tests::encrypted_keystore_requires_passphrase ... ok\ntest test::find_by_commit_returns_matching_releases ... ok\ntest test::get_mut_not_found ... ok\ntest test::idempotent_add_artifact ... ok\ntest test::idempotent_create ... ok\ntest test::idempotent_attestation ... ok\ntest test::locations_by_scheme_duplicate_url_from_two_dids ... ok\ntest test::locations_by_scheme_filters_correctly ... ok\ntest test::missing_commit ... ok\ntest test::metadata_persists_through_reload ... 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_nonexistent_cid_errors ... ok\ntest test::redact_empty_reason ... 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::reload_refreshes_from_store ... ok\ntest test::remove_metadata_drops_key ... ok\ntest test::remove_location_for_node_that_never_added_is_noop ... 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::tag_field_default_none_on_old_actions ... ok\ntest test::tag_persists_through_reload ... ok\ntest test::set_metadata_last_writer_wins ... ok\n\ntest result: ok. 76 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.87s\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 src/lib.rs - (line 13) ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.48s\n\n",
      "stderr": "   Compiling hashbrown v0.16.1\n   Compiling n0-error v1.0.0-rc.0\n   Compiling base16ct v1.0.0\n   Compiling serdect v0.4.3\n   Compiling pkcs8 v0.11.0\n   Compiling indexmap v2.13.0\n   Compiling h2 v0.4.13\n   Compiling toml_edit v0.25.11+spec-1.1.0\n   Compiling signature v3.0.0\n   Compiling ed25519 v3.0.0\n   Compiling vergen-lib v9.1.0\n   Compiling proc-macro-crate v3.5.0\n   Compiling noq-udp v1.0.0-rc.0\n   Compiling sha2 v0.11.0\n   Compiling hyper v1.9.0\n   Compiling hyper-util v0.1.20\n   Compiling ed25519-dalek v3.0.0-pre.7\n   Compiling vergen v9.1.0\n   Compiling hickory-proto v0.26.1\n   Compiling rustls-platform-verifier v0.7.0\n   Compiling rand_pcg v0.10.2\n   Compiling noq-proto v1.0.0-rc.0\n   Compiling hickory-net v0.26.1\n   Compiling hyper-rustls v0.27.8\n   Compiling vergen-gitcl v9.1.0\n   Compiling iroh-base v1.0.0-rc.0\n   Compiling num_enum_derive v0.7.6\n   Compiling iroh-metrics v1.0.0-rc.0\n   Compiling hashbrown v0.17.1\n   Compiling hickory-resolver v0.26.1\n   Compiling netdev v0.43.0\n   Compiling noq v1.0.0-rc.0\n   Compiling reqwest v0.13.2\n   Compiling num_enum v0.7.6\n   Compiling iroh-relay v1.0.0-rc.0\n   Compiling n0-watcher v1.0.0-rc.0\n   Compiling arc-swap v1.9.1\n   Compiling simple-dns v0.11.2\n   Compiling iroh-dns v1.0.0-rc.0\n   Compiling igd-next v0.17.0\n   Compiling netwatch v0.17.0\n   Compiling serde_json v1.0.149\n   Compiling lru v0.18.0\n   Compiling portmapper v0.17.0\n   Compiling schemars v1.2.1\n   Compiling irpc v0.15.0\n   Compiling iroh v1.0.0-rc.0\n   Compiling radicle-cob v0.20.0\n   Compiling radicle-core v0.3.0\n   Compiling redb v4.1.0\n   Compiling iroh-tickets v1.0.0-rc.0\n   Compiling nested_enum_utils v0.2.3\n   Compiling radicle v0.24.0\n   Compiling iroh-util v0.4.0\n   Compiling iroh-blobs v0.101.0\n   Compiling radicle-artifact v0.12.1 (/ci/src)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 57.95s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-7ee2a5d0c6645c19)\n     Running unittests src/bin/rad-artifact.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-56758c994a7d81be)\n   Doc-tests radicle_artifact\n",
      "timestamp": {
        "secs_since_epoch": 1778514623,
        "nanos_since_epoch": 751173902
      },
      "log_source": "Plan"
    }
  54. {
      "type": "action_succeeded",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1778514623,
        "nanos_since_epoch": 829008465
      },
      "log_source": "Plan"
    }
  55. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778514623,
        "nanos_since_epoch": 829182545
      },
      "log_source": "Plan"
    }
  56. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778514629,
        "nanos_since_epoch": 311411313
      },
      "log_source": "Plan"
    }
  57. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778514629,
        "nanos_since_epoch": 314916418
      },
      "log_source": "Plan"
    }
  58. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778514629,
        "nanos_since_epoch": 320246490
      },
      "log_source": "Plan"
    }
  59. {
      "type": "plan_succeeded",
      "timestamp": {
        "secs_since_epoch": 1778514629,
        "nanos_since_epoch": 324205637
      },
      "log_source": "Plan"
    }
  60. {
      "type": "executor_ends_successfully",
      "timestamp": {
        "secs_since_epoch": 1778514629,
        "nanos_since_epoch": 328181508
      },
      "log_source": "Plan"
    }

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "push",
  "repository": {
    "id": "rad:z4VYyJ9KuwMNkXGQnmKuGPGKw3inv",
    "name": "radicle-artifact",
    "description": "A Radicle Collaborative Object (COB) for content-addressed release artifacts and their discovery locations",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm"
    ]
  },
  "pusher": {
    "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
    "alias": "2color"
  },
  "before": "a98de0379e95f362b09c0f8f76b489f358fd61e9",
  "after": "a98de0379e95f362b09c0f8f76b489f358fd61e9",
  "branch": "main",
  "commits": [
    "a98de0379e95f362b09c0f8f76b489f358fd61e9",
    "a0ce57ad53b57168037f2d99ee935024626b5a27"
  ]
}

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>