CI: FAILURE heartwood

Table of Contents

Run log

Plan, inside VM without network

plan: Executor starts
After 0.00 seconds at 2026-06-19 07:56:42ZProgram: ambient-execute-plan
Version: 0.14.0@c37ec71
plan: Runnable plan
After 0.00 seconds at 2026-06-19 07:56:42Z
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: shell
  shell: |
    sed -i /components/d rust-toolchain.toml

    # Commit this to git so that the Debian package building doesn't
    # see changes outside the debian directory.
    git config set user.name "Ambient CI"
    git config set user.email "ambient@example.com"
    git commit -m "remove components from toolchain file" rust-toolchain.toml
- 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:
  RUSTUP_HOME:
  - 47
  - 99
  - 105
  - 47
  - 100
  - 101
  - 112
  - 115
  - 47
  - 114
  - 117
  - 115
  - 116
  - 117
  - 112
plan: Successful action mkdir: /ci
After 0.00 seconds at 2026-06-19 07:56:42Z
  • plan: Start action mkdir: /ci
    After 0.00 seconds at 2026-06-19 07:56:42Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
  • plan: Action succeeded mkdir: /ci
    After 0.00 seconds at 2026-06-19 07:56:42Z
    Mkdir(
        Mkdir {
            pathname: "/ci",
        },
    )
plan: Successful action mkdir: /ci/artifacts
After 0.00 seconds at 2026-06-19 07:56:42Z
  • plan: Start action mkdir: /ci/artifacts
    After 0.00 seconds at 2026-06-19 07:56:42Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
  • plan: Action succeeded mkdir: /ci/artifacts
    After 0.00 seconds at 2026-06-19 07:56:42Z
    Mkdir(
        Mkdir {
            pathname: "/ci/artifacts",
        },
    )
plan: Successful action tar_extract
After 0.00 seconds at 2026-06-19 07:56:42Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-06-19 07:56:42Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-06-19 07:56:43Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdc",
            directory: "/ci/src",
        },
    )
plan: Successful action tar_extract
After 0.13 seconds at 2026-06-19 07:56:43Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-06-19 07:56:43Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-06-19 07:56:51Z
    TarExtract(
        TarExtract {
            archive: "/dev/vdf",
            directory: "/ci/deps",
        },
    )
plan: Successful action tar_extract
After 8.76 seconds at 2026-06-19 07:56:51Z
  • plan: Start action tar_extract
    After 0.00 seconds at 2026-06-19 07:56:51Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
  • plan: Action succeeded tar_extract
    After 0.00 seconds at 2026-06-19 07:56:51Z
    TarExtract(
        TarExtract {
            archive: "/dev/vde",
            directory: "/ci/cache",
        },
    )
plan: Successful action shell: ln -sf /ci /workspace
After 8.77 seconds at 2026-06-19 07:56:51Z
  • plan: Start action shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • bash
    • -c
    • set -xeuo pipefail ln -sf /ci /workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Exit code: 0
    Stderr:
    + ln -sf /ci /workspace
    
  • plan: Action succeeded shell: ln -sf /ci /workspace
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "ln -sf /ci /workspace",
        },
    )
plan: Successful action shell: git config --global user.name 'Ambient CI'
After 8.78 seconds at 2026-06-19 07:56:51Z
  • plan: Start action shell: git config --global user.name 'Ambient CI'
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.name 'Ambient CI'
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56: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-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "git config --global user.name 'Ambient CI'",
        },
    )
plan: Successful action shell: git config --global user.email ambient@example.com
After 8.81 seconds at 2026-06-19 07:56:51Z
  • plan: Start action shell: git config --global user.email ambient@example.com
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • bash
    • -c
    • set -xeuo pipefail git config --global user.email ambient@example.com
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56: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-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "git config --global user.email ambient@example.com",
        },
    )
plan: Successful action shell: sed -i /components/d rust-toolchain.toml # Commit this to git so that the Debian package building doesn't # see changes outside the debian directory. git config set user.name "Ambient CI" git config set user.email "ambient@example.com" git commit -m "remove components from toolchain file" rust-toolchain.toml
After 8.87 seconds at 2026-06-19 07:56:51Z
  • plan: Start action shell: sed -i /components/d rust-toolchain.toml # Commit this to git so that the Debian package building doesn't # see changes outside the debian directory. git config set user.name "Ambient CI" git config set user.email "ambient@example.com" git commit -m "remove components from toolchain file" rust-toolchain.toml
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n",
        },
    )
  • plan: Start program bash
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • bash
    • -c
    • set -xeuo pipefail sed -i /components/d rust-toolchain.toml # Commit this to git so that the Debian package building doesn't # see changes outside the debian directory. git config set user.name "Ambient CI" git config set user.email "ambient@example.com" git commit -m "remove components from toolchain file" rust-toolchain.toml
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Exit code: 0
    Stdout:
    [detached HEAD 51c07eaaa] remove components from toolchain file
     1 file changed, 1 deletion(-)
    
    Stderr:
    + sed -i /components/d rust-toolchain.toml
    + git config set user.name 'Ambient CI'
    + git config set user.email ambient@example.com
    + git commit -m 'remove components from toolchain file' rust-toolchain.toml
    
  • plan: Action succeeded shell: sed -i /components/d rust-toolchain.toml # Commit this to git so that the Debian package building doesn't # see changes outside the debian directory. git config set user.name "Ambient CI" git config set user.email "ambient@example.com" git commit -m "remove components from toolchain file" rust-toolchain.toml
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Shell(
        Shell {
            shell: "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n",
        },
    )
plan: Successful action cargo_fmt
After 8.96 seconds at 2026-06-19 07:56:51Z
  • plan: Start action cargo_fmt
    After 0.00 seconds at 2026-06-19 07:56:51Z
    CargoFmt(
        CargoFmt,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:51Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:56:51Z
    • cargo
    • fmt
    • --check
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:52Z
    Exit code: 0
  • plan: Action succeeded cargo_fmt
    After 0.00 seconds at 2026-06-19 07:56:52Z
    CargoFmt(
        CargoFmt,
    )
plan: Successful action cargo_clippy
After 9.88 seconds at 2026-06-19 07:56:52Z
  • plan: Start action cargo_clippy
    After 0.00 seconds at 2026-06-19 07:56:52Z
    CargoClippy(
        CargoClippy,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:56:52Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:52Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:56:52Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:52Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-19 07:56:52Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:56:52Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:56:52Z
    • cargo
    • clippy
    • --offline
    • --locked
    • --workspace
    • --all-targets
    • --no-deps
    • --
    • --deny
    • warnings
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:58:25Z
    Exit code: 0
    Stderr:
       Compiling libc v0.2.183
       Compiling proc-macro2 v1.0.106
       Compiling unicode-ident v1.0.24
       Compiling quote v1.0.45
       Compiling syn v2.0.117
        Checking cfg-if v1.0.4
        Checking zeroize v1.8.2
       Compiling version_check v0.9.5
        Checking getrandom v0.2.17
       Compiling typenum v1.19.0
        Checking rand_core v0.6.4
       Compiling generic-array v0.14.7
        Checking memchr v2.8.0
       Compiling jobserver v0.1.34
       Compiling shlex v1.3.0
       Compiling find-msvc-tools v0.1.9
       Compiling cc v1.2.57
        Checking crypto-common v0.1.7
        Checking subtle v2.6.1
       Compiling serde_core v1.0.228
        Checking regex-syntax v0.8.10
        Checking aho-corasick v1.1.4
        Checking const-oid v0.9.6
        Checking smallvec v1.15.1
        Checking block-buffer v0.10.4
        Checking regex-automata v0.4.14
        Checking digest v0.10.7
        Checking cpufeatures v0.2.17
        Checking stable_deref_trait v1.2.1
       Compiling thiserror v2.0.18
       Compiling thiserror-impl v2.0.18
        Checking fastrand v2.3.0
       Compiling parking_lot_core v0.9.12
        Checking scopeguard v1.2.0
        Checking bstr v1.12.1
        Checking lock_api v0.4.14
        Checking parking_lot v0.12.5
        Checking bitflags v2.11.0
       Compiling typeid v1.0.3
        Checking tinyvec_macros v0.1.1
       Compiling erased-serde v0.4.10
       Compiling crc32fast v1.5.0
        Checking gix-trace v0.1.19
        Checking tinyvec v1.11.0
        Checking gix-validate v0.11.1
       Compiling serde v1.0.228
        Checking unicode-normalization v0.1.25
        Checking gix-path v0.12.0
       Compiling serde_derive v1.0.228
        Checking byteorder v1.5.0
        Checking itoa v1.0.17
        Checking gix-utils v0.3.2
        Checking serde_fmt v1.1.0
        Checking hashbrown v0.16.1
        Checking value-bag-serde1 v1.12.0
       Compiling synstructure v0.13.2
        Checking value-bag v1.12.0
        Checking log v0.4.29
       Compiling zerofrom-derive v0.1.6
        Checking same-file v1.0.6
        Checking walkdir v2.5.0
        Checking zerofrom v0.1.6
       Compiling yoke-derive v0.8.1
        Checking prodash v31.0.0
        Checking zlib-rs v0.6.3
        Checking yoke v0.8.1
       Compiling rustix v1.1.4
       Compiling pkg-config v0.3.32
        Checking gix-features v0.48.0
       Compiling heapless v0.8.0
        Checking hash32 v0.3.1
       Compiling zerovec-derive v0.11.2
        Checking linux-raw-sys v0.12.1
       Compiling libm v0.2.16
       Compiling autocfg v1.5.0
       Compiling num-traits v0.2.19
        Checking zerovec v0.11.5
       Compiling displaydoc v0.2.5
       Compiling getrandom v0.4.2
        Checking faster-hex v0.10.0
        Checking block-padding v0.3.3
       Compiling zerocopy v0.8.42
        Checking inout v0.1.4
        Checking sha1 v0.10.6
        Checking sha2 v0.10.9
        Checking sha1-checked v0.10.0
        Checking cipher v0.4.4
        Checking tinystr v0.8.2
        Checking litemap v0.8.1
        Checking once_cell v1.21.4
        Checking percent-encoding v2.3.2
        Checking writeable v0.6.2
        Checking icu_locale_core v2.1.1
        Checking gix-hash v0.25.0
        Checking zerotrie v0.2.3
        Checking potential_utf v0.1.4
       Compiling icu_properties_data v2.1.2
       Compiling zmij v1.0.21
       Compiling icu_normalizer_data v2.1.1
        Checking icu_collections v2.1.1
        Checking icu_provider v2.1.1
        Checking der v0.7.10
       Compiling serde_json v1.0.149
        Checking equivalent v1.0.2
        Checking indexmap v2.13.0
       Compiling vcpkg v0.2.15
       Compiling syn v1.0.109
       Compiling thiserror v1.0.69
       Compiling ref-cast v1.0.25
       Compiling libz-sys v1.1.25
        Checking icu_normalizer v2.1.1
        Checking icu_properties v2.1.2
        Checking ppv-lite86 v0.2.21
        Checking tempfile v3.27.0
       Compiling thiserror-impl v1.0.69
       Compiling ref-cast-impl v1.0.25
        Checking spin v0.9.8
        Checking lazy_static v1.5.0
        Checking idna_adapter v1.2.1
        Checking num-integer v0.1.46
        Checking hmac v0.12.1
        Checking universal-hash v0.5.1
        Checking dyn-clone v1.0.20
        Checking opaque-debug v0.3.1
        Checking utf8_iter v1.0.4
       Compiling tree-sitter-language v0.1.7
        Checking idna v1.1.0
        Checking spki v0.7.3
       Compiling libgit2-sys v0.18.3+1.9.2
        Checking signature v2.2.0
        Checking ff v0.13.1
        Checking base16ct v0.2.0
        Checking sec1 v0.7.3
        Checking group v0.13.0
        Checking rand_chacha v0.3.1
        Checking form_urlencoded v1.2.2
        Checking crypto-bigint v0.5.5
       Compiling serde_derive_internals v0.29.1
       Compiling schemars_derive v1.2.1
        Checking elliptic-curve v0.13.8
        Checking url v2.5.8
        Checking rand v0.8.5
        Checking num-iter v0.1.45
       Compiling amplify_syn v2.0.1
        Checking aead v0.5.2
       Compiling semver v1.0.27
        Checking signature v1.6.4
        Checking ed25519 v1.5.3
       Compiling rustc_version v0.4.1
       Compiling amplify_derive v4.0.1
        Checking schemars v1.2.1
        Checking poly1305 v0.8.0
        Checking rfc6979 v0.4.0
        Checking chacha20 v0.9.1
        Checking ascii v1.1.0
        Checking ct-codecs v1.1.6
        Checking amplify_num v0.5.3
        Checking amplify v4.9.0
        Checking ec25519 v0.1.0
        Checking ecdsa v0.16.9
       Compiling curve25519-dalek v4.1.3
        Checking git-ref-format-core v0.6.0
        Checking primeorder v0.13.6
        Checking polyval v0.6.2
        Checking base64ct v1.8.3
       Compiling num-bigint-dig v0.8.6
        Checking pem-rfc7468 v0.7.0
        Checking ghash v0.5.1
        Checking cyphergraphy v0.3.1
        Checking pkcs8 v0.10.2
        Checking pbkdf2 v0.12.2
        Checking ctr v0.9.2
        Checking aes v0.8.4
       Compiling sqlite3-src v0.7.0
        Checking gix-error v0.2.3
       Compiling curve25519-dalek-derive v0.1.1
        Checking keccak v0.1.6
        Checking sha3 v0.10.8
        Checking aes-gcm v0.10.3
        Checking pkcs1 v0.7.5
        Checking ssh-encoding v0.2.0
        Checking ed25519 v2.2.3
        Checking cbc v0.1.2
        Checking blowfish v0.9.1
       Compiling data-encoding v2.10.0
        Checking git2 v0.20.4
       Compiling crossbeam-utils v0.8.21
        Checking base32 v0.4.0
        Checking cypheraddr v0.4.1
       Compiling data-encoding-macro-internal v0.1.17
        Checking bcrypt-pbkdf v0.10.0
        Checking ssh-cipher v0.2.0
        Checking ed25519-dalek v2.2.0
        Checking rsa v0.9.10
        Checking p384 v0.13.1
        Checking p256 v0.13.2
        Checking p521 v0.13.3
        Checking chacha20poly1305 v0.10.1
        Checking qcheck v1.0.0
       Compiling match-lookup v0.1.2
        Checking const-str v0.4.3
        Checking base256emoji v1.0.2
        Checking ssh-key v0.6.7
        Checking data-encoding-macro v0.1.19
        Checking noise-framework v0.4.1
        Checking sqlite3-sys v0.18.0
        Checking socks5-client v0.4.3
        Checking secrecy v0.10.3
        Checking base-x v0.2.11
        Checking cyphernet v0.5.4
        Checking multibase v0.9.2
        Checking ssh-agent-lib v0.6.0
        Checking crossbeam-channel v0.5.15
        Checking sqlite v0.37.0
        Checking anstyle-query v1.1.5
        Checking radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)
        Checking radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)
        Checking errno v0.3.14
        Checking jiff v0.2.23
        Checking utf8parse v0.2.2
        Checking nonempty v0.9.0
        Checking siphasher v1.0.2
        Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)
        Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)
        Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)
        Checking colorchoice v1.0.5
        Checking is_terminal_polyfill v1.70.2
        Checking anstyle v1.0.14
        Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)
        Checking gix-hashtable v0.15.0
       Compiling radicle v0.24.0 (/ci/src/crates/radicle)
       Compiling signal-hook v0.3.18
        Checking base64 v0.21.7
       Compiling unicode-segmentation v1.12.0
       Compiling convert_case v0.10.0
        Checking gix-date v0.15.3
        Checking radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)
        Checking gix-actor v0.41.0
        Checking gix-object v0.60.0
        Checking radicle-core v0.3.0 (/ci/src/crates/radicle-core)
        Checking signal-hook-registry v1.4.8
        Checking serde-untagged v0.1.9
        Checking bytesize v2.3.1
        Checking memmap2 v0.9.10
        Checking dunce v1.0.5
        Checking fast-glob v0.3.3
        Checking nonempty v0.12.0
       Compiling derive_more-impl v2.1.1
        Checking gix-chunk v0.7.1
        Checking mio v1.1.1
        Checking regex v1.12.3
        Checking sem_safe v0.2.1
       Compiling litrs v1.0.0
       Compiling portable-atomic v1.13.1
        Checking unicode-width v0.2.2
       Compiling document-features v0.2.12
        Checking signals_receipts v0.2.5
        Checking derive_more v2.1.1
        Checking signal-hook-mio v0.2.5
        Checking gix-commitgraph v0.37.0
        Checking anstyle-parse v0.2.7
        Checking anstream v0.6.21
        Checking gix-revwalk v0.31.0
        Checking crossterm v0.29.0
        Checking console v0.16.3
        Checking gix-fs v0.21.1
        Checking unit-prefix v0.5.2
        Checking indicatif v0.18.4
        Checking gix-tempfile v23.0.0
        Checking inquire v0.9.4
        Checking unicode-display-width v0.3.0
        Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)
        Checking gix-quote v0.7.1
        Checking shell-words v1.1.1
        Checking either v1.15.0
        Checking iana-time-zone v0.1.65
        Checking chrono v0.4.44
        Checking gix-command v0.9.0
        Checking radicle-term v0.18.0 (/ci/src/crates/radicle-term)
        Checking colored v2.2.0
       Compiling rustversion v1.0.22
       Compiling object v0.37.3
        Checking gix-lock v23.0.0
        Checking gix-url v0.36.0
        Checking gix-config-value v0.18.0
        Checking gix-sec v0.14.0
        Checking adler2 v2.0.1
        Checking gimli v0.32.3
        Checking addr2line v0.25.1
        Checking miniz_oxide v0.8.9
        Checking gix-prompt v0.15.0
        Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)
        Checking gix-revision v0.45.0
        Checking gix-traverse v0.57.0
        Checking gix-diff v0.63.0
        Checking gix-packetline v0.21.3
        Checking gix-glob v0.26.0
       Compiling tree-sitter v0.24.7
        Checking rustc-demangle v0.1.27
       Compiling anyhow v1.0.102
        Checking backtrace v0.3.76
        Checking gix-refspec v0.41.0
        Checking gix-transport v0.57.0
        Checking gix-pack v0.70.0
        Checking arc-swap v1.9.1
        Checking gix-credentials v0.38.0
        Checking gix-shallow v0.12.0
        Checking gix-ref v0.63.0
        Checking gix-negotiate v0.31.0
       Compiling maybe-async v0.2.10
       Compiling proc-macro-error-attr2 v2.0.0
       Compiling simd-adler32 v0.3.8
       Compiling getrandom v0.3.4
        Checking gix-protocol v0.61.0
       Compiling proc-macro-error2 v2.0.1
        Checking gix-odb v0.80.0
       Compiling xattr v1.6.1
       Compiling filetime v0.2.27
        Checking anstyle-parse v1.0.0
        Checking uuid v1.22.0
        Checking bytes v1.11.1
        Checking anstream v1.0.0
       Compiling flate2 v1.1.9
       Compiling tar v0.4.45
       Compiling git-ref-format-macro v0.6.0
        Checking snapbox-macros v0.3.10
        Checking salsa20 v0.10.2
        Checking normalize-line-endings v0.3.0
       Compiling heck v0.5.0
        Checking similar v2.7.0
        Checking strsim v0.11.1
        Checking clap_lex v1.1.0
        Checking streaming-iterator v0.1.9
        Checking siphasher v0.3.11
        Checking bloomy v1.2.0
        Checking snapbox v0.4.17
        Checking clap_builder v4.6.0
       Compiling clap_derive v4.6.0
        Checking scrypt v0.11.0
       Compiling radicle-surf v0.27.1
        Checking git-ref-format v0.6.0
        Checking radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)
        Checking systemd-journal-logger v2.2.2
        Checking toml_datetime v0.7.5+spec-1.1.0
        Checking serde_spanned v1.0.4
       Compiling tree-sitter-md v0.3.2
       Compiling tree-sitter-python v0.23.6
       Compiling tree-sitter-ruby v0.23.1
       Compiling tree-sitter-html v0.23.2
       Compiling tree-sitter-toml-ng v0.6.0
       Compiling tree-sitter-bash v0.23.3
       Compiling tree-sitter-rust v0.23.3
       Compiling tree-sitter-typescript v0.23.2
       Compiling tree-sitter-c v0.23.4
       Compiling tree-sitter-json v0.24.8
       Compiling tree-sitter-go v0.23.4
       Compiling tree-sitter-css v0.23.2
        Checking toml_writer v1.0.7+spec-1.1.0
        Checking radicle-std-ext v0.2.0
        Checking pin-project-lite v0.2.17
        Checking toml v0.9.12+spec-1.1.0
        Checking tokio v1.50.0
        Checking radicle-git-ext v0.12.0
        Checking clap v4.6.0
        Checking sysinfo v0.37.2
        Checking yansi v1.0.1
       Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)
        Checking diff v0.1.13
       Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)
        Checking pretty_assertions v1.4.1
        Checking human-panic v2.0.6
        Checking clap_complete v4.6.0
        Checking structured-logger v1.0.5
        Checking radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)
        Checking radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)
        Checking tree-sitter-highlight v0.24.7
        Checking itertools v0.14.0
       Compiling qcheck-macros v1.0.0
        Checking socket2 v0.5.10
        Checking humantime v2.3.0
       Compiling escargot v0.5.15
        Checking timeago v0.4.2
        Checking lexopt v0.3.2
        Checking bit-vec v0.8.0
        Checking bit-set v0.8.0
        Checking rand_core v0.9.5
        Checking num-bigint v0.4.6
       Compiling ahash v0.8.12
        Checking num-rational v0.4.2
        Checking num-complex v0.4.6
        Checking env_filter v1.0.0
        Checking borrow-or-share v0.2.4
        Checking fluent-uri v0.3.2
        Checking env_logger v0.11.9
        Checking num v0.4.3
        Checking radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)
        Checking phf_shared v0.11.3
       Compiling test-log-macros v0.2.19
        Checking wait-timeout v0.2.1
        Checking fnv v1.0.7
        Checking outref v0.5.2
        Checking quick-error v1.2.3
        Checking vsimd v0.8.0
       Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)
        Checking uuid-simd v0.8.0
        Checking rusty-fork v0.3.1
        Checking test-log v0.2.19
        Checking phf v0.11.3
        Checking referencing v0.30.0
        Checking fraction v0.15.3
        Checking rand_xorshift v0.4.0
        Checking rand_chacha v0.9.0
        Checking rand v0.9.2
        Checking fancy-regex v0.14.0
        Checking email_address v0.2.9
        Checking unarray v0.1.4
        Checking bytecount v0.6.9
        Checking base64 v0.22.1
        Checking num-cmp v0.1.0
        Checking proptest v1.10.0
        Checking jsonschema v0.30.0
        Checking emojis v0.6.4
       Compiling pastey v0.2.1
        Checking radicle-schemars v0.8.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 1m 32s
    
  • plan: Action succeeded cargo_clippy
    After 0.00 seconds at 2026-06-19 07:58:25Z
    CargoClippy(
        CargoClippy,
    )
