CI: FAILURE heartwood

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-04-21 21:41:34ZProgram: ambient-execute-plan
Version: 0.14.0@c37ec71
plan: Runnable plan
After 0.00 seconds at 2026-04-21 21:41:34Z
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_build
- action: cargo_test
- action: shell
  shell: |
    # Because of a (temporary) limitation in Ambient, we need to set
    # these variables manually. Once Ambient manages environment
    # variables better, these can be deleted.
    export CARGO_TARGET_DIR=/workspace/cache
    export CARGO_HOME=/workspace/deps
    export HOME=/root
    export PATH="/root/.cargo/bin:$PATH"
    export RUSTDOCFLAGS='-D warnings'

    cargo doc --workspace --no-deps --all-features
- action: shell
  shell: |
    # Because of a (temporary) limitation in Ambient, we need to set
    # these variables manually. Once Ambient manages environment
    # variables better, these can be deleted.
    export CARGO_TARGET_DIR=/workspace/cache
    export CARGO_HOME=/workspace/deps
    export HOME=/root
    export PATH="/root/.cargo/bin:$PATH"

    # These are based on debian/control.
    export DEBEMAIL=liw@liw.fi
    export DEBFULLNAME="Lars Wirzenius"

    # Clean up after tests and documentation building. The Debian
    # package building tools do not want changes outside the
    # `debian` directory, compared to what is committed to Git, from
    # which the "upstream tarball" is created.
    git reset --hard
    git clean -fdx
    git status --ignored

    # Update debian/changelog with a new version so that every run
    # creates a newer version. This avoids us having to update the
    # file manually for every CI run.
    V="$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')"
    T="$(date -u "+%Y%m%dT%H%M%S")"
    version="$V.ci$T-1"
    dch -v "$version" "CI build under Ambient."
    dch -r ''
- action: deb
  packages: .
- 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-04-21 21:41:34Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-04-21 21:41:34Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-04-21 21:41:34Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.01 seconds at 2026-04-21 21:41:34Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-04-21 21:41:34Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-04-21 21:41:34Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.01 seconds at 2026-04-21 21:41:34Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-04-21 21:41:34Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-04-21 21:41:34Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.13 seconds at 2026-04-21 21:41:34Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-04-21 21:41:34Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-04-21 21:41:36Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 2.35 seconds at 2026-04-21 21:41:36Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-04-21 21:41:36Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-04-21 21:41:51Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 17.04 seconds at 2026-04-21 21:41:51Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 17.06 seconds at 2026-04-21 21:41:51Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:51Z
    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-04-21 21:41:51Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 17.07 seconds at 2026-04-21 21:41:51Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:51Z
    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-04-21 21:41:51Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Successful action cargo_fmt
After 17.09 seconds at 2026-04-21 21:41:51Z
  • plan: Start action cargo_fmt
    After 0.00 seconds at 2026-04-21 21:41:51Z
    CargoFmt(
        CargoFmt,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Exit code: 0
    Stdout:
    cargo 1.90.0 (840b83a10 2025-07-30)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Exit code: 0
    Stdout:
    clippy 0.1.90 (1159e78c47 2025-09-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:51Z
    Exit code: 0
    Stdout:
    rustc 1.90.0 (1159e78c4 2025-09-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:41:51Z
    • cargo
    • fmt
    • --check
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:52Z
    Exit code: 0
  • plan: Action succeeded cargo_fmt
    After 0.00 seconds at 2026-04-21 21:41:52Z
    CargoFmt(
        CargoFmt,
    )
plan: Successful action cargo_clippy
After 18.29 seconds at 2026-04-21 21:41:52Z
  • plan: Start action cargo_clippy
    After 0.00 seconds at 2026-04-21 21:41:52Z
    CargoClippy(
        CargoClippy,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:41:52Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:52Z
    Exit code: 0
    Stdout:
    cargo 1.90.0 (840b83a10 2025-07-30)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:41:52Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:52Z
    Exit code: 0
    Stdout:
    clippy 0.1.90 (1159e78c47 2025-09-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-04-21 21:41:52Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:41:53Z
    Exit code: 0
    Stdout:
    rustc 1.90.0 (1159e78c4 2025-09-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:41:53Z
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:42:04Z
    Exit code: 0
    Stderr:
        Checking radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)
        Checking radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)
        Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)
        Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)
        Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)
       Compiling radicle v0.23.0 (/ci/src/crates/radicle)
        Checking radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)
        Checking radicle-core v0.2.0 (/ci/src/crates/radicle-core)
        Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)
        Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)
       Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)
       Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)
        Checking radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)
        Checking radicle-term v0.17.0 (/ci/src/crates/radicle-term)
       Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)
        Checking radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)
        Checking radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)
        Checking radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)
        Checking radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)
        Checking radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.24s
    
  • plan: Action succeeded cargo_clippy
    After 0.00 seconds at 2026-04-21 21:42:04Z
    CargoClippy(
        CargoClippy,
    )
plan: Successful action cargo_build
After 29.86 seconds at 2026-04-21 21:42:04Z
  • plan: Start action cargo_build
    After 0.00 seconds at 2026-04-21 21:42:04Z
    CargoBuild(
        CargoBuild,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:42:04Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:42:04Z
    Exit code: 0
    Stdout:
    cargo 1.90.0 (840b83a10 2025-07-30)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:42:04Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:42:04Z
    Exit code: 0
    Stdout:
    clippy 0.1.90 (1159e78c47 2025-09-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-04-21 21:42:04Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:42:04Z
    Exit code: 0
    Stdout:
    rustc 1.90.0 (1159e78c4 2025-09-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-04-21 21:42:04Z
    • cargo
    • build
    • --offline
    • --locked
    • --workspace
    • --all-targets
  • plan: Program succeeded
    After 0.00 seconds at 2026-04-21 21:42:21Z
    Exit code: 0
    Stderr:
       Compiling radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)
       Compiling radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)
       Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)
       Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)
       Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)
       Compiling radicle v0.23.0 (/ci/src/crates/radicle)
       Compiling radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)
       Compiling radicle-core v0.2.0 (/ci/src/crates/radicle-core)
       Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)
       Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)
       Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)
       Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)
       Compiling radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)
       Compiling radicle-term v0.17.0 (/ci/src/crates/radicle-term)
       Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)
       Compiling radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)
       Compiling radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)
       Compiling radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)
       Compiling radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)
       Compiling radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)
        Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.50s
    
  • plan: Action succeeded cargo_build
    After 0.00 seconds at 2026-04-21 21:42:21Z
    CargoBuild(
        CargoBuild,
    )
plan: Start action cargo_test
After 46.67 seconds at 2026-04-21 21:42:21Z
CargoTest(
    CargoTest,
)
plan: Start program cargo
After 46.67 seconds at 2026-04-21 21:42:21Z
  • cargo
  • --version
plan: Program succeeded
After 46.74 seconds at 2026-04-21 21:42:21Z
Exit code: 0
Stdout:
cargo 1.90.0 (840b83a10 2025-07-30)
plan: Start program cargo
After 46.74 seconds at 2026-04-21 21:42:21Z
  • cargo
  • clippy
  • --version
plan: Program succeeded
After 46.83 seconds at 2026-04-21 21:42:21Z
Exit code: 0
Stdout:
clippy 0.1.90 (1159e78c47 2025-09-14)
plan: Start program rustc
After 46.83 seconds at 2026-04-21 21:42:21Z
  • rustc
  • --version
plan: Program succeeded
After 46.88 seconds at 2026-04-21 21:42:21Z
Exit code: 0
Stdout:
rustc 1.90.0 (1159e78c4 2025-09-14)
plan: Start program cargo
After 46.88 seconds at 2026-04-21 21:42:21Z
  • cargo
  • test
  • --offline
  • --locked
  • --workspace
