CI: SUCCESS radicle-artifact

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-05-12 13:59:03ZProgram: ambient-execute-plan
Version: 0.14.0@c37ec71
plan: Runnable plan
After 0.00 seconds at 2026-05-12 13:59:03Z
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-05-12 13:59:03Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-05-12 13:59:03Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-05-12 13:59:03Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.03 seconds at 2026-05-12 13:59:03Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-05-12 13:59:03Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-05-12 13:59:03Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.04 seconds at 2026-05-12 13:59:03Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-05-12 13:59:03Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-05-12 13:59:04Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.06 seconds at 2026-05-12 13:59:04Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-05-12 13:59:04Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-05-12 13:59:06Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 2.33 seconds at 2026-05-12 13:59:06Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-05-12 13:59:06Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-05-12 13:59:12Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 8.23 seconds at 2026-05-12 13:59:12Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 8.25 seconds at 2026-05-12 13:59:12Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    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-12 13:59:12Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 8.26 seconds at 2026-05-12 13:59:12Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    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-12 13:59:12Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Successful action cargo_fmt
After 8.28 seconds at 2026-05-12 13:59:12Z
  • plan: Start action cargo_fmt
    After 0.00 seconds at 2026-05-12 13:59:12Z
    CargoFmt(
        CargoFmt,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • cargo
    • fmt
    • --check
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
  • plan: Action succeeded cargo_fmt
    After 0.00 seconds at 2026-05-12 13:59:12Z
    CargoFmt(
        CargoFmt,
    )
plan: Successful action cargo_clippy
After 8.54 seconds at 2026-05-12 13:59:12Z
  • plan: Start action cargo_clippy
    After 0.00 seconds at 2026-05-12 13:59:12Z
    CargoClippy(
        CargoClippy,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:12Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:12Z
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:33Z
    Exit code: 0
    Stderr:
       Compiling openssl-sys v0.9.114
       Compiling libgit2-sys v0.18.4+1.9.3
        Checking openssl-probe v0.1.6
        Checking git2 v0.20.4
        Checking radicle-oid v0.2.0
        Checking radicle-cob v0.20.0
        Checking radicle-core v0.3.0
        Checking radicle v0.24.0
        Checking radicle-artifact v0.14.0 (/ci/src)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.76s
    
  • plan: Action succeeded cargo_clippy
    After 0.00 seconds at 2026-05-12 13:59:33Z
    CargoClippy(
        CargoClippy,
    )
plan: Successful action cargo_test
After 29.45 seconds at 2026-05-12 13:59:33Z
  • plan: Start action cargo_test
    After 0.00 seconds at 2026-05-12 13:59:33Z
    CargoTest(
        CargoTest,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:33Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:33Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:33Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:33Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-05-12 13:59:33Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 13:59:33Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-05-12 13:59:33Z
    • cargo
    • test
    • --offline
    • --locked
    • --workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-05-12 14:00:13Z
    Exit code: 0
    Stdout:
    running 81 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::canonical_walk_skips_directories ... ok
    test share::cid_utils::tests::cid_to_blake3_hash_rejects_sha256 ... 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::symlink_is_skipped ... ok
    test share::cid_utils::tests::verify_cid_matches ... 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_no_locations ... ok
    test share::fetch::tests::download_http_connect_times_out_fast ... ok
    test share::fetch::tests::download_unsupported_scheme ... ok
    test share::fetch::tests::partition_locations_splits_iroh_and_url ... ok
    test share::keys::tests::endpoint_id_from_bare_iroh_url_is_none ... ok
    test share::keys::tests::endpoint_id_from_iroh_url_round_trips ... ok
    test share::keys::tests::endpoint_id_from_iroh_url_with_garbage_host_errors ... 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::get_mut_not_found ... ok
    test test::find_by_commit_returns_matching_releases ... 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::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::redact_artifact ... ok
    test test::pretty_renders_compact_and_detailed ... 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_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_rejects_oversized_value ... ok
    test test::tag_field_default_none_on_old_actions ... ok
    test test::set_metadata_last_writer_wins ... ok
    test test::tag_persists_through_reload ... ok
    
    test result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.93s
    
    
    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 openssl-sys v0.9.114
       Compiling libgit2-sys v0.18.4+1.9.3
       Compiling openssl-probe v0.1.6
       Compiling git2 v0.20.4
       Compiling radicle-oid v0.2.0
       Compiling radicle-cob v0.20.0
       Compiling radicle-core v0.3.0
       Compiling radicle v0.24.0
       Compiling radicle-artifact v0.14.0 (/ci/src)
        Finished `test` profile [unoptimized + debuginfo] target(s) in 36.35s
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-bdc31e8058fdf4f7)
         Running unittests src/bin/rad-artifact.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-6b7b4334b8457b26)
       Doc-tests radicle_artifact
    
  • plan: Action succeeded cargo_test
    After 0.00 seconds at 2026-05-12 14:00:13Z
    CargoTest(
        CargoTest,
    )
plan: Successful action tar_create
After 69.49 seconds at 2026-05-12 14:00:13Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-05-12 14:00:13Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-05-12 14:00:18Z
    TarCreate(
        TarCreate {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action tar_create
After 75.04 seconds at 2026-05-12 14:00:18Z
  • plan: Start action tar_create
    After 0.00 seconds at 2026-05-12 14:00:18Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
  • plan: Action succeeded tar_create
    After 0.00 seconds at 2026-05-12 14:00:19Z
    TarCreate(
        TarCreate {
            archive: "/dev/vdd",
            directory: "/ci/artifacts",
        },
    )
plan: Plan succeeded
After 75.05 seconds at 2026-05-12 14:00:19ZHopefully 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": 1778594343,
        "nanos_since_epoch": 953058454
      },
      "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": 1778594343,
        "nanos_since_epoch": 955958438
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1778594343,
        "nanos_since_epoch": 974743228
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1778594343,
        "nanos_since_epoch": 977104467
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778594343,
        "nanos_since_epoch": 980933493
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778594343,
        "nanos_since_epoch": 987035407
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1778594343,
        "nanos_since_epoch": 989907867
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1778594344,
        "nanos_since_epoch": 12754956
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1778594344,
        "nanos_since_epoch": 12797373
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1778594346,
        "nanos_since_epoch": 284072985
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778594346,
        "nanos_since_epoch": 286769834
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 182362414
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 184968594
      },
      "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": 1778594352,
        "nanos_since_epoch": 187397443
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 194507121
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 197008577
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 199380134
      },
      "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": 1778594352,
        "nanos_since_epoch": 201933061
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 212344580
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 215232164
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 217833306
      },
      "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": 1778594352,
        "nanos_since_epoch": 220520953
      },
      "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": 1778594352,
        "nanos_since_epoch": 228495277
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 231421680
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 234086803
      },
      "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": 1778594352,
        "nanos_since_epoch": 236023002
      },
      "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": 1778594352,
        "nanos_since_epoch": 270896175
      },
      "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": 1778594352,
        "nanos_since_epoch": 270938290
      },
      "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": 1778594352,
        "nanos_since_epoch": 327455597
      },
      "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": 1778594352,
        "nanos_since_epoch": 330246866
      },
      "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": 1778594352,
        "nanos_since_epoch": 347450854
      },
      "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": 1778594352,
        "nanos_since_epoch": 350198021
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 487701884
      },
      "log_source": "Plan"
    }
  34. {
      "type": "action_succeeded",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 489896915
      },
      "log_source": "Plan"
    }
  35. {
      "type": "execute_action",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1778594352,
        "nanos_since_epoch": 491880170
      },
      "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": 1778594352,
        "nanos_since_epoch": 493831869
      },
      "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": 1778594352,
        "nanos_since_epoch": 504507168
      },
      "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": 1778594352,
        "nanos_since_epoch": 504536129
      },
      "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": 1778594352,
        "nanos_since_epoch": 535441292
      },
      "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": 1778594352,
        "nanos_since_epoch": 535477430
      },
      "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": 1778594352,
        "nanos_since_epoch": 552068445
      },
      "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": 1778594352,
        "nanos_since_epoch": 554770107
      },
      "log_source": "Plan"
    }
  43. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "   Compiling openssl-sys v0.9.114\n   Compiling libgit2-sys v0.18.4+1.9.3\n    Checking openssl-probe v0.1.6\n    Checking git2 v0.20.4\n    Checking radicle-oid v0.2.0\n    Checking radicle-cob v0.20.0\n    Checking radicle-core v0.3.0\n    Checking radicle v0.24.0\n    Checking radicle-artifact v0.14.0 (/ci/src)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 20.76s\n",
      "timestamp": {
        "secs_since_epoch": 1778594373,
        "nanos_since_epoch": 390349510
      },
      "log_source": "Plan"
    }
  44. {
      "type": "action_succeeded",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1778594373,
        "nanos_since_epoch": 398675448
      },
      "log_source": "Plan"
    }
  45. {
      "type": "execute_action",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1778594373,
        "nanos_since_epoch": 400899231
      },
      "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": 1778594373,
        "nanos_since_epoch": 403046929
      },
      "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": 1778594373,
        "nanos_since_epoch": 414198434
      },
      "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": 1778594373,
        "nanos_since_epoch": 417050957
      },
      "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": 1778594373,
        "nanos_since_epoch": 446123181
      },
      "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": 1778594373,
        "nanos_since_epoch": 446163628
      },
      "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": 1778594373,
        "nanos_since_epoch": 463386675
      },
      "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": 1778594373,
        "nanos_since_epoch": 466149506
      },
      "log_source": "Plan"
    }
  53. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "\nrunning 81 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::canonical_walk_skips_directories ... ok\ntest share::cid_utils::tests::cid_to_blake3_hash_rejects_sha256 ... 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::symlink_is_skipped ... ok\ntest share::cid_utils::tests::verify_cid_matches ... 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_no_locations ... ok\ntest share::fetch::tests::download_http_connect_times_out_fast ... ok\ntest share::fetch::tests::download_unsupported_scheme ... ok\ntest share::fetch::tests::partition_locations_splits_iroh_and_url ... ok\ntest share::keys::tests::endpoint_id_from_bare_iroh_url_is_none ... ok\ntest share::keys::tests::endpoint_id_from_iroh_url_round_trips ... ok\ntest share::keys::tests::endpoint_id_from_iroh_url_with_garbage_host_errors ... 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::get_mut_not_found ... ok\ntest test::find_by_commit_returns_matching_releases ... 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::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::redact_artifact ... ok\ntest test::pretty_renders_compact_and_detailed ... 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_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_rejects_oversized_value ... ok\ntest test::tag_field_default_none_on_old_actions ... ok\ntest test::set_metadata_last_writer_wins ... ok\ntest test::tag_persists_through_reload ... ok\n\ntest result: ok. 81 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.93s\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 openssl-sys v0.9.114\n   Compiling libgit2-sys v0.18.4+1.9.3\n   Compiling openssl-probe v0.1.6\n   Compiling git2 v0.20.4\n   Compiling radicle-oid v0.2.0\n   Compiling radicle-cob v0.20.0\n   Compiling radicle-core v0.3.0\n   Compiling radicle v0.24.0\n   Compiling radicle-artifact v0.14.0 (/ci/src)\n    Finished `test` profile [unoptimized + debuginfo] target(s) in 36.35s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_artifact-bdc31e8058fdf4f7)\n     Running unittests src/bin/rad-artifact.rs (/ci/cache/cargo-target/debug/deps/rad_artifact-6b7b4334b8457b26)\n   Doc-tests radicle_artifact\n",
      "timestamp": {
        "secs_since_epoch": 1778594413,
        "nanos_since_epoch": 388705681
      },
      "log_source": "Plan"
    }
  54. {
      "type": "action_succeeded",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1778594413,
        "nanos_since_epoch": 442378474
      },
      "log_source": "Plan"
    }
  55. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778594413,
        "nanos_since_epoch": 442563400
      },
      "log_source": "Plan"
    }
  56. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1778594418,
        "nanos_since_epoch": 990443397
      },
      "log_source": "Plan"
    }
  57. {
      "type": "execute_action",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778594418,
        "nanos_since_epoch": 993665369
      },
      "log_source": "Plan"
    }
  58. {
      "type": "action_succeeded",
      "action": "tar_create",
      "archive": "/dev/vdd",
      "directory": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1778594419,
        "nanos_since_epoch": 1106323
      },
      "log_source": "Plan"
    }
  59. {
      "type": "plan_succeeded",
      "timestamp": {
        "secs_since_epoch": 1778594419,
        "nanos_since_epoch": 5249381
      },
      "log_source": "Plan"
    }
  60. {
      "type": "executor_ends_successfully",
      "timestamp": {
        "secs_since_epoch": 1778594419,
        "nanos_since_epoch": 7009970
      },
      "log_source": "Plan"
    }

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "patch",
  "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"
    ]
  },
  "action": "Updated",
  "patch": {
    "id": "4c6574b9663452395abbae0aba674eb70846634a",
    "author": {
      "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
      "alias": "2color"
    },
    "title": "feat: add --seed mode for nodeless reads",
    "state": {
      "status": "open",
      "conflicts": []
    },
    "before": "1469e0c33e6eea7e1b3c4a2ff605fcaaf997ba6b",
    "after": "c755daf2a1014542b1286bf00a9dab3cb189bf2d",
    "commits": [
      "c755daf2a1014542b1286bf00a9dab3cb189bf2d",
      "9db7325ca4c18432326fa437d395e70d7655d809",
      "b6fd81f7da08d784cde934e23b16a4951efcfbd3"
    ],
    "target": "1469e0c33e6eea7e1b3c4a2ff605fcaaf997ba6b",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "4c6574b9663452395abbae0aba674eb70846634a",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "- add `--seed <URL>` flag to fetch from a radicle-httpd seed into a\n  local cache, bypassing profile/node setup\n- restrict seed mode to read-only subcommands (list, show, fetch, cid);\n  mutating commands need a running node to push refs\n- introduce `ProfileAliases` adapter so read-only dispatch works\n  uniformly with or without a profile\n\nWhy: lets users inspect releases on machines without a configured\nRadicle node, lowering the barrier for consumers who only want to\nread artifact metadata.\n\nOpen question: is shelling out to `git` a sensible choice? \n\nOtherwise libgit2 needs to be compiled with HTTPS support. The git2 crate handles this via the https feature (default-on, pulls in openssl-sys or schannel). Shelling out side-steps this entirely — git brings its own TLS.",
        "base": "858f8d9371f469d7d4a1e2d38eff65aa70cdb240",
        "oid": "624059cb69ce97ad0379ee6b2a43dca017de33e9",
        "timestamp": 1777494923
      },
      {
        "id": "dbe67ce78d0d3290e14a149ccc31bc80ad3d7c12",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "refactor(remote): fetch via libgit2 instead of git CLI\n\n- drop the `git fetch` subprocess in favor of `git2::Remote`\n- removes the implicit dependency on a `git` binary on PATH\n- vendor libgit2 but link `https` against the system OpenSSL\n  to avoid bundling a TLS stack",
        "base": "858f8d9371f469d7d4a1e2d38eff65aa70cdb240",
        "oid": "27f33fd2bef0055adb7d65d67015eabfb4d1095a",
        "timestamp": 1777545527
      },
      {
        "id": "be3342f0ab7759a578808e02eb280b670c0980d1",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "Rebase on rad/main",
        "base": "1469e0c33e6eea7e1b3c4a2ff605fcaaf997ba6b",
        "oid": "9db7325ca4c18432326fa437d395e70d7655d809",
        "timestamp": 1778593412
      },
      {
        "id": "a7032dc050384b299889d4d02e19ebccc9c756ef",
        "author": {
          "id": "did:key:z6MktwkohCx8aHZ1QCjVZUiLmX92oPZFxRiFZkbq32Tk5Tkm",
          "alias": "2color"
        },
        "description": "feat: mark --seed mode as experimental\n\n- print a yellow `note:` to stderr when `--seed` is invoked, so users\n  see the status even if they skip `--help`\n- tag the `--seed` doc comment as experimental for `--help` output\n- accept `Option<&Did>` in `release_visible` to reconcile seed-mode\n  (no local profile) with the author-scoped release filter that\n  arrived via rebase from rad/main\n\nWhy: --seed is a new, narrowly-tested code path and the flag shape\nmay still shift; surfacing this in-band lowers the chance someone\nbuilds tooling against an interface we haven't committed to yet.",
        "base": "1469e0c33e6eea7e1b3c4a2ff605fcaaf997ba6b",
        "oid": "c755daf2a1014542b1286bf00a9dab3cb189bf2d",
        "timestamp": 1778594322
      }
    ]
  }
}

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>