plan: Successful action cargo_build
After 103.05 seconds at 2026-06-19 07:58:25Z
  • plan: Start action cargo_build
    After 0.00 seconds at 2026-06-19 07:58:25Z
    CargoBuild(
        CargoBuild,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:58:25Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:58:25Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:58:25Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:58:25Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-19 07:58:25Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 07:58:26Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 07:58:26Z
    • cargo
    • build
    • --offline
    • --locked
    • --workspace
    • --all-targets
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 08:01:01Z
    Exit code: 0
    Stderr:
       Compiling libc v0.2.183
       Compiling cfg-if v1.0.4
       Compiling zeroize v1.8.2
       Compiling typenum v1.19.0
       Compiling generic-array v0.14.7
       Compiling getrandom v0.2.17
       Compiling rand_core v0.6.4
       Compiling memchr v2.8.0
       Compiling jobserver v0.1.34
       Compiling shlex v1.3.0
       Compiling cc v1.2.57
       Compiling crypto-common v0.1.7
       Compiling subtle v2.6.1
       Compiling regex-syntax v0.8.10
       Compiling serde_core v1.0.228
       Compiling aho-corasick v1.1.4
       Compiling const-oid v0.9.6
       Compiling smallvec v1.15.1
       Compiling block-buffer v0.10.4
       Compiling digest v0.10.7
       Compiling regex-automata v0.4.14
       Compiling cpufeatures v0.2.17
       Compiling stable_deref_trait v1.2.1
       Compiling bitflags v2.11.0
       Compiling fastrand v2.3.0
       Compiling thiserror v2.0.18
       Compiling scopeguard v1.2.0
       Compiling lock_api v0.4.14
       Compiling parking_lot_core v0.9.12
       Compiling parking_lot v0.12.5
       Compiling bstr v1.12.1
       Compiling gix-trace v0.1.19
       Compiling tinyvec_macros v0.1.1
       Compiling tinyvec v1.11.0
       Compiling typeid v1.0.3
       Compiling gix-validate v0.11.1
       Compiling gix-path v0.12.0
       Compiling erased-serde v0.4.10
       Compiling unicode-normalization v0.1.25
       Compiling itoa v1.0.17
       Compiling byteorder v1.5.0
       Compiling serde v1.0.228
       Compiling gix-utils v0.3.2
       Compiling crc32fast v1.5.0
       Compiling serde_fmt v1.1.0
       Compiling hashbrown v0.16.1
       Compiling value-bag-serde1 v1.12.0
       Compiling value-bag v1.12.0
       Compiling log v0.4.29
       Compiling same-file v1.0.6
       Compiling walkdir v2.5.0
       Compiling zerofrom v0.1.6
       Compiling prodash v31.0.0
       Compiling zlib-rs v0.6.3
       Compiling yoke v0.8.1
       Compiling hash32 v0.3.1
       Compiling linux-raw-sys v0.12.1
       Compiling rustix v1.1.4
       Compiling gix-features v0.48.0
       Compiling zerovec v0.11.5
       Compiling heapless v0.8.0
       Compiling faster-hex v0.10.0
       Compiling libm v0.2.16
       Compiling block-padding v0.3.3
       Compiling inout v0.1.4
       Compiling getrandom v0.4.2
       Compiling sha1 v0.10.6
       Compiling sha2 v0.10.9
       Compiling num-traits v0.2.19
       Compiling sha1-checked v0.10.0
       Compiling cipher v0.4.4
       Compiling zerocopy v0.8.42
       Compiling tinystr v0.8.2
       Compiling percent-encoding v2.3.2
       Compiling once_cell v1.21.4
       Compiling writeable v0.6.2
       Compiling litemap v0.8.1
       Compiling icu_locale_core v2.1.1
       Compiling gix-hash v0.25.0
       Compiling zerotrie v0.2.3
       Compiling potential_utf v0.1.4
       Compiling icu_collections v2.1.1
       Compiling icu_provider v2.1.1
       Compiling der v0.7.10
       Compiling equivalent v1.0.2
       Compiling indexmap v2.13.0
       Compiling icu_properties_data v2.1.2
       Compiling icu_normalizer_data v2.1.1
       Compiling zmij v1.0.21
       Compiling libz-sys v1.1.25
       Compiling serde_json v1.0.149
       Compiling icu_normalizer v2.1.1
       Compiling icu_properties v2.1.2
       Compiling ppv-lite86 v0.2.21
       Compiling tempfile v3.27.0
       Compiling spin v0.9.8
       Compiling lazy_static v1.5.0
       Compiling ref-cast v1.0.25
       Compiling idna_adapter v1.2.1
       Compiling num-integer v0.1.46
       Compiling hmac v0.12.1
       Compiling universal-hash v0.5.1
       Compiling utf8_iter v1.0.4
       Compiling opaque-debug v0.3.1
       Compiling dyn-clone v1.0.20
       Compiling idna v1.1.0
       Compiling thiserror v1.0.69
       Compiling spki v0.7.3
       Compiling libgit2-sys v0.18.3+1.9.2
       Compiling signature v2.2.0
       Compiling ff v0.13.1
       Compiling base16ct v0.2.0
       Compiling sec1 v0.7.3
       Compiling group v0.13.0
       Compiling rand_chacha v0.3.1
       Compiling form_urlencoded v1.2.2
       Compiling crypto-bigint v0.5.5
       Compiling elliptic-curve v0.13.8
       Compiling url v2.5.8
       Compiling rand v0.8.5
       Compiling num-iter v0.1.45
       Compiling aead v0.5.2
       Compiling signature v1.6.4
       Compiling ed25519 v1.5.3
       Compiling schemars v1.2.1
       Compiling poly1305 v0.8.0
       Compiling rfc6979 v0.4.0
       Compiling chacha20 v0.9.1
       Compiling amplify_num v0.5.3
       Compiling ct-codecs v1.1.6
       Compiling ascii v1.1.0
       Compiling amplify v4.9.0
       Compiling ec25519 v0.1.0
       Compiling ecdsa v0.16.9
       Compiling primeorder v0.13.6
       Compiling git-ref-format-core v0.6.0
       Compiling polyval v0.6.2
       Compiling base64ct v1.8.3
       Compiling pem-rfc7468 v0.7.0
       Compiling ghash v0.5.1
       Compiling cyphergraphy v0.3.1
       Compiling pkcs8 v0.10.2
       Compiling pbkdf2 v0.12.2
       Compiling aes v0.8.4
       Compiling ctr v0.9.2
       Compiling sqlite3-src v0.7.0
       Compiling gix-error v0.2.3
       Compiling keccak v0.1.6
       Compiling sha3 v0.10.8
       Compiling curve25519-dalek v4.1.3
       Compiling aes-gcm v0.10.3
       Compiling pkcs1 v0.7.5
       Compiling num-bigint-dig v0.8.6
       Compiling ssh-encoding v0.2.0
       Compiling ed25519 v2.2.3
       Compiling blowfish v0.9.1
       Compiling git2 v0.20.4
       Compiling cbc v0.1.2
       Compiling base32 v0.4.0
       Compiling cypheraddr v0.4.1
       Compiling ssh-cipher v0.2.0
       Compiling bcrypt-pbkdf v0.10.0
       Compiling ed25519-dalek v2.2.0
       Compiling rsa v0.9.10
       Compiling p521 v0.13.3
       Compiling p256 v0.13.2
       Compiling p384 v0.13.1
       Compiling chacha20poly1305 v0.10.1
       Compiling qcheck v1.0.0
       Compiling data-encoding v2.10.0
       Compiling const-str v0.4.3
       Compiling data-encoding-macro v0.1.19
       Compiling ssh-key v0.6.7
       Compiling base256emoji v1.0.2
       Compiling noise-framework v0.4.1
       Compiling sqlite3-sys v0.18.0
       Compiling crossbeam-utils v0.8.21
       Compiling socks5-client v0.4.3
       Compiling secrecy v0.10.3
       Compiling base-x v0.2.11
       Compiling multibase v0.9.2
       Compiling ssh-agent-lib v0.6.0
       Compiling cyphernet v0.5.4
       Compiling crossbeam-channel v0.5.15
       Compiling sqlite v0.37.0
       Compiling anstyle-query v1.1.5
       Compiling radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)
       Compiling radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)
       Compiling errno v0.3.14
       Compiling jiff v0.2.23
       Compiling utf8parse v0.2.2
       Compiling nonempty v0.9.0
       Compiling siphasher v1.0.2
       Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)
       Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)
       Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)
       Compiling unicode-segmentation v1.12.0
       Compiling anstyle v1.0.14
       Compiling colorchoice v1.0.5
       Compiling gix-date v0.15.3
       Compiling is_terminal_polyfill v1.70.2
       Compiling gix-actor v0.41.0
       Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)
       Compiling gix-hashtable v0.15.0
       Compiling radicle v0.24.0 (/ci/src/crates/radicle)
       Compiling base64 v0.21.7
       Compiling gix-object v0.60.0
       Compiling convert_case v0.10.0
       Compiling radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)
       Compiling radicle-core v0.3.0 (/ci/src/crates/radicle-core)
       Compiling signal-hook-registry v1.4.8
       Compiling tree-sitter-language v0.1.7
       Compiling serde-untagged v0.1.9
       Compiling bytesize v2.3.1
       Compiling memmap2 v0.9.10
       Compiling nonempty v0.12.0
       Compiling dunce v1.0.5
       Compiling fast-glob v0.3.3
       Compiling signal-hook v0.3.18
       Compiling derive_more-impl v2.1.1
       Compiling gix-chunk v0.7.1
       Compiling mio v1.1.1
       Compiling regex v1.12.3
       Compiling sem_safe v0.2.1
       Compiling unicode-width v0.2.2
       Compiling signals_receipts v0.2.5
       Compiling signal-hook-mio v0.2.5
       Compiling gix-commitgraph v0.37.0
       Compiling derive_more v2.1.1
       Compiling anstyle-parse v0.2.7
       Compiling adler2 v2.0.1
       Compiling anstream v0.6.21
       Compiling gix-revwalk v0.31.0
       Compiling crossterm v0.29.0
       Compiling portable-atomic v1.13.1
       Compiling console v0.16.3
       Compiling gix-fs v0.21.1
       Compiling unit-prefix v0.5.2
       Compiling indicatif v0.18.4
       Compiling gix-tempfile v23.0.0
       Compiling inquire v0.9.4
       Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)
       Compiling unicode-display-width v0.3.0
       Compiling gix-quote v0.7.1
       Compiling shell-words v1.1.1
       Compiling either v1.15.0
       Compiling iana-time-zone v0.1.65
       Compiling chrono v0.4.44
       Compiling gix-command v0.9.0
       Compiling radicle-term v0.18.0 (/ci/src/crates/radicle-term)
       Compiling colored v2.2.0
       Compiling gix-lock v23.0.0
       Compiling gix-url v0.36.0
       Compiling gix-config-value v0.18.0
       Compiling gix-sec v0.14.0
       Compiling gimli v0.32.3
       Compiling addr2line v0.25.1
       Compiling gix-prompt v0.15.0
       Compiling object v0.37.3
       Compiling radicle-log v0.1.0 (/ci/src/crates/radicle-log)
       Compiling gix-revision v0.45.0
       Compiling gix-traverse v0.57.0
       Compiling miniz_oxide v0.8.9
       Compiling gix-diff v0.63.0
       Compiling gix-packetline v0.21.3
       Compiling gix-glob v0.26.0
       Compiling tree-sitter v0.24.7
       Compiling rustc-demangle v0.1.27
       Compiling backtrace v0.3.76
       Compiling gix-refspec v0.41.0
       Compiling gix-transport v0.57.0
       Compiling gix-pack v0.70.0
       Compiling arc-swap v1.9.1
       Compiling gix-credentials v0.38.0
       Compiling gix-shallow v0.12.0
       Compiling gix-ref v0.63.0
       Compiling gix-negotiate v0.31.0
       Compiling gix-protocol v0.61.0
       Compiling gix-odb v0.80.0
       Compiling xattr v1.6.1
       Compiling anstyle-parse v1.0.0
       Compiling uuid v1.22.0
       Compiling filetime v0.2.27
       Compiling bytes v1.11.1
       Compiling tar v0.4.45
       Compiling git-ref-format-macro v0.6.0
       Compiling anstream v1.0.0
       Compiling getrandom v0.3.4
       Compiling anyhow v1.0.102
       Compiling flate2 v1.1.9
       Compiling snapbox-macros v0.3.10
       Compiling salsa20 v0.10.2
       Compiling siphasher v0.3.11
       Compiling similar v2.7.0
       Compiling clap_lex v1.1.0
       Compiling normalize-line-endings v0.3.0
       Compiling strsim v0.11.1
       Compiling streaming-iterator v0.1.9
       Compiling clap_builder v4.6.0
       Compiling snapbox v0.4.17
       Compiling bloomy v1.2.0
       Compiling scrypt v0.11.0
       Compiling radicle-surf v0.27.1
       Compiling git-ref-format v0.6.0
       Compiling radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)
       Compiling systemd-journal-logger v2.2.2
       Compiling serde_spanned v1.0.4
       Compiling toml_datetime v0.7.5+spec-1.1.0
       Compiling tree-sitter-c v0.23.4
       Compiling tree-sitter-rust v0.23.3
       Compiling tree-sitter-ruby v0.23.1
       Compiling tree-sitter-html v0.23.2
       Compiling tree-sitter-python v0.23.6
       Compiling tree-sitter-toml-ng v0.6.0
       Compiling tree-sitter-json v0.24.8
       Compiling tree-sitter-css v0.23.2
       Compiling tree-sitter-go v0.23.4
       Compiling tree-sitter-md v0.3.2
       Compiling tree-sitter-typescript v0.23.2
       Compiling tree-sitter-bash v0.23.3
       Compiling toml_writer v1.0.7+spec-1.1.0
       Compiling radicle-std-ext v0.2.0
       Compiling pin-project-lite v0.2.17
       Compiling radicle-git-ext v0.12.0
       Compiling tokio v1.50.0
       Compiling toml v0.9.12+spec-1.1.0
       Compiling clap v4.6.0
       Compiling sysinfo v0.37.2
       Compiling yansi v1.0.1
       Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)
       Compiling diff v0.1.13
       Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)
       Compiling pretty_assertions v1.4.1
       Compiling human-panic v2.0.6
       Compiling clap_complete v4.6.0
       Compiling structured-logger v1.0.5
       Compiling radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)
       Compiling radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)
       Compiling tree-sitter-highlight v0.24.7
       Compiling itertools v0.14.0
       Compiling socket2 v0.5.10
       Compiling humantime v2.3.0
       Compiling timeago v0.4.2
       Compiling lexopt v0.3.2
       Compiling bit-vec v0.8.0
       Compiling bit-set v0.8.0
       Compiling escargot v0.5.15
       Compiling rand_core v0.9.5
       Compiling num-bigint v0.4.6
       Compiling num-rational v0.4.2
       Compiling num-complex v0.4.6
       Compiling env_filter v1.0.0
       Compiling borrow-or-share v0.2.4
       Compiling fluent-uri v0.3.2
       Compiling env_logger v0.11.9
       Compiling num v0.4.3
       Compiling ahash v0.8.12
       Compiling radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)
       Compiling phf_shared v0.11.3
       Compiling wait-timeout v0.2.1
       Compiling fnv v1.0.7
       Compiling outref v0.5.2
       Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)
       Compiling quick-error v1.2.3
       Compiling vsimd v0.8.0
       Compiling uuid-simd v0.8.0
       Compiling rusty-fork v0.3.1
       Compiling test-log v0.2.19
       Compiling phf v0.11.3
       Compiling referencing v0.30.0
       Compiling fraction v0.15.3
       Compiling rand_chacha v0.9.0
       Compiling rand v0.9.2
       Compiling rand_xorshift v0.4.0
       Compiling fancy-regex v0.14.0
       Compiling email_address v0.2.9
       Compiling num-cmp v0.1.0
       Compiling unarray v0.1.4
       Compiling base64 v0.22.1
       Compiling bytecount v0.6.9
       Compiling jsonschema v0.30.0
       Compiling proptest v1.10.0
       Compiling emojis v0.6.4
       Compiling radicle-schemars v0.8.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 2m 35s
    
  • plan: Action succeeded cargo_build
    After 0.00 seconds at 2026-06-19 08:01:01Z
    CargoBuild(
        CargoBuild,
    )