plan: ERROR: Program failed
After 233.59 seconds at 2026-04-21 21:45:28Z
Exit code: 101
Stdout:
running 330 tests
test canonical::formatter::test::ascii_control_characters ... ok
test canonical::formatter::test::ordered_nested_object ... ok
test canonical::formatter::test::securesystemslib_asserts ... ok
test cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok
test cob::cache::tests::test_check_version ... ok
test cob::cache::migrations::_2::tests::test_migration_2 ... ok
test cob::cache::tests::test_migrate_to ... ok
test cob::common::test::test_color ... ok
test cob::common::test::test_title ... ok
test cob::common::test::test_emojis ... ok
test cob::identity::test::prop_json_eq_str ... ok
test cob::identity::test::test_identity_redact_revision ... ok
test cob::identity::test::test_identity_reject_concurrent ... ok
test cob::identity::test::test_identity_remove_delegate_concurrent ... ok
test cob::identity::test::test_identity_updates ... ok
test cob::identity::test::test_identity_update_rejected ... ok
test cob::identity::test::test_identity_updates_concurrent ... ok
test cob::identity::test::test_identity_updates_concurrent_outdated ... ok
test cob::issue::cache::tests::test_counts ... ok
test cob::issue::cache::tests::test_get ... ok
test cob::issue::cache::tests::test_is_empty ... ok
test cob::issue::cache::tests::test_list ... ok
test cob::identity::test::test_valid_identity ... ok
test cob::issue::cache::tests::test_list_by_status ... ok
test cob::issue::cache::tests::test_remove ... ok
test cob::issue::test::test_embeds ... ok
test cob::issue::test::test_embeds_edit ... ok
test cob::issue::test::test_invalid_actions ... ok
test cob::issue::test::test_concurrency ... ok
test cob::issue::test::test_invalid_cob ... ok
test cob::issue::test::test_invalid_tx ... ok
test cob::issue::test::test_invalid_tx_reference ... ok
test cob::issue::test::test_issue_all ... ok
test cob::issue::test::test_issue_comment ... ok
test cob::issue::test::test_issue_comment_redact ... ok
test cob::issue::test::test_issue_create_and_assign ... ok
test cob::issue::test::test_issue_create_and_get ... ok
test cob::issue::test::test_issue_create_and_change_state ... ok
test cob::issue::test::test_issue_create_and_unassign ... ok
test cob::issue::test::test_issue_create_and_reassign ... ok
test cob::issue::test::test_issue_edit ... ok
test cob::issue::test::test_issue_edit_description ... ok
test cob::issue::test::test_issue_label ... ok
test cob::issue::test::test_issue_multilines ... ok
test cob::issue::test::test_issue_react ... ok
test cob::issue::test::test_issue_state_serde ... ok
test cob::issue::test::test_ordering ... ok
test cob::patch::actions::test::test_review_edit ... ok
test cob::issue::test::test_issue_reply ... ok
test cob::patch::cache::tests::test_counts ... ok
test cob::patch::cache::tests::test_get ... ok
test cob::patch::cache::tests::test_is_empty ... ok
test cob::patch::cache::tests::test_list ... ok
test cob::patch::cache::tests::test_find_by_revision ... ok
test cob::patch::cache::tests::test_remove ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_migration_null_summary ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_migration_with_summary ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_migration_without_summary ... ok
test cob::patch::encoding::review::test::test_review_deserialize_summary_v2 ... ok
test cob::patch::encoding::review::test::test_review_summary ... ok
test cob::patch::test::test_json ... ok
test cob::patch::test::test_json_serialization ... ok
test cob::patch::cache::tests::test_list_by_status ... ok
test cob::patch::test::test_patch_create_and_get ... ok
test cob::patch::test::test_patch_discussion ... ok
test cob::patch::test::test_patch_merge ... ok
test cob::patch::test::test_patch_redact ... ok
test cob::patch::test::test_patch_review ... ok
test cob::patch::test::test_patch_review_comment ... ok
test cob::patch::test::test_patch_review_duplicate ... ok
test cob::patch::test::test_patch_review_edit ... ok
test cob::patch::test::test_patch_review_edit_comment ... ok
test cob::patch::test::test_patch_review_remove_summary ... ok
test cob::patch::test::test_patch_review_revision_redact ... ok
test cob::patch::test::test_reactions_json_serialization ... ok
test cob::patch::test::test_revision_edit_redact ... ok
test cob::patch::test::test_revision_reaction ... ok
test cob::patch::test::test_revision_review_merge_redacted ... ok
test cob::stream::tests::test_all_from ... ok
test cob::stream::tests::test_all_from_until ... ok
test cob::stream::tests::test_all_until ... ok
test cob::stream::tests::test_from_until ... ok
test cob::stream::tests::test_regression_from_until ... ok
test cob::patch::test::test_patch_update ... ok
test cob::thread::tests::test_comment_edit_missing ... ok
test cob::thread::tests::test_comment_edit_redacted ... ok
test cob::thread::tests::test_comment_redact_missing ... ok
test cob::thread::tests::test_duplicate_comments ... ok
test cob::thread::tests::test_edit_comment ... ok
test cob::thread::tests::test_redact_comment ... ok
test cob::thread::tests::test_timeline ... ok
test git::canonical::protect::tests::refs_rad ... ok
test git::canonical::protect::tests::refs_rad_id ... ok
test git::canonical::protect::tests::refs_radieschen ... ok
test git::canonical::quorum::test::merge_base_commutative ... ok
test git::canonical::quorum::test::test_merge_bases ... ok
test git::canonical::rules::tests::test_canonical ... ok
test git::canonical::rules::tests::test_deserialization ... ok
test git::canonical::rules::tests::test_deserialize_extensions ... ok
test git::canonical::rules::tests::test_order ... ok
test git::canonical::rules::tests::test_roundtrip ... ok
test git::canonical::rules::tests::test_rule_validate_failures ... ok
test git::canonical::rules::tests::test_rule_validate_success ... ok
test git::canonical::rules::tests::test_special_branches ... ok
test git::canonical::tests::test_commit_quorum_fork_of_a_fork ... ok
test git::canonical::tests::test_commit_quorum_forked_merge_commits ... ok
test git::canonical::tests::test_commit_quorum_groups ... ok
test git::canonical::tests::test_commit_quorum_linear ... ok
test git::canonical::tests::test_commit_quorum_merges ... ok
test git::canonical::tests::test_commit_quorum_single ... ok
test git::canonical::tests::test_commit_quorum_three_way_fork ... ok
test git::canonical::tests::test_commit_quorum_two_way_fork ... ok
test git::canonical::tests::test_quorum_different_types ... ok
test cob::thread::tests::prop_ordering ... ok
test git::canonical::tests::test_tag_quorum ... ok
test git::test::test_version_from_str ... ok
test git::test::test_version_ord ... ok
test identity::did::test::test_did_encode_decode ... ok
test identity::did::test::test_did_vectors ... ok
test git::canonical::tests::test_quorum_properties ... ok
test identity::doc::test::test_canonical_doc ... ok
test identity::doc::test::test_canonical_example ... ok
test identity::doc::test::test_duplicate_dids ... ok
test identity::doc::test::test_future_version_error ... ok
test identity::doc::test::test_is_valid_version ... ok
test identity::doc::test::test_max_delegates ... ok
test identity::doc::test::test_not_found ... ok
test identity::doc::test::test_parse_version ... ok
test identity::doc::test::test_visibility_json ... ok
test identity::doc::update::test::test_can_update_crefs ... ok
test identity::doc::update::test::test_cannot_include_default_branch_rule ... ok
test identity::doc::update::test::test_default_branch_rule_exists_after_verification ... ok
test identity::project::test::test_project_name ... ok
test node::address::store::test::test_alias ... ok
test node::address::store::test::test_disconnected ... ok
test node::address::store::test::test_disconnected_ban ... ok
test node::address::store::test::test_empty ... ok
test node::address::store::test::test_entries ... ok
test node::address::store::test::test_get_none ... ok
test node::address::store::test::test_insert_and_get ... ok
test node::address::store::test::test_insert_and_remove ... ok
test node::address::store::test::test_insert_and_update ... ok
test node::address::store::test::test_insert_duplicate ... ok
test node::address::store::test::test_node_aliases ... ok
test node::address::store::test::test_remove_nothing ... ok
test node::command::test::command_result ... ok
test node::config::test::deserialize_migrating_scope ... ok
test node::config::test::fetch_level_min ... ok
test node::config::test::onion_absent ... ok
test node::config::test::onion_null ... ok
test node::config::test::partial ... ok
test node::config::test::regression_ipv6_address_brackets ... ok
test node::config::test::regression_ipv6_address_no_brackets ... ok
test node::config::test::serialize_migrating_scope ... ok
test node::config::test::user_agent_custom ... ok
test node::config::test::user_agent_default ... ok
test node::config::test::user_agent_default_explicit ... ok
test node::config::test::user_agent_opt_out ... ok
test node::db::config::test::database_config_valid_combinations ... ok
test node::db::config::test::invalid ... ok
test node::db::test::migration_8::all_ipv6_formatted_dns_addresses_are_retyped ... ok
test node::db::test::migration_8::dns_address_starting_with_bracket_but_missing_closing_bracket_colon_is_unaffected ... ok
test node::db::test::migration_8::dns_address_with_bracket_not_at_start_is_unaffected ... ok
test node::db::test::migration_8::ipv4_address_is_unaffected ... ok
test node::db::test::migration_8::ipv6_formatted_dns_address_is_deleted_when_correct_ipv6_row_already_exists ... ok
test node::db::test::migration_8::ipv6_formatted_dns_address_is_retyped_to_ipv6 ... ok
test node::db::test::migration_8::migration_applies_to_all_nodes ... ok
test node::db::test::migration_8::plain_dns_hostname_without_brackets_is_unaffected ... ok
test node::db::test::migration_8::retype_preserves_address_metadata ... ok
test node::db::test::test_version ... ok
test node::features::test::test_operations ... ok
test node::notifications::store::test::test_branch_notifications ... ok
test node::notifications::store::test::test_clear ... ok
test node::notifications::store::test::test_cob_notifications ... ok
test node::notifications::store::test::test_counts_by_repo ... ok
test node::notifications::store::test::test_duplicate_notifications ... ok
test node::notifications::store::test::test_notification_status ... ok
test node::policy::store::test::test_follow_and_unfollow_node ... ok
test node::policy::store::test::test_node_aliases ... ok
test node::policy::store::test::test_node_policies ... ok
test node::policy::store::test::test_node_policy ... ok
test node::policy::store::test::test_repo_policies ... ok
test node::policy::store::test::test_repo_policy ... ok
test node::policy::store::test::test_seed_and_unseed_repo ... ok
test node::policy::store::test::test_update_alias ... ok
test node::policy::store::test::test_update_scope ... ok
test node::refs::store::test::test_count ... ok
test node::refs::store::test::test_set_and_delete ... ok
test node::refs::store::test::test_set_and_get ... ok
test node::routing::test::test_count ... ok
test node::routing::test::test_entries ... ok
test node::routing::test::test_insert_and_get ... ok
test node::routing::test::test_insert_and_get_resources ... ok
test node::routing::test::test_insert_and_remove ... ok
test node::routing::test::test_insert_duplicate ... ok
test node::routing::test::test_insert_existing_updated_time ... ok
test node::routing::test::test_len ... ok
test node::routing::test::test_prune ... ok
test node::routing::test::test_remove_many ... ok
test node::routing::test::test_remove_redundant ... ok
test node::routing::test::test_update_existing_multi ... ok
test node::sync::announce::test::all_synced_nodes_are_preferred_seeds ... ok
test node::sync::announce::test::announcer_adapts_target_to_reach ... ok
test node::sync::announce::test::announcer_preferred_seeds_or_replica_factor ... ok
test node::sync::announce::test::announcer_reached_max_replication_target ... ok
test node::sync::announce::test::announcer_reached_min_replication_target ... ok
test node::sync::announce::test::announcer_reached_preferred_seeds ... ok
test node::sync::announce::test::announcer_synced_with_unknown_node ... ok
test node::sync::announce::test::announcer_timed_out ... ok
test node::sync::announce::test::announcer_with_replication_factor_zero_and_preferred_seeds ... ok
test node::sync::announce::test::cannot_construct_announcer ... ok
test node::sync::announce::test::construct_node_appears_in_multiple_input_sets ... ok
test node::sync::announce::test::construct_only_preferred_seeds_provided ... ok
test node::sync::announce::test::invariant_progress_should_match_state ... ok
test node::sync::announce::test::local_node_in_multiple_sets ... ok
test node::sync::announce::test::local_node_in_preferred_seeds ... ok
test node::sync::announce::test::local_node_in_synced_set ... ok
test node::sync::announce::test::local_node_in_unsynced_set ... ok
test node::sync::announce::test::local_node_only_in_all_sets_results_in_no_seeds_error ... ok
test node::sync::announce::test::preferred_seeds_already_synced ... ok
test node::sync::announce::test::synced_with_local_node_is_ignored ... ok
test node::sync::announce::test::synced_with_same_node_multiple_times ... ok
test node::sync::announce::test::timed_out_after_reaching_success ... ok
test node::sync::fetch::test::all_nodes_are_candidates ... ok
test node::sync::fetch::test::all_nodes_are_fetchable ... ok
test node::sync::fetch::test::could_not_reach_target ... ok
test node::sync::fetch::test::ignores_duplicates_and_local_node ... ok
test node::sync::fetch::test::preferred_seeds_target_returned_over_replicas ... ok
test node::sync::fetch::test::reaches_target_of_max_replicas ... ok
test node::sync::fetch::test::reaches_target_of_preferred_seeds ... ok
test node::sync::fetch::test::reaches_target_of_replicas ... ok
test node::sync::test::ensure_replicas_construction ... ok
test node::sync::test::replicas_constrain_to ... ok
test node::test::test_address ... ok
test node::test::test_alias ... ok
test node::test::test_command_result ... ok
test node::test::test_user_agent ... ok
test node::timestamp::tests::test_timestamp_max ... ok
test identity::doc::test::prop_encode_decode ... ok
test profile::test::canonicalize_home ... ok
test profile::test::test_config ... ok
test rad::tests::test_checkout ... ok
test rad::tests::test_fork ... ok
test rad::tests::test_init ... ok
test storage::git::tests::test_references_of ... ok
test profile::config::test::schema ... ok
test storage::git::transport::local::url::test::test_url_parse ... ok
test storage::git::transport::local::url::test::test_url_to_string ... ok
test storage::git::transport::remote::url::test::test_url_parse ... ok
test storage::git::tests::test_sign_refs ... ok
test storage::refs::sigrefs::property::idempotent ... ok
test storage::refs::sigrefs::read::test::commit_reader::identity_root_error ... ok
test storage::refs::sigrefs::read::test::commit_reader::missing_commit ... ok
test storage::refs::sigrefs::read::test::commit_reader::read_ok ... ok
test storage::refs::sigrefs::read::test::commit_reader::too_many_parents ... ok
test storage::refs::sigrefs::read::test::commit_reader::tree_error ... ok
test storage::refs::sigrefs::read::test::identity_root_reader::doc_blob_error ... ok
test storage::refs::sigrefs::read::test::identity_root_reader::missing_identity ... ok
test storage::refs::sigrefs::read::test::identity_root_reader::read_ok_none ... ok
test storage::refs::sigrefs::read::test::identity_root_reader::read_ok_some ... ok
test storage::refs::sigrefs::read::test::resolve_tip::find_reference_error ... ok
test storage::refs::sigrefs::read::test::resolve_tip::missing_sigrefs ... ok
test storage::refs::sigrefs::read::test::resolve_tip::resolve_tip_ok ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_parent ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_root ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::parent ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::restore ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root_with_parent ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::head_commit_error ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_mismatched_identity_error ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_signature_error ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::invalid_parent ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_no_parent ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_parent ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_root ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::replay::alternating ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::replay::chain ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::replay::multiple ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::replay::root_at_head ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::single_commit ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::two_commits ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::walk_commit_error ... ok
test storage::refs::sigrefs::read::test::signed_refs_reader::walk_verify_error ... ok
test storage::refs::sigrefs::read::test::tree_reader::missing_both ... ok
test storage::refs::sigrefs::read::test::tree_reader::missing_refs ... ok
test storage::refs::sigrefs::read::test::tree_reader::missing_signature ... ok
test storage::refs::sigrefs::read::test::tree_reader::parse_refs_error ... ok
test storage::refs::sigrefs::read::test::tree_reader::parse_signature_error ... ok
test storage::refs::sigrefs::read::test::tree_reader::read_ok ... ok
test storage::refs::sigrefs::read::test::tree_reader::read_refs_error ... ok
test storage::refs::sigrefs::read::test::tree_reader::read_signature_error ... ok
test storage::refs::sigrefs::write::test::commit_writer::tree_error ... ok
test storage::refs::sigrefs::write::test::commit_writer::write_commit_error ... ok
test storage::refs::sigrefs::write::test::commit_writer::write_empty_refs ... ok
test storage::refs::sigrefs::write::test::commit_writer::write_root_ok ... ok
test storage::refs::sigrefs::write::test::commit_writer::write_with_parent_ok ... ok
test storage::refs::sigrefs::write::test::head_reader::no_head ... ok
test storage::refs::sigrefs::write::test::head_reader::read_ok ... ok
test storage::refs::sigrefs::write::test::head_reader::reference_error ... ok
test storage::refs::sigrefs::write::test::head_reader::refs_blob_error ... ok
test storage::refs::sigrefs::write::test::head_reader::refs_blob_missing ... ok
test storage::refs::sigrefs::write::test::head_reader::refs_parse_error ... ok
test storage::refs::sigrefs::write::test::head_reader::signature_blob_error ... ok
test storage::refs::sigrefs::write::test::head_reader::signature_blob_missing ... ok
test storage::refs::sigrefs::write::test::head_reader::signature_parse_error ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::commit_error ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::head_error ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::never_write_rad_sigrefs ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::reference_error ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::unchanged ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::unchanged_force_writes_new_commit ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::write_empty_refs ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::write_root_ok ... ok
test storage::refs::sigrefs::write::test::signed_refs_writer::write_with_parent_ok ... ok
test storage::refs::sigrefs::write::test::tree_writer::sign_error ... ok
test storage::refs::sigrefs::write::test::tree_writer::write_ok ... ok
test storage::refs::sigrefs::write::test::tree_writer::write_tree_error ... ok
test storage::refs::tests::prop_canonical_roundtrip ... ok
test storage::refs::tests::test_rid_verification ... ok
test storage::tests::test_storage ... ok
test test::assert::test::assert_with_message ... ok
test test::assert::test::test_assert_no_move ... ok
test test::assert::test::test_assert_panic_0 - should panic ... ok
test test::assert::test::test_assert_panic_1 - should panic ... ok
test test::assert::test::test_assert_panic_2 - should panic ... ok
test test::assert::test::test_assert_succeed ... ok
test test::assert::test::test_panic_message ... ok
test version::test::test_version ... ok
test storage::refs::sigrefs::property::roundtrip ... ok

