CCI report: 3e3e9dbd-10e2-4768-a110-a85c06ec1cd2

Request message

{
  "request": "trigger",
  "version": 1,
  "event_type": "patch",
  "repository": {
    "id": "rad:z3gqcJUoA1n9HaHKufZs5FCSGazv5",
    "name": "heartwood",
    "description": "Radicle Heartwood Protocol & Stack",
    "private": false,
    "default_branch": "main",
    "delegates": [
      "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
      "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
      "did:key:z6MksFqXN3Yhqk8pTJdUGLwATkRfQvwZXPqR2qMEhbS9wzpT"
    ]
  },
  "action": "Created",
  "patch": {
    "id": "e8edc0cd4c9277080f3e5631104c34bb18ff9879",
    "author": {
      "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
      "alias": null
    },
    "title": "cob: Fix test flake through deterministic signing keys",
    "state": {
      "status": "open",
      "conflicts": []
    },
    "before": "09d04d1787b06e4fe479de4b21f873212edaeb63",
    "after": "2a758c9487226e9b87aa6693df0d6b0f6a62b24f",
    "commits": [
      "2a758c9487226e9b87aa6693df0d6b0f6a62b24f"
    ],
    "target": "09d04d1787b06e4fe479de4b21f873212edaeb63",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "e8edc0cd4c9277080f3e5631104c34bb18ff9879",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Signing keys drawn with `r#gen::<SigningKey>(n)` look seeded but are\nnot. `SigningKey::arbitrary` derives the key from `usize::arbitrary`,\nand qcheck's `usize::arbitrary` ignores the size: one draw in ten it\npicks from {0, 1, usize::MAX}, otherwise a random integer. Two keys\ndrawn in one test therefore collide about once in 300 runs, leaving\n\"Neil\" and \"Terry\" sharing one identity and failing for a reason\nunrelated to the code under test.\n\n`SigningKey::mock(n)` derives the key from `n`, so keys\nare distinct and stable across runs. The `r#gen` helper has no other\ncaller and goes with it.\n\nTo reproduce on master, build the test binary once and run the\ntwo-key test until the keys collide (about once in 300 runs, 11 of\n3000 when measured):\n\n```shell\n    bin=$(cargo test -p radicle-cob --features git2,radicle-crypto/serde \\\n        --no-run --message-format=json \\\n        | jq -r 'select(.executable != null) | .executable')\n    for i in $(seq 1 3000); do $bin -q traverse_cobs >/dev/null || echo $i; done\n```\n\nIt fails with Terry seeing Neil's issue as his own:\n\n```\n    thread 'tests::git::traverse_cobs' panicked at crates/radicle-cob/src/tests.rs:234:9:\n    assertion `left == right` failed\n      left: [[105, 115, 115, 117, 101, 32, 49], [105, 115, 115, 117, 101, 32, 50]]\n     right: [[105, 115, 115, 117, 101, 32, 49]]\n```\n\nThe same failure is forced by giving both signers `SigningKey::mock(1)`.",
        "base": "28f740cb8a35db69e1ee8c689e2dab786334153f",
        "oid": "0bbdf40f8c64fb2bcbf51ad3f5f5f2cdd550d0f1",
        "timestamp": 1792418727
      },
      {
        "id": "7704c014ddd9639c3dde5cea685ad0602897c327",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Rebase, cut down commit message.",
        "base": "09d04d1787b06e4fe479de4b21f873212edaeb63",
        "oid": "2a758c9487226e9b87aa6693df0d6b0f6a62b24f",
        "timestamp": 1792830086
      }
    ]
  }
}

Send response

{
  "response": "triggered",
  "run_id": {
    "id": "3e3e9dbd-10e2-4768-a110-a85c06ec1cd2"
  },
  "info_url": "https://cci.rad.levitte.org//3e3e9dbd-10e2-4768-a110-a85c06ec1cd2.html"
}

Checkout the source (in /opt/radcis/ci.rad.levitte.org/cci/state/3e3e9dbd-10e2-4768-a110-a85c06ec1cd2/w)

Started at: 2026-10-24 10:21:46.621516+02:00

Commands:

Read the repo configuration (.radicle/native.yaml in /opt/radcis/ci.rad.levitte.org/cci/state/3e3e9dbd-10e2-4768-a110-a85c06ec1cd2/w)

shell: 'export RUSTDOCFLAGS=''-D warnings''


  cargo --version

  rustc --version


  cargo fmt --check

  cargo clippy --all-targets --workspace -- --deny warnings

  cargo build --all-targets --workspace

  cargo doc --workspace --no-deps --all-features

  cargo test --workspace --no-fail-fast

  '

Run the script

Commands:

Send result

{
  "response": "finished",
  "result": "success"
}