plan: Successful action cargo_test
After 258.55 seconds at 2026-06-19 08:01:01Z
  • plan: Start action cargo_test
    After 0.00 seconds at 2026-06-19 08:01:01Z
    CargoTest(
        CargoTest,
    )
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 08:01:01Z
    • cargo
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 08:01:01Z
    Exit code: 0
    Stdout:
    cargo 1.95.0 (f2d3ce0bd 2026-03-21)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 08:01:01Z
    • cargo
    • clippy
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 08:01:01Z
    Exit code: 0
    Stdout:
    clippy 0.1.95 (59807616e1 2026-04-14)
    
  • plan: Start program rustc
    After 0.00 seconds at 2026-06-19 08:01:01Z
    • rustc
    • --version
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 08:01:01Z
    Exit code: 0
    Stdout:
    rustc 1.95.0 (59807616e 2026-04-14)
    
  • plan: Start program cargo
    After 0.00 seconds at 2026-06-19 08:01:01Z
    • cargo
    • test
    • --offline
    • --locked
    • --workspace
  • plan: Program succeeded
    After 0.00 seconds at 2026-06-19 08:03:25Z
    Exit code: 0
    Stdout:
    running 472 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_migration_2 ... ok
    test cob::cache::tests::test_check_version ... ok
    test cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok
    test cob::common::test::test_color ... ok
    test cob::cache::tests::test_migrate_to ... 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::issue::cache::tests::test_list_by_status ... ok
    test cob::issue::cache::tests::test_remove ... ok
    test cob::identity::test::test_valid_identity ... 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_create_and_assign ... ok
    test cob::issue::test::test_issue_comment_redact ... 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_reassign ... ok
    test cob::issue::test::test_issue_create_and_unassign ... ok
    test cob::issue::test::test_issue_edit ... ok
    test cob::issue::test::test_issue_edit_description ... ok
    test cob::issue::test::test_issue_multilines ... ok
    test cob::issue::test::test_issue_label ... 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_list_by_status ... 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::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_patch_update ... 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::thread::tests::prop_ordering ... 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::test::canonical ... ok
    test git::canonical::rules::test::deserialization ... ok
    test git::canonical::rules::test::deserialize_extensions ... ok
    test git::canonical::rules::test::matches_exactly_curly_braces ... ok
    test git::canonical::rules::test::matches_expands_globs_appropriately ... ok
    test git::canonical::rules::test::ordering ... ok
    test git::canonical::rules::test::property::identity ... ok
    test git::canonical::rules::test::property::prefix ... ok
    test git::canonical::rules::test::property::prefix_negative ... ok
    test git::canonical::rules::test::property::suffix ... ok
    test git::canonical::rules::test::property::suffix_negative ... ok
    test git::canonical::rules::test::property::trailing_asterisk_partial_component ... ok
    test git::canonical::rules::test::roundtrip ... ok
    test git::canonical::rules::test::rule_validate_failures ... ok
    test git::canonical::rules::test::rule_validate_success ... ok
    test git::canonical::rules::test::special_branches ... ok
    test git::canonical::symbolic::test::deserialize_infinite ... ok
    test git::canonical::symbolic::test::deserialize_order ... ok
    test git::canonical::symbolic::test::deserialize_valid ... ok
    test git::canonical::symbolic::test::infinite_extend ... ok
    test git::canonical::symbolic::test::infinite_multi ... ok
    test git::canonical::symbolic::test::infinite_single ... ok
    test git::canonical::symbolic::test::reclassification_combine ... ok
    test git::canonical::symbolic::test::reclassification_combine_reverse ... ok
    test git::canonical::symbolic::test::reclassification_diamond ... ok
    test git::canonical::symbolic::test::reclassification_order_invariant ... ok
    test git::canonical::symbolic::test::reclassification_reverse_chain ... ok
    test git::canonical::symbolic::test::resolve_two_hop_chain ... ok
    test git::canonical::symbolic::test::target_classification ... ok
    test git::canonical::symbolic::test::target_classification_symbolic ... ok
    test git::canonical::symbolic::test::target_reclassification ... ok
    test git::canonical::symbolic::test::target_reclassification_commutative ... 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 git::canonical::tests::test_quorum_properties ... ok
    test git::canonical::tests::test_tag_quorum ... ok
    test git::repository::adapter::git2::test::ancestry::ahead_behind_child_parent ... ok
    test git::repository::adapter::git2::test::ancestry::ahead_behind_diverged ... ok
    test git::repository::adapter::git2::test::ancestry::ahead_behind_missing_commit ... ok
    test git::repository::adapter::git2::test::ancestry::is_ancestor_false ... ok
    test git::repository::adapter::git2::test::ancestry::is_ancestor_missing_ancestor ... ok
    test git::repository::adapter::git2::test::ancestry::is_ancestor_missing_head ... ok
    test git::repository::adapter::git2::test::ancestry::is_ancestor_true ... ok
    test git::repository::adapter::git2::test::ancestry::merge_base_diamond ... ok
    test git::repository::adapter::git2::test::ancestry::merge_base_diverged ... ok
    test git::repository::adapter::git2::test::ancestry::merge_base_identity ... ok
    test git::repository::adapter::git2::test::ancestry::merge_base_is_ancestor ... ok
    test git::repository::adapter::git2::test::ancestry::merge_base_missing_commit ... ok
    test git::repository::adapter::git2::test::ancestry::merge_base_parent_child ... ok
    test git::repository::adapter::git2::test::object::blob_at ... ok
    test git::repository::adapter::git2::test::object::blob_at_missing_commit ... ok
    test git::repository::adapter::git2::test::object::blob_at_missing_path ... ok
    test git::repository::adapter::git2::test::object::blob_at_nested ... ok
    test git::repository::adapter::git2::test::object::blob_found ... ok
    test git::repository::adapter::git2::test::object::blob_not_found ... ok
    test git::repository::adapter::git2::test::object::commit ... ok
    test git::repository::adapter::git2::test::object::commit_not_found ... ok
    test git::repository::adapter::git2::test::object::exists_false ... ok
    test git::repository::adapter::git2::test::object::exists_true ... ok
    test git::repository::adapter::git2::test::object::object_kind_blob ... ok
    test git::repository::adapter::git2::test::object::object_kind_commit ... ok
    test git::repository::adapter::git2::test::object::object_kind_missing ... ok
    test git::repository::adapter::git2::test::object::object_kind_tag ... ok
    test git::repository::adapter::git2::test::object::try_blob_not_found ... ok
    test git::repository::adapter::git2::test::object::write_blob_roundtrip ... ok
    test git::repository::adapter::git2::test::object::write_tree_blob_ref ... ok
    test git::repository::adapter::git2::test::object::write_tree_blob_ref_missing ... ok
    test git::repository::adapter::git2::test::object::write_tree_inline_blob ... ok
    test git::repository::adapter::git2::test::object::write_tree_multi_component_path ... ok
    test git::repository::adapter::git2::test::reference::delete_ref_existing ... ok
    test git::repository::adapter::git2::test::reference::delete_ref_idempotent ... ok
    test git::repository::adapter::git2::test::reference::list_refs ... ok
    test git::repository::adapter::git2::test::reference::list_refs_empty ... ok
    test git::repository::adapter::git2::test::reference::ref_target_found ... ok
    test git::repository::adapter::git2::test::reference::ref_target_not_found ... ok
    test git::repository::adapter::git2::test::reference::write_ref_cas_success ... ok
    test git::repository::adapter::git2::test::reference::write_ref_cas_wrong_expected ... ok
    test git::repository::adapter::git2::test::reference::write_ref_create ... ok
    test git::repository::adapter::git2::test::reference::write_ref_create_existing ... ok
    test git::repository::adapter::git2::test::reference::write_ref_upsert_existing ... ok
    test git::repository::adapter::git2::test::reference::write_ref_upsert_new ... ok
    test git::repository::adapter::git2::test::revwalk::commit_data_iter ... ok
    test git::repository::adapter::git2::test::revwalk::from_merge_sees_all ... ok
    test git::repository::adapter::git2::test::revwalk::hide ... ok
    test git::repository::adapter::git2::test::revwalk::hide_one_branch ... ok
    test git::repository::adapter::git2::test::revwalk::linear_chain ... ok
    test git::repository::adapter::git2::test::revwalk::multiple_push_points ... ok
    test git::repository::adapter::git2::test::revwalk::push_and_hide_compose ... ok
    test git::repository::adapter::git2::test::revwalk::range ... ok
    test git::repository::adapter::git2::test::revwalk::range_on_branch ... ok
    test git::repository::adapter::git2::test::revwalk::reverse_chronological ... ok
    test git::repository::adapter::git2::test::revwalk::topological_order ... ok
    test git::repository::adapter::git2::test::symbolic::cas_symbolic_ref_success ... ok
    test git::repository::adapter::git2::test::symbolic::cas_symbolic_ref_wrong_expected ... ok
    test git::repository::adapter::git2::test::symbolic::symbolic_ref_missing_target ... ok
    test git::repository::adapter::git2::test::symbolic::upsert_symbolic_ref_existing ... ok
    test git::repository::adapter::git2::test::symbolic::upsert_symbolic_ref_new ... ok
    test git::repository::adapter::git2::test::symbolic::write_symbolic_ref_existing_fails ... ok
    test git::repository::adapter::git2::test::symbolic::write_symbolic_ref_new ... ok
    test git::repository::ancestry::test::is_linear_ahead_only ... ok
    test git::repository::ancestry::test::is_linear_behind_only ... ok
    test git::repository::ancestry::test::is_linear_diverged ... ok
    test git::repository::ancestry::test::is_linear_same_commit ... ok
    test git::repository::canonical::test::test_is_canonical ... ok
    test git::repository::canonical::test::test_propose_evaluates_convergence_ignores_diverging ... ok
    test git::repository::canonical::test::test_propose_evaluates_convergence_mismatch ... ok
    test git::repository::canonical::test::test_reevaluate_calculates_quorum ... ok
    test git::repository::reference::symbolic::test::target_cas ... ok
    test git::repository::reference::symbolic::test::target_create ... ok
    test git::repository::reference::symbolic::test::target_upsert ... ok
    test git::repository::reference::test::target_cas ... ok
    test git::repository::reference::test::target_create ... ok
    test git::repository::reference::test::target_upsert ... ok
    test git::repository::revwalk::test::plan_compose ... ok
    test git::repository::revwalk::test::plan_hide_accumulates ... ok
    test git::repository::revwalk::test::plan_push_accumulates ... ok
    test git::repository::revwalk::test::plan_range ... ok
    test git::repository::revwalk::test::plan_sort ... ok
    test git::repository::user::test::namespace::delete ... ok
    test git::repository::user::test::namespace::ref_target_found ... ok
    test git::repository::user::test::namespace::ref_target_not_found ... ok
    test git::repository::user::test::namespace::references_all ... ok
    test git::repository::user::test::namespace::references_filtered ... ok
    test git::repository::user::test::namespace::users_isolated ... ok
    test git::repository::user::test::namespace::write_and_read ... ok
    test git::repository::user::test::namespaces::dids_empty_repo ... ok
    test git::repository::user::test::namespaces::dids_skips_invalid_namespace ... ok
    test git::repository::user::test::namespaces::dids_unfiltered ... ok
    test git::repository::user::test::namespaces::dids_with_errors_ok ... ok
    test git::repository::user::test::namespaces::dids_with_errors_surfaces_invalid_namespace ... ok
    test git::repository::user::test::namespaces::dids_with_sigrefs_filter ... ok
    test git::test::test_version_from_str ... ok
    test git::test::test_version_ord ... ok
    test identity::crefs::tests::invalid_clash ... ok
    test identity::crefs::tests::invalid_clash_asterisk_name ... ok
    test identity::crefs::tests::invalid_dangling ... ok
    test identity::crefs::tests::omit_symbolic ... ok
    test identity::crefs::tests::valid ... ok
    test identity::crefs::tests::valid_asterisk_target ... ok
    test identity::did::test::test_did_encode_decode ... ok
    test identity::did::test::test_did_vectors ... ok
    test identity::doc::test::default_branch_clash ... ok
    test identity::doc::test::default_branch_without_project ... ok
    test cob::patch::cache::tests::test_find_by_revision ... 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::skip_invalid_address_type ... ok
    test node::address::store::test::skip_mismatched_address_type ... 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_entries_skips_unparsable_address ... 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::migration_9::bracketed_non_ipv6_garbage_is_deleted ... ok
    test node::db::test::migration_9::dns_row_is_unaffected_even_when_inner_part_has_no_colon ... ok
    test node::db::test::migration_9::empty_brackets_ipv6_row_is_deleted ... ok
    test node::db::test::migration_9::full_ipv6_address_is_kept ... ok
    test node::db::test::migration_9::ipv4_row_is_unaffected ... ok
    test node::db::test::migration_9::loopback_address_is_kept ... ok
    test node::db::test::migration_9::unspecified_address_is_kept ... 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 profile::config::test::schema ... 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 storage::git::tests::test_sign_refs ... 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 identity::doc::test::prop_encode_decode ... ok
    test storage::refs::sigrefs::git::properties::idempotent_write ... ok
    test storage::refs::sigrefs::git::properties::initial_commit_roundtrip ... ok
    test storage::refs::sigrefs::property::idempotent ... ok
    test storage::refs::sigrefs::git::properties::chain_roundtrip ... 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 web::test::description_only ... ok
    test web::test::pinned_empty ... ok
    test storage::refs::sigrefs::property::roundtrip ... ok
    
    test result: ok. 472 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.54s
    
    
    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_allow_update_json_format ... ok
    test commands::cob::args::test::should_not_allow_show_pretty_format ... ok
    test commands::cob::args::test::should_not_allow_update_pretty_format ... ok
    test commands::fork::args::test::should_parse_rid_non_urn ... ok
    test commands::fork::args::test::should_not_parse_rid_url ... ok
    test commands::fork::args::test::should_parse_rid_urn ... ok
    test commands::id::args::test::should_not_clobber_payload_args ... ok
    test commands::id::args::test::should_not_parse_into_payload - should panic ... ok
    test commands::id::args::test::should_not_parse_single_payload ... ok
    test commands::id::args::test::should_not_parse_single_payloads ... ok
    test commands::id::args::test::should_parse_into_payload ... ok
    test commands::id::args::test::should_parse_multiple_payloads ... ok
    test commands::id::args::test::should_parse_single_payload ... ok
    test commands::init::args::test::should_not_parse_rid_url ... ok
    test commands::init::args::test::should_parse_rid_non_urn ... ok
    test commands::init::args::test::should_parse_rid_urn ... ok
    test commands::inspect::test::test_tree ... ok
    test commands::patch::review::builder::tests::test_review_comments_before ... ok
    test commands::patch::review::builder::tests::test_review_comments_basic ... ok
    test commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok
    test commands::patch::review::builder::tests::test_review_comments_multiline ... 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 commands::watch::args::test::should_parse_ref_str ... ok
    test git::pretty_diff::test::test_pretty ... ignored
    test git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok
    test git::unified_diff::test::test_diff_content_encode_decode_content ... 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 git::unified_diff::test::test_diff_encode_decode_diff ... 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 121 tests
    test commands::clone::rad_clone ... ok
    test commands::checkout::rad_checkout ... ok
    test commands::clone::rad_clone_bare ... ok
    test commands::clone::rad_clone_connect ... ok
    test commands::clone::rad_clone_all ... ok
    test commands::clone::rad_clone_directory ... ok
    test commands::clone::rad_clone_partial_fail ... ok
    test commands::clone::rad_clone_unknown ... ok
    test commands::clone::test_clone_without_seeds ... ok
    test commands::clone::rad_clone_scope ... 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_identity ... ok
    test commands::cob::rad_cob_update ... 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_lightweight_tags ... ok
    test commands::git::git_push_canonical ... 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_tag ... ok
    test commands::git::git_push_rollback ... 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_unauthorized_delegate ... ok
    test commands::id::rad_id_update_delete_field ... 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::init::rad_init_no_seed ... ok
    test commands::init::rad_init_private ... ok
    test commands::inbox::rad_inbox ... ok
    test commands::init::rad_init_private_clone ... ok
    test commands::init::rad_init_private_no_seed ... ok
    test commands::init::rad_init_private_clone_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_init_sync_timeout ... ok
    test commands::init::rad_publish ... ok
    test commands::issue::rad_issue ... ok
    test commands::jj::rad_jj_bare ... ignored, the bare repository does not have a `rad` remote, and so it cannot determine the RID of the repository
    test commands::jj::rad_jj_colocated_patch ... ok
    test commands::issue::rad_issue_list ... ok
    test commands::node::rad_node_connect ... ok
    test commands::node::rad_node_connect_without_address ... ok
    test commands::patch::rad_merge_after_update ... ok
    test commands::patch::rad_merge_no_ff ... ok
    test commands::node::rad_node ... ok
    test commands::patch::rad_merge_via_push ... ok
    test commands::patch::rad_patch ... ok
    test commands::patch::rad_patch_ahead_behind ... ok
    test commands::patch::rad_patch_change_base ... ok
    test commands::patch::rad_patch_checkout ... 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_edit ... ok
    test commands::patch::rad_patch_delete ... ok
    test commands::patch::rad_patch_fetch_2 ... ok
    test commands::patch::rad_patch_merge_draft ... ok
    test commands::patch::rad_patch_fetch_1 ... ok
    test commands::patch::rad_patch_open_explore ... ok
    test commands::patch::rad_patch_merge_on_first_push ... ok
    test commands::patch::rad_patch_revert_merge ... ok
    test commands::patch::rad_patch_review_no_options ... ok
    test commands::patch::rad_patch_update ... ok
    test commands::patch::rad_patch_via_push ... ok
    test commands::patch::rad_push_and_pull_patches ... ok
    test commands::patch::rad_review_by_hunk ... ok
    test commands::policy::rad_block ... ok
    test commands::policy::rad_seed_and_follow ... ok
    test commands::policy::rad_seed_many ... ok
    test commands::policy::rad_seed_policy_allow_no_scope ... ok
    test commands::policy::rad_seed_scope ... ok
    test commands::policy::rad_unseed ... ok
    test commands::policy::rad_unseed_many ... ok
    test commands::patch::rad_patch_pull_update ... ok
    test commands::sigpipe::config ... ok
    test commands::sigpipe::help ... ok
    test commands::sigpipe::rad_self ... ok
    test commands::remote::rad_remote ... ok
    test commands::sync::rad_sync ... ok
    test commands::sync::rad_sync_without_node ... ok
    test commands::sync::rad_fetch ... 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::utility::rad_config ... ok
    test commands::utility::rad_diff ... ok
    test commands::sync::test_replication_via_seed ... 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_ipv6 ... ok
    test commands::utility::rad_warn_old_nodes ... ok
    test commands::watch::rad_watch ... ok
    test commands::workflow::rad_workflow ... ok
    test commands::utility::rad_fork ... ok
    test rad_remote ... ok
    
    test result: ok. 118 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 105.59s
    
    
    running 3 tests
    test tests::test_parse ... ok
    test tests::test_run ... ok
    test tests::test_example_spaced_brackets ... ok
    
    test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
    
    
    running 9 tests
    test object::tests::test_serde ... ok
    test tests::git::roundtrip ... ok
    test tests::git::list_cobs ... ok
    test tests::git::traverse_cobs ... ok
    test tests::git::update_cob ... ok
    test tests::invalid_parse_refstr ... ok
    test type_name::test::invalid_typenames ... ok
    test type_name::test::valid_typenames ... ok
    test tests::parse_refstr ... ok
    
    test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s
    
    
    running 4 tests
    test repo::serde_impls::test::assert_prop_roundtrip_serde_json ... ok
    test repo::test::invalid ... ok
    test repo::test::valid ... ok
    test repo::test::assert_prop_roundtrip_parse ... ok
    
    test result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s
    
    
    running 11 tests
    test ssh::agent::test::test_agent_encoding_remove ... ok
    test ssh::agent::test::test_agent_encoding_sign ... ok
    test ssh::fmt::test::test_key ... ok
    test ssh::fmt::test::test_fingerprint ... ok
    test ssh::keystore::tests::test_init_no_passphrase ... ok
    test ssh::keystore::tests::test_signer ... ok
    test tests::prop_encode_decode ... ok
    test tests::prop_key_equality ... ok
    test tests::test_e25519_dh ... ok
    test tests::test_encode_decode ... ok
    test ssh::keystore::tests::test_init_passphrase ... ok
    
    test result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s
    
    
    running 20 tests
    test tests::test_contains ... ok
    test tests::test_cycle ... ok
    test tests::test_dependencies ... ok
    test tests::test_diamond ... ok
    test tests::test_fold_diamond ... ok
    test tests::test_fold_multiple_roots ... ok
    test tests::test_fold_reject ... ok
    test tests::test_fold_sorting_1 ... ok
    test tests::test_fold_sorting_2 ... ok
    test tests::test_get ... ok
    test tests::test_is_empty ... ok
    test tests::test_complex ... ok
    test tests::test_len ... ok
    test tests::test_merge_1 ... ok
    test tests::test_merge_2 ... ok
    test tests::test_prune_1 ... ok
    test tests::test_prune_2 ... ok
    test tests::test_prune_by_sorting ... ok
    test tests::test_remove ... ok
    test tests::test_siblings ... ok
    
    test result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 24 tests
    test commit::parse::test::error::invalid_author ... ok
    test commit::parse::test::error::invalid_committer ... ok
    test commit::parse::test::error::invalid_format_continuation_without_preceding_header ... ok
    test commit::parse::test::error::invalid_parent ... ok
    test commit::parse::test::error::invalid_tree ... ok
    test commit::parse::test::error::missing_author ... ok
    test commit::parse::test::error::missing_committer ... ok
    test commit::parse::test::error::missing_header_body_separator ... ok
    test commit::parse::test::error::missing_tree_empty_header ... ok
    test commit::parse::test::error::missing_tree_wrong_first_line ... ok
    test commit::parse::test::success::commit_gpgsig_is_preserved_and_strip_removes_it ... ok
    test commit::parse::test::success::commit_last_paragraph_kept_in_message_when_not_all_trailers ... ok
    test commit::parse::test::success::commit_with_extra_headers ... ok
    test commit::parse::test::success::commit_with_multiline_gpgsig ... ok
    test commit::parse::test::success::commit_with_single_parent ... ok
    test commit::parse::test::success::commit_with_trailers ... ok
    test commit::parse::test::success::merge_commit ... ok
    test commit::parse::test::success::root_commit ... ok
    test commit::parse::test::success::roundtrip ... ok
    test commit::parse::test::unit::body_last_paragraph_not_trailers_stays_in_message ... ok
    test commit::parse::test::unit::body_no_paragraph_separator_means_no_trailers ... ok
    test commit::parse::test::unit::trailers_accepts_empty_input ... ok
    test commit::parse::test::unit::trailers_rejects_invalid_token_chars ... ok
    test commit::parse::test::unit::trailers_rejects_line_without_separator ... ok
    
    test result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 9 tests
    test test::component ... ok
    test test::pattern ... ok
    test test::component_invalid - should panic ... ok
    test test::qualified ... ok
    test test::qualified_invalid - should panic ... ok
    test test::qualified_pattern ... ok
    test test::qualified_pattern_invalid - should panic ... ok
    test test::refname ... ok
    test test::refname_invalid - should panic ... ok
    
    test result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test serde_impls::test::test_localtime ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 80 tests
    test control::tests::test_control_socket ... ok
    test control::tests::test_seed_unseed ... ok
    test reactor::timer::tests::test_next ... ok
    test reactor::timer::tests::test_wake ... ok
    test reactor::timer::tests::test_wake_exact ... ok
    test fingerprint::tests::matching ... ok
    test tests::e2e::fetch_does_not_contain_rad_sigrefs_parent ... ok
    test tests::e2e::missing_default_branch ... ok
    test tests::e2e::missing_delegate_default_branch ... ok
    test tests::e2e::test_block_active_connection ... ok
    test tests::e2e::test_block_prevents_connection ... ok
    test tests::e2e::test_background_foreground_fetch ... ok
    test tests::e2e::test_block_prevents_fetch ... ok
    test tests::e2e::test_catchup_on_refs_announcements ... ok
    test tests::e2e::test_channel_reader_limit ... ok
    test tests::e2e::test_clone ... ok
    test tests::e2e::test_connection_crossing ... ok
    test tests::e2e::test_dont_fetch_owned_refs ... ok
    test tests::e2e::test_concurrent_fetches ... ok
    test tests::e2e::test_fetch_emits_canonical_ref_update_partial_glob ... ok
    test tests::e2e::test_fetch_followed_remotes ... ok
    test tests::e2e::test_fetch_preserve_owned_refs ... ok
    test tests::e2e::test_fetch_unseeded ... ok
    test tests::e2e::test_fetch_up_to_date ... ok
    test tests::e2e::test_fetch_emits_canonical_ref_update ... ok
    test tests::e2e::test_inventory_sync_basic ... ok
    test tests::e2e::test_inventory_sync_bridge ... ok
    test tests::e2e::test_inventory_sync_ring ... ok
    test tests::e2e::test_large_fetch ... ok
    test tests::e2e::test_migrated_clone ... ok
    test tests::e2e::test_missing_remote ... ok
    test tests::e2e::test_multiple_offline_inits ... ok
    test tests::e2e::test_non_fast_forward_identity_doc ... ok
    test tests::e2e::test_non_fast_forward_sigrefs ... ok
    test tests::e2e::test_outdated_delegate_sigrefs ... ok
    test tests::e2e::test_outdated_sigrefs ... ok
    test tests::e2e::test_inventory_sync_star ... ok
    test tests::e2e::test_replication ... ok
    test tests::e2e::test_replication_ref_in_sigrefs ... ok
    test tests::e2e::test_replication_invalid ... ok
    test tests::prop_inventory_exchange_dense ... ok
    test tests::test_announcement_rebroadcast ... ok
    test tests::test_announcement_rebroadcast_duplicates ... ok
    test tests::test_announcement_rebroadcast_timestamp_filtered ... ok
    test tests::test_announcement_relay ... ok
    test tests::test_connection_kept_alive ... ok
    test tests::test_disconnecting_unresponsive_peer ... ok
    test tests::test_fetch_missing_inventory_on_gossip ... ok
    test tests::test_fetch_missing_inventory_on_schedule ... ok
    test tests::test_inbound_connection ... ok
    test tests::test_init_and_seed ... ok
    test tests::test_inventory_decode ... ok
    test tests::test_inventory_pruning ... ok
    test tests::test_inventory_relay ... ok
    test tests::test_inventory_relay_bad_timestamp ... ok
    test tests::test_inventory_sync ... ok
    test tests::test_maintain_connections ... ok
    test tests::test_maintain_connections_failed_attempt ... ok
    test tests::test_announcement_message_amplification ... ok
    test tests::test_maintain_connections_transient ... ok
    test tests::test_persistent_peer_connect ... ok
    test tests::test_outbound_connection ... ok
    test tests::test_persistent_peer_reconnect_success ... ok
    test tests::test_persistent_peer_reconnect_attempt ... ok
    test tests::test_ping_response ... ok
    test tests::test_queued_fetch_from_ann_same_rid ... ok
    test tests::test_queued_fetch_from_command_same_rid ... ok
    test tests::test_redundant_connect ... ok
    test tests::test_queued_fetch_max_capacity ... ok
    test tests::test_refs_announcement_followed ... ok
    test tests::test_refs_announcement_no_subscribe ... ok
    test tests::test_refs_announcement_fetch_trusted_no_inventory ... ok
    test tests::test_refs_announcement_offline ... ok
    test tests::test_refs_announcement_relay_private ... ok
    test tests::test_refs_synced_event ... ok
    test tests::test_refs_announcement_relay_public ... ok
    test tests::test_seeding ... ok
    test wire::test::test_inventory_ann_with_extension ... ok
    test wire::test::test_pong_message_with_extension ... ok
    test tests::test_seed_repo_subscribe ... ok
    
    test result: ok. 80 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.51s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 10 tests
    test fmt::test::fixture ... ok
    test fmt::test::gix ... ok
    test fmt::test::git2 ... ok
    test fmt::test::zero ... ok
    test git2::test::zero ... ok
    test gix::test::zero ... ok
    test str::test::fixture ... ok
    test str::test::git2_roundtrip ... ok
    test str::test::gix_roundtrip ... ok
    test str::test::zero ... ok
    
    test result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 99 tests
    test deserializer::test::prop_decode_next ... ok
    test deserializer::test::test_unparsed ... ok
    test deserializer::test::test_decode_next ... ok
    test fetcher::service::tests::test_fetch_coalescing_different_refs ... ok
    test fetcher::test::queue::properties::capacity::bounded ... ok
    test fetcher::test::queue::properties::capacity::capacity_reached_returns_same_item ... ok
    test fetcher::test::queue::properties::capacity::rejection ... ok
    test fetcher::test::queue::properties::dequeue::drained_queue_returns_none ... ok
    test fetcher::test::queue::properties::dequeue::empty_queue_returns_none ... ok
    test fetcher::test::queue::properties::dequeue::enables_reenqueue ... ok
    test fetcher::test::queue::properties::capacity::restored_after_dequeue ... ok
    test fetcher::test::queue::properties::equality::reflexive ... ok
    test fetcher::test::queue::properties::equality::symmetric ... ok
    test fetcher::test::queue::properties::fifo::interleaved_operations ... ok
    test fetcher::test::queue::properties::fifo::ordering ... ok
    test fetcher::test::queue::properties::equality::transitive ... ok
    test fetcher::test::queue::properties::merge::different_rid_accepted ... ok
    test fetcher::test::queue::properties::merge::combines_refs ... ok
    test fetcher::test::queue::properties::merge::does_not_increase_queue_length ... ok
    test fetcher::test::queue::properties::merge::longer_timeout_preserved ... ok
    test fetcher::test::queue::properties::merge::empty_refs_fetches_all ... ok
    test fetcher::test::queue::properties::merge::succeed_when_at_capacity ... ok
    test fetcher::test::queue::unit::capacity_takes_precedence_over_merge_for_new_items ... ok
    test fetcher::test::queue::unit::empty_refs_items_can_be_equal ... ok
    test fetcher::test::queue::unit::max_timeout_accepted ... ok
    test fetcher::test::queue::unit::merge_preserves_position_in_queue ... ok
    test fetcher::test::queue::unit::zero_timeout_accepted ... ok
    test fetcher::test::state::command::cancel::cancellation_is_isolated ... ok
    test fetcher::test::state::command::cancel::non_existent_returns_unexpected ... ok
    test fetcher::test::state::command::cancel::ongoing_and_queued ... ok
    test fetcher::test::state::command::cancel::single_ongoing ... ok
    test fetcher::test::state::command::fetch::fetch_after_previous_completed ... ok
    test fetcher::test::state::command::fetch::fetch_at_capacity_enqueues ... ok
    test fetcher::test::state::command::fetch::fetch_different_repo_same_node_within_capacity ... ok
    test fetcher::test::state::command::fetch::fetch_duplicate_returns_already_fetching ... ok
    test fetcher::test::state::command::fetch::fetch_queue_merge_empty_refs_fetches_all ... ok
    test fetcher::test::state::command::fetch::fetch_queue_merge_takes_longer_timeout ... ok
    test fetcher::test::queue::properties::merge::same_rid_merges_anywhere_in_queue ... ok
    test fetcher::test::state::command::fetch::fetch_queue_merges_already_queued ... ok
    test fetcher::test::state::command::fetch::fetch_same_repo_different_nodes_queues_second ... ok
    test fetcher::test::state::command::fetch::fetch_queue_rejected_capacity_reached ... ok
    test fetcher::test::state::command::fetch::fetch_same_repo_different_refs_enqueues ... ok
    test fetcher::test::state::command::fetch::fetch_start_first_fetch_for_node ... ok
    test fetcher::test::state::command::fetched::complete_single_ongoing ... ok
    test fetcher::test::state::command::fetched::complete_one_of_multiple ... ok
    test fetcher::test::state::command::fetched::non_existent_returns_not_found ... ok
    test fetcher::test::state::command::fetched::complete_then_dequeue_fifo ... ok
    test fetcher::test::state::concurrent::fetched_then_cancel ... ok
    test fetcher::test::state::concurrent::interleaved_operations ... ok
    test fetcher::test::state::config::min_queue_size ... ok
    test fetcher::test::state::dequeue::cannot_dequeue_while_node_at_capacity ... ok
    test fetcher::test::state::dequeue::empty_queue_returns_none ... ok
    test fetcher::test::state::dequeue::maintains_fifo_order ... ok
    test fetcher::test::state::invariant::queue_integrity_after_merge ... ok
    test fetcher::test::state::config::high_concurrency ... ok
    test fetcher::test::state::multinode::independent_queues ... ok
    test service::filter::test::compatible ... ok
    test service::filter::test::test_parameters ... ok
    test service::filter::test::test_sizes ... ok
    test service::gossip::store::test::test_announced ... ok
    test service::limiter::test::test_limiter_different_rates ... ok
    test service::limiter::test::test_limiter_multi ... ok
    test service::limiter::test::test_limiter_refill ... ok
    test fetcher::test::state::multinode::high_count ... ok
    test service::message::tests::test_inventory_limit ... ok
    test service::message::tests::prop_refs_announcement_signing ... ok
    test service::message::tests::test_ref_remote_limit ... ok
    test wire::frame::test::test_encode_git_large ... ok
    test wire::frame::test::test_stream_id ... ok
    test service::message::tests::test_node_announcement_validate ... ok
    test wire::message::tests::prop_roundtrip_address ... ok
    test wire::message::tests::prop_roundtrip_message ... ok
    test wire::message::tests::prop_zero_bytes_encode_decode ... ok
    test wire::message::tests::test_inv_ann_max_size ... ok
    test wire::message::tests::test_node_ann_max_size ... ok
    test wire::message::tests::test_ping_encode_size_overflow - should panic ... ok
    test wire::message::tests::test_pingpong_encode_max_size ... ok
    test wire::message::tests::test_pong_encode_size_overflow - should panic ... ok
    test wire::message::tests::prop_message_decoder ... ok
    test wire::tests::prop_oid ... ok
    test wire::tests::prop_roundtrip_filter ... ok
    test wire::tests::prop_roundtrip_publickey ... ok
    test wire::tests::prop_roundtrip_refs ... ok
    test wire::tests::prop_roundtrip_repoid ... ok
    test wire::tests::prop_roundtrip_tuple ... ok
    test wire::tests::prop_roundtrip_u16 ... ok
    test wire::tests::prop_roundtrip_u32 ... ok
    test wire::tests::prop_roundtrip_u64 ... ok
    test wire::tests::prop_roundtrip_vec ... ok
    test wire::tests::prop_signature ... ok
    test wire::tests::prop_string ... ok
    test wire::tests::test_alias ... ok
    test wire::tests::test_bounded_vec_limit ... ok
    test wire::tests::test_filter_invalid ... ok
    test wire::tests::test_string ... ok
    test wire::varint::test::prop_roundtrip_varint ... ok
    test wire::varint::test::test_encode_overflow - should panic ... ok
    test wire::varint::test::test_encoding ... ok
    test wire::message::tests::test_refs_ann_max_size ... ok
    
    test result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.49s
    
    
    running 12 tests
    test protocol::tests::test_capabilities ... ok
    test protocol::tests::test_empty ... ok
    test protocol::tests::test_fetch ... ok
    test protocol::tests::test_fetch_whitespace ... ok
    test protocol::tests::test_invalid ... ok
    test protocol::tests::test_list ... ok
    test protocol::tests::test_list_for_push ... ok
    test protocol::tests::test_option ... ok
    test protocol::tests::test_option_whitespace_preservation ... ok
    test protocol::tests::test_push ... ok
    test protocol::tests::test_push_delete ... ok
    test protocol::tests::test_push_force ... ok
    
    test result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 21 tests
    test ansi::tests::colors_enabled ... ok
    test ansi::tests::colors_disabled ... ok
    test cell::test::test_width ... ok
    test ansi::tests::wrapping ... ok
    test element::test::test_spaced ... ok
    test element::test::test_truncate ... ok
    test element::test::test_width ... ok
    test table::test::test_table ... ok
    test table::test::test_table_border ... ok
    test table::test::test_table_border_maximized ... ok
    test table::test::test_table_border_truncated ... ok
    test table::test::test_table_truncate ... ok
    test table::test::test_table_unicode ... ok
    test table::test::test_truncate ... ok
    test table::test::test_table_unicode_truncate ... ok
    test textarea::test::test_wrapping_code_block ... ok
    test textarea::test::test_wrapping ... ok
    test textarea::test::test_wrapping_fenced_block ... ok
    test vstack::test::test_vstack ... ok
    test vstack::test::test_vstack_maximize ... ok
    test textarea::test::test_wrapping_paragraphs ... ok
    
    test result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test crates/radicle/src/git/raw/fixture.rs - git::raw::fixture (line 11) ... ignored
    
    test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test crates/radicle/src/cob/patch/encoding/review.rs - cob::patch::encoding::review::Review (line 23) ... ignored
    
    test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    all doctests ran in 0.12s; merged doctests compilation took 0.12s
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test crates/radicle-cob/src/backend/stable.rs - backend::stable::with_advanced_timestamp (line 56) ... ignored
    
    test result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    all doctests ran in 0.12s; merged doctests compilation took 0.11s
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 6 tests
    test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::collect_from (line 30) ... ok
    test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::max (line 96) ... ok
    test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::push (line 122) ... ok
    test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::truncate (line 50) ... ok
    test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::unbound (line 149) ... ok
    test crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::with_capacity (line 66) ... ok
    
    test result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    all doctests ran in 0.64s; merged doctests compilation took 0.63s
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    running 1 test
    test crates/radicle-term/src/table.rs - table (line 4) ... ok
    
    test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    all doctests ran in 0.28s; merged doctests compilation took 0.27s
    
    running 0 tests
    
    test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s
    
    
    Stderr:
        Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle-f47a7c2ba456ab00)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-0c161f4fcbeacd74)
         Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-bd06360b420d767c)
         Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-fc66af7f1a19c65c)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli_test-840c41f4d04ff03d)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cob-1ff8ee99f73a113c)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_core-f9d12dcddf722a8f)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_crypto-296ceac40b7fe69b)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_dag-e10cdde88570a8e0)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_fetch-92b111a684cd2a9a)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_metadata-41b02b9ef3e2236d)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_ref_format-2868a65b3ff2c590)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_localtime-ec55a7767b981c91)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_log-aa8a5607eeb05b0d)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_node-d1668eea4de6589f)
         Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_node-19fd5db942ff136f)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_oid-f350725ba9f62eb5)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_protocol-d984e15bcd2f38e3)
         Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/git_remote_rad-ec460ed6e139fb1e)
         Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_schemars-dd3c5e3b8cead261)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_signals-e91beff5378165d8)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_systemd-77e26f6a607513aa)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_term-afa03b1828121040)
         Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_windows-942926f7348a8563)
       Doc-tests radicle
       Doc-tests radicle_cli
       Doc-tests radicle_cli_test
       Doc-tests radicle_cob
       Doc-tests radicle_core
       Doc-tests radicle_crypto
       Doc-tests radicle_dag
       Doc-tests radicle_fetch
       Doc-tests radicle_git_metadata
       Doc-tests radicle_git_ref_format
       Doc-tests radicle_localtime
       Doc-tests radicle_log
       Doc-tests radicle_node
       Doc-tests radicle_oid
       Doc-tests radicle_protocol
       Doc-tests radicle_signals
       Doc-tests radicle_systemd
       Doc-tests radicle_term
       Doc-tests radicle_windows
    
  • plan: Action succeeded cargo_test
    After 0.00 seconds at 2026-06-19 08:03:26Z
    CargoTest(
        CargoTest,
    )