test result: ok. 330 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.24s


running 46 tests
test commands::block::args::test::should_not_parse ... ok
test commands::block::args::test::should_parse_nid ... ok
test commands::block::args::test::should_parse_rid ... ok
test commands::clone::args::test::should_parse_rid_non_urn ... ok
test commands::clone::args::test::should_parse_rid_url ... ok
test commands::clone::args::test::should_parse_rid_urn ... ok
test commands::cob::args::test::should_allow_log_json_format ... ok
test commands::cob::args::test::should_allow_log_pretty_format ... ok
test commands::cob::args::test::should_allow_show_json_format ... ok
test commands::cob::args::test::should_not_allow_show_pretty_format ... ok
test commands::cob::args::test::should_allow_update_json_format ... ok
test commands::fork::args::test::should_not_parse_rid_url ... ok
test commands::fork::args::test::should_parse_rid_non_urn ... ok
test commands::cob::args::test::should_not_allow_update_pretty_format ... ok
test commands::fork::args::test::should_parse_rid_urn ... ok
test commands::id::args::test::should_not_parse_into_payload - should panic ... ok
test commands::id::args::test::should_not_clobber_payload_args ... ok
test commands::id::args::test::should_not_parse_single_payload ... ok
test commands::id::args::test::should_parse_into_payload ... ok
test commands::id::args::test::should_not_parse_single_payloads ... ok
test commands::id::args::test::should_parse_multiple_payloads ... ok
test commands::init::args::test::should_not_parse_rid_url ... ok
test commands::id::args::test::should_parse_single_payload ... ok
test commands::init::args::test::should_parse_rid_non_urn ... ok
test commands::inspect::test::test_tree ... ok
test commands::init::args::test::should_parse_rid_urn ... ok
test commands::patch::review::builder::tests::test_review_comments_basic ... ok
test commands::patch::review::builder::tests::test_review_comments_before ... ok
test commands::patch::review::builder::tests::test_review_comments_multiline ... ok
test commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok
test commands::publish::args::test::should_not_parse_rid_url ... ok
test commands::publish::args::test::should_parse_rid_non_urn ... ok
test commands::publish::args::test::should_parse_rid_urn ... ok
test git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok
test git::pretty_diff::test::test_pretty ... ignored
test commands::watch::args::test::should_parse_ref_str ... ok
test git::unified_diff::test::test_diff_content_encode_decode_content ... ok
test git::unified_diff::test::test_diff_encode_decode_diff ... ok
test terminal::args::test::should_not_parse ... ok
test terminal::args::test::should_parse_nid ... ok
test terminal::args::test::should_parse_rid ... ok
test terminal::format::test::test_bytes ... ok
test terminal::format::test::test_strip_comments ... ok
test terminal::patch::test::test_edit_display_message ... ok
test terminal::patch::test::test_create_display_message ... ok
test terminal::patch::test::test_update_display_message ... ok

test result: ok. 45 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s


running 0 tests

test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s


running 115 tests
test commands::checkout::rad_checkout ... ok
test commands::clone::rad_clone ... ok
test commands::clone::rad_clone_bare ... ok
test commands::clone::rad_clone_all ... ok
test commands::clone::rad_clone_connect ... ok
test commands::clone::rad_clone_directory ... ok
test commands::clone::rad_clone_scope ... ok
test commands::clone::rad_clone_unknown ... ok
test commands::clone::rad_clone_partial_fail ... ok
test commands::clone::test_clone_without_seeds ... ok
test commands::cob::rad_cob_log ... ok
test commands::cob::rad_cob_migrate ... ok
test commands::cob::rad_cob_multiset ... ok
test commands::cob::rad_cob_operations ... ok
test commands::cob::rad_cob_show ... ok
test commands::cob::rad_cob_update ... ok
test commands::cob::rad_cob_update_identity ... ok
test commands::cob::test_cob_deletion ... ok
test commands::cob::test_cob_replication ... ok
test commands::git::git_push_amend ... ok
test commands::git::git_push_and_fetch ... ok
test commands::git::git_push_canonical_annotated_tags ... ok
test commands::git::git_push_canonical_lightweight_tags ... ok
test commands::git::git_push_diverge ... ok
test commands::git::git_push_force_with_lease ... ok
test commands::git::git_push_converge ... ok
test commands::git::git_push_rollback ... ok
test commands::git::git_tag ... ok
test commands::id::rad_id_collaboration ... ignored, slow
test commands::id::rad_id ... ok
test commands::id::rad_id_conflict ... ok
test commands::id::rad_id_private ... ok
test commands::id::rad_id_multi_delegate ... ok
test commands::id::rad_id_threshold ... ok
test commands::id::rad_id_threshold_soft_fork ... ok
test commands::id::rad_id_unknown_field ... ok
test commands::id::rad_id_update_delete_field ... ok
test commands::id::rad_id_unauthorized_delegate ... ok
test commands::init::rad_init ... ignored, part of many other tests
test commands::init::rad_init_bare ... ok
test commands::init::rad_init_detached_head ... ok
test commands::init::rad_init_existing ... ok
test commands::init::rad_init_existing_bare ... ok
test commands::init::rad_init_no_git ... ok
test commands::inbox::rad_inbox ... ok
test commands::init::rad_init_no_seed ... ok
test commands::init::rad_init_private ... ok
test commands::init::rad_init_private_clone ... ok
test commands::init::rad_init_private_clone_seed ... ok
test commands::init::rad_init_private_no_seed ... ok
test commands::init::rad_init_private_seed ... ok
test commands::init::rad_init_sync_not_connected ... ok
test commands::init::rad_init_sync_preferred ... ok
test commands::init::rad_init_sync_and_clone ... ok
test commands::init::rad_init_with_existing_remote ... ok
test commands::init::rad_publish ... ok
test commands::issue::rad_issue ... ok
test commands::init::rad_init_sync_timeout ... ok
test commands::jj::rad_jj_bare ... ok
test commands::jj::rad_jj_colocated_patch ... ok
test commands::issue::rad_issue_list ... ok
test commands::node::rad_node ... ok
test commands::node::rad_node_connect ... ok
test commands::patch::rad_merge_after_update ... ok
test commands::node::rad_node_connect_without_address ... ok
test commands::patch::rad_merge_no_ff ... ok
test commands::patch::rad_merge_via_push ... ok
test commands::patch::rad_patch_ahead_behind ... ok
test commands::patch::rad_patch ... ok
test commands::patch::rad_patch_checkout ... ok
test commands::patch::rad_patch_change_base ... ok
test commands::patch::rad_patch_checkout_revision ... ok
test commands::patch::rad_patch_checkout_force ... ok
test commands::patch::rad_patch_detached_head ... ok
test commands::patch::rad_patch_diff ... ok
test commands::patch::rad_patch_draft ... ok
test commands::patch::rad_patch_delete ... ok
test commands::patch::rad_patch_edit ... ok
test commands::patch::rad_patch_fetch_2 ... FAILED
test commands::patch::rad_patch_fetch_1 ... ok
test commands::patch::rad_patch_merge_draft ... ok
test commands::patch::rad_patch_open_explore ... ok
test commands::patch::rad_patch_revert_merge ... ok
test commands::patch::rad_patch_update ... ok
test commands::patch::rad_patch_via_push ... FAILED
test commands::patch::rad_patch_pull_update ... ok
test commands::patch::rad_review_by_hunk ... ok
test commands::policy::rad_block ... ok
test commands::patch::rad_push_and_pull_patches ... ok
test commands::policy::rad_seed_and_follow ... ok
test commands::policy::rad_seed_policy_allow_no_scope ... ok
test commands::policy::rad_seed_many ... ok
test commands::policy::rad_seed_scope ... ok
test commands::policy::rad_unseed ... ok
test commands::policy::rad_unseed_many ... ok
test commands::remote::rad_remote ... ok
test commands::sync::rad_fetch ... ok
test commands::sync::rad_sync ... ok
test commands::sync::rad_sync_without_node ... ok
test commands::utility::framework_home ... ok
test commands::utility::rad_auth ... ok
test commands::utility::rad_auth_errors ... ok
test commands::utility::rad_clean ... ok
test commands::sync::test_replication_via_seed ... ok
test commands::utility::rad_diff ... ok
test commands::utility::rad_config ... ok
test commands::utility::rad_help ... ok
test commands::utility::rad_inspect ... ok
test commands::utility::rad_key_mismatch ... ok
test commands::utility::rad_self ... ok
test commands::utility::rad_warn_old_nodes ... ok
test commands::watch::rad_watch ... ok
test commands::utility::rad_fork ... ok
test rad_remote ... ok
test commands::workflow::rad_workflow ... ok

failures:

---- commands::patch::rad_patch_fetch_2 stdout ----
1776807870 test: rad-init:6: `rad init --name heartwood --description Radicle Heartwood Protocol & Stack --no-confirm --public -v` @ /tmp/.tmpMaTmvA/alice/work
1776807870 test: rad-init:28: `rad init` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-init:35: `rad ls` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-init:46: `rad node inventory` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:6: `git checkout -b alice/1 -q` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:7: `git commit --allow-empty -m Changes #1 -q` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:8: `git push rad -o patch.message=Changes HEAD:refs/patches` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:12: `git checkout master -q` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:13: `git branch -D alice/1 -q` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:14: `git update-ref -d refs/remotes/rad/alice/1` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:15: `git update-ref -d refs/remotes/rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:16: `git gc --prune=now` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:17: `git branch -r` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:22: `git pull` @ /tmp/.tmpMaTmvA/alice/work
1776807871 test: rad-patch-fetch-2:24: `git branch -r` @ /tmp/.tmpMaTmvA/alice/work

thread 'commands::patch::rad_patch_fetch_2' panicked at crates/radicle-cli-test/src/lib.rs:499:36:

--- Expected
++++ actual:   stdout
   1      -   rad/HEAD -> rad/master
   2    1 |   rad/master
   3    2 |   rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb

Exit status: 0

note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

---- commands::patch::rad_patch_via_push stdout ----
1776807880 test: rad-init:6: `rad init --name heartwood --description Radicle Heartwood Protocol & Stack --no-confirm --public -v` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-init:28: `rad init` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-init:35: `rad ls` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-init:46: `rad node inventory` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:7: `git checkout -b feature/1` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:9: `git commit -a -m Add things -q --allow-empty` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:10: `git push -o patch.message=Add things #1 -o patch.message=See commits for details. rad HEAD:refs/patches` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:22: `rad patch show 6035d2f582afbe01ff23ea87528ae523d76875b6` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:45: `git branch -vv` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:53: `git status --short --branch` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:55: `git fetch` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:56: `git push` @ /tmp/.tmplj9F6k/alice/work
1776807880 test: rad-patch-via-push:62: `git show-ref` @ /tmp/.tmplj9F6k/alice/work

thread 'commands::patch::rad_patch_via_push' panicked at crates/radicle-cli-test/src/lib.rs:499:36:

--- Expected
++++ actual:   stdout
   1    1 | 42d894a83c9c356552a57af09ccdbd5587a99045 refs/heads/feature/1
   2    2 | f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master
   3      - f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/HEAD
   4    3 | f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/master
   5    4 | 42d894a83c9c356552a57af09ccdbd5587a99045 refs/remotes/rad/patches/6035d2f582afbe01ff23ea87528ae523d76875b6

Exit status: 0



failures:
    commands::patch::rad_patch_fetch_2
    commands::patch::rad_patch_via_push

test result: FAILED. 111 passed; 2 failed; 2 ignored; 0 measured; 0 filtered out; finished in 178.11s

Stderr:
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s
     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle-284bae2ddbc7a249)
     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-2c524afd75038b2d)
     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-09fa8b6b92f963bf)
     Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-f12780f7d4c001d7)