plan: Start action 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
After 403.44 seconds at 2026-06-19 08:03:26Z
Shell(
    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",
    },
)
plan: Start program bash
After 403.44 seconds at 2026-06-19 08:03:26Z
  • bash
  • -c
  • set -xeuo pipefail # 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
plan: ERROR: Program failed
After 489.98 seconds at 2026-06-19 08:04:52Z
Exit code: 101
Stderr:
+ export CARGO_TARGET_DIR=/workspace/cache
+ CARGO_TARGET_DIR=/workspace/cache
+ export CARGO_HOME=/workspace/deps
+ CARGO_HOME=/workspace/deps
+ export HOME=/root
+ HOME=/root
+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin
+ export 'RUSTDOCFLAGS=-D warnings'
+ RUSTDOCFLAGS='-D warnings'
+ cargo doc --workspace --no-deps --all-features
   Compiling libc v0.2.183
   Compiling proc-macro2 v1.0.106
   Compiling unicode-ident v1.0.24
   Compiling quote v1.0.45
    Checking cfg-if v1.0.4
   Compiling syn v2.0.117
    Checking zeroize v1.8.2
    Checking getrandom v0.2.17
   Compiling version_check v0.9.5
   Compiling typenum v1.19.0
   Compiling generic-array v0.14.7
    Checking rand_core v0.6.4
   Compiling jobserver v0.1.34
    Checking memchr v2.8.0
   Compiling find-msvc-tools v0.1.9
   Compiling shlex v1.3.0
   Compiling cc v1.2.57
    Checking crypto-common v0.1.7
    Checking subtle v2.6.1
    Checking const-oid v0.9.6
    Checking regex-syntax v0.8.10
    Checking aho-corasick v1.1.4
    Checking smallvec v1.15.1
    Checking block-buffer v0.10.4
   Compiling serde_core v1.0.228
    Checking regex-automata v0.4.14
    Checking digest v0.10.7
    Checking cpufeatures v0.2.17
    Checking bstr v1.12.1
    Checking stable_deref_trait v1.2.1
   Compiling thiserror v2.0.18
   Compiling thiserror-impl v2.0.18
    Checking fastrand v2.3.0
   Compiling parking_lot_core v0.9.12
    Checking scopeguard v1.2.0
    Checking lock_api v0.4.14
    Checking parking_lot v0.12.5
    Checking bitflags v2.11.0
    Checking tinyvec_macros v0.1.1
   Compiling crc32fast v1.5.0
    Checking gix-trace v0.1.19
    Checking tinyvec v1.11.0
    Checking gix-validate v0.11.1
    Checking gix-path v0.12.0
    Checking unicode-normalization v0.1.25
    Checking byteorder v1.5.0
   Compiling typeid v1.0.3
    Checking gix-utils v0.3.2
    Checking itoa v1.0.17
   Compiling erased-serde v0.4.10
    Checking hashbrown v0.16.1
   Compiling synstructure v0.13.2
   Compiling serde v1.0.228
    Checking serde_fmt v1.1.0
   Compiling serde_derive v1.0.228
    Checking same-file v1.0.6
    Checking walkdir v2.5.0
   Compiling zerofrom-derive v0.1.6
    Checking value-bag-serde1 v1.12.0
    Checking prodash v31.0.0
    Checking zlib-rs v0.6.3
    Checking gix-features v0.48.0
    Checking value-bag v1.12.0
    Checking zerofrom v0.1.6
   Compiling yoke-derive v0.8.1
   Compiling heapless v0.8.0
   Compiling pkg-config v0.3.32
    Checking log v0.4.29
    Checking yoke v0.8.1
    Checking hash32 v0.3.1
   Compiling rustix v1.1.4
   Compiling zerovec-derive v0.11.2
    Checking linux-raw-sys v0.12.1
    Checking zerovec v0.11.5
    Checking faster-hex v0.10.0
   Compiling displaydoc v0.2.5
    Checking block-padding v0.3.3
    Checking inout v0.1.4
    Checking sha2 v0.10.9
    Checking sha1 v0.10.6
    Checking sha1-checked v0.10.0
    Checking cipher v0.4.4
   Compiling getrandom v0.4.2
   Compiling tree-sitter-language v0.1.7
    Checking gix-hash v0.25.0
    Checking tinystr v0.8.2
    Checking writeable v0.6.2
    Checking litemap v0.8.1
   Compiling zerocopy v0.8.42
   Compiling thiserror v1.0.69
    Checking icu_locale_core v2.1.1
    Checking zerotrie v0.2.3
    Checking potential_utf v0.1.4
    Checking der v0.7.10
   Compiling thiserror-impl v1.0.69
    Checking percent-encoding v2.3.2
   Compiling libm v0.2.16
   Compiling icu_properties_data v2.1.2
   Compiling autocfg v1.5.0
   Compiling icu_normalizer_data v2.1.1
   Compiling zmij v1.0.21
   Compiling num-traits v0.2.19
    Checking icu_provider v2.1.1
    Checking icu_collections v2.1.1
   Compiling serde_json v1.0.149
    Checking equivalent v1.0.2
   Compiling vcpkg v0.2.15
   Compiling libz-sys v1.1.25
    Checking indexmap v2.13.0
    Checking once_cell v1.21.4
    Checking tempfile v3.27.0
    Checking ppv-lite86 v0.2.21
    Checking icu_normalizer v2.1.1
    Checking icu_properties v2.1.2
    Checking hmac v0.12.1
    Checking universal-hash v0.5.1
    Checking opaque-debug v0.3.1
    Checking dyn-clone v1.0.20
   Compiling syn v1.0.109
    Checking spin v0.9.8
    Checking lazy_static v1.5.0
    Checking idna_adapter v1.2.1
    Checking spki v0.7.3
   Compiling libgit2-sys v0.18.3+1.9.2
    Checking signature v2.2.0
    Checking ff v0.13.1
    Checking utf8_iter v1.0.4
    Checking base16ct v0.2.0
   Compiling ref-cast v1.0.25
    Checking sec1 v0.7.3
    Checking idna v1.1.0
    Checking group v0.13.0
    Checking rand_chacha v0.3.1
    Checking form_urlencoded v1.2.2
    Checking crypto-bigint v0.5.5
   Compiling ref-cast-impl v1.0.25
   Compiling serde_derive_internals v0.29.1
   Compiling schemars_derive v1.2.1
    Checking elliptic-curve v0.13.8
    Checking url v2.5.8
    Checking rand v0.8.5
   Compiling amplify_syn v2.0.1
    Checking git-ref-format-core v0.6.0
    Checking aead v0.5.2
    Checking signature v1.6.4
   Compiling semver v1.0.27
   Compiling rustc_version v0.4.1
    Checking ed25519 v1.5.3
   Compiling amplify_derive v4.0.1
    Checking schemars v1.2.1
    Checking poly1305 v0.8.0
    Checking rfc6979 v0.4.0
    Checking chacha20 v0.9.1
    Checking gix-error v0.2.3
    Checking amplify_num v0.5.3
    Checking ct-codecs v1.1.6
    Checking ascii v1.1.0
    Checking amplify v4.9.0
    Checking ec25519 v0.1.0
    Checking ecdsa v0.16.9
   Compiling curve25519-dalek v4.1.3
    Checking primeorder v0.13.6
    Checking polyval v0.6.2
    Checking num-integer v0.1.46
    Checking base64ct v1.8.3
   Compiling num-bigint-dig v0.8.6
    Checking pem-rfc7468 v0.7.0
    Checking num-iter v0.1.45
    Checking ghash v0.5.1
    Checking cyphergraphy v0.3.1
    Checking pkcs8 v0.10.2
    Checking pbkdf2 v0.12.2
    Checking ctr v0.9.2
    Checking aes v0.8.4
   Compiling sqlite3-src v0.7.0
   Compiling curve25519-dalek-derive v0.1.1
    Checking keccak v0.1.6
    Checking sha3 v0.10.8
    Checking aes-gcm v0.10.3
    Checking pkcs1 v0.7.5
    Checking ssh-encoding v0.2.0
    Checking ed25519 v2.2.3
    Checking blowfish v0.9.1
    Checking cbc v0.1.2
    Checking git2 v0.20.4
   Compiling getrandom v0.3.4
    Checking base32 v0.4.0
   Compiling crossbeam-utils v0.8.21
   Compiling data-encoding v2.10.0
   Compiling data-encoding-macro-internal v0.1.17
    Checking cypheraddr v0.4.1
    Checking ssh-cipher v0.2.0
    Checking bcrypt-pbkdf v0.10.0
    Checking ed25519-dalek v2.2.0
    Checking rsa v0.9.10
    Checking p521 v0.13.3
    Checking p256 v0.13.2
    Checking p384 v0.13.1
    Checking chacha20poly1305 v0.10.1
    Checking qcheck v1.0.0
   Compiling match-lookup v0.1.2
    Checking const-str v0.4.3
    Checking base256emoji v1.0.2
    Checking data-encoding-macro v0.1.19
    Checking ssh-key v0.6.7
    Checking noise-framework v0.4.1
    Checking sqlite3-sys v0.18.0
    Checking socks5-client v0.4.3
    Checking secrecy v0.10.3
    Checking base-x v0.2.11
    Checking multibase v0.9.2
    Checking crossbeam-channel v0.5.15
    Checking ssh-agent-lib v0.6.0
    Checking cyphernet v0.5.4
    Checking rand_core v0.9.5
    Checking sqlite v0.37.0
    Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)
    Checking jiff v0.2.23
    Checking errno v0.3.14
    Checking anstyle-query v1.1.5
    Checking radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)
    Checking radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)
    Checking wait-timeout v0.2.1
    Checking quick-error v1.2.3
    Checking bit-vec v0.8.0
    Checking fnv v1.0.7
    Checking rusty-fork v0.3.1
    Checking bit-set v0.8.0
    Checking rand_chacha v0.9.0
    Checking rand v0.9.2
    Checking rand_xorshift v0.4.0
    Checking gix-hashtable v0.15.0
    Checking nonempty v0.9.0
    Checking unarray v0.1.4
    Checking utf8parse v0.2.2
    Checking proptest v1.10.0
    Checking gix-date v0.15.3
    Checking gix-actor v0.41.0
    Checking gix-object v0.60.0
    Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)
    Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)
    Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)
    Checking memmap2 v0.9.10
   Compiling unicode-segmentation v1.12.0
   Compiling signal-hook v0.3.18
    Checking nonempty v0.12.0
   Compiling convert_case v0.10.0
    Checking signal-hook-registry v1.4.8
    Checking gix-chunk v0.7.1
   Compiling radicle v0.24.0 (/ci/src/crates/radicle)
    Checking is_terminal_polyfill v1.70.2
    Checking anstyle v1.0.14
    Checking base64 v0.21.7
    Checking colorchoice v1.0.5
    Checking gix-commitgraph v0.37.0
   Compiling derive_more-impl v2.1.1
    Checking radicle-core v0.3.0 (/ci/src/crates/radicle-core)
    Checking radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)
    Checking mio v1.1.1
    Checking serde-untagged v0.1.9
    Checking bytesize v2.3.1
    Checking sem_safe v0.2.1
   Compiling portable-atomic v1.13.1
    Checking fast-glob v0.3.3
   Compiling litrs v1.0.0
    Checking siphasher v1.0.2
    Checking dunce v1.0.5
    Checking unicode-width v0.2.2
   Compiling document-features v0.2.12
    Checking signals_receipts v0.2.5
    Checking signal-hook-mio v0.2.5
    Checking derive_more v2.1.1
    Checking gix-revwalk v0.31.0
    Checking gix-fs v0.21.1
    Checking gix-tempfile v23.0.0
    Checking crossterm v0.29.0
    Checking console v0.16.3
    Checking gix-quote v0.7.1
    Checking regex v1.12.3
    Checking unit-prefix v0.5.2
    Checking indicatif v0.18.4
    Checking inquire v0.9.4
    Checking unicode-display-width v0.3.0
    Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)
    Checking anstyle-parse v0.2.7
   Compiling tree-sitter v0.24.7
    Checking shell-words v1.1.1
   Compiling object v0.37.3
    Checking either v1.15.0
   Compiling anyhow v1.0.102
    Checking gix-command v0.9.0
    Checking anstream v0.6.21
   Compiling proc-macro-error-attr2 v2.0.0
   Compiling adler2 v2.0.1
   Compiling simd-adler32 v0.3.8
    Checking gimli v0.32.3
   Compiling rustversion v1.0.22
    Checking iana-time-zone v0.1.65
    Checking chrono v0.4.44
    Checking addr2line v0.25.1
    Checking miniz_oxide v0.8.9
   Compiling proc-macro-error2 v2.0.1
   Compiling xattr v1.6.1
    Checking radicle-term v0.18.0 (/ci/src/crates/radicle-term)
   Compiling filetime v0.2.27
    Checking gix-lock v23.0.0
    Checking anstyle-parse v1.0.0
    Checking colored v2.2.0
    Checking gix-url v0.36.0
    Checking gix-config-value v0.18.0
    Checking gix-sec v0.14.0
    Checking rustc-demangle v0.1.27
    Checking gix-prompt v0.15.0
    Checking anstream v1.0.0
   Compiling tar v0.4.45
    Checking backtrace v0.3.76
   Compiling flate2 v1.1.9
   Compiling git-ref-format-macro v0.6.0
    Checking gix-revision v0.45.0
    Checking gix-traverse v0.57.0
    Checking gix-diff v0.63.0
    Checking gix-packetline v0.21.3
    Checking gix-glob v0.26.0
    Checking clap_lex v1.1.0
   Compiling heck v0.5.0
    Checking streaming-iterator v0.1.9
    Checking strsim v0.11.1
    Checking clap_builder v4.6.0
   Compiling clap_derive v4.6.0
    Checking gix-refspec v0.41.0
    Checking gix-transport v0.57.0
    Checking gix-pack v0.70.0
    Checking arc-swap v1.9.1
   Compiling radicle-surf v0.27.1
    Checking git-ref-format v0.6.0
    Checking gix-credentials v0.38.0
    Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)
    Checking gix-shallow v0.12.0
    Checking gix-ref v0.63.0
    Checking gix-negotiate v0.31.0
    Checking serde_spanned v1.0.4
    Checking toml_datetime v0.7.5+spec-1.1.0
   Compiling tree-sitter-css v0.23.2
   Compiling tree-sitter-go v0.23.4
   Compiling tree-sitter-html v0.23.2
   Compiling tree-sitter-python v0.23.6
   Compiling tree-sitter-typescript v0.23.2
   Compiling tree-sitter-rust v0.23.3
   Compiling tree-sitter-ruby v0.23.1
   Compiling tree-sitter-c v0.23.4
   Compiling tree-sitter-md v0.3.2
   Compiling tree-sitter-bash v0.23.3
   Compiling tree-sitter-json v0.24.8
   Compiling tree-sitter-toml-ng v0.6.0
   Compiling maybe-async v0.2.10
    Checking toml_writer v1.0.7+spec-1.1.0
    Checking radicle-std-ext v0.2.0
    Checking radicle-git-ext v0.12.0
    Checking toml v0.9.12+spec-1.1.0
    Checking gix-protocol v0.61.0
    Checking gix-odb v0.80.0
    Checking clap v4.6.0
    Checking uuid v1.22.0
    Checking sysinfo v0.37.2
   Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)
    Checking bytes v1.11.1
    Checking human-panic v2.0.6
    Checking clap_complete v4.6.0
    Checking tree-sitter-highlight v0.24.7
    Checking itertools v0.14.0
    Checking salsa20 v0.10.2
    Checking siphasher v0.3.11
    Checking humantime v2.3.0
    Checking timeago v0.4.2
    Checking bloomy v1.2.0
    Checking scrypt v0.11.0
    Checking radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)
    Checking snapbox-macros v0.3.10
    Checking systemd-journal-logger v2.2.2
    Checking normalize-line-endings v0.3.0
    Checking similar v2.7.0
    Checking pin-project-lite v0.2.17
   Compiling escargot v0.5.15
    Checking tokio v1.50.0
    Checking snapbox v0.4.17
   Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)
    Checking rustc-hash v1.1.0
    Checking thousands v0.2.0
    Checking mintex v0.1.4
    Checking diff v0.1.13
    Checking yansi v1.0.1
   Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)
    Checking pretty_assertions v1.4.1
    Checking dhat v0.3.3
    Checking structured-logger v1.0.5
    Checking radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)
    Checking radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)
 Documenting radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)
    Checking socket2 v0.5.10
    Checking lexopt v0.3.2
 Documenting radicle-node v0.20.0 (/ci/src/crates/radicle-node)
 Documenting radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)
 Documenting radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)
 Documenting radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)
 Documenting radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)
 Documenting radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)
 Documenting radicle-log v0.1.0 (/ci/src/crates/radicle-log)
 Documenting radicle-schemars v0.8.0 (/ci/src/crates/radicle-schemars)
 Documenting radicle-term v0.18.0 (/ci/src/crates/radicle-term)
 Documenting radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)
 Documenting radicle v0.24.0 (/ci/src/crates/radicle)
 Documenting radicle-core v0.3.0 (/ci/src/crates/radicle-core)
 Documenting radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)
 Documenting radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)
error: unresolved link to `Service`
 --> crates/radicle/src/git/repository/canonical.rs:3:7
  |
3 | //! [`Service`] provides operations to evaluate and update canonical references
  |       ^^^^^^^ no item named `Service` in scope
  |
  = help: to escape `[` and `]` characters, add '\' before them like `\[` or `\]`
  = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings`
  = help: to override `-D warnings` add `#[allow(rustdoc::broken_intra_doc_links)]`

error: unresolved link to `super::Service::propose`
 --> crates/radicle/src/git/repository/canonical/error.rs:7:27
  |
7 | /// [`Service::propose`]: super::Service::propose
  |                           ^^^^^^^^^^^^^^^^^^^^^^^ no item named `Service` in module `canonical`

error: unresolved link to `super::Service::reevaluate`
 --> crates/radicle/src/git/repository/canonical/error.rs:8:30
  |