error: test failed, to rerun pass `-p radicle-cli --test commands`
plan: Action failed: cargo_test
After 234.04 seconds at 2026-04-21 21:45:28Z
CargoTest(
    CargoTest,
)

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": 1776807694,
        "nanos_since_epoch": 561401321
      },
      "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_build"
        },
        {
          "action": "cargo_test"
        },
        {
          "action": "shell",
          "shell": "# Because of a (temporary) limitation in Ambient, we need to set\n# these variables manually. Once Ambient manages environment\n# variables better, these can be deleted.\nexport CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:$PATH\"\nexport RUSTDOCFLAGS='-D warnings'\n\ncargo doc --workspace --no-deps --all-features\n"
        },
        {
          "action": "shell",
          "shell": "# Because of a (temporary) limitation in Ambient, we need to set\n# these variables manually. Once Ambient manages environment\n# variables better, these can be deleted.\nexport CARGO_TARGET_DIR=/workspace/cache\nexport CARGO_HOME=/workspace/deps\nexport HOME=/root\nexport PATH=\"/root/.cargo/bin:$PATH\"\n\n# These are based on debian/control.\nexport DEBEMAIL=liw@liw.fi\nexport DEBFULLNAME=\"Lars Wirzenius\"\n\n# Clean up after tests and documentation building. The Debian\n# package building tools do not want changes outside the\n# `debian` directory, compared to what is committed to Git, from\n# which the \"upstream tarball\" is created.\ngit reset --hard\ngit clean -fdx\ngit status --ignored\n\n# Update debian/changelog with a new version so that every run\n# creates a newer version. This avoids us having to update the\n# file manually for every CI run.\nV=\"$(dpkg-parsechangelog -SVersion | sed 's/-[^-]*$//')\"\nT=\"$(date -u \"+%Y%m%dT%H%M%S\")\"\nversion=\"$V.ci$T-1\"\ndch -v \"$version\" \"CI build under Ambient.\"\ndch -r ''\n"
        },
        {
          "action": "deb",
          "packages": "."
        },
        {
          "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": 1776807694,
        "nanos_since_epoch": 561769478
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 561985989
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 570360455
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 570450462
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 570480033
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 570658885
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 688772036
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1776807694,
        "nanos_since_epoch": 688809957
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1776807696,
        "nanos_since_epoch": 909990022
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1776807696,
        "nanos_since_epoch": 912628075
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 599561117
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 602236183
      },
      "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": 1776807711,
        "nanos_since_epoch": 604673703
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 612477874
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 615087889
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 617409346
      },
      "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": 1776807711,
        "nanos_since_epoch": 620041870
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 630061810
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 633020856
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 635633498
      },
      "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": 1776807711,
        "nanos_since_epoch": 638299973
      },
      "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": 1776807711,
        "nanos_since_epoch": 646245923
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 649197154
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 651928917
      },
      "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": 1776807711,
        "nanos_since_epoch": 653837394
      },
      "log_source": "Plan"
    }
  27. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 715203754
      },
      "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": 1776807711,
        "nanos_since_epoch": 715246034
      },
      "log_source": "Plan"
    }
  29. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 830451610
      },
      "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": 1776807711,
        "nanos_since_epoch": 830495525
      },
      "log_source": "Plan"
    }
  31. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807711,
        "nanos_since_epoch": 882288822
      },
      "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": 1776807711,
        "nanos_since_epoch": 885046290
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807712,
        "nanos_since_epoch": 853847207
      },
      "log_source": "Plan"
    }
  34. {
      "type": "action_succeeded",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1776807712,
        "nanos_since_epoch": 853885644
      },
      "log_source": "Plan"
    }
  35. {
      "type": "execute_action",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1776807712,
        "nanos_since_epoch": 853892776
      },
      "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": 1776807712,
        "nanos_since_epoch": 853901109
      },
      "log_source": "Plan"
    }
  37. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807712,
        "nanos_since_epoch": 901555035
      },
      "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": 1776807712,
        "nanos_since_epoch": 904300880
      },
      "log_source": "Plan"
    }
  39. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807712,
        "nanos_since_epoch": 995676918
      },
      "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": 1776807712,
        "nanos_since_epoch": 998389906
      },
      "log_source": "Plan"
    }
  41. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807713,
        "nanos_since_epoch": 44989299
      },
      "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": 1776807713,
        "nanos_since_epoch": 45033005
      },
      "log_source": "Plan"
    }
  43. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "    Checking radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n    Checking radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n    Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n    Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n    Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n   Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n    Checking radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n    Checking radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n    Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n    Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n   Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n   Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n    Checking radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n    Checking radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n   Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n    Checking radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n    Checking radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)\n    Checking radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n    Checking radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)\n    Checking radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 11.24s\n",
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 424844174
      },
      "log_source": "Plan"
    }
  44. {
      "type": "action_succeeded",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 424914419
      },
      "log_source": "Plan"
    }
  45. {
      "type": "execute_action",
      "action": "cargo_build",
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 424920484
      },
      "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": 1776807724,
        "nanos_since_epoch": 424929394
      },
      "log_source": "Plan"
    }
  47. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 495222195
      },
      "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": 1776807724,
        "nanos_since_epoch": 498243460
      },
      "log_source": "Plan"
    }
  49. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 589771566
      },
      "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": 1776807724,
        "nanos_since_epoch": 592762357
      },
      "log_source": "Plan"
    }
  51. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 639843985
      },
      "log_source": "Plan"
    }
  52. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            98,
            117,
            105,
            108,
            100
          ]
        },
        {
          "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
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1776807724,
        "nanos_since_epoch": 642756013
      },
      "log_source": "Plan"
    }
  53. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "   Compiling radicle-crypto v0.16.0 (/ci/src/crates/radicle-crypto)\n   Compiling radicle-oid v0.1.0 (/ci/src/crates/radicle-oid)\n   Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n   Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n   Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n   Compiling radicle v0.23.0 (/ci/src/crates/radicle)\n   Compiling radicle-cob v0.19.0 (/ci/src/crates/radicle-cob)\n   Compiling radicle-core v0.2.0 (/ci/src/crates/radicle-core)\n   Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n   Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n   Compiling radicle-node v0.19.0 (/ci/src/crates/radicle-node)\n   Compiling radicle-cli v0.20.0 (/ci/src/crates/radicle-cli)\n   Compiling radicle-systemd v0.12.0 (/ci/src/crates/radicle-systemd)\n   Compiling radicle-term v0.17.0 (/ci/src/crates/radicle-term)\n   Compiling radicle-remote-helper v0.16.0 (/ci/src/crates/radicle-remote-helper)\n   Compiling radicle-fetch v0.19.0 (/ci/src/crates/radicle-fetch)\n   Compiling radicle-protocol v0.7.0 (/ci/src/crates/radicle-protocol)\n   Compiling radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n   Compiling radicle-schemars v0.7.0 (/ci/src/crates/radicle-schemars)\n   Compiling radicle-windows v0.1.0 (/ci/src/crates/radicle-windows)\n    Finished `dev` profile [unoptimized + debuginfo] target(s) in 16.50s\n",
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 234434513
      },
      "log_source": "Plan"
    }
  54. {
      "type": "action_succeeded",
      "action": "cargo_build",
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 234508506
      },
      "log_source": "Plan"
    }
  55. {
      "type": "execute_action",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 234740793
      },
      "log_source": "Plan"
    }
  56. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 234749180
      },
      "log_source": "Plan"
    }
  57. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.90.0 (840b83a10 2025-07-30)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 301389100
      },
      "log_source": "Plan"
    }
  58. {
      "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": 1776807741,
        "nanos_since_epoch": 301432741
      },
      "log_source": "Plan"
    }
  59. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.90 (1159e78c47 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 394111131
      },
      "log_source": "Plan"
    }
  60. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 394154860
      },
      "log_source": "Plan"
    }
  61. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.90.0 (1159e78c4 2025-09-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1776807741,
        "nanos_since_epoch": 443694407
      },
      "log_source": "Plan"
    }
  62. {
      "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": 1776807741,
        "nanos_since_epoch": 443754688
      },
      "log_source": "Plan"
    }
  63. {
      "type": "program_failed",
      "exit_code": 101,
      "stdout": "\nrunning 330 tests\ntest canonical::formatter::test::ascii_control_characters ... ok\ntest canonical::formatter::test::ordered_nested_object ... ok\ntest canonical::formatter::test::securesystemslib_asserts ... ok\ntest cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok\ntest cob::cache::tests::test_check_version ... ok\ntest cob::cache::migrations::_2::tests::test_migration_2 ... ok\ntest cob::cache::tests::test_migrate_to ... ok\ntest cob::common::test::test_color ... ok\ntest cob::common::test::test_title ... ok\ntest cob::common::test::test_emojis ... ok\ntest cob::identity::test::prop_json_eq_str ... ok\ntest cob::identity::test::test_identity_redact_revision ... ok\ntest cob::identity::test::test_identity_reject_concurrent ... ok\ntest cob::identity::test::test_identity_remove_delegate_concurrent ... ok\ntest cob::identity::test::test_identity_updates ... ok\ntest cob::identity::test::test_identity_update_rejected ... ok\ntest cob::identity::test::test_identity_updates_concurrent ... ok\ntest cob::identity::test::test_identity_updates_concurrent_outdated ... ok\ntest cob::issue::cache::tests::test_counts ... ok\ntest cob::issue::cache::tests::test_get ... ok\ntest cob::issue::cache::tests::test_is_empty ... ok\ntest cob::issue::cache::tests::test_list ... ok\ntest cob::identity::test::test_valid_identity ... ok\ntest cob::issue::cache::tests::test_list_by_status ... ok\ntest cob::issue::cache::tests::test_remove ... ok\ntest cob::issue::test::test_embeds ... ok\ntest cob::issue::test::test_embeds_edit ... ok\ntest cob::issue::test::test_invalid_actions ... ok\ntest cob::issue::test::test_concurrency ... ok\ntest cob::issue::test::test_invalid_cob ... ok\ntest cob::issue::test::test_invalid_tx ... ok\ntest cob::issue::test::test_invalid_tx_reference ... ok\ntest cob::issue::test::test_issue_all ... ok\ntest cob::issue::test::test_issue_comment ... ok\ntest cob::issue::test::test_issue_comment_redact ... ok\ntest cob::issue::test::test_issue_create_and_assign ... ok\ntest cob::issue::test::test_issue_create_and_get ... ok\ntest cob::issue::test::test_issue_create_and_change_state ... ok\ntest cob::issue::test::test_issue_create_and_unassign ... ok\ntest cob::issue::test::test_issue_create_and_reassign ... ok\ntest cob::issue::test::test_issue_edit ... ok\ntest cob::issue::test::test_issue_edit_description ... ok\ntest cob::issue::test::test_issue_label ... ok\ntest cob::issue::test::test_issue_multilines ... ok\ntest cob::issue::test::test_issue_react ... ok\ntest cob::issue::test::test_issue_state_serde ... ok\ntest cob::issue::test::test_ordering ... ok\ntest cob::patch::actions::test::test_review_edit ... ok\ntest cob::issue::test::test_issue_reply ... ok\ntest cob::patch::cache::tests::test_counts ... ok\ntest cob::patch::cache::tests::test_get ... ok\ntest cob::patch::cache::tests::test_is_empty ... ok\ntest cob::patch::cache::tests::test_list ... ok\ntest cob::patch::cache::tests::test_find_by_revision ... ok\ntest cob::patch::cache::tests::test_remove ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_null_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_with_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_migration_without_summary ... ok\ntest cob::patch::encoding::review::test::test_review_deserialize_summary_v2 ... ok\ntest cob::patch::encoding::review::test::test_review_summary ... ok\ntest cob::patch::test::test_json ... ok\ntest cob::patch::test::test_json_serialization ... ok\ntest cob::patch::cache::tests::test_list_by_status ... ok\ntest cob::patch::test::test_patch_create_and_get ... ok\ntest cob::patch::test::test_patch_discussion ... ok\ntest cob::patch::test::test_patch_merge ... ok\ntest cob::patch::test::test_patch_redact ... ok\ntest cob::patch::test::test_patch_review ... ok\ntest cob::patch::test::test_patch_review_comment ... ok\ntest cob::patch::test::test_patch_review_duplicate ... ok\ntest cob::patch::test::test_patch_review_edit ... ok\ntest cob::patch::test::test_patch_review_edit_comment ... ok\ntest cob::patch::test::test_patch_review_remove_summary ... ok\ntest cob::patch::test::test_patch_review_revision_redact ... ok\ntest cob::patch::test::test_reactions_json_serialization ... ok\ntest cob::patch::test::test_revision_edit_redact ... ok\ntest cob::patch::test::test_revision_reaction ... ok\ntest cob::patch::test::test_revision_review_merge_redacted ... ok\ntest cob::stream::tests::test_all_from ... ok\ntest cob::stream::tests::test_all_from_until ... ok\ntest cob::stream::tests::test_all_until ... ok\ntest cob::stream::tests::test_from_until ... ok\ntest cob::stream::tests::test_regression_from_until ... ok\ntest cob::patch::test::test_patch_update ... ok\ntest cob::thread::tests::test_comment_edit_missing ... ok\ntest cob::thread::tests::test_comment_edit_redacted ... ok\ntest cob::thread::tests::test_comment_redact_missing ... ok\ntest cob::thread::tests::test_duplicate_comments ... ok\ntest cob::thread::tests::test_edit_comment ... ok\ntest cob::thread::tests::test_redact_comment ... ok\ntest cob::thread::tests::test_timeline ... ok\ntest git::canonical::protect::tests::refs_rad ... ok\ntest git::canonical::protect::tests::refs_rad_id ... ok\ntest git::canonical::protect::tests::refs_radieschen ... ok\ntest git::canonical::quorum::test::merge_base_commutative ... ok\ntest git::canonical::quorum::test::test_merge_bases ... ok\ntest git::canonical::rules::tests::test_canonical ... ok\ntest git::canonical::rules::tests::test_deserialization ... ok\ntest git::canonical::rules::tests::test_deserialize_extensions ... ok\ntest git::canonical::rules::tests::test_order ... ok\ntest git::canonical::rules::tests::test_roundtrip ... ok\ntest git::canonical::rules::tests::test_rule_validate_failures ... ok\ntest git::canonical::rules::tests::test_rule_validate_success ... ok\ntest git::canonical::rules::tests::test_special_branches ... ok\ntest git::canonical::tests::test_commit_quorum_fork_of_a_fork ... ok\ntest git::canonical::tests::test_commit_quorum_forked_merge_commits ... ok\ntest git::canonical::tests::test_commit_quorum_groups ... ok\ntest git::canonical::tests::test_commit_quorum_linear ... ok\ntest git::canonical::tests::test_commit_quorum_merges ... ok\ntest git::canonical::tests::test_commit_quorum_single ... ok\ntest git::canonical::tests::test_commit_quorum_three_way_fork ... ok\ntest git::canonical::tests::test_commit_quorum_two_way_fork ... ok\ntest git::canonical::tests::test_quorum_different_types ... ok\ntest cob::thread::tests::prop_ordering ... ok\ntest git::canonical::tests::test_tag_quorum ... ok\ntest git::test::test_version_from_str ... ok\ntest git::test::test_version_ord ... ok\ntest identity::did::test::test_did_encode_decode ... ok\ntest identity::did::test::test_did_vectors ... ok\ntest git::canonical::tests::test_quorum_properties ... ok\ntest identity::doc::test::test_canonical_doc ... ok\ntest identity::doc::test::test_canonical_example ... ok\ntest identity::doc::test::test_duplicate_dids ... ok\ntest identity::doc::test::test_future_version_error ... ok\ntest identity::doc::test::test_is_valid_version ... ok\ntest identity::doc::test::test_max_delegates ... ok\ntest identity::doc::test::test_not_found ... ok\ntest identity::doc::test::test_parse_version ... ok\ntest identity::doc::test::test_visibility_json ... ok\ntest identity::doc::update::test::test_can_update_crefs ... ok\ntest identity::doc::update::test::test_cannot_include_default_branch_rule ... ok\ntest identity::doc::update::test::test_default_branch_rule_exists_after_verification ... ok\ntest identity::project::test::test_project_name ... ok\ntest node::address::store::test::test_alias ... ok\ntest node::address::store::test::test_disconnected ... ok\ntest node::address::store::test::test_disconnected_ban ... ok\ntest node::address::store::test::test_empty ... ok\ntest node::address::store::test::test_entries ... ok\ntest node::address::store::test::test_get_none ... ok\ntest node::address::store::test::test_insert_and_get ... ok\ntest node::address::store::test::test_insert_and_remove ... ok\ntest node::address::store::test::test_insert_and_update ... ok\ntest node::address::store::test::test_insert_duplicate ... ok\ntest node::address::store::test::test_node_aliases ... ok\ntest node::address::store::test::test_remove_nothing ... ok\ntest node::command::test::command_result ... ok\ntest node::config::test::deserialize_migrating_scope ... ok\ntest node::config::test::fetch_level_min ... ok\ntest node::config::test::onion_absent ... ok\ntest node::config::test::onion_null ... ok\ntest node::config::test::partial ... ok\ntest node::config::test::regression_ipv6_address_brackets ... ok\ntest node::config::test::regression_ipv6_address_no_brackets ... ok\ntest node::config::test::serialize_migrating_scope ... ok\ntest node::config::test::user_agent_custom ... ok\ntest node::config::test::user_agent_default ... ok\ntest node::config::test::user_agent_default_explicit ... ok\ntest node::config::test::user_agent_opt_out ... ok\ntest node::db::config::test::database_config_valid_combinations ... ok\ntest node::db::config::test::invalid ... ok\ntest node::db::test::migration_8::all_ipv6_formatted_dns_addresses_are_retyped ... ok\ntest node::db::test::migration_8::dns_address_starting_with_bracket_but_missing_closing_bracket_colon_is_unaffected ... ok\ntest node::db::test::migration_8::dns_address_with_bracket_not_at_start_is_unaffected ... ok\ntest node::db::test::migration_8::ipv4_address_is_unaffected ... ok\ntest node::db::test::migration_8::ipv6_formatted_dns_address_is_deleted_when_correct_ipv6_row_already_exists ... ok\ntest node::db::test::migration_8::ipv6_formatted_dns_address_is_retyped_to_ipv6 ... ok\ntest node::db::test::migration_8::migration_applies_to_all_nodes ... ok\ntest node::db::test::migration_8::plain_dns_hostname_without_brackets_is_unaffected ... ok\ntest node::db::test::migration_8::retype_preserves_address_metadata ... ok\ntest node::db::test::test_version ... ok\ntest node::features::test::test_operations ... ok\ntest node::notifications::store::test::test_branch_notifications ... ok\ntest node::notifications::store::test::test_clear ... ok\ntest node::notifications::store::test::test_cob_notifications ... ok\ntest node::notifications::store::test::test_counts_by_repo ... ok\ntest node::notifications::store::test::test_duplicate_notifications ... ok\ntest node::notifications::store::test::test_notification_status ... ok\ntest node::policy::store::test::test_follow_and_unfollow_node ... ok\ntest node::policy::store::test::test_node_aliases ... ok\ntest node::policy::store::test::test_node_policies ... ok\ntest node::policy::store::test::test_node_policy ... ok\ntest node::policy::store::test::test_repo_policies ... ok\ntest node::policy::store::test::test_repo_policy ... ok\ntest node::policy::store::test::test_seed_and_unseed_repo ... ok\ntest node::policy::store::test::test_update_alias ... ok\ntest node::policy::store::test::test_update_scope ... ok\ntest node::refs::store::test::test_count ... ok\ntest node::refs::store::test::test_set_and_delete ... ok\ntest node::refs::store::test::test_set_and_get ... ok\ntest node::routing::test::test_count ... ok\ntest node::routing::test::test_entries ... ok\ntest node::routing::test::test_insert_and_get ... ok\ntest node::routing::test::test_insert_and_get_resources ... ok\ntest node::routing::test::test_insert_and_remove ... ok\ntest node::routing::test::test_insert_duplicate ... ok\ntest node::routing::test::test_insert_existing_updated_time ... ok\ntest node::routing::test::test_len ... ok\ntest node::routing::test::test_prune ... ok\ntest node::routing::test::test_remove_many ... ok\ntest node::routing::test::test_remove_redundant ... ok\ntest node::routing::test::test_update_existing_multi ... ok\ntest node::sync::announce::test::all_synced_nodes_are_preferred_seeds ... ok\ntest node::sync::announce::test::announcer_adapts_target_to_reach ... ok\ntest node::sync::announce::test::announcer_preferred_seeds_or_replica_factor ... ok\ntest node::sync::announce::test::announcer_reached_max_replication_target ... ok\ntest node::sync::announce::test::announcer_reached_min_replication_target ... ok\ntest node::sync::announce::test::announcer_reached_preferred_seeds ... ok\ntest node::sync::announce::test::announcer_synced_with_unknown_node ... ok\ntest node::sync::announce::test::announcer_timed_out ... ok\ntest node::sync::announce::test::announcer_with_replication_factor_zero_and_preferred_seeds ... ok\ntest node::sync::announce::test::cannot_construct_announcer ... ok\ntest node::sync::announce::test::construct_node_appears_in_multiple_input_sets ... ok\ntest node::sync::announce::test::construct_only_preferred_seeds_provided ... ok\ntest node::sync::announce::test::invariant_progress_should_match_state ... ok\ntest node::sync::announce::test::local_node_in_multiple_sets ... ok\ntest node::sync::announce::test::local_node_in_preferred_seeds ... ok\ntest node::sync::announce::test::local_node_in_synced_set ... ok\ntest node::sync::announce::test::local_node_in_unsynced_set ... ok\ntest node::sync::announce::test::local_node_only_in_all_sets_results_in_no_seeds_error ... ok\ntest node::sync::announce::test::preferred_seeds_already_synced ... ok\ntest node::sync::announce::test::synced_with_local_node_is_ignored ... ok\ntest node::sync::announce::test::synced_with_same_node_multiple_times ... ok\ntest node::sync::announce::test::timed_out_after_reaching_success ... ok\ntest node::sync::fetch::test::all_nodes_are_candidates ... ok\ntest node::sync::fetch::test::all_nodes_are_fetchable ... ok\ntest node::sync::fetch::test::could_not_reach_target ... ok\ntest node::sync::fetch::test::ignores_duplicates_and_local_node ... ok\ntest node::sync::fetch::test::preferred_seeds_target_returned_over_replicas ... ok\ntest node::sync::fetch::test::reaches_target_of_max_replicas ... ok\ntest node::sync::fetch::test::reaches_target_of_preferred_seeds ... ok\ntest node::sync::fetch::test::reaches_target_of_replicas ... ok\ntest node::sync::test::ensure_replicas_construction ... ok\ntest node::sync::test::replicas_constrain_to ... ok\ntest node::test::test_address ... ok\ntest node::test::test_alias ... ok\ntest node::test::test_command_result ... ok\ntest node::test::test_user_agent ... ok\ntest node::timestamp::tests::test_timestamp_max ... ok\ntest identity::doc::test::prop_encode_decode ... ok\ntest profile::test::canonicalize_home ... ok\ntest profile::test::test_config ... ok\ntest rad::tests::test_checkout ... ok\ntest rad::tests::test_fork ... ok\ntest rad::tests::test_init ... ok\ntest storage::git::tests::test_references_of ... ok\ntest profile::config::test::schema ... ok\ntest storage::git::transport::local::url::test::test_url_parse ... ok\ntest storage::git::transport::local::url::test::test_url_to_string ... ok\ntest storage::git::transport::remote::url::test::test_url_parse ... ok\ntest storage::git::tests::test_sign_refs ... ok\ntest storage::refs::sigrefs::property::idempotent ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::identity_root_error ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::missing_commit ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::read_ok ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::too_many_parents ... ok\ntest storage::refs::sigrefs::read::test::commit_reader::tree_error ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::doc_blob_error ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::missing_identity ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::read_ok_none ... ok\ntest storage::refs::sigrefs::read::test::identity_root_reader::read_ok_some ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::find_reference_error ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::missing_sigrefs ... ok\ntest storage::refs::sigrefs::read::test::resolve_tip::resolve_tip_ok ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::detect_parent::root_without_root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::restore ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::downgrade::root_with_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_commit_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_mismatched_identity_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::head_verify_signature_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::invalid_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_no_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_parent ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::read_ok_root ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::alternating ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::chain ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::multiple ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::replay::root_at_head ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::single_commit ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::two_commits ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::walk_commit_error ... ok\ntest storage::refs::sigrefs::read::test::signed_refs_reader::walk_verify_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_both ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_refs ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::missing_signature ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::parse_refs_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::parse_signature_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_ok ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_refs_error ... ok\ntest storage::refs::sigrefs::read::test::tree_reader::read_signature_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::tree_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_commit_error ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_empty_refs ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_root_ok ... ok\ntest storage::refs::sigrefs::write::test::commit_writer::write_with_parent_ok ... ok\ntest storage::refs::sigrefs::write::test::head_reader::no_head ... ok\ntest storage::refs::sigrefs::write::test::head_reader::read_ok ... ok\ntest storage::refs::sigrefs::write::test::head_reader::reference_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_blob_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_blob_missing ... ok\ntest storage::refs::sigrefs::write::test::head_reader::refs_parse_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_blob_error ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_blob_missing ... ok\ntest storage::refs::sigrefs::write::test::head_reader::signature_parse_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::commit_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::head_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::never_write_rad_sigrefs ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::reference_error ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::unchanged ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::unchanged_force_writes_new_commit ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_empty_refs ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_root_ok ... ok\ntest storage::refs::sigrefs::write::test::signed_refs_writer::write_with_parent_ok ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::sign_error ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::write_ok ... ok\ntest storage::refs::sigrefs::write::test::tree_writer::write_tree_error ... ok\ntest storage::refs::tests::prop_canonical_roundtrip ... ok\ntest storage::refs::tests::test_rid_verification ... ok\ntest storage::tests::test_storage ... ok\ntest test::assert::test::assert_with_message ... ok\ntest test::assert::test::test_assert_no_move ... ok\ntest test::assert::test::test_assert_panic_0 - should panic ... ok\ntest test::assert::test::test_assert_panic_1 - should panic ... ok\ntest test::assert::test::test_assert_panic_2 - should panic ... ok\ntest test::assert::test::test_assert_succeed ... ok\ntest test::assert::test::test_panic_message ... ok\ntest version::test::test_version ... ok\ntest storage::refs::sigrefs::property::roundtrip ... ok\n\ntest result: ok. 330 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 8.24s\n\n\nrunning 46 tests\ntest commands::block::args::test::should_not_parse ... ok\ntest commands::block::args::test::should_parse_nid ... ok\ntest commands::block::args::test::should_parse_rid ... ok\ntest commands::clone::args::test::should_parse_rid_non_urn ... ok\ntest commands::clone::args::test::should_parse_rid_url ... ok\ntest commands::clone::args::test::should_parse_rid_urn ... ok\ntest commands::cob::args::test::should_allow_log_json_format ... ok\ntest commands::cob::args::test::should_allow_log_pretty_format ... ok\ntest commands::cob::args::test::should_allow_show_json_format ... ok\ntest commands::cob::args::test::should_not_allow_show_pretty_format ... ok\ntest commands::cob::args::test::should_allow_update_json_format ... ok\ntest commands::fork::args::test::should_not_parse_rid_url ... ok\ntest commands::fork::args::test::should_parse_rid_non_urn ... ok\ntest commands::cob::args::test::should_not_allow_update_pretty_format ... ok\ntest commands::fork::args::test::should_parse_rid_urn ... ok\ntest commands::id::args::test::should_not_parse_into_payload - should panic ... ok\ntest commands::id::args::test::should_not_clobber_payload_args ... ok\ntest commands::id::args::test::should_not_parse_single_payload ... ok\ntest commands::id::args::test::should_parse_into_payload ... ok\ntest commands::id::args::test::should_not_parse_single_payloads ... ok\ntest commands::id::args::test::should_parse_multiple_payloads ... ok\ntest commands::init::args::test::should_not_parse_rid_url ... ok\ntest commands::id::args::test::should_parse_single_payload ... ok\ntest commands::init::args::test::should_parse_rid_non_urn ... ok\ntest commands::inspect::test::test_tree ... ok\ntest commands::init::args::test::should_parse_rid_urn ... ok\ntest commands::patch::review::builder::tests::test_review_comments_basic ... ok\ntest commands::patch::review::builder::tests::test_review_comments_before ... ok\ntest commands::patch::review::builder::tests::test_review_comments_multiline ... ok\ntest commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok\ntest commands::publish::args::test::should_not_parse_rid_url ... ok\ntest commands::publish::args::test::should_parse_rid_non_urn ... ok\ntest commands::publish::args::test::should_parse_rid_urn ... ok\ntest git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok\ntest git::pretty_diff::test::test_pretty ... ignored\ntest commands::watch::args::test::should_parse_ref_str ... ok\ntest git::unified_diff::test::test_diff_content_encode_decode_content ... ok\ntest git::unified_diff::test::test_diff_encode_decode_diff ... ok\ntest terminal::args::test::should_not_parse ... ok\ntest terminal::args::test::should_parse_nid ... ok\ntest terminal::args::test::should_parse_rid ... ok\ntest terminal::format::test::test_bytes ... ok\ntest terminal::format::test::test_strip_comments ... ok\ntest terminal::patch::test::test_edit_display_message ... ok\ntest terminal::patch::test::test_create_display_message ... ok\ntest terminal::patch::test::test_update_display_message ... ok\n\ntest result: ok. 45 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.01s\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 115 tests\ntest commands::checkout::rad_checkout ... ok\ntest commands::clone::rad_clone ... ok\ntest commands::clone::rad_clone_bare ... ok\ntest commands::clone::rad_clone_all ... ok\ntest commands::clone::rad_clone_connect ... ok\ntest commands::clone::rad_clone_directory ... ok\ntest commands::clone::rad_clone_scope ... ok\ntest commands::clone::rad_clone_unknown ... ok\ntest commands::clone::rad_clone_partial_fail ... ok\ntest commands::clone::test_clone_without_seeds ... ok\ntest commands::cob::rad_cob_log ... ok\ntest commands::cob::rad_cob_migrate ... ok\ntest commands::cob::rad_cob_multiset ... ok\ntest commands::cob::rad_cob_operations ... ok\ntest commands::cob::rad_cob_show ... ok\ntest commands::cob::rad_cob_update ... ok\ntest commands::cob::rad_cob_update_identity ... ok\ntest commands::cob::test_cob_deletion ... ok\ntest commands::cob::test_cob_replication ... ok\ntest commands::git::git_push_amend ... ok\ntest commands::git::git_push_and_fetch ... ok\ntest commands::git::git_push_canonical_annotated_tags ... ok\ntest commands::git::git_push_canonical_lightweight_tags ... ok\ntest commands::git::git_push_diverge ... ok\ntest commands::git::git_push_force_with_lease ... ok\ntest commands::git::git_push_converge ... ok\ntest commands::git::git_push_rollback ... ok\ntest commands::git::git_tag ... ok\ntest commands::id::rad_id_collaboration ... ignored, slow\ntest commands::id::rad_id ... ok\ntest commands::id::rad_id_conflict ... ok\ntest commands::id::rad_id_private ... ok\ntest commands::id::rad_id_multi_delegate ... ok\ntest commands::id::rad_id_threshold ... ok\ntest commands::id::rad_id_threshold_soft_fork ... ok\ntest commands::id::rad_id_unknown_field ... ok\ntest commands::id::rad_id_update_delete_field ... ok\ntest commands::id::rad_id_unauthorized_delegate ... ok\ntest commands::init::rad_init ... ignored, part of many other tests\ntest commands::init::rad_init_bare ... ok\ntest commands::init::rad_init_detached_head ... ok\ntest commands::init::rad_init_existing ... ok\ntest commands::init::rad_init_existing_bare ... ok\ntest commands::init::rad_init_no_git ... ok\ntest commands::inbox::rad_inbox ... ok\ntest commands::init::rad_init_no_seed ... ok\ntest commands::init::rad_init_private ... ok\ntest commands::init::rad_init_private_clone ... ok\ntest commands::init::rad_init_private_clone_seed ... ok\ntest commands::init::rad_init_private_no_seed ... ok\ntest commands::init::rad_init_private_seed ... ok\ntest commands::init::rad_init_sync_not_connected ... ok\ntest commands::init::rad_init_sync_preferred ... ok\ntest commands::init::rad_init_sync_and_clone ... ok\ntest commands::init::rad_init_with_existing_remote ... ok\ntest commands::init::rad_publish ... ok\ntest commands::issue::rad_issue ... ok\ntest commands::init::rad_init_sync_timeout ... ok\ntest commands::jj::rad_jj_bare ... ok\ntest commands::jj::rad_jj_colocated_patch ... ok\ntest commands::issue::rad_issue_list ... ok\ntest commands::node::rad_node ... ok\ntest commands::node::rad_node_connect ... ok\ntest commands::patch::rad_merge_after_update ... ok\ntest commands::node::rad_node_connect_without_address ... ok\ntest commands::patch::rad_merge_no_ff ... ok\ntest commands::patch::rad_merge_via_push ... ok\ntest commands::patch::rad_patch_ahead_behind ... ok\ntest commands::patch::rad_patch ... ok\ntest commands::patch::rad_patch_checkout ... ok\ntest commands::patch::rad_patch_change_base ... ok\ntest commands::patch::rad_patch_checkout_revision ... ok\ntest commands::patch::rad_patch_checkout_force ... ok\ntest commands::patch::rad_patch_detached_head ... ok\ntest commands::patch::rad_patch_diff ... ok\ntest commands::patch::rad_patch_draft ... ok\ntest commands::patch::rad_patch_delete ... ok\ntest commands::patch::rad_patch_edit ... ok\ntest commands::patch::rad_patch_fetch_2 ... FAILED\ntest commands::patch::rad_patch_fetch_1 ... ok\ntest commands::patch::rad_patch_merge_draft ... ok\ntest commands::patch::rad_patch_open_explore ... ok\ntest commands::patch::rad_patch_revert_merge ... ok\ntest commands::patch::rad_patch_update ... ok\ntest commands::patch::rad_patch_via_push ... FAILED\ntest commands::patch::rad_patch_pull_update ... ok\ntest commands::patch::rad_review_by_hunk ... ok\ntest commands::policy::rad_block ... ok\ntest commands::patch::rad_push_and_pull_patches ... ok\ntest commands::policy::rad_seed_and_follow ... ok\ntest commands::policy::rad_seed_policy_allow_no_scope ... ok\ntest commands::policy::rad_seed_many ... ok\ntest commands::policy::rad_seed_scope ... ok\ntest commands::policy::rad_unseed ... ok\ntest commands::policy::rad_unseed_many ... ok\ntest commands::remote::rad_remote ... ok\ntest commands::sync::rad_fetch ... ok\ntest commands::sync::rad_sync ... ok\ntest commands::sync::rad_sync_without_node ... ok\ntest commands::utility::framework_home ... ok\ntest commands::utility::rad_auth ... ok\ntest commands::utility::rad_auth_errors ... ok\ntest commands::utility::rad_clean ... ok\ntest commands::sync::test_replication_via_seed ... ok\ntest commands::utility::rad_diff ... ok\ntest commands::utility::rad_config ... ok\ntest commands::utility::rad_help ... ok\ntest commands::utility::rad_inspect ... ok\ntest commands::utility::rad_key_mismatch ... ok\ntest commands::utility::rad_self ... ok\ntest commands::utility::rad_warn_old_nodes ... ok\ntest commands::watch::rad_watch ... ok\ntest commands::utility::rad_fork ... ok\ntest rad_remote ... ok\ntest commands::workflow::rad_workflow ... ok\n\nfailures:\n\n---- commands::patch::rad_patch_fetch_2 stdout ----\n1776807870 test: rad-init:6: `rad init --name heartwood --description Radicle Heartwood Protocol & Stack --no-confirm --public -v` @ /tmp/.tmpMaTmvA/alice/work\n1776807870 test: rad-init:28: `rad init` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-init:35: `rad ls` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-init:46: `rad node inventory` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:6: `git checkout -b alice/1 -q` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:7: `git commit --allow-empty -m Changes #1 -q` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:8: `git push rad -o patch.message=Changes HEAD:refs/patches` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:12: `git checkout master -q` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:13: `git branch -D alice/1 -q` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:14: `git update-ref -d refs/remotes/rad/alice/1` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:15: `git update-ref -d refs/remotes/rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:16: `git gc --prune=now` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:17: `git branch -r` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:22: `git pull` @ /tmp/.tmpMaTmvA/alice/work\n1776807871 test: rad-patch-fetch-2:24: `git branch -r` @ /tmp/.tmpMaTmvA/alice/work\n\nthread 'commands::patch::rad_patch_fetch_2' panicked at crates/radicle-cli-test/src/lib.rs:499:36:\n\n--- Expected\n++++ actual:   stdout\n   1      -   rad/HEAD -> rad/master\n   2    1 |   rad/master\n   3    2 |   rad/patches/5e2dedcc5d515fcbc1cca483d3376609fe889bfb\n\nExit status: 0\n\nnote: run with `RUST_BACKTRACE=1` environment variable to display a backtrace\n\n---- commands::patch::rad_patch_via_push stdout ----\n1776807880 test: rad-init:6: `rad init --name heartwood --description Radicle Heartwood Protocol & Stack --no-confirm --public -v` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-init:28: `rad init` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-init:35: `rad ls` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-init:46: `rad node inventory` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:7: `git checkout -b feature/1` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:9: `git commit -a -m Add things -q --allow-empty` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:10: `git push -o patch.message=Add things #1 -o patch.message=See commits for details. rad HEAD:refs/patches` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:22: `rad patch show 6035d2f582afbe01ff23ea87528ae523d76875b6` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:45: `git branch -vv` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:53: `git status --short --branch` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:55: `git fetch` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:56: `git push` @ /tmp/.tmplj9F6k/alice/work\n1776807880 test: rad-patch-via-push:62: `git show-ref` @ /tmp/.tmplj9F6k/alice/work\n\nthread 'commands::patch::rad_patch_via_push' panicked at crates/radicle-cli-test/src/lib.rs:499:36:\n\n--- Expected\n++++ actual:   stdout\n   1    1 | 42d894a83c9c356552a57af09ccdbd5587a99045 refs/heads/feature/1\n   2    2 | f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/heads/master\n   3      - f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/HEAD\n   4    3 | f2de534b5e81d7c6e2dcaf58c3dd91573c0a0354 refs/remotes/rad/master\n   5    4 | 42d894a83c9c356552a57af09ccdbd5587a99045 refs/remotes/rad/patches/6035d2f582afbe01ff23ea87528ae523d76875b6\n\nExit status: 0\n\n\n\nfailures:\n    commands::patch::rad_patch_fetch_2\n    commands::patch::rad_patch_via_push\n\ntest result: FAILED. 111 passed; 2 failed; 2 ignored; 0 measured; 0 filtered out; finished in 178.11s\n\n",
      "stderr": "    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.25s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle-284bae2ddbc7a249)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-2c524afd75038b2d)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-09fa8b6b92f963bf)\n     Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-f12780f7d4c001d7)\nerror: test failed, to rerun pass `-p radicle-cli --test commands`\n",
      "timestamp": {
        "secs_since_epoch": 1776807928,
        "nanos_since_epoch": 151951368
      },
      "log_source": "Plan"
    }
  64. {
      "type": "action_failed",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1776807928,
        "nanos_since_epoch": 603120154
      },
      "log_source": "Plan"
    }
  65. {
      "type": "executor_ends_in_failure",
      "exit_code": 1,
      "timestamp": {
        "secs_since_epoch": 1776807928,
        "nanos_since_epoch": 604235538
      },
      "log_source": "Plan"
    }