8 | /// [`Service::reevaluate`]: super::Service::reevaluate
  |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Service` in module `canonical`

error: could not document `radicle`
warning: build failed, waiting for other jobs to finish...
plan: Action failed: 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
After 490.19 seconds at 2026-06-19 08:04:53Z
Shell(
    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",
    },
)

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": 1781855802,
        "nanos_since_epoch": 891525189
      },
      "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": "shell",
          "shell": "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n"
        },
        {
          "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": {
        "RUSTUP_HOME": [
          47,
          99,
          105,
          47,
          100,
          101,
          112,
          115,
          47,
          114,
          117,
          115,
          116,
          117,
          112
        ]
      },
      "timestamp": {
        "secs_since_epoch": 1781855802,
        "nanos_since_epoch": 892195064
      },
      "log_source": "Plan"
    }
  3. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1781855802,
        "nanos_since_epoch": 892647429
      },
      "log_source": "Plan"
    }
  4. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci",
      "timestamp": {
        "secs_since_epoch": 1781855802,
        "nanos_since_epoch": 892873984
      },
      "log_source": "Plan"
    }
  5. {
      "type": "execute_action",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1781855802,
        "nanos_since_epoch": 893051253
      },
      "log_source": "Plan"
    }
  6. {
      "type": "action_succeeded",
      "action": "mkdir",
      "pathname": "/ci/artifacts",
      "timestamp": {
        "secs_since_epoch": 1781855802,
        "nanos_since_epoch": 893077788
      },
      "log_source": "Plan"
    }
  7. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1781855802,
        "nanos_since_epoch": 893256937
      },
      "log_source": "Plan"
    }
  8. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdc",
      "directory": "/ci/src",
      "timestamp": {
        "secs_since_epoch": 1781855803,
        "nanos_since_epoch": 20749520
      },
      "log_source": "Plan"
    }
  9. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1781855803,
        "nanos_since_epoch": 21216978
      },
      "log_source": "Plan"
    }
  10. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vdf",
      "directory": "/ci/deps",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 650426108
      },
      "log_source": "Plan"
    }
  11. {
      "type": "execute_action",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 653710841
      },
      "log_source": "Plan"
    }
  12. {
      "type": "action_succeeded",
      "action": "tar_extract",
      "archive": "/dev/vde",
      "directory": "/ci/cache",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 658239075
      },
      "log_source": "Plan"
    }
  13. {
      "type": "execute_action",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 660944374
      },
      "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": 1781855811,
        "nanos_since_epoch": 663414780
      },
      "log_source": "Plan"
    }
  15. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ ln -sf /ci /workspace\n",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 670850654
      },
      "log_source": "Plan"
    }
  16. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "ln -sf /ci /workspace",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 673549954
      },
      "log_source": "Plan"
    }
  17. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 675900979
      },
      "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": 1781855811,
        "nanos_since_epoch": 678853483
      },
      "log_source": "Plan"
    }
  19. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "+ git config --global user.name 'Ambient CI'\n",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 691878831
      },
      "log_source": "Plan"
    }
  20. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.name 'Ambient CI'",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 695185275
      },
      "log_source": "Plan"
    }
  21. {
      "type": "execute_action",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 698585822
      },
      "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": 1781855811,
        "nanos_since_epoch": 701581705
      },
      "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": 1781855811,
        "nanos_since_epoch": 753771706
      },
      "log_source": "Plan"
    }
  24. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "git config --global user.email ambient@example.com",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 758672399
      },
      "log_source": "Plan"
    }
  25. {
      "type": "execute_action",
      "action": "shell",
      "shell": "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 763177081
      },
      "log_source": "Plan"
    }
  26. {
      "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,
            115,
            101,
            100,
            32,
            45,
            105,
            32,
            47,
            99,
            111,
            109,
            112,
            111,
            110,
            101,
            110,
            116,
            115,
            47,
            100,
            32,
            114,
            117,
            115,
            116,
            45,
            116,
            111,
            111,
            108,
            99,
            104,
            97,
            105,
            110,
            46,
            116,
            111,
            109,
            108,
            10,
            10,
            35,
            32,
            67,
            111,
            109,
            109,
            105,
            116,
            32,
            116,
            104,
            105,
            115,
            32,
            116,
            111,
            32,
            103,
            105,
            116,
            32,
            115,
            111,
            32,
            116,
            104,
            97,
            116,
            32,
            116,
            104,
            101,
            32,
            68,
            101,
            98,
            105,
            97,
            110,
            32,
            112,
            97,
            99,
            107,
            97,
            103,
            101,
            32,
            98,
            117,
            105,
            108,
            100,
            105,
            110,
            103,
            32,
            100,
            111,
            101,
            115,
            110,
            39,
            116,
            10,
            35,
            32,
            115,
            101,
            101,
            32,
            99,
            104,
            97,
            110,
            103,
            101,
            115,
            32,
            111,
            117,
            116,
            115,
            105,
            100,
            101,
            32,
            116,
            104,
            101,
            32,
            100,
            101,
            98,
            105,
            97,
            110,
            32,
            100,
            105,
            114,
            101,
            99,
            116,
            111,
            114,
            121,
            46,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            115,
            101,
            116,
            32,
            117,
            115,
            101,
            114,
            46,
            110,
            97,
            109,
            101,
            32,
            34,
            65,
            109,
            98,
            105,
            101,
            110,
            116,
            32,
            67,
            73,
            34,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            110,
            102,
            105,
            103,
            32,
            115,
            101,
            116,
            32,
            117,
            115,
            101,
            114,
            46,
            101,
            109,
            97,
            105,
            108,
            32,
            34,
            97,
            109,
            98,
            105,
            101,
            110,
            116,
            64,
            101,
            120,
            97,
            109,
            112,
            108,
            101,
            46,
            99,
            111,
            109,
            34,
            10,
            103,
            105,
            116,
            32,
            99,
            111,
            109,
            109,
            105,
            116,
            32,
            45,
            109,
            32,
            34,
            114,
            101,
            109,
            111,
            118,
            101,
            32,
            99,
            111,
            109,
            112,
            111,
            110,
            101,
            110,
            116,
            115,
            32,
            102,
            114,
            111,
            109,
            32,
            116,
            111,
            111,
            108,
            99,
            104,
            97,
            105,
            110,
            32,
            102,
            105,
            108,
            101,
            34,
            32,
            114,
            117,
            115,
            116,
            45,
            116,
            111,
            111,
            108,
            99,
            104,
            97,
            105,
            110,
            46,
            116,
            111,
            109,
            108,
            10,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 772231660
      },
      "log_source": "Plan"
    }
  27. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "[detached HEAD 51c07eaaa] remove components from toolchain file\n 1 file changed, 1 deletion(-)\n",
      "stderr": "+ sed -i /components/d rust-toolchain.toml\n+ git config set user.name 'Ambient CI'\n+ git config set user.email ambient@example.com\n+ git commit -m 'remove components from toolchain file' rust-toolchain.toml\n",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 848843783
      },
      "log_source": "Plan"
    }
  28. {
      "type": "action_succeeded",
      "action": "shell",
      "shell": "sed -i /components/d rust-toolchain.toml\n\n# Commit this to git so that the Debian package building doesn't\n# see changes outside the debian directory.\ngit config set user.name \"Ambient CI\"\ngit config set user.email \"ambient@example.com\"\ngit commit -m \"remove components from toolchain file\" rust-toolchain.toml\n",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 849394975
      },
      "log_source": "Plan"
    }
  29. {
      "type": "execute_action",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 849612633
      },
      "log_source": "Plan"
    }
  30. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 849622532
      },
      "log_source": "Plan"
    }
  31. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 882211647
      },
      "log_source": "Plan"
    }
  32. {
      "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": 1781855811,
        "nanos_since_epoch": 885031229
      },
      "log_source": "Plan"
    }
  33. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 915135009
      },
      "log_source": "Plan"
    }
  34. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 915604237
      },
      "log_source": "Plan"
    }
  35. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855811,
        "nanos_since_epoch": 932765281
      },
      "log_source": "Plan"
    }
  36. {
      "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": 1781855811,
        "nanos_since_epoch": 933710408
      },
      "log_source": "Plan"
    }
  37. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 762960252
      },
      "log_source": "Plan"
    }
  38. {
      "type": "action_succeeded",
      "action": "cargo_fmt",
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 765191439
      },
      "log_source": "Plan"
    }
  39. {
      "type": "execute_action",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 767095813
      },
      "log_source": "Plan"
    }
  40. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 769061947
      },
      "log_source": "Plan"
    }
  41. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 779769870
      },
      "log_source": "Plan"
    }
  42. {
      "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": 1781855812,
        "nanos_since_epoch": 782478186
      },
      "log_source": "Plan"
    }
  43. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 811030060
      },
      "log_source": "Plan"
    }
  44. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 811467344
      },
      "log_source": "Plan"
    }
  45. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855812,
        "nanos_since_epoch": 828007657
      },
      "log_source": "Plan"
    }
  46. {
      "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": 1781855812,
        "nanos_since_epoch": 828452291
      },
      "log_source": "Plan"
    }
  47. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "   Compiling libc v0.2.183\n   Compiling proc-macro2 v1.0.106\n   Compiling unicode-ident v1.0.24\n   Compiling quote v1.0.45\n   Compiling syn v2.0.117\n    Checking cfg-if v1.0.4\n    Checking zeroize v1.8.2\n   Compiling version_check v0.9.5\n    Checking getrandom v0.2.17\n   Compiling typenum v1.19.0\n    Checking rand_core v0.6.4\n   Compiling generic-array v0.14.7\n    Checking memchr v2.8.0\n   Compiling jobserver v0.1.34\n   Compiling shlex v1.3.0\n   Compiling find-msvc-tools v0.1.9\n   Compiling cc v1.2.57\n    Checking crypto-common v0.1.7\n    Checking subtle v2.6.1\n   Compiling serde_core v1.0.228\n    Checking regex-syntax v0.8.10\n    Checking aho-corasick v1.1.4\n    Checking const-oid v0.9.6\n    Checking smallvec v1.15.1\n    Checking block-buffer v0.10.4\n    Checking regex-automata v0.4.14\n    Checking digest v0.10.7\n    Checking cpufeatures v0.2.17\n    Checking stable_deref_trait v1.2.1\n   Compiling thiserror v2.0.18\n   Compiling thiserror-impl v2.0.18\n    Checking fastrand v2.3.0\n   Compiling parking_lot_core v0.9.12\n    Checking scopeguard v1.2.0\n    Checking bstr v1.12.1\n    Checking lock_api v0.4.14\n    Checking parking_lot v0.12.5\n    Checking bitflags v2.11.0\n   Compiling typeid v1.0.3\n    Checking tinyvec_macros v0.1.1\n   Compiling erased-serde v0.4.10\n   Compiling crc32fast v1.5.0\n    Checking gix-trace v0.1.19\n    Checking tinyvec v1.11.0\n    Checking gix-validate v0.11.1\n   Compiling serde v1.0.228\n    Checking unicode-normalization v0.1.25\n    Checking gix-path v0.12.0\n   Compiling serde_derive v1.0.228\n    Checking byteorder v1.5.0\n    Checking itoa v1.0.17\n    Checking gix-utils v0.3.2\n    Checking serde_fmt v1.1.0\n    Checking hashbrown v0.16.1\n    Checking value-bag-serde1 v1.12.0\n   Compiling synstructure v0.13.2\n    Checking value-bag v1.12.0\n    Checking log v0.4.29\n   Compiling zerofrom-derive v0.1.6\n    Checking same-file v1.0.6\n    Checking walkdir v2.5.0\n    Checking zerofrom v0.1.6\n   Compiling yoke-derive v0.8.1\n    Checking prodash v31.0.0\n    Checking zlib-rs v0.6.3\n    Checking yoke v0.8.1\n   Compiling rustix v1.1.4\n   Compiling pkg-config v0.3.32\n    Checking gix-features v0.48.0\n   Compiling heapless v0.8.0\n    Checking hash32 v0.3.1\n   Compiling zerovec-derive v0.11.2\n    Checking linux-raw-sys v0.12.1\n   Compiling libm v0.2.16\n   Compiling autocfg v1.5.0\n   Compiling num-traits v0.2.19\n    Checking zerovec v0.11.5\n   Compiling displaydoc v0.2.5\n   Compiling getrandom v0.4.2\n    Checking faster-hex v0.10.0\n    Checking block-padding v0.3.3\n   Compiling zerocopy v0.8.42\n    Checking inout v0.1.4\n    Checking sha1 v0.10.6\n    Checking sha2 v0.10.9\n    Checking sha1-checked v0.10.0\n    Checking cipher v0.4.4\n    Checking tinystr v0.8.2\n    Checking litemap v0.8.1\n    Checking once_cell v1.21.4\n    Checking percent-encoding v2.3.2\n    Checking writeable v0.6.2\n    Checking icu_locale_core v2.1.1\n    Checking gix-hash v0.25.0\n    Checking zerotrie v0.2.3\n    Checking potential_utf v0.1.4\n   Compiling icu_properties_data v2.1.2\n   Compiling zmij v1.0.21\n   Compiling icu_normalizer_data v2.1.1\n    Checking icu_collections v2.1.1\n    Checking icu_provider v2.1.1\n    Checking der v0.7.10\n   Compiling serde_json v1.0.149\n    Checking equivalent v1.0.2\n    Checking indexmap v2.13.0\n   Compiling vcpkg v0.2.15\n   Compiling syn v1.0.109\n   Compiling thiserror v1.0.69\n   Compiling ref-cast v1.0.25\n   Compiling libz-sys v1.1.25\n    Checking icu_normalizer v2.1.1\n    Checking icu_properties v2.1.2\n    Checking ppv-lite86 v0.2.21\n    Checking tempfile v3.27.0\n   Compiling thiserror-impl v1.0.69\n   Compiling ref-cast-impl v1.0.25\n    Checking spin v0.9.8\n    Checking lazy_static v1.5.0\n    Checking idna_adapter v1.2.1\n    Checking num-integer v0.1.46\n    Checking hmac v0.12.1\n    Checking universal-hash v0.5.1\n    Checking dyn-clone v1.0.20\n    Checking opaque-debug v0.3.1\n    Checking utf8_iter v1.0.4\n   Compiling tree-sitter-language v0.1.7\n    Checking idna v1.1.0\n    Checking spki v0.7.3\n   Compiling libgit2-sys v0.18.3+1.9.2\n    Checking signature v2.2.0\n    Checking ff v0.13.1\n    Checking base16ct v0.2.0\n    Checking sec1 v0.7.3\n    Checking group v0.13.0\n    Checking rand_chacha v0.3.1\n    Checking form_urlencoded v1.2.2\n    Checking crypto-bigint v0.5.5\n   Compiling serde_derive_internals v0.29.1\n   Compiling schemars_derive v1.2.1\n    Checking elliptic-curve v0.13.8\n    Checking url v2.5.8\n    Checking rand v0.8.5\n    Checking num-iter v0.1.45\n   Compiling amplify_syn v2.0.1\n    Checking aead v0.5.2\n   Compiling semver v1.0.27\n    Checking signature v1.6.4\n    Checking ed25519 v1.5.3\n   Compiling rustc_version v0.4.1\n   Compiling amplify_derive v4.0.1\n    Checking schemars v1.2.1\n    Checking poly1305 v0.8.0\n    Checking rfc6979 v0.4.0\n    Checking chacha20 v0.9.1\n    Checking ascii v1.1.0\n    Checking ct-codecs v1.1.6\n    Checking amplify_num v0.5.3\n    Checking amplify v4.9.0\n    Checking ec25519 v0.1.0\n    Checking ecdsa v0.16.9\n   Compiling curve25519-dalek v4.1.3\n    Checking git-ref-format-core v0.6.0\n    Checking primeorder v0.13.6\n    Checking polyval v0.6.2\n    Checking base64ct v1.8.3\n   Compiling num-bigint-dig v0.8.6\n    Checking pem-rfc7468 v0.7.0\n    Checking ghash v0.5.1\n    Checking cyphergraphy v0.3.1\n    Checking pkcs8 v0.10.2\n    Checking pbkdf2 v0.12.2\n    Checking ctr v0.9.2\n    Checking aes v0.8.4\n   Compiling sqlite3-src v0.7.0\n    Checking gix-error v0.2.3\n   Compiling curve25519-dalek-derive v0.1.1\n    Checking keccak v0.1.6\n    Checking sha3 v0.10.8\n    Checking aes-gcm v0.10.3\n    Checking pkcs1 v0.7.5\n    Checking ssh-encoding v0.2.0\n    Checking ed25519 v2.2.3\n    Checking cbc v0.1.2\n    Checking blowfish v0.9.1\n   Compiling data-encoding v2.10.0\n    Checking git2 v0.20.4\n   Compiling crossbeam-utils v0.8.21\n    Checking base32 v0.4.0\n    Checking cypheraddr v0.4.1\n   Compiling data-encoding-macro-internal v0.1.17\n    Checking bcrypt-pbkdf v0.10.0\n    Checking ssh-cipher v0.2.0\n    Checking ed25519-dalek v2.2.0\n    Checking rsa v0.9.10\n    Checking p384 v0.13.1\n    Checking p256 v0.13.2\n    Checking p521 v0.13.3\n    Checking chacha20poly1305 v0.10.1\n    Checking qcheck v1.0.0\n   Compiling match-lookup v0.1.2\n    Checking const-str v0.4.3\n    Checking base256emoji v1.0.2\n    Checking ssh-key v0.6.7\n    Checking data-encoding-macro v0.1.19\n    Checking noise-framework v0.4.1\n    Checking sqlite3-sys v0.18.0\n    Checking socks5-client v0.4.3\n    Checking secrecy v0.10.3\n    Checking base-x v0.2.11\n    Checking cyphernet v0.5.4\n    Checking multibase v0.9.2\n    Checking ssh-agent-lib v0.6.0\n    Checking crossbeam-channel v0.5.15\n    Checking sqlite v0.37.0\n    Checking anstyle-query v1.1.5\n    Checking radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)\n    Checking radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)\n    Checking errno v0.3.14\n    Checking jiff v0.2.23\n    Checking utf8parse v0.2.2\n    Checking nonempty v0.9.0\n    Checking siphasher v1.0.2\n    Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n    Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n    Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n    Checking colorchoice v1.0.5\n    Checking is_terminal_polyfill v1.70.2\n    Checking anstyle v1.0.14\n    Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n    Checking gix-hashtable v0.15.0\n   Compiling radicle v0.24.0 (/ci/src/crates/radicle)\n   Compiling signal-hook v0.3.18\n    Checking base64 v0.21.7\n   Compiling unicode-segmentation v1.12.0\n   Compiling convert_case v0.10.0\n    Checking gix-date v0.15.3\n    Checking radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)\n    Checking gix-actor v0.41.0\n    Checking gix-object v0.60.0\n    Checking radicle-core v0.3.0 (/ci/src/crates/radicle-core)\n    Checking signal-hook-registry v1.4.8\n    Checking serde-untagged v0.1.9\n    Checking bytesize v2.3.1\n    Checking memmap2 v0.9.10\n    Checking dunce v1.0.5\n    Checking fast-glob v0.3.3\n    Checking nonempty v0.12.0\n   Compiling derive_more-impl v2.1.1\n    Checking gix-chunk v0.7.1\n    Checking mio v1.1.1\n    Checking regex v1.12.3\n    Checking sem_safe v0.2.1\n   Compiling litrs v1.0.0\n   Compiling portable-atomic v1.13.1\n    Checking unicode-width v0.2.2\n   Compiling document-features v0.2.12\n    Checking signals_receipts v0.2.5\n    Checking derive_more v2.1.1\n    Checking signal-hook-mio v0.2.5\n    Checking gix-commitgraph v0.37.0\n    Checking anstyle-parse v0.2.7\n    Checking anstream v0.6.21\n    Checking gix-revwalk v0.31.0\n    Checking crossterm v0.29.0\n    Checking console v0.16.3\n    Checking gix-fs v0.21.1\n    Checking unit-prefix v0.5.2\n    Checking indicatif v0.18.4\n    Checking gix-tempfile v23.0.0\n    Checking inquire v0.9.4\n    Checking unicode-display-width v0.3.0\n    Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n    Checking gix-quote v0.7.1\n    Checking shell-words v1.1.1\n    Checking either v1.15.0\n    Checking iana-time-zone v0.1.65\n    Checking chrono v0.4.44\n    Checking gix-command v0.9.0\n    Checking radicle-term v0.18.0 (/ci/src/crates/radicle-term)\n    Checking colored v2.2.0\n   Compiling rustversion v1.0.22\n   Compiling object v0.37.3\n    Checking gix-lock v23.0.0\n    Checking gix-url v0.36.0\n    Checking gix-config-value v0.18.0\n    Checking gix-sec v0.14.0\n    Checking adler2 v2.0.1\n    Checking gimli v0.32.3\n    Checking addr2line v0.25.1\n    Checking miniz_oxide v0.8.9\n    Checking gix-prompt v0.15.0\n    Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n    Checking gix-revision v0.45.0\n    Checking gix-traverse v0.57.0\n    Checking gix-diff v0.63.0\n    Checking gix-packetline v0.21.3\n    Checking gix-glob v0.26.0\n   Compiling tree-sitter v0.24.7\n    Checking rustc-demangle v0.1.27\n   Compiling anyhow v1.0.102\n    Checking backtrace v0.3.76\n    Checking gix-refspec v0.41.0\n    Checking gix-transport v0.57.0\n    Checking gix-pack v0.70.0\n    Checking arc-swap v1.9.1\n    Checking gix-credentials v0.38.0\n    Checking gix-shallow v0.12.0\n    Checking gix-ref v0.63.0\n    Checking gix-negotiate v0.31.0\n   Compiling maybe-async v0.2.10\n   Compiling proc-macro-error-attr2 v2.0.0\n   Compiling simd-adler32 v0.3.8\n   Compiling getrandom v0.3.4\n    Checking gix-protocol v0.61.0\n   Compiling proc-macro-error2 v2.0.1\n    Checking gix-odb v0.80.0\n   Compiling xattr v1.6.1\n   Compiling filetime v0.2.27\n    Checking anstyle-parse v1.0.0\n    Checking uuid v1.22.0\n    Checking bytes v1.11.1\n    Checking anstream v1.0.0\n   Compiling flate2 v1.1.9\n   Compiling tar v0.4.45\n   Compiling git-ref-format-macro v0.6.0\n    Checking snapbox-macros v0.3.10\n    Checking salsa20 v0.10.2\n    Checking normalize-line-endings v0.3.0\n   Compiling heck v0.5.0\n    Checking similar v2.7.0\n    Checking strsim v0.11.1\n    Checking clap_lex v1.1.0\n    Checking streaming-iterator v0.1.9\n    Checking siphasher v0.3.11\n    Checking bloomy v1.2.0\n    Checking snapbox v0.4.17\n    Checking clap_builder v4.6.0\n   Compiling clap_derive v4.6.0\n    Checking scrypt v0.11.0\n   Compiling radicle-surf v0.27.1\n    Checking git-ref-format v0.6.0\n    Checking radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)\n    Checking systemd-journal-logger v2.2.2\n    Checking toml_datetime v0.7.5+spec-1.1.0\n    Checking serde_spanned v1.0.4\n   Compiling tree-sitter-md v0.3.2\n   Compiling tree-sitter-python v0.23.6\n   Compiling tree-sitter-ruby v0.23.1\n   Compiling tree-sitter-html v0.23.2\n   Compiling tree-sitter-toml-ng v0.6.0\n   Compiling tree-sitter-bash v0.23.3\n   Compiling tree-sitter-rust v0.23.3\n   Compiling tree-sitter-typescript v0.23.2\n   Compiling tree-sitter-c v0.23.4\n   Compiling tree-sitter-json v0.24.8\n   Compiling tree-sitter-go v0.23.4\n   Compiling tree-sitter-css v0.23.2\n    Checking toml_writer v1.0.7+spec-1.1.0\n    Checking radicle-std-ext v0.2.0\n    Checking pin-project-lite v0.2.17\n    Checking toml v0.9.12+spec-1.1.0\n    Checking tokio v1.50.0\n    Checking radicle-git-ext v0.12.0\n    Checking clap v4.6.0\n    Checking sysinfo v0.37.2\n    Checking yansi v1.0.1\n   Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)\n    Checking diff v0.1.13\n   Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)\n    Checking pretty_assertions v1.4.1\n    Checking human-panic v2.0.6\n    Checking clap_complete v4.6.0\n    Checking structured-logger v1.0.5\n    Checking radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)\n    Checking radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)\n    Checking tree-sitter-highlight v0.24.7\n    Checking itertools v0.14.0\n   Compiling qcheck-macros v1.0.0\n    Checking socket2 v0.5.10\n    Checking humantime v2.3.0\n   Compiling escargot v0.5.15\n    Checking timeago v0.4.2\n    Checking lexopt v0.3.2\n    Checking bit-vec v0.8.0\n    Checking bit-set v0.8.0\n    Checking rand_core v0.9.5\n    Checking num-bigint v0.4.6\n   Compiling ahash v0.8.12\n    Checking num-rational v0.4.2\n    Checking num-complex v0.4.6\n    Checking env_filter v1.0.0\n    Checking borrow-or-share v0.2.4\n    Checking fluent-uri v0.3.2\n    Checking env_logger v0.11.9\n    Checking num v0.4.3\n    Checking radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n    Checking phf_shared v0.11.3\n   Compiling test-log-macros v0.2.19\n    Checking wait-timeout v0.2.1\n    Checking fnv v1.0.7\n    Checking outref v0.5.2\n    Checking quick-error v1.2.3\n    Checking vsimd v0.8.0\n   Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)\n    Checking uuid-simd v0.8.0\n    Checking rusty-fork v0.3.1\n    Checking test-log v0.2.19\n    Checking phf v0.11.3\n    Checking referencing v0.30.0\n    Checking fraction v0.15.3\n    Checking rand_xorshift v0.4.0\n    Checking rand_chacha v0.9.0\n    Checking rand v0.9.2\n    Checking fancy-regex v0.14.0\n    Checking email_address v0.2.9\n    Checking unarray v0.1.4\n    Checking bytecount v0.6.9\n    Checking base64 v0.22.1\n    Checking num-cmp v0.1.0\n    Checking proptest v1.10.0\n    Checking jsonschema v0.30.0\n    Checking emojis v0.6.4\n   Compiling pastey v0.2.1\n    Checking radicle-schemars v0.8.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 1m 32s\n",
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 750488453
      },
      "log_source": "Plan"
    }
  48. {
      "type": "action_succeeded",
      "action": "cargo_clippy",
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 943423226
      },
      "log_source": "Plan"
    }
  49. {
      "type": "execute_action",
      "action": "cargo_build",
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 945368005
      },
      "log_source": "Plan"
    }
  50. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 947323971
      },
      "log_source": "Plan"
    }
  51. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 958269780
      },
      "log_source": "Plan"
    }
  52. {
      "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": 1781855905,
        "nanos_since_epoch": 960891926
      },
      "log_source": "Plan"
    }
  53. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 990080829
      },
      "log_source": "Plan"
    }
  54. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781855905,
        "nanos_since_epoch": 990638494
      },
      "log_source": "Plan"
    }
  55. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781855906,
        "nanos_since_epoch": 7604860
      },
      "log_source": "Plan"
    }
  56. {
      "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": 1781855906,
        "nanos_since_epoch": 10333083
      },
      "log_source": "Plan"
    }
  57. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "",
      "stderr": "   Compiling libc v0.2.183\n   Compiling cfg-if v1.0.4\n   Compiling zeroize v1.8.2\n   Compiling typenum v1.19.0\n   Compiling generic-array v0.14.7\n   Compiling getrandom v0.2.17\n   Compiling rand_core v0.6.4\n   Compiling memchr v2.8.0\n   Compiling jobserver v0.1.34\n   Compiling shlex v1.3.0\n   Compiling cc v1.2.57\n   Compiling crypto-common v0.1.7\n   Compiling subtle v2.6.1\n   Compiling regex-syntax v0.8.10\n   Compiling serde_core v1.0.228\n   Compiling aho-corasick v1.1.4\n   Compiling const-oid v0.9.6\n   Compiling smallvec v1.15.1\n   Compiling block-buffer v0.10.4\n   Compiling digest v0.10.7\n   Compiling regex-automata v0.4.14\n   Compiling cpufeatures v0.2.17\n   Compiling stable_deref_trait v1.2.1\n   Compiling bitflags v2.11.0\n   Compiling fastrand v2.3.0\n   Compiling thiserror v2.0.18\n   Compiling scopeguard v1.2.0\n   Compiling lock_api v0.4.14\n   Compiling parking_lot_core v0.9.12\n   Compiling parking_lot v0.12.5\n   Compiling bstr v1.12.1\n   Compiling gix-trace v0.1.19\n   Compiling tinyvec_macros v0.1.1\n   Compiling tinyvec v1.11.0\n   Compiling typeid v1.0.3\n   Compiling gix-validate v0.11.1\n   Compiling gix-path v0.12.0\n   Compiling erased-serde v0.4.10\n   Compiling unicode-normalization v0.1.25\n   Compiling itoa v1.0.17\n   Compiling byteorder v1.5.0\n   Compiling serde v1.0.228\n   Compiling gix-utils v0.3.2\n   Compiling crc32fast v1.5.0\n   Compiling serde_fmt v1.1.0\n   Compiling hashbrown v0.16.1\n   Compiling value-bag-serde1 v1.12.0\n   Compiling value-bag v1.12.0\n   Compiling log v0.4.29\n   Compiling same-file v1.0.6\n   Compiling walkdir v2.5.0\n   Compiling zerofrom v0.1.6\n   Compiling prodash v31.0.0\n   Compiling zlib-rs v0.6.3\n   Compiling yoke v0.8.1\n   Compiling hash32 v0.3.1\n   Compiling linux-raw-sys v0.12.1\n   Compiling rustix v1.1.4\n   Compiling gix-features v0.48.0\n   Compiling zerovec v0.11.5\n   Compiling heapless v0.8.0\n   Compiling faster-hex v0.10.0\n   Compiling libm v0.2.16\n   Compiling block-padding v0.3.3\n   Compiling inout v0.1.4\n   Compiling getrandom v0.4.2\n   Compiling sha1 v0.10.6\n   Compiling sha2 v0.10.9\n   Compiling num-traits v0.2.19\n   Compiling sha1-checked v0.10.0\n   Compiling cipher v0.4.4\n   Compiling zerocopy v0.8.42\n   Compiling tinystr v0.8.2\n   Compiling percent-encoding v2.3.2\n   Compiling once_cell v1.21.4\n   Compiling writeable v0.6.2\n   Compiling litemap v0.8.1\n   Compiling icu_locale_core v2.1.1\n   Compiling gix-hash v0.25.0\n   Compiling zerotrie v0.2.3\n   Compiling potential_utf v0.1.4\n   Compiling icu_collections v2.1.1\n   Compiling icu_provider v2.1.1\n   Compiling der v0.7.10\n   Compiling equivalent v1.0.2\n   Compiling indexmap v2.13.0\n   Compiling icu_properties_data v2.1.2\n   Compiling icu_normalizer_data v2.1.1\n   Compiling zmij v1.0.21\n   Compiling libz-sys v1.1.25\n   Compiling serde_json v1.0.149\n   Compiling icu_normalizer v2.1.1\n   Compiling icu_properties v2.1.2\n   Compiling ppv-lite86 v0.2.21\n   Compiling tempfile v3.27.0\n   Compiling spin v0.9.8\n   Compiling lazy_static v1.5.0\n   Compiling ref-cast v1.0.25\n   Compiling idna_adapter v1.2.1\n   Compiling num-integer v0.1.46\n   Compiling hmac v0.12.1\n   Compiling universal-hash v0.5.1\n   Compiling utf8_iter v1.0.4\n   Compiling opaque-debug v0.3.1\n   Compiling dyn-clone v1.0.20\n   Compiling idna v1.1.0\n   Compiling thiserror v1.0.69\n   Compiling spki v0.7.3\n   Compiling libgit2-sys v0.18.3+1.9.2\n   Compiling signature v2.2.0\n   Compiling ff v0.13.1\n   Compiling base16ct v0.2.0\n   Compiling sec1 v0.7.3\n   Compiling group v0.13.0\n   Compiling rand_chacha v0.3.1\n   Compiling form_urlencoded v1.2.2\n   Compiling crypto-bigint v0.5.5\n   Compiling elliptic-curve v0.13.8\n   Compiling url v2.5.8\n   Compiling rand v0.8.5\n   Compiling num-iter v0.1.45\n   Compiling aead v0.5.2\n   Compiling signature v1.6.4\n   Compiling ed25519 v1.5.3\n   Compiling schemars v1.2.1\n   Compiling poly1305 v0.8.0\n   Compiling rfc6979 v0.4.0\n   Compiling chacha20 v0.9.1\n   Compiling amplify_num v0.5.3\n   Compiling ct-codecs v1.1.6\n   Compiling ascii v1.1.0\n   Compiling amplify v4.9.0\n   Compiling ec25519 v0.1.0\n   Compiling ecdsa v0.16.9\n   Compiling primeorder v0.13.6\n   Compiling git-ref-format-core v0.6.0\n   Compiling polyval v0.6.2\n   Compiling base64ct v1.8.3\n   Compiling pem-rfc7468 v0.7.0\n   Compiling ghash v0.5.1\n   Compiling cyphergraphy v0.3.1\n   Compiling pkcs8 v0.10.2\n   Compiling pbkdf2 v0.12.2\n   Compiling aes v0.8.4\n   Compiling ctr v0.9.2\n   Compiling sqlite3-src v0.7.0\n   Compiling gix-error v0.2.3\n   Compiling keccak v0.1.6\n   Compiling sha3 v0.10.8\n   Compiling curve25519-dalek v4.1.3\n   Compiling aes-gcm v0.10.3\n   Compiling pkcs1 v0.7.5\n   Compiling num-bigint-dig v0.8.6\n   Compiling ssh-encoding v0.2.0\n   Compiling ed25519 v2.2.3\n   Compiling blowfish v0.9.1\n   Compiling git2 v0.20.4\n   Compiling cbc v0.1.2\n   Compiling base32 v0.4.0\n   Compiling cypheraddr v0.4.1\n   Compiling ssh-cipher v0.2.0\n   Compiling bcrypt-pbkdf v0.10.0\n   Compiling ed25519-dalek v2.2.0\n   Compiling rsa v0.9.10\n   Compiling p521 v0.13.3\n   Compiling p256 v0.13.2\n   Compiling p384 v0.13.1\n   Compiling chacha20poly1305 v0.10.1\n   Compiling qcheck v1.0.0\n   Compiling data-encoding v2.10.0\n   Compiling const-str v0.4.3\n   Compiling data-encoding-macro v0.1.19\n   Compiling ssh-key v0.6.7\n   Compiling base256emoji v1.0.2\n   Compiling noise-framework v0.4.1\n   Compiling sqlite3-sys v0.18.0\n   Compiling crossbeam-utils v0.8.21\n   Compiling socks5-client v0.4.3\n   Compiling secrecy v0.10.3\n   Compiling base-x v0.2.11\n   Compiling multibase v0.9.2\n   Compiling ssh-agent-lib v0.6.0\n   Compiling cyphernet v0.5.4\n   Compiling crossbeam-channel v0.5.15\n   Compiling sqlite v0.37.0\n   Compiling anstyle-query v1.1.5\n   Compiling radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)\n   Compiling radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)\n   Compiling errno v0.3.14\n   Compiling jiff v0.2.23\n   Compiling utf8parse v0.2.2\n   Compiling nonempty v0.9.0\n   Compiling siphasher v1.0.2\n   Compiling radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n   Compiling radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n   Compiling radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n   Compiling unicode-segmentation v1.12.0\n   Compiling anstyle v1.0.14\n   Compiling colorchoice v1.0.5\n   Compiling gix-date v0.15.3\n   Compiling is_terminal_polyfill v1.70.2\n   Compiling gix-actor v0.41.0\n   Compiling radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n   Compiling gix-hashtable v0.15.0\n   Compiling radicle v0.24.0 (/ci/src/crates/radicle)\n   Compiling base64 v0.21.7\n   Compiling gix-object v0.60.0\n   Compiling convert_case v0.10.0\n   Compiling radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)\n   Compiling radicle-core v0.3.0 (/ci/src/crates/radicle-core)\n   Compiling signal-hook-registry v1.4.8\n   Compiling tree-sitter-language v0.1.7\n   Compiling serde-untagged v0.1.9\n   Compiling bytesize v2.3.1\n   Compiling memmap2 v0.9.10\n   Compiling nonempty v0.12.0\n   Compiling dunce v1.0.5\n   Compiling fast-glob v0.3.3\n   Compiling signal-hook v0.3.18\n   Compiling derive_more-impl v2.1.1\n   Compiling gix-chunk v0.7.1\n   Compiling mio v1.1.1\n   Compiling regex v1.12.3\n   Compiling sem_safe v0.2.1\n   Compiling unicode-width v0.2.2\n   Compiling signals_receipts v0.2.5\n   Compiling signal-hook-mio v0.2.5\n   Compiling gix-commitgraph v0.37.0\n   Compiling derive_more v2.1.1\n   Compiling anstyle-parse v0.2.7\n   Compiling adler2 v2.0.1\n   Compiling anstream v0.6.21\n   Compiling gix-revwalk v0.31.0\n   Compiling crossterm v0.29.0\n   Compiling portable-atomic v1.13.1\n   Compiling console v0.16.3\n   Compiling gix-fs v0.21.1\n   Compiling unit-prefix v0.5.2\n   Compiling indicatif v0.18.4\n   Compiling gix-tempfile v23.0.0\n   Compiling inquire v0.9.4\n   Compiling radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n   Compiling unicode-display-width v0.3.0\n   Compiling gix-quote v0.7.1\n   Compiling shell-words v1.1.1\n   Compiling either v1.15.0\n   Compiling iana-time-zone v0.1.65\n   Compiling chrono v0.4.44\n   Compiling gix-command v0.9.0\n   Compiling radicle-term v0.18.0 (/ci/src/crates/radicle-term)\n   Compiling colored v2.2.0\n   Compiling gix-lock v23.0.0\n   Compiling gix-url v0.36.0\n   Compiling gix-config-value v0.18.0\n   Compiling gix-sec v0.14.0\n   Compiling gimli v0.32.3\n   Compiling addr2line v0.25.1\n   Compiling gix-prompt v0.15.0\n   Compiling object v0.37.3\n   Compiling radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n   Compiling gix-revision v0.45.0\n   Compiling gix-traverse v0.57.0\n   Compiling miniz_oxide v0.8.9\n   Compiling gix-diff v0.63.0\n   Compiling gix-packetline v0.21.3\n   Compiling gix-glob v0.26.0\n   Compiling tree-sitter v0.24.7\n   Compiling rustc-demangle v0.1.27\n   Compiling backtrace v0.3.76\n   Compiling gix-refspec v0.41.0\n   Compiling gix-transport v0.57.0\n   Compiling gix-pack v0.70.0\n   Compiling arc-swap v1.9.1\n   Compiling gix-credentials v0.38.0\n   Compiling gix-shallow v0.12.0\n   Compiling gix-ref v0.63.0\n   Compiling gix-negotiate v0.31.0\n   Compiling gix-protocol v0.61.0\n   Compiling gix-odb v0.80.0\n   Compiling xattr v1.6.1\n   Compiling anstyle-parse v1.0.0\n   Compiling uuid v1.22.0\n   Compiling filetime v0.2.27\n   Compiling bytes v1.11.1\n   Compiling tar v0.4.45\n   Compiling git-ref-format-macro v0.6.0\n   Compiling anstream v1.0.0\n   Compiling getrandom v0.3.4\n   Compiling anyhow v1.0.102\n   Compiling flate2 v1.1.9\n   Compiling snapbox-macros v0.3.10\n   Compiling salsa20 v0.10.2\n   Compiling siphasher v0.3.11\n   Compiling similar v2.7.0\n   Compiling clap_lex v1.1.0\n   Compiling normalize-line-endings v0.3.0\n   Compiling strsim v0.11.1\n   Compiling streaming-iterator v0.1.9\n   Compiling clap_builder v4.6.0\n   Compiling snapbox v0.4.17\n   Compiling bloomy v1.2.0\n   Compiling scrypt v0.11.0\n   Compiling radicle-surf v0.27.1\n   Compiling git-ref-format v0.6.0\n   Compiling radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)\n   Compiling systemd-journal-logger v2.2.2\n   Compiling serde_spanned v1.0.4\n   Compiling toml_datetime v0.7.5+spec-1.1.0\n   Compiling tree-sitter-c v0.23.4\n   Compiling tree-sitter-rust v0.23.3\n   Compiling tree-sitter-ruby v0.23.1\n   Compiling tree-sitter-html v0.23.2\n   Compiling tree-sitter-python v0.23.6\n   Compiling tree-sitter-toml-ng v0.6.0\n   Compiling tree-sitter-json v0.24.8\n   Compiling tree-sitter-css v0.23.2\n   Compiling tree-sitter-go v0.23.4\n   Compiling tree-sitter-md v0.3.2\n   Compiling tree-sitter-typescript v0.23.2\n   Compiling tree-sitter-bash v0.23.3\n   Compiling toml_writer v1.0.7+spec-1.1.0\n   Compiling radicle-std-ext v0.2.0\n   Compiling pin-project-lite v0.2.17\n   Compiling radicle-git-ext v0.12.0\n   Compiling tokio v1.50.0\n   Compiling toml v0.9.12+spec-1.1.0\n   Compiling clap v4.6.0\n   Compiling sysinfo v0.37.2\n   Compiling yansi v1.0.1\n   Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)\n   Compiling diff v0.1.13\n   Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)\n   Compiling pretty_assertions v1.4.1\n   Compiling human-panic v2.0.6\n   Compiling clap_complete v4.6.0\n   Compiling structured-logger v1.0.5\n   Compiling radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)\n   Compiling radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)\n   Compiling tree-sitter-highlight v0.24.7\n   Compiling itertools v0.14.0\n   Compiling socket2 v0.5.10\n   Compiling humantime v2.3.0\n   Compiling timeago v0.4.2\n   Compiling lexopt v0.3.2\n   Compiling bit-vec v0.8.0\n   Compiling bit-set v0.8.0\n   Compiling escargot v0.5.15\n   Compiling rand_core v0.9.5\n   Compiling num-bigint v0.4.6\n   Compiling num-rational v0.4.2\n   Compiling num-complex v0.4.6\n   Compiling env_filter v1.0.0\n   Compiling borrow-or-share v0.2.4\n   Compiling fluent-uri v0.3.2\n   Compiling env_logger v0.11.9\n   Compiling num v0.4.3\n   Compiling ahash v0.8.12\n   Compiling radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n   Compiling phf_shared v0.11.3\n   Compiling wait-timeout v0.2.1\n   Compiling fnv v1.0.7\n   Compiling outref v0.5.2\n   Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)\n   Compiling quick-error v1.2.3\n   Compiling vsimd v0.8.0\n   Compiling uuid-simd v0.8.0\n   Compiling rusty-fork v0.3.1\n   Compiling test-log v0.2.19\n   Compiling phf v0.11.3\n   Compiling referencing v0.30.0\n   Compiling fraction v0.15.3\n   Compiling rand_chacha v0.9.0\n   Compiling rand v0.9.2\n   Compiling rand_xorshift v0.4.0\n   Compiling fancy-regex v0.14.0\n   Compiling email_address v0.2.9\n   Compiling num-cmp v0.1.0\n   Compiling unarray v0.1.4\n   Compiling base64 v0.22.1\n   Compiling bytecount v0.6.9\n   Compiling jsonschema v0.30.0\n   Compiling proptest v1.10.0\n   Compiling emojis v0.6.4\n   Compiling radicle-schemars v0.8.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 2m 35s\n",
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 315700152
      },
      "log_source": "Plan"
    }
  58. {
      "type": "action_succeeded",
      "action": "cargo_build",
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 444261924
      },
      "log_source": "Plan"
    }
  59. {
      "type": "execute_action",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 444439506
      },
      "log_source": "Plan"
    }
  60. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            99,
            97,
            114,
            103,
            111
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 444450052
      },
      "log_source": "Plan"
    }
  61. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "cargo 1.95.0 (f2d3ce0bd 2026-03-21)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 457888364
      },
      "log_source": "Plan"
    }
  62. {
      "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": 1781856061,
        "nanos_since_epoch": 458112328
      },
      "log_source": "Plan"
    }
  63. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "clippy 0.1.95 (59807616e1 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 509205984
      },
      "log_source": "Plan"
    }
  64. {
      "type": "start_program",
      "argv": [
        {
          "Unix": [
            114,
            117,
            115,
            116,
            99
          ]
        },
        {
          "Unix": [
            45,
            45,
            118,
            101,
            114,
            115,
            105,
            111,
            110
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 511935135
      },
      "log_source": "Plan"
    }
  65. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "rustc 1.95.0 (59807616e 2026-04-14)\n",
      "stderr": "",
      "timestamp": {
        "secs_since_epoch": 1781856061,
        "nanos_since_epoch": 526642367
      },
      "log_source": "Plan"
    }
  66. {
      "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": 1781856061,
        "nanos_since_epoch": 529333192
      },
      "log_source": "Plan"
    }
  67. {
      "type": "program_succeeded",
      "exit_code": 0,
      "stdout": "\nrunning 472 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_migration_2 ... ok\ntest cob::cache::tests::test_check_version ... ok\ntest cob::cache::migrations::_2::tests::test_patch_json_deserialization ... ok\ntest cob::common::test::test_color ... ok\ntest cob::cache::tests::test_migrate_to ... 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::issue::cache::tests::test_list_by_status ... ok\ntest cob::issue::cache::tests::test_remove ... ok\ntest cob::identity::test::test_valid_identity ... 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_create_and_assign ... ok\ntest cob::issue::test::test_issue_comment_redact ... 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_reassign ... ok\ntest cob::issue::test::test_issue_create_and_unassign ... ok\ntest cob::issue::test::test_issue_edit ... ok\ntest cob::issue::test::test_issue_edit_description ... ok\ntest cob::issue::test::test_issue_multilines ... ok\ntest cob::issue::test::test_issue_label ... 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_list_by_status ... 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::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_patch_update ... 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::thread::tests::prop_ordering ... 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::test::canonical ... ok\ntest git::canonical::rules::test::deserialization ... ok\ntest git::canonical::rules::test::deserialize_extensions ... ok\ntest git::canonical::rules::test::matches_exactly_curly_braces ... ok\ntest git::canonical::rules::test::matches_expands_globs_appropriately ... ok\ntest git::canonical::rules::test::ordering ... ok\ntest git::canonical::rules::test::property::identity ... ok\ntest git::canonical::rules::test::property::prefix ... ok\ntest git::canonical::rules::test::property::prefix_negative ... ok\ntest git::canonical::rules::test::property::suffix ... ok\ntest git::canonical::rules::test::property::suffix_negative ... ok\ntest git::canonical::rules::test::property::trailing_asterisk_partial_component ... ok\ntest git::canonical::rules::test::roundtrip ... ok\ntest git::canonical::rules::test::rule_validate_failures ... ok\ntest git::canonical::rules::test::rule_validate_success ... ok\ntest git::canonical::rules::test::special_branches ... ok\ntest git::canonical::symbolic::test::deserialize_infinite ... ok\ntest git::canonical::symbolic::test::deserialize_order ... ok\ntest git::canonical::symbolic::test::deserialize_valid ... ok\ntest git::canonical::symbolic::test::infinite_extend ... ok\ntest git::canonical::symbolic::test::infinite_multi ... ok\ntest git::canonical::symbolic::test::infinite_single ... ok\ntest git::canonical::symbolic::test::reclassification_combine ... ok\ntest git::canonical::symbolic::test::reclassification_combine_reverse ... ok\ntest git::canonical::symbolic::test::reclassification_diamond ... ok\ntest git::canonical::symbolic::test::reclassification_order_invariant ... ok\ntest git::canonical::symbolic::test::reclassification_reverse_chain ... ok\ntest git::canonical::symbolic::test::resolve_two_hop_chain ... ok\ntest git::canonical::symbolic::test::target_classification ... ok\ntest git::canonical::symbolic::test::target_classification_symbolic ... ok\ntest git::canonical::symbolic::test::target_reclassification ... ok\ntest git::canonical::symbolic::test::target_reclassification_commutative ... 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 git::canonical::tests::test_quorum_properties ... ok\ntest git::canonical::tests::test_tag_quorum ... ok\ntest git::repository::adapter::git2::test::ancestry::ahead_behind_child_parent ... ok\ntest git::repository::adapter::git2::test::ancestry::ahead_behind_diverged ... ok\ntest git::repository::adapter::git2::test::ancestry::ahead_behind_missing_commit ... ok\ntest git::repository::adapter::git2::test::ancestry::is_ancestor_false ... ok\ntest git::repository::adapter::git2::test::ancestry::is_ancestor_missing_ancestor ... ok\ntest git::repository::adapter::git2::test::ancestry::is_ancestor_missing_head ... ok\ntest git::repository::adapter::git2::test::ancestry::is_ancestor_true ... ok\ntest git::repository::adapter::git2::test::ancestry::merge_base_diamond ... ok\ntest git::repository::adapter::git2::test::ancestry::merge_base_diverged ... ok\ntest git::repository::adapter::git2::test::ancestry::merge_base_identity ... ok\ntest git::repository::adapter::git2::test::ancestry::merge_base_is_ancestor ... ok\ntest git::repository::adapter::git2::test::ancestry::merge_base_missing_commit ... ok\ntest git::repository::adapter::git2::test::ancestry::merge_base_parent_child ... ok\ntest git::repository::adapter::git2::test::object::blob_at ... ok\ntest git::repository::adapter::git2::test::object::blob_at_missing_commit ... ok\ntest git::repository::adapter::git2::test::object::blob_at_missing_path ... ok\ntest git::repository::adapter::git2::test::object::blob_at_nested ... ok\ntest git::repository::adapter::git2::test::object::blob_found ... ok\ntest git::repository::adapter::git2::test::object::blob_not_found ... ok\ntest git::repository::adapter::git2::test::object::commit ... ok\ntest git::repository::adapter::git2::test::object::commit_not_found ... ok\ntest git::repository::adapter::git2::test::object::exists_false ... ok\ntest git::repository::adapter::git2::test::object::exists_true ... ok\ntest git::repository::adapter::git2::test::object::object_kind_blob ... ok\ntest git::repository::adapter::git2::test::object::object_kind_commit ... ok\ntest git::repository::adapter::git2::test::object::object_kind_missing ... ok\ntest git::repository::adapter::git2::test::object::object_kind_tag ... ok\ntest git::repository::adapter::git2::test::object::try_blob_not_found ... ok\ntest git::repository::adapter::git2::test::object::write_blob_roundtrip ... ok\ntest git::repository::adapter::git2::test::object::write_tree_blob_ref ... ok\ntest git::repository::adapter::git2::test::object::write_tree_blob_ref_missing ... ok\ntest git::repository::adapter::git2::test::object::write_tree_inline_blob ... ok\ntest git::repository::adapter::git2::test::object::write_tree_multi_component_path ... ok\ntest git::repository::adapter::git2::test::reference::delete_ref_existing ... ok\ntest git::repository::adapter::git2::test::reference::delete_ref_idempotent ... ok\ntest git::repository::adapter::git2::test::reference::list_refs ... ok\ntest git::repository::adapter::git2::test::reference::list_refs_empty ... ok\ntest git::repository::adapter::git2::test::reference::ref_target_found ... ok\ntest git::repository::adapter::git2::test::reference::ref_target_not_found ... ok\ntest git::repository::adapter::git2::test::reference::write_ref_cas_success ... ok\ntest git::repository::adapter::git2::test::reference::write_ref_cas_wrong_expected ... ok\ntest git::repository::adapter::git2::test::reference::write_ref_create ... ok\ntest git::repository::adapter::git2::test::reference::write_ref_create_existing ... ok\ntest git::repository::adapter::git2::test::reference::write_ref_upsert_existing ... ok\ntest git::repository::adapter::git2::test::reference::write_ref_upsert_new ... ok\ntest git::repository::adapter::git2::test::revwalk::commit_data_iter ... ok\ntest git::repository::adapter::git2::test::revwalk::from_merge_sees_all ... ok\ntest git::repository::adapter::git2::test::revwalk::hide ... ok\ntest git::repository::adapter::git2::test::revwalk::hide_one_branch ... ok\ntest git::repository::adapter::git2::test::revwalk::linear_chain ... ok\ntest git::repository::adapter::git2::test::revwalk::multiple_push_points ... ok\ntest git::repository::adapter::git2::test::revwalk::push_and_hide_compose ... ok\ntest git::repository::adapter::git2::test::revwalk::range ... ok\ntest git::repository::adapter::git2::test::revwalk::range_on_branch ... ok\ntest git::repository::adapter::git2::test::revwalk::reverse_chronological ... ok\ntest git::repository::adapter::git2::test::revwalk::topological_order ... ok\ntest git::repository::adapter::git2::test::symbolic::cas_symbolic_ref_success ... ok\ntest git::repository::adapter::git2::test::symbolic::cas_symbolic_ref_wrong_expected ... ok\ntest git::repository::adapter::git2::test::symbolic::symbolic_ref_missing_target ... ok\ntest git::repository::adapter::git2::test::symbolic::upsert_symbolic_ref_existing ... ok\ntest git::repository::adapter::git2::test::symbolic::upsert_symbolic_ref_new ... ok\ntest git::repository::adapter::git2::test::symbolic::write_symbolic_ref_existing_fails ... ok\ntest git::repository::adapter::git2::test::symbolic::write_symbolic_ref_new ... ok\ntest git::repository::ancestry::test::is_linear_ahead_only ... ok\ntest git::repository::ancestry::test::is_linear_behind_only ... ok\ntest git::repository::ancestry::test::is_linear_diverged ... ok\ntest git::repository::ancestry::test::is_linear_same_commit ... ok\ntest git::repository::canonical::test::test_is_canonical ... ok\ntest git::repository::canonical::test::test_propose_evaluates_convergence_ignores_diverging ... ok\ntest git::repository::canonical::test::test_propose_evaluates_convergence_mismatch ... ok\ntest git::repository::canonical::test::test_reevaluate_calculates_quorum ... ok\ntest git::repository::reference::symbolic::test::target_cas ... ok\ntest git::repository::reference::symbolic::test::target_create ... ok\ntest git::repository::reference::symbolic::test::target_upsert ... ok\ntest git::repository::reference::test::target_cas ... ok\ntest git::repository::reference::test::target_create ... ok\ntest git::repository::reference::test::target_upsert ... ok\ntest git::repository::revwalk::test::plan_compose ... ok\ntest git::repository::revwalk::test::plan_hide_accumulates ... ok\ntest git::repository::revwalk::test::plan_push_accumulates ... ok\ntest git::repository::revwalk::test::plan_range ... ok\ntest git::repository::revwalk::test::plan_sort ... ok\ntest git::repository::user::test::namespace::delete ... ok\ntest git::repository::user::test::namespace::ref_target_found ... ok\ntest git::repository::user::test::namespace::ref_target_not_found ... ok\ntest git::repository::user::test::namespace::references_all ... ok\ntest git::repository::user::test::namespace::references_filtered ... ok\ntest git::repository::user::test::namespace::users_isolated ... ok\ntest git::repository::user::test::namespace::write_and_read ... ok\ntest git::repository::user::test::namespaces::dids_empty_repo ... ok\ntest git::repository::user::test::namespaces::dids_skips_invalid_namespace ... ok\ntest git::repository::user::test::namespaces::dids_unfiltered ... ok\ntest git::repository::user::test::namespaces::dids_with_errors_ok ... ok\ntest git::repository::user::test::namespaces::dids_with_errors_surfaces_invalid_namespace ... ok\ntest git::repository::user::test::namespaces::dids_with_sigrefs_filter ... ok\ntest git::test::test_version_from_str ... ok\ntest git::test::test_version_ord ... ok\ntest identity::crefs::tests::invalid_clash ... ok\ntest identity::crefs::tests::invalid_clash_asterisk_name ... ok\ntest identity::crefs::tests::invalid_dangling ... ok\ntest identity::crefs::tests::omit_symbolic ... ok\ntest identity::crefs::tests::valid ... ok\ntest identity::crefs::tests::valid_asterisk_target ... ok\ntest identity::did::test::test_did_encode_decode ... ok\ntest identity::did::test::test_did_vectors ... ok\ntest identity::doc::test::default_branch_clash ... ok\ntest identity::doc::test::default_branch_without_project ... ok\ntest cob::patch::cache::tests::test_find_by_revision ... 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::skip_invalid_address_type ... ok\ntest node::address::store::test::skip_mismatched_address_type ... 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_entries_skips_unparsable_address ... 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::migration_9::bracketed_non_ipv6_garbage_is_deleted ... ok\ntest node::db::test::migration_9::dns_row_is_unaffected_even_when_inner_part_has_no_colon ... ok\ntest node::db::test::migration_9::empty_brackets_ipv6_row_is_deleted ... ok\ntest node::db::test::migration_9::full_ipv6_address_is_kept ... ok\ntest node::db::test::migration_9::ipv4_row_is_unaffected ... ok\ntest node::db::test::migration_9::loopback_address_is_kept ... ok\ntest node::db::test::migration_9::unspecified_address_is_kept ... 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 profile::config::test::schema ... 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 storage::git::tests::test_sign_refs ... 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 identity::doc::test::prop_encode_decode ... ok\ntest storage::refs::sigrefs::git::properties::idempotent_write ... ok\ntest storage::refs::sigrefs::git::properties::initial_commit_roundtrip ... ok\ntest storage::refs::sigrefs::property::idempotent ... ok\ntest storage::refs::sigrefs::git::properties::chain_roundtrip ... 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 web::test::description_only ... ok\ntest web::test::pinned_empty ... ok\ntest storage::refs::sigrefs::property::roundtrip ... ok\n\ntest result: ok. 472 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 9.54s\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_allow_update_json_format ... ok\ntest commands::cob::args::test::should_not_allow_show_pretty_format ... ok\ntest commands::cob::args::test::should_not_allow_update_pretty_format ... ok\ntest commands::fork::args::test::should_parse_rid_non_urn ... ok\ntest commands::fork::args::test::should_not_parse_rid_url ... ok\ntest commands::fork::args::test::should_parse_rid_urn ... ok\ntest commands::id::args::test::should_not_clobber_payload_args ... ok\ntest commands::id::args::test::should_not_parse_into_payload - should panic ... ok\ntest commands::id::args::test::should_not_parse_single_payload ... ok\ntest commands::id::args::test::should_not_parse_single_payloads ... ok\ntest commands::id::args::test::should_parse_into_payload ... ok\ntest commands::id::args::test::should_parse_multiple_payloads ... ok\ntest commands::id::args::test::should_parse_single_payload ... ok\ntest commands::init::args::test::should_not_parse_rid_url ... ok\ntest commands::init::args::test::should_parse_rid_non_urn ... ok\ntest commands::init::args::test::should_parse_rid_urn ... ok\ntest commands::inspect::test::test_tree ... ok\ntest commands::patch::review::builder::tests::test_review_comments_before ... ok\ntest commands::patch::review::builder::tests::test_review_comments_basic ... ok\ntest commands::patch::review::builder::tests::test_review_comments_split_hunk ... ok\ntest commands::patch::review::builder::tests::test_review_comments_multiline ... 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 commands::watch::args::test::should_parse_ref_str ... ok\ntest git::pretty_diff::test::test_pretty ... ignored\ntest git::ddiff::tests::diff_encode_decode_ddiff_hunk ... ok\ntest git::unified_diff::test::test_diff_content_encode_decode_content ... 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 git::unified_diff::test::test_diff_encode_decode_diff ... 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 121 tests\ntest commands::clone::rad_clone ... ok\ntest commands::checkout::rad_checkout ... ok\ntest commands::clone::rad_clone_bare ... ok\ntest commands::clone::rad_clone_connect ... ok\ntest commands::clone::rad_clone_all ... ok\ntest commands::clone::rad_clone_directory ... ok\ntest commands::clone::rad_clone_partial_fail ... ok\ntest commands::clone::rad_clone_unknown ... ok\ntest commands::clone::test_clone_without_seeds ... ok\ntest commands::clone::rad_clone_scope ... 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_identity ... ok\ntest commands::cob::rad_cob_update ... 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_lightweight_tags ... ok\ntest commands::git::git_push_canonical ... 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_tag ... ok\ntest commands::git::git_push_rollback ... 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_unauthorized_delegate ... ok\ntest commands::id::rad_id_update_delete_field ... 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::init::rad_init_no_seed ... ok\ntest commands::init::rad_init_private ... ok\ntest commands::inbox::rad_inbox ... ok\ntest commands::init::rad_init_private_clone ... ok\ntest commands::init::rad_init_private_no_seed ... ok\ntest commands::init::rad_init_private_clone_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_init_sync_timeout ... ok\ntest commands::init::rad_publish ... ok\ntest commands::issue::rad_issue ... ok\ntest commands::jj::rad_jj_bare ... ignored, the bare repository does not have a `rad` remote, and so it cannot determine the RID of the repository\ntest commands::jj::rad_jj_colocated_patch ... ok\ntest commands::issue::rad_issue_list ... ok\ntest commands::node::rad_node_connect ... ok\ntest commands::node::rad_node_connect_without_address ... ok\ntest commands::patch::rad_merge_after_update ... ok\ntest commands::patch::rad_merge_no_ff ... ok\ntest commands::node::rad_node ... ok\ntest commands::patch::rad_merge_via_push ... ok\ntest commands::patch::rad_patch ... ok\ntest commands::patch::rad_patch_ahead_behind ... ok\ntest commands::patch::rad_patch_change_base ... ok\ntest commands::patch::rad_patch_checkout ... 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_edit ... ok\ntest commands::patch::rad_patch_delete ... ok\ntest commands::patch::rad_patch_fetch_2 ... ok\ntest commands::patch::rad_patch_merge_draft ... ok\ntest commands::patch::rad_patch_fetch_1 ... ok\ntest commands::patch::rad_patch_open_explore ... ok\ntest commands::patch::rad_patch_merge_on_first_push ... ok\ntest commands::patch::rad_patch_revert_merge ... ok\ntest commands::patch::rad_patch_review_no_options ... ok\ntest commands::patch::rad_patch_update ... ok\ntest commands::patch::rad_patch_via_push ... ok\ntest commands::patch::rad_push_and_pull_patches ... ok\ntest commands::patch::rad_review_by_hunk ... ok\ntest commands::policy::rad_block ... ok\ntest commands::policy::rad_seed_and_follow ... ok\ntest commands::policy::rad_seed_many ... ok\ntest commands::policy::rad_seed_policy_allow_no_scope ... ok\ntest commands::policy::rad_seed_scope ... ok\ntest commands::policy::rad_unseed ... ok\ntest commands::policy::rad_unseed_many ... ok\ntest commands::patch::rad_patch_pull_update ... ok\ntest commands::sigpipe::config ... ok\ntest commands::sigpipe::help ... ok\ntest commands::sigpipe::rad_self ... ok\ntest commands::remote::rad_remote ... ok\ntest commands::sync::rad_sync ... ok\ntest commands::sync::rad_sync_without_node ... ok\ntest commands::sync::rad_fetch ... 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::utility::rad_config ... ok\ntest commands::utility::rad_diff ... ok\ntest commands::sync::test_replication_via_seed ... 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_ipv6 ... ok\ntest commands::utility::rad_warn_old_nodes ... ok\ntest commands::watch::rad_watch ... ok\ntest commands::workflow::rad_workflow ... ok\ntest commands::utility::rad_fork ... ok\ntest rad_remote ... ok\n\ntest result: ok. 118 passed; 0 failed; 3 ignored; 0 measured; 0 filtered out; finished in 105.59s\n\n\nrunning 3 tests\ntest tests::test_parse ... ok\ntest tests::test_run ... ok\ntest tests::test_example_spaced_brackets ... ok\n\ntest result: ok. 3 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 9 tests\ntest object::tests::test_serde ... ok\ntest tests::git::roundtrip ... ok\ntest tests::git::list_cobs ... ok\ntest tests::git::traverse_cobs ... ok\ntest tests::git::update_cob ... ok\ntest tests::invalid_parse_refstr ... ok\ntest type_name::test::invalid_typenames ... ok\ntest type_name::test::valid_typenames ... ok\ntest tests::parse_refstr ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.02s\n\n\nrunning 4 tests\ntest repo::serde_impls::test::assert_prop_roundtrip_serde_json ... ok\ntest repo::test::invalid ... ok\ntest repo::test::valid ... ok\ntest repo::test::assert_prop_roundtrip_parse ... ok\n\ntest result: ok. 4 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.01s\n\n\nrunning 11 tests\ntest ssh::agent::test::test_agent_encoding_remove ... ok\ntest ssh::agent::test::test_agent_encoding_sign ... ok\ntest ssh::fmt::test::test_key ... ok\ntest ssh::fmt::test::test_fingerprint ... ok\ntest ssh::keystore::tests::test_init_no_passphrase ... ok\ntest ssh::keystore::tests::test_signer ... ok\ntest tests::prop_encode_decode ... ok\ntest tests::prop_key_equality ... ok\ntest tests::test_e25519_dh ... ok\ntest tests::test_encode_decode ... ok\ntest ssh::keystore::tests::test_init_passphrase ... ok\n\ntest result: ok. 11 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 1.26s\n\n\nrunning 20 tests\ntest tests::test_contains ... ok\ntest tests::test_cycle ... ok\ntest tests::test_dependencies ... ok\ntest tests::test_diamond ... ok\ntest tests::test_fold_diamond ... ok\ntest tests::test_fold_multiple_roots ... ok\ntest tests::test_fold_reject ... ok\ntest tests::test_fold_sorting_1 ... ok\ntest tests::test_fold_sorting_2 ... ok\ntest tests::test_get ... ok\ntest tests::test_is_empty ... ok\ntest tests::test_complex ... ok\ntest tests::test_len ... ok\ntest tests::test_merge_1 ... ok\ntest tests::test_merge_2 ... ok\ntest tests::test_prune_1 ... ok\ntest tests::test_prune_2 ... ok\ntest tests::test_prune_by_sorting ... ok\ntest tests::test_remove ... ok\ntest tests::test_siblings ... ok\n\ntest result: ok. 20 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 24 tests\ntest commit::parse::test::error::invalid_author ... ok\ntest commit::parse::test::error::invalid_committer ... ok\ntest commit::parse::test::error::invalid_format_continuation_without_preceding_header ... ok\ntest commit::parse::test::error::invalid_parent ... ok\ntest commit::parse::test::error::invalid_tree ... ok\ntest commit::parse::test::error::missing_author ... ok\ntest commit::parse::test::error::missing_committer ... ok\ntest commit::parse::test::error::missing_header_body_separator ... ok\ntest commit::parse::test::error::missing_tree_empty_header ... ok\ntest commit::parse::test::error::missing_tree_wrong_first_line ... ok\ntest commit::parse::test::success::commit_gpgsig_is_preserved_and_strip_removes_it ... ok\ntest commit::parse::test::success::commit_last_paragraph_kept_in_message_when_not_all_trailers ... ok\ntest commit::parse::test::success::commit_with_extra_headers ... ok\ntest commit::parse::test::success::commit_with_multiline_gpgsig ... ok\ntest commit::parse::test::success::commit_with_single_parent ... ok\ntest commit::parse::test::success::commit_with_trailers ... ok\ntest commit::parse::test::success::merge_commit ... ok\ntest commit::parse::test::success::root_commit ... ok\ntest commit::parse::test::success::roundtrip ... ok\ntest commit::parse::test::unit::body_last_paragraph_not_trailers_stays_in_message ... ok\ntest commit::parse::test::unit::body_no_paragraph_separator_means_no_trailers ... ok\ntest commit::parse::test::unit::trailers_accepts_empty_input ... ok\ntest commit::parse::test::unit::trailers_rejects_invalid_token_chars ... ok\ntest commit::parse::test::unit::trailers_rejects_line_without_separator ... ok\n\ntest result: ok. 24 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 9 tests\ntest test::component ... ok\ntest test::pattern ... ok\ntest test::component_invalid - should panic ... ok\ntest test::qualified ... ok\ntest test::qualified_invalid - should panic ... ok\ntest test::qualified_pattern ... ok\ntest test::qualified_pattern_invalid - should panic ... ok\ntest test::refname ... ok\ntest test::refname_invalid - should panic ... ok\n\ntest result: ok. 9 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest serde_impls::test::test_localtime ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 80 tests\ntest control::tests::test_control_socket ... ok\ntest control::tests::test_seed_unseed ... ok\ntest reactor::timer::tests::test_next ... ok\ntest reactor::timer::tests::test_wake ... ok\ntest reactor::timer::tests::test_wake_exact ... ok\ntest fingerprint::tests::matching ... ok\ntest tests::e2e::fetch_does_not_contain_rad_sigrefs_parent ... ok\ntest tests::e2e::missing_default_branch ... ok\ntest tests::e2e::missing_delegate_default_branch ... ok\ntest tests::e2e::test_block_active_connection ... ok\ntest tests::e2e::test_block_prevents_connection ... ok\ntest tests::e2e::test_background_foreground_fetch ... ok\ntest tests::e2e::test_block_prevents_fetch ... ok\ntest tests::e2e::test_catchup_on_refs_announcements ... ok\ntest tests::e2e::test_channel_reader_limit ... ok\ntest tests::e2e::test_clone ... ok\ntest tests::e2e::test_connection_crossing ... ok\ntest tests::e2e::test_dont_fetch_owned_refs ... ok\ntest tests::e2e::test_concurrent_fetches ... ok\ntest tests::e2e::test_fetch_emits_canonical_ref_update_partial_glob ... ok\ntest tests::e2e::test_fetch_followed_remotes ... ok\ntest tests::e2e::test_fetch_preserve_owned_refs ... ok\ntest tests::e2e::test_fetch_unseeded ... ok\ntest tests::e2e::test_fetch_up_to_date ... ok\ntest tests::e2e::test_fetch_emits_canonical_ref_update ... ok\ntest tests::e2e::test_inventory_sync_basic ... ok\ntest tests::e2e::test_inventory_sync_bridge ... ok\ntest tests::e2e::test_inventory_sync_ring ... ok\ntest tests::e2e::test_large_fetch ... ok\ntest tests::e2e::test_migrated_clone ... ok\ntest tests::e2e::test_missing_remote ... ok\ntest tests::e2e::test_multiple_offline_inits ... ok\ntest tests::e2e::test_non_fast_forward_identity_doc ... ok\ntest tests::e2e::test_non_fast_forward_sigrefs ... ok\ntest tests::e2e::test_outdated_delegate_sigrefs ... ok\ntest tests::e2e::test_outdated_sigrefs ... ok\ntest tests::e2e::test_inventory_sync_star ... ok\ntest tests::e2e::test_replication ... ok\ntest tests::e2e::test_replication_ref_in_sigrefs ... ok\ntest tests::e2e::test_replication_invalid ... ok\ntest tests::prop_inventory_exchange_dense ... ok\ntest tests::test_announcement_rebroadcast ... ok\ntest tests::test_announcement_rebroadcast_duplicates ... ok\ntest tests::test_announcement_rebroadcast_timestamp_filtered ... ok\ntest tests::test_announcement_relay ... ok\ntest tests::test_connection_kept_alive ... ok\ntest tests::test_disconnecting_unresponsive_peer ... ok\ntest tests::test_fetch_missing_inventory_on_gossip ... ok\ntest tests::test_fetch_missing_inventory_on_schedule ... ok\ntest tests::test_inbound_connection ... ok\ntest tests::test_init_and_seed ... ok\ntest tests::test_inventory_decode ... ok\ntest tests::test_inventory_pruning ... ok\ntest tests::test_inventory_relay ... ok\ntest tests::test_inventory_relay_bad_timestamp ... ok\ntest tests::test_inventory_sync ... ok\ntest tests::test_maintain_connections ... ok\ntest tests::test_maintain_connections_failed_attempt ... ok\ntest tests::test_announcement_message_amplification ... ok\ntest tests::test_maintain_connections_transient ... ok\ntest tests::test_persistent_peer_connect ... ok\ntest tests::test_outbound_connection ... ok\ntest tests::test_persistent_peer_reconnect_success ... ok\ntest tests::test_persistent_peer_reconnect_attempt ... ok\ntest tests::test_ping_response ... ok\ntest tests::test_queued_fetch_from_ann_same_rid ... ok\ntest tests::test_queued_fetch_from_command_same_rid ... ok\ntest tests::test_redundant_connect ... ok\ntest tests::test_queued_fetch_max_capacity ... ok\ntest tests::test_refs_announcement_followed ... ok\ntest tests::test_refs_announcement_no_subscribe ... ok\ntest tests::test_refs_announcement_fetch_trusted_no_inventory ... ok\ntest tests::test_refs_announcement_offline ... ok\ntest tests::test_refs_announcement_relay_private ... ok\ntest tests::test_refs_synced_event ... ok\ntest tests::test_refs_announcement_relay_public ... ok\ntest tests::test_seeding ... ok\ntest wire::test::test_inventory_ann_with_extension ... ok\ntest wire::test::test_pong_message_with_extension ... ok\ntest tests::test_seed_repo_subscribe ... ok\n\ntest result: ok. 80 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 21.51s\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 10 tests\ntest fmt::test::fixture ... ok\ntest fmt::test::gix ... ok\ntest fmt::test::git2 ... ok\ntest fmt::test::zero ... ok\ntest git2::test::zero ... ok\ntest gix::test::zero ... ok\ntest str::test::fixture ... ok\ntest str::test::git2_roundtrip ... ok\ntest str::test::gix_roundtrip ... ok\ntest str::test::zero ... ok\n\ntest result: ok. 10 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 99 tests\ntest deserializer::test::prop_decode_next ... ok\ntest deserializer::test::test_unparsed ... ok\ntest deserializer::test::test_decode_next ... ok\ntest fetcher::service::tests::test_fetch_coalescing_different_refs ... ok\ntest fetcher::test::queue::properties::capacity::bounded ... ok\ntest fetcher::test::queue::properties::capacity::capacity_reached_returns_same_item ... ok\ntest fetcher::test::queue::properties::capacity::rejection ... ok\ntest fetcher::test::queue::properties::dequeue::drained_queue_returns_none ... ok\ntest fetcher::test::queue::properties::dequeue::empty_queue_returns_none ... ok\ntest fetcher::test::queue::properties::dequeue::enables_reenqueue ... ok\ntest fetcher::test::queue::properties::capacity::restored_after_dequeue ... ok\ntest fetcher::test::queue::properties::equality::reflexive ... ok\ntest fetcher::test::queue::properties::equality::symmetric ... ok\ntest fetcher::test::queue::properties::fifo::interleaved_operations ... ok\ntest fetcher::test::queue::properties::fifo::ordering ... ok\ntest fetcher::test::queue::properties::equality::transitive ... ok\ntest fetcher::test::queue::properties::merge::different_rid_accepted ... ok\ntest fetcher::test::queue::properties::merge::combines_refs ... ok\ntest fetcher::test::queue::properties::merge::does_not_increase_queue_length ... ok\ntest fetcher::test::queue::properties::merge::longer_timeout_preserved ... ok\ntest fetcher::test::queue::properties::merge::empty_refs_fetches_all ... ok\ntest fetcher::test::queue::properties::merge::succeed_when_at_capacity ... ok\ntest fetcher::test::queue::unit::capacity_takes_precedence_over_merge_for_new_items ... ok\ntest fetcher::test::queue::unit::empty_refs_items_can_be_equal ... ok\ntest fetcher::test::queue::unit::max_timeout_accepted ... ok\ntest fetcher::test::queue::unit::merge_preserves_position_in_queue ... ok\ntest fetcher::test::queue::unit::zero_timeout_accepted ... ok\ntest fetcher::test::state::command::cancel::cancellation_is_isolated ... ok\ntest fetcher::test::state::command::cancel::non_existent_returns_unexpected ... ok\ntest fetcher::test::state::command::cancel::ongoing_and_queued ... ok\ntest fetcher::test::state::command::cancel::single_ongoing ... ok\ntest fetcher::test::state::command::fetch::fetch_after_previous_completed ... ok\ntest fetcher::test::state::command::fetch::fetch_at_capacity_enqueues ... ok\ntest fetcher::test::state::command::fetch::fetch_different_repo_same_node_within_capacity ... ok\ntest fetcher::test::state::command::fetch::fetch_duplicate_returns_already_fetching ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_merge_empty_refs_fetches_all ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_merge_takes_longer_timeout ... ok\ntest fetcher::test::queue::properties::merge::same_rid_merges_anywhere_in_queue ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_merges_already_queued ... ok\ntest fetcher::test::state::command::fetch::fetch_same_repo_different_nodes_queues_second ... ok\ntest fetcher::test::state::command::fetch::fetch_queue_rejected_capacity_reached ... ok\ntest fetcher::test::state::command::fetch::fetch_same_repo_different_refs_enqueues ... ok\ntest fetcher::test::state::command::fetch::fetch_start_first_fetch_for_node ... ok\ntest fetcher::test::state::command::fetched::complete_single_ongoing ... ok\ntest fetcher::test::state::command::fetched::complete_one_of_multiple ... ok\ntest fetcher::test::state::command::fetched::non_existent_returns_not_found ... ok\ntest fetcher::test::state::command::fetched::complete_then_dequeue_fifo ... ok\ntest fetcher::test::state::concurrent::fetched_then_cancel ... ok\ntest fetcher::test::state::concurrent::interleaved_operations ... ok\ntest fetcher::test::state::config::min_queue_size ... ok\ntest fetcher::test::state::dequeue::cannot_dequeue_while_node_at_capacity ... ok\ntest fetcher::test::state::dequeue::empty_queue_returns_none ... ok\ntest fetcher::test::state::dequeue::maintains_fifo_order ... ok\ntest fetcher::test::state::invariant::queue_integrity_after_merge ... ok\ntest fetcher::test::state::config::high_concurrency ... ok\ntest fetcher::test::state::multinode::independent_queues ... ok\ntest service::filter::test::compatible ... ok\ntest service::filter::test::test_parameters ... ok\ntest service::filter::test::test_sizes ... ok\ntest service::gossip::store::test::test_announced ... ok\ntest service::limiter::test::test_limiter_different_rates ... ok\ntest service::limiter::test::test_limiter_multi ... ok\ntest service::limiter::test::test_limiter_refill ... ok\ntest fetcher::test::state::multinode::high_count ... ok\ntest service::message::tests::test_inventory_limit ... ok\ntest service::message::tests::prop_refs_announcement_signing ... ok\ntest service::message::tests::test_ref_remote_limit ... ok\ntest wire::frame::test::test_encode_git_large ... ok\ntest wire::frame::test::test_stream_id ... ok\ntest service::message::tests::test_node_announcement_validate ... ok\ntest wire::message::tests::prop_roundtrip_address ... ok\ntest wire::message::tests::prop_roundtrip_message ... ok\ntest wire::message::tests::prop_zero_bytes_encode_decode ... ok\ntest wire::message::tests::test_inv_ann_max_size ... ok\ntest wire::message::tests::test_node_ann_max_size ... ok\ntest wire::message::tests::test_ping_encode_size_overflow - should panic ... ok\ntest wire::message::tests::test_pingpong_encode_max_size ... ok\ntest wire::message::tests::test_pong_encode_size_overflow - should panic ... ok\ntest wire::message::tests::prop_message_decoder ... ok\ntest wire::tests::prop_oid ... ok\ntest wire::tests::prop_roundtrip_filter ... ok\ntest wire::tests::prop_roundtrip_publickey ... ok\ntest wire::tests::prop_roundtrip_refs ... ok\ntest wire::tests::prop_roundtrip_repoid ... ok\ntest wire::tests::prop_roundtrip_tuple ... ok\ntest wire::tests::prop_roundtrip_u16 ... ok\ntest wire::tests::prop_roundtrip_u32 ... ok\ntest wire::tests::prop_roundtrip_u64 ... ok\ntest wire::tests::prop_roundtrip_vec ... ok\ntest wire::tests::prop_signature ... ok\ntest wire::tests::prop_string ... ok\ntest wire::tests::test_alias ... ok\ntest wire::tests::test_bounded_vec_limit ... ok\ntest wire::tests::test_filter_invalid ... ok\ntest wire::tests::test_string ... ok\ntest wire::varint::test::prop_roundtrip_varint ... ok\ntest wire::varint::test::test_encode_overflow - should panic ... ok\ntest wire::varint::test::test_encoding ... ok\ntest wire::message::tests::test_refs_ann_max_size ... ok\n\ntest result: ok. 99 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 2.49s\n\n\nrunning 12 tests\ntest protocol::tests::test_capabilities ... ok\ntest protocol::tests::test_empty ... ok\ntest protocol::tests::test_fetch ... ok\ntest protocol::tests::test_fetch_whitespace ... ok\ntest protocol::tests::test_invalid ... ok\ntest protocol::tests::test_list ... ok\ntest protocol::tests::test_list_for_push ... ok\ntest protocol::tests::test_option ... ok\ntest protocol::tests::test_option_whitespace_preservation ... ok\ntest protocol::tests::test_push ... ok\ntest protocol::tests::test_push_delete ... ok\ntest protocol::tests::test_push_force ... ok\n\ntest result: ok. 12 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\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 21 tests\ntest ansi::tests::colors_enabled ... ok\ntest ansi::tests::colors_disabled ... ok\ntest cell::test::test_width ... ok\ntest ansi::tests::wrapping ... ok\ntest element::test::test_spaced ... ok\ntest element::test::test_truncate ... ok\ntest element::test::test_width ... ok\ntest table::test::test_table ... ok\ntest table::test::test_table_border ... ok\ntest table::test::test_table_border_maximized ... ok\ntest table::test::test_table_border_truncated ... ok\ntest table::test::test_table_truncate ... ok\ntest table::test::test_table_unicode ... ok\ntest table::test::test_truncate ... ok\ntest table::test::test_table_unicode_truncate ... ok\ntest textarea::test::test_wrapping_code_block ... ok\ntest textarea::test::test_wrapping ... ok\ntest textarea::test::test_wrapping_fenced_block ... ok\ntest vstack::test::test_vstack ... ok\ntest vstack::test::test_vstack_maximize ... ok\ntest textarea::test::test_wrapping_paragraphs ... ok\n\ntest result: ok. 21 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle/src/git/raw/fixture.rs - git::raw::fixture (line 11) ... ignored\n\ntest result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle/src/cob/patch/encoding/review.rs - cob::patch::encoding::review::Review (line 23) ... ignored\n\ntest result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.12s; merged doctests compilation took 0.12s\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle-cob/src/backend/stable.rs - backend::stable::with_advanced_timestamp (line 56) ... ignored\n\ntest result: ok. 0 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.12s; merged doctests compilation took 0.11s\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\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 6 tests\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::collect_from (line 30) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::max (line 96) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::push (line 122) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::truncate (line 50) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::unbound (line 149) ... ok\ntest crates/radicle-protocol/src/bounded.rs - bounded::BoundedVec<T,N>::with_capacity (line 66) ... ok\n\ntest result: ok. 6 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.64s; merged doctests compilation took 0.63s\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n\nrunning 1 test\ntest crates/radicle-term/src/table.rs - table (line 4) ... ok\n\ntest result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\nall doctests ran in 0.28s; merged doctests compilation took 0.27s\n\nrunning 0 tests\n\ntest result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.00s\n\n",
      "stderr": "    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.30s\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle-f47a7c2ba456ab00)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli-0c161f4fcbeacd74)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/rad-bd06360b420d767c)\n     Running tests/commands.rs (/ci/cache/cargo-target/debug/deps/commands-fc66af7f1a19c65c)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cli_test-840c41f4d04ff03d)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_cob-1ff8ee99f73a113c)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_core-f9d12dcddf722a8f)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_crypto-296ceac40b7fe69b)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_dag-e10cdde88570a8e0)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_fetch-92b111a684cd2a9a)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_metadata-41b02b9ef3e2236d)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_git_ref_format-2868a65b3ff2c590)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_localtime-ec55a7767b981c91)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_log-aa8a5607eeb05b0d)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_node-d1668eea4de6589f)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_node-19fd5db942ff136f)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_oid-f350725ba9f62eb5)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_protocol-d984e15bcd2f38e3)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/git_remote_rad-ec460ed6e139fb1e)\n     Running unittests src/main.rs (/ci/cache/cargo-target/debug/deps/radicle_schemars-dd3c5e3b8cead261)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_signals-e91beff5378165d8)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_systemd-77e26f6a607513aa)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_term-afa03b1828121040)\n     Running unittests src/lib.rs (/ci/cache/cargo-target/debug/deps/radicle_windows-942926f7348a8563)\n   Doc-tests radicle\n   Doc-tests radicle_cli\n   Doc-tests radicle_cli_test\n   Doc-tests radicle_cob\n   Doc-tests radicle_core\n   Doc-tests radicle_crypto\n   Doc-tests radicle_dag\n   Doc-tests radicle_fetch\n   Doc-tests radicle_git_metadata\n   Doc-tests radicle_git_ref_format\n   Doc-tests radicle_localtime\n   Doc-tests radicle_log\n   Doc-tests radicle_node\n   Doc-tests radicle_oid\n   Doc-tests radicle_protocol\n   Doc-tests radicle_signals\n   Doc-tests radicle_systemd\n   Doc-tests radicle_term\n   Doc-tests radicle_windows\n",
      "timestamp": {
        "secs_since_epoch": 1781856205,
        "nanos_since_epoch": 505219462
      },
      "log_source": "Plan"
    }
  68. {
      "type": "action_succeeded",
      "action": "cargo_test",
      "timestamp": {
        "secs_since_epoch": 1781856206,
        "nanos_since_epoch": 334821590
      },
      "log_source": "Plan"
    }
  69. {
      "type": "execute_action",
      "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",
      "timestamp": {
        "secs_since_epoch": 1781856206,
        "nanos_since_epoch": 334855585
      },
      "log_source": "Plan"
    }
  70. {
      "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,
            35,
            32,
            66,
            101,
            99,
            97,
            117,
            115,
            101,
            32,
            111,
            102,
            32,
            97,
            32,
            40,
            116,
            101,
            109,
            112,
            111,
            114,
            97,
            114,
            121,
            41,
            32,
            108,
            105,
            109,
            105,
            116,
            97,
            116,
            105,
            111,
            110,
            32,
            105,
            110,
            32,
            65,
            109,
            98,
            105,
            101,
            110,
            116,
            44,
            32,
            119,
            101,
            32,
            110,
            101,
            101,
            100,
            32,
            116,
            111,
            32,
            115,
            101,
            116,
            10,
            35,
            32,
            116,
            104,
            101,
            115,
            101,
            32,
            118,
            97,
            114,
            105,
            97,
            98,
            108,
            101,
            115,
            32,
            109,
            97,
            110,
            117,
            97,
            108,
            108,
            121,
            46,
            32,
            79,
            110,
            99,
            101,
            32,
            65,
            109,
            98,
            105,
            101,
            110,
            116,
            32,
            109,
            97,
            110,
            97,
            103,
            101,
            115,
            32,
            101,
            110,
            118,
            105,
            114,
            111,
            110,
            109,
            101,
            110,
            116,
            10,
            35,
            32,
            118,
            97,
            114,
            105,
            97,
            98,
            108,
            101,
            115,
            32,
            98,
            101,
            116,
            116,
            101,
            114,
            44,
            32,
            116,
            104,
            101,
            115,
            101,
            32,
            99,
            97,
            110,
            32,
            98,
            101,
            32,
            100,
            101,
            108,
            101,
            116,
            101,
            100,
            46,
            10,
            101,
            120,
            112,
            111,
            114,
            116,
            32,
            67,
            65,
            82,
            71,
            79,
            95,
            84,
            65,
            82,
            71,
            69,
            84,
            95,
            68,
            73,
            82,
            61,
            47,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101,
            47,
            99,
            97,
            99,
            104,
            101,
            10,
            101,
            120,
            112,
            111,
            114,
            116,
            32,
            67,
            65,
            82,
            71,
            79,
            95,
            72,
            79,
            77,
            69,
            61,
            47,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101,
            47,
            100,
            101,
            112,
            115,
            10,
            101,
            120,
            112,
            111,
            114,
            116,
            32,
            72,
            79,
            77,
            69,
            61,
            47,
            114,
            111,
            111,
            116,
            10,
            101,
            120,
            112,
            111,
            114,
            116,
            32,
            80,
            65,
            84,
            72,
            61,
            34,
            47,
            114,
            111,
            111,
            116,
            47,
            46,
            99,
            97,
            114,
            103,
            111,
            47,
            98,
            105,
            110,
            58,
            36,
            80,
            65,
            84,
            72,
            34,
            10,
            101,
            120,
            112,
            111,
            114,
            116,
            32,
            82,
            85,
            83,
            84,
            68,
            79,
            67,
            70,
            76,
            65,
            71,
            83,
            61,
            39,
            45,
            68,
            32,
            119,
            97,
            114,
            110,
            105,
            110,
            103,
            115,
            39,
            10,
            10,
            99,
            97,
            114,
            103,
            111,
            32,
            100,
            111,
            99,
            32,
            45,
            45,
            119,
            111,
            114,
            107,
            115,
            112,
            97,
            99,
            101,
            32,
            45,
            45,
            110,
            111,
            45,
            100,
            101,
            112,
            115,
            32,
            45,
            45,
            97,
            108,
            108,
            45,
            102,
            101,
            97,
            116,
            117,
            114,
            101,
            115,
            10,
            10
          ]
        }
      ],
      "timestamp": {
        "secs_since_epoch": 1781856206,
        "nanos_since_epoch": 335084641
      },
      "log_source": "Plan"
    }
  71. {
      "type": "program_failed",
      "exit_code": 101,
      "stdout": "",
      "stderr": "+ export CARGO_TARGET_DIR=/workspace/cache\n+ CARGO_TARGET_DIR=/workspace/cache\n+ export CARGO_HOME=/workspace/deps\n+ CARGO_HOME=/workspace/deps\n+ export HOME=/root\n+ HOME=/root\n+ export PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ PATH=/root/.cargo/bin:/root/.cargo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin\n+ export 'RUSTDOCFLAGS=-D warnings'\n+ RUSTDOCFLAGS='-D warnings'\n+ cargo doc --workspace --no-deps --all-features\n   Compiling libc v0.2.183\n   Compiling proc-macro2 v1.0.106\n   Compiling unicode-ident v1.0.24\n   Compiling quote v1.0.45\n    Checking cfg-if v1.0.4\n   Compiling syn v2.0.117\n    Checking zeroize v1.8.2\n    Checking getrandom v0.2.17\n   Compiling version_check v0.9.5\n   Compiling typenum v1.19.0\n   Compiling generic-array v0.14.7\n    Checking rand_core v0.6.4\n   Compiling jobserver v0.1.34\n    Checking memchr v2.8.0\n   Compiling find-msvc-tools v0.1.9\n   Compiling shlex v1.3.0\n   Compiling cc v1.2.57\n    Checking crypto-common v0.1.7\n    Checking subtle v2.6.1\n    Checking const-oid v0.9.6\n    Checking regex-syntax v0.8.10\n    Checking aho-corasick v1.1.4\n    Checking smallvec v1.15.1\n    Checking block-buffer v0.10.4\n   Compiling serde_core v1.0.228\n    Checking regex-automata v0.4.14\n    Checking digest v0.10.7\n    Checking cpufeatures v0.2.17\n    Checking bstr v1.12.1\n    Checking stable_deref_trait v1.2.1\n   Compiling thiserror v2.0.18\n   Compiling thiserror-impl v2.0.18\n    Checking fastrand v2.3.0\n   Compiling parking_lot_core v0.9.12\n    Checking scopeguard v1.2.0\n    Checking lock_api v0.4.14\n    Checking parking_lot v0.12.5\n    Checking bitflags v2.11.0\n    Checking tinyvec_macros v0.1.1\n   Compiling crc32fast v1.5.0\n    Checking gix-trace v0.1.19\n    Checking tinyvec v1.11.0\n    Checking gix-validate v0.11.1\n    Checking gix-path v0.12.0\n    Checking unicode-normalization v0.1.25\n    Checking byteorder v1.5.0\n   Compiling typeid v1.0.3\n    Checking gix-utils v0.3.2\n    Checking itoa v1.0.17\n   Compiling erased-serde v0.4.10\n    Checking hashbrown v0.16.1\n   Compiling synstructure v0.13.2\n   Compiling serde v1.0.228\n    Checking serde_fmt v1.1.0\n   Compiling serde_derive v1.0.228\n    Checking same-file v1.0.6\n    Checking walkdir v2.5.0\n   Compiling zerofrom-derive v0.1.6\n    Checking value-bag-serde1 v1.12.0\n    Checking prodash v31.0.0\n    Checking zlib-rs v0.6.3\n    Checking gix-features v0.48.0\n    Checking value-bag v1.12.0\n    Checking zerofrom v0.1.6\n   Compiling yoke-derive v0.8.1\n   Compiling heapless v0.8.0\n   Compiling pkg-config v0.3.32\n    Checking log v0.4.29\n    Checking yoke v0.8.1\n    Checking hash32 v0.3.1\n   Compiling rustix v1.1.4\n   Compiling zerovec-derive v0.11.2\n    Checking linux-raw-sys v0.12.1\n    Checking zerovec v0.11.5\n    Checking faster-hex v0.10.0\n   Compiling displaydoc v0.2.5\n    Checking block-padding v0.3.3\n    Checking inout v0.1.4\n    Checking sha2 v0.10.9\n    Checking sha1 v0.10.6\n    Checking sha1-checked v0.10.0\n    Checking cipher v0.4.4\n   Compiling getrandom v0.4.2\n   Compiling tree-sitter-language v0.1.7\n    Checking gix-hash v0.25.0\n    Checking tinystr v0.8.2\n    Checking writeable v0.6.2\n    Checking litemap v0.8.1\n   Compiling zerocopy v0.8.42\n   Compiling thiserror v1.0.69\n    Checking icu_locale_core v2.1.1\n    Checking zerotrie v0.2.3\n    Checking potential_utf v0.1.4\n    Checking der v0.7.10\n   Compiling thiserror-impl v1.0.69\n    Checking percent-encoding v2.3.2\n   Compiling libm v0.2.16\n   Compiling icu_properties_data v2.1.2\n   Compiling autocfg v1.5.0\n   Compiling icu_normalizer_data v2.1.1\n   Compiling zmij v1.0.21\n   Compiling num-traits v0.2.19\n    Checking icu_provider v2.1.1\n    Checking icu_collections v2.1.1\n   Compiling serde_json v1.0.149\n    Checking equivalent v1.0.2\n   Compiling vcpkg v0.2.15\n   Compiling libz-sys v1.1.25\n    Checking indexmap v2.13.0\n    Checking once_cell v1.21.4\n    Checking tempfile v3.27.0\n    Checking ppv-lite86 v0.2.21\n    Checking icu_normalizer v2.1.1\n    Checking icu_properties v2.1.2\n    Checking hmac v0.12.1\n    Checking universal-hash v0.5.1\n    Checking opaque-debug v0.3.1\n    Checking dyn-clone v1.0.20\n   Compiling syn v1.0.109\n    Checking spin v0.9.8\n    Checking lazy_static v1.5.0\n    Checking idna_adapter v1.2.1\n    Checking spki v0.7.3\n   Compiling libgit2-sys v0.18.3+1.9.2\n    Checking signature v2.2.0\n    Checking ff v0.13.1\n    Checking utf8_iter v1.0.4\n    Checking base16ct v0.2.0\n   Compiling ref-cast v1.0.25\n    Checking sec1 v0.7.3\n    Checking idna v1.1.0\n    Checking group v0.13.0\n    Checking rand_chacha v0.3.1\n    Checking form_urlencoded v1.2.2\n    Checking crypto-bigint v0.5.5\n   Compiling ref-cast-impl v1.0.25\n   Compiling serde_derive_internals v0.29.1\n   Compiling schemars_derive v1.2.1\n    Checking elliptic-curve v0.13.8\n    Checking url v2.5.8\n    Checking rand v0.8.5\n   Compiling amplify_syn v2.0.1\n    Checking git-ref-format-core v0.6.0\n    Checking aead v0.5.2\n    Checking signature v1.6.4\n   Compiling semver v1.0.27\n   Compiling rustc_version v0.4.1\n    Checking ed25519 v1.5.3\n   Compiling amplify_derive v4.0.1\n    Checking schemars v1.2.1\n    Checking poly1305 v0.8.0\n    Checking rfc6979 v0.4.0\n    Checking chacha20 v0.9.1\n    Checking gix-error v0.2.3\n    Checking amplify_num v0.5.3\n    Checking ct-codecs v1.1.6\n    Checking ascii v1.1.0\n    Checking amplify v4.9.0\n    Checking ec25519 v0.1.0\n    Checking ecdsa v0.16.9\n   Compiling curve25519-dalek v4.1.3\n    Checking primeorder v0.13.6\n    Checking polyval v0.6.2\n    Checking num-integer v0.1.46\n    Checking base64ct v1.8.3\n   Compiling num-bigint-dig v0.8.6\n    Checking pem-rfc7468 v0.7.0\n    Checking num-iter v0.1.45\n    Checking ghash v0.5.1\n    Checking cyphergraphy v0.3.1\n    Checking pkcs8 v0.10.2\n    Checking pbkdf2 v0.12.2\n    Checking ctr v0.9.2\n    Checking aes v0.8.4\n   Compiling sqlite3-src v0.7.0\n   Compiling curve25519-dalek-derive v0.1.1\n    Checking keccak v0.1.6\n    Checking sha3 v0.10.8\n    Checking aes-gcm v0.10.3\n    Checking pkcs1 v0.7.5\n    Checking ssh-encoding v0.2.0\n    Checking ed25519 v2.2.3\n    Checking blowfish v0.9.1\n    Checking cbc v0.1.2\n    Checking git2 v0.20.4\n   Compiling getrandom v0.3.4\n    Checking base32 v0.4.0\n   Compiling crossbeam-utils v0.8.21\n   Compiling data-encoding v2.10.0\n   Compiling data-encoding-macro-internal v0.1.17\n    Checking cypheraddr v0.4.1\n    Checking ssh-cipher v0.2.0\n    Checking bcrypt-pbkdf v0.10.0\n    Checking ed25519-dalek v2.2.0\n    Checking rsa v0.9.10\n    Checking p521 v0.13.3\n    Checking p256 v0.13.2\n    Checking p384 v0.13.1\n    Checking chacha20poly1305 v0.10.1\n    Checking qcheck v1.0.0\n   Compiling match-lookup v0.1.2\n    Checking const-str v0.4.3\n    Checking base256emoji v1.0.2\n    Checking data-encoding-macro v0.1.19\n    Checking ssh-key v0.6.7\n    Checking noise-framework v0.4.1\n    Checking sqlite3-sys v0.18.0\n    Checking socks5-client v0.4.3\n    Checking secrecy v0.10.3\n    Checking base-x v0.2.11\n    Checking multibase v0.9.2\n    Checking crossbeam-channel v0.5.15\n    Checking ssh-agent-lib v0.6.0\n    Checking cyphernet v0.5.4\n    Checking rand_core v0.9.5\n    Checking sqlite v0.37.0\n    Checking radicle-git-ref-format v0.1.0 (/ci/src/crates/radicle-git-ref-format)\n    Checking jiff v0.2.23\n    Checking errno v0.3.14\n    Checking anstyle-query v1.1.5\n    Checking radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)\n    Checking radicle-oid v0.2.0 (/ci/src/crates/radicle-oid)\n    Checking wait-timeout v0.2.1\n    Checking quick-error v1.2.3\n    Checking bit-vec v0.8.0\n    Checking fnv v1.0.7\n    Checking rusty-fork v0.3.1\n    Checking bit-set v0.8.0\n    Checking rand_chacha v0.9.0\n    Checking rand v0.9.2\n    Checking rand_xorshift v0.4.0\n    Checking gix-hashtable v0.15.0\n    Checking nonempty v0.9.0\n    Checking unarray v0.1.4\n    Checking utf8parse v0.2.2\n    Checking proptest v1.10.0\n    Checking gix-date v0.15.3\n    Checking gix-actor v0.41.0\n    Checking gix-object v0.60.0\n    Checking radicle-localtime v0.1.0 (/ci/src/crates/radicle-localtime)\n    Checking radicle-git-metadata v0.2.0 (/ci/src/crates/radicle-git-metadata)\n    Checking radicle-dag v0.10.0 (/ci/src/crates/radicle-dag)\n    Checking memmap2 v0.9.10\n   Compiling unicode-segmentation v1.12.0\n   Compiling signal-hook v0.3.18\n    Checking nonempty v0.12.0\n   Compiling convert_case v0.10.0\n    Checking signal-hook-registry v1.4.8\n    Checking gix-chunk v0.7.1\n   Compiling radicle v0.24.0 (/ci/src/crates/radicle)\n    Checking is_terminal_polyfill v1.70.2\n    Checking anstyle v1.0.14\n    Checking base64 v0.21.7\n    Checking colorchoice v1.0.5\n    Checking gix-commitgraph v0.37.0\n   Compiling derive_more-impl v2.1.1\n    Checking radicle-core v0.3.0 (/ci/src/crates/radicle-core)\n    Checking radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)\n    Checking mio v1.1.1\n    Checking serde-untagged v0.1.9\n    Checking bytesize v2.3.1\n    Checking sem_safe v0.2.1\n   Compiling portable-atomic v1.13.1\n    Checking fast-glob v0.3.3\n   Compiling litrs v1.0.0\n    Checking siphasher v1.0.2\n    Checking dunce v1.0.5\n    Checking unicode-width v0.2.2\n   Compiling document-features v0.2.12\n    Checking signals_receipts v0.2.5\n    Checking signal-hook-mio v0.2.5\n    Checking derive_more v2.1.1\n    Checking gix-revwalk v0.31.0\n    Checking gix-fs v0.21.1\n    Checking gix-tempfile v23.0.0\n    Checking crossterm v0.29.0\n    Checking console v0.16.3\n    Checking gix-quote v0.7.1\n    Checking regex v1.12.3\n    Checking unit-prefix v0.5.2\n    Checking indicatif v0.18.4\n    Checking inquire v0.9.4\n    Checking unicode-display-width v0.3.0\n    Checking radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n    Checking anstyle-parse v0.2.7\n   Compiling tree-sitter v0.24.7\n    Checking shell-words v1.1.1\n   Compiling object v0.37.3\n    Checking either v1.15.0\n   Compiling anyhow v1.0.102\n    Checking gix-command v0.9.0\n    Checking anstream v0.6.21\n   Compiling proc-macro-error-attr2 v2.0.0\n   Compiling adler2 v2.0.1\n   Compiling simd-adler32 v0.3.8\n    Checking gimli v0.32.3\n   Compiling rustversion v1.0.22\n    Checking iana-time-zone v0.1.65\n    Checking chrono v0.4.44\n    Checking addr2line v0.25.1\n    Checking miniz_oxide v0.8.9\n   Compiling proc-macro-error2 v2.0.1\n   Compiling xattr v1.6.1\n    Checking radicle-term v0.18.0 (/ci/src/crates/radicle-term)\n   Compiling filetime v0.2.27\n    Checking gix-lock v23.0.0\n    Checking anstyle-parse v1.0.0\n    Checking colored v2.2.0\n    Checking gix-url v0.36.0\n    Checking gix-config-value v0.18.0\n    Checking gix-sec v0.14.0\n    Checking rustc-demangle v0.1.27\n    Checking gix-prompt v0.15.0\n    Checking anstream v1.0.0\n   Compiling tar v0.4.45\n    Checking backtrace v0.3.76\n   Compiling flate2 v1.1.9\n   Compiling git-ref-format-macro v0.6.0\n    Checking gix-revision v0.45.0\n    Checking gix-traverse v0.57.0\n    Checking gix-diff v0.63.0\n    Checking gix-packetline v0.21.3\n    Checking gix-glob v0.26.0\n    Checking clap_lex v1.1.0\n   Compiling heck v0.5.0\n    Checking streaming-iterator v0.1.9\n    Checking strsim v0.11.1\n    Checking clap_builder v4.6.0\n   Compiling clap_derive v4.6.0\n    Checking gix-refspec v0.41.0\n    Checking gix-transport v0.57.0\n    Checking gix-pack v0.70.0\n    Checking arc-swap v1.9.1\n   Compiling radicle-surf v0.27.1\n    Checking git-ref-format v0.6.0\n    Checking gix-credentials v0.38.0\n    Checking radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n    Checking gix-shallow v0.12.0\n    Checking gix-ref v0.63.0\n    Checking gix-negotiate v0.31.0\n    Checking serde_spanned v1.0.4\n    Checking toml_datetime v0.7.5+spec-1.1.0\n   Compiling tree-sitter-css v0.23.2\n   Compiling tree-sitter-go v0.23.4\n   Compiling tree-sitter-html v0.23.2\n   Compiling tree-sitter-python v0.23.6\n   Compiling tree-sitter-typescript v0.23.2\n   Compiling tree-sitter-rust v0.23.3\n   Compiling tree-sitter-ruby v0.23.1\n   Compiling tree-sitter-c v0.23.4\n   Compiling tree-sitter-md v0.3.2\n   Compiling tree-sitter-bash v0.23.3\n   Compiling tree-sitter-json v0.24.8\n   Compiling tree-sitter-toml-ng v0.6.0\n   Compiling maybe-async v0.2.10\n    Checking toml_writer v1.0.7+spec-1.1.0\n    Checking radicle-std-ext v0.2.0\n    Checking radicle-git-ext v0.12.0\n    Checking toml v0.9.12+spec-1.1.0\n    Checking gix-protocol v0.61.0\n    Checking gix-odb v0.80.0\n    Checking clap v4.6.0\n    Checking uuid v1.22.0\n    Checking sysinfo v0.37.2\n   Compiling radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)\n    Checking bytes v1.11.1\n    Checking human-panic v2.0.6\n    Checking clap_complete v4.6.0\n    Checking tree-sitter-highlight v0.24.7\n    Checking itertools v0.14.0\n    Checking salsa20 v0.10.2\n    Checking siphasher v0.3.11\n    Checking humantime v2.3.0\n    Checking timeago v0.4.2\n    Checking bloomy v1.2.0\n    Checking scrypt v0.11.0\n    Checking radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)\n    Checking snapbox-macros v0.3.10\n    Checking systemd-journal-logger v2.2.2\n    Checking normalize-line-endings v0.3.0\n    Checking similar v2.7.0\n    Checking pin-project-lite v0.2.17\n   Compiling escargot v0.5.15\n    Checking tokio v1.50.0\n    Checking snapbox v0.4.17\n   Compiling radicle-node v0.20.0 (/ci/src/crates/radicle-node)\n    Checking rustc-hash v1.1.0\n    Checking thousands v0.2.0\n    Checking mintex v0.1.4\n    Checking diff v0.1.13\n    Checking yansi v1.0.1\n   Compiling radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)\n    Checking pretty_assertions v1.4.1\n    Checking dhat v0.3.3\n    Checking structured-logger v1.0.5\n    Checking radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)\n    Checking radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)\n Documenting radicle-cli v0.21.0 (/ci/src/crates/radicle-cli)\n    Checking socket2 v0.5.10\n    Checking lexopt v0.3.2\n Documenting radicle-node v0.20.0 (/ci/src/crates/radicle-node)\n Documenting radicle-remote-helper v0.17.0 (/ci/src/crates/radicle-remote-helper)\n Documenting radicle-cli-test v0.13.0 (/ci/src/crates/radicle-cli-test)\n Documenting radicle-protocol v0.8.0 (/ci/src/crates/radicle-protocol)\n Documenting radicle-systemd v0.13.0 (/ci/src/crates/radicle-systemd)\n Documenting radicle-fetch v0.20.0 (/ci/src/crates/radicle-fetch)\n Documenting radicle-log v0.1.0 (/ci/src/crates/radicle-log)\n Documenting radicle-schemars v0.8.0 (/ci/src/crates/radicle-schemars)\n Documenting radicle-term v0.18.0 (/ci/src/crates/radicle-term)\n Documenting radicle-signals v0.11.0 (/ci/src/crates/radicle-signals)\n Documenting radicle v0.24.0 (/ci/src/crates/radicle)\n Documenting radicle-core v0.3.0 (/ci/src/crates/radicle-core)\n Documenting radicle-cob v0.20.0 (/ci/src/crates/radicle-cob)\n Documenting radicle-crypto v0.17.0 (/ci/src/crates/radicle-crypto)\nerror: unresolved link to `Service`\n --> crates/radicle/src/git/repository/canonical.rs:3:7\n  |\n3 | //! [`Service`] provides operations to evaluate and update canonical references\n  |       ^^^^^^^ no item named `Service` in scope\n  |\n  = help: to escape `[` and `]` characters, add '\\' before them like `\\[` or `\\]`\n  = note: `-D rustdoc::broken-intra-doc-links` implied by `-D warnings`\n  = help: to override `-D warnings` add `#[allow(rustdoc::broken_intra_doc_links)]`\n\nerror: unresolved link to `super::Service::propose`\n --> crates/radicle/src/git/repository/canonical/error.rs:7:27\n  |\n7 | /// [`Service::propose`]: super::Service::propose\n  |                           ^^^^^^^^^^^^^^^^^^^^^^^ no item named `Service` in module `canonical`\n\nerror: unresolved link to `super::Service::reevaluate`\n --> crates/radicle/src/git/repository/canonical/error.rs:8:30\n  |\n8 | /// [`Service::reevaluate`]: super::Service::reevaluate\n  |                              ^^^^^^^^^^^^^^^^^^^^^^^^^^ no item named `Service` in module `canonical`\n\nerror: could not document `radicle`\nwarning: build failed, waiting for other jobs to finish...\n",
      "timestamp": {
        "secs_since_epoch": 1781856292,
        "nanos_since_epoch": 875225111
      },
      "log_source": "Plan"
    }
  72. {
      "type": "action_failed",
      "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",
      "timestamp": {
        "secs_since_epoch": 1781856293,
        "nanos_since_epoch": 82355999
      },
      "log_source": "Plan"
    }
  73. {
      "type": "executor_ends_in_failure",
      "exit_code": 1,
      "timestamp": {
        "secs_since_epoch": 1781856293,
        "nanos_since_epoch": 83364636
      },
      "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": "251971da8a4d1da6a4fc949b40b3e28655313929",
    "author": {
      "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
      "alias": "fintohaps"
    },
    "title": "radicle/git: Canonical service",
    "state": {
      "status": "draft",
      "conflicts": []
    },
    "before": "c3cc29b1c46980c4d5c775aa6e362029c2453e38",
    "after": "002c5b65a9fa968913ad8cce5daaee99d28ba1fd",
    "commits": [
      "002c5b65a9fa968913ad8cce5daaee99d28ba1fd",
      "30572e7f006dd4810fcfba1c97fded6435c4b50f",
      "1a7972b83c8cdf78eabfa8e2606cf6fa7e366204"
    ],
    "target": "07f748475beacd41463ee5ebc0d7a93539ab8f55",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "251971da8a4d1da6a4fc949b40b3e28655313929",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": "fintohaps"
        },
        "description": "Canonical service implementation that utilises the recent [git abstractions](https://radicle.zulipchat.com/#narrow/channel/383670-Patches/topic/Git.20Repository.20Refactor/with/599419004).\n\nAs described by [issue: 68b88659](https://radicle.network/nodes/seed.radicle.dev/rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5/issues/68b886599e5b46b81ab78d6da19823e153bfefbe).",
        "base": "c3cc29b1c46980c4d5c775aa6e362029c2453e38",
        "oid": "30572e7f006dd4810fcfba1c97fded6435c4b50f",
        "timestamp": 1780655669
      },
      {
        "id": "84b74b09f422006928ac3819fa9e4cb7bc2a1658",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": "fintohaps"
        },
        "description": "REVIEW",
        "base": "c3cc29b1c46980c4d5c775aa6e362029c2453e38",
        "oid": "002c5b65a9fa968913ad8cce5daaee99d28ba1fd",
        "timestamp": 1781855750
      }
    ]
  }
}

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>