Trigger message

{
  "request": "trigger",
  "version": 1,
  "event_type": "patch",
  "repository": {
    "id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
    "name": "heartwood",
    "description": "Radicle Heartwood Protocol & Stack",
    "private": false,
    "default_branch": "master",
    "delegates": [
      "did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT",
      "did:key:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
      "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
      "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
      "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
    ]
  },
  "action": "Created",
  "patch": {
    "id": "bb073a3cb5416efe919bb86736a812ab5b0b09d4",
    "author": {
      "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
      "alias": "lorenz"
    },
    "title": "node: Fix conditions for socket activation",
    "state": {
      "status": "open",
      "conflicts": []
    },
    "before": "6ce2d00be237e75524cd31129be6766935736c1a",
    "after": "ced6f381f2ffd690fd1ddbe631b4b912de151de6",
    "commits": [
      "ced6f381f2ffd690fd1ddbe631b4b912de151de6"
    ],
    "target": "354805aeb3f871358426753198275738ff76a47e",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "bb073a3cb5416efe919bb86736a812ab5b0b09d4",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": "lorenz"
        },
        "description": "The implementation of socket activation requires not only the `systemd`\nfeature, but also `socket2`.",
        "base": "6ce2d00be237e75524cd31129be6766935736c1a",
        "oid": "ced6f381f2ffd690fd1ddbe631b4b912de151de6",
        "timestamp": 1776807594
      }
    ]
  }
}

Ambient stdout

executor from config: /usr/bin/ambient-execute-plan
executor from PATH: /usr/bin/ambient-execute-plan
run CI for rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5
ERROR: CI run failed inside QEMU

Ambient stderr

<empty log>