CCI report: c82c6374-9a12-4f16-9a0c-ec50fac9244d

Request 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:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
      "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
    ]
  },
  "action": "Created",
  "patch": {
    "id": "f67ef748bfb0f3bb680bb4db0aba4e4b44f1b605",
    "author": {
      "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
      "alias": null
    },
    "title": "radicle: refactor doc",
    "state": {
      "status": "merged",
      "conflicts": []
    },
    "before": "f83c11674287d4f56c43daac74d7461abfc0ddde",
    "after": "de1958fab04a95f73b7d7dcc62d66775d0854fc1",
    "commits": [
      "de1958fab04a95f73b7d7dcc62d66775d0854fc1"
    ],
    "target": "3fc92f83fe089263c470b328414d923227cf0e4a",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "f67ef748bfb0f3bb680bb4db0aba4e4b44f1b605",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": null
        },
        "description": "The aim of this change is to make the `Doc` type more safe to use by approaching\nthe design via [Parse don't validate][[0]] approach.\n\nThe problem with the previous approach was that all field were `pub` and thus a\n`Doc<Verified>` could easily be mutated and serialized. Granted, the code that\nused the serialization would tend to verify the `Doc` first, however, this\napproach *ensures* that only a verified `Doc` can be serialized. It also meant\nthat trying to add new data that would follow the parse approach would require\nmore generic parameters on top of the existing `PhantomData` parameter, i.e. we\nneed to do something like: `Doc<RawField, V> -> Doc<ValidField, V>`.\n\nThe new approach splits the type into two separate types: `DocMut` and `Doc`.\nThe former is allowed to be mutated at will, and uses types that are less\nstrict. The latter is the valid type that can only be constructed by validating\na `DocMut` (or the `initial` constructor). The `Doc` type's fields can then only\nbe accessed by read-only methods.\n\nSolves the problems above by only allowing mutations to `DocMut`, as well as,\nnew fields being added to `DocMut` which are then validated via\n`DocMut::verified`.\n\n[0]: https://lexi-lambda.github.io/blog/2019/11/05/parse-don-t-validate/",
        "base": "855327d303566aac1d3e065d4ba7e16d9ccd18e6",
        "oid": "c8faf96c2be9865af9949c0c9dbffddc0c9a0fe6",
        "timestamp": 1728992474
      },
      {
        "id": "f58adbe03a3a198d676f5b0d66a9b6b83bfffe44",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": null
        },
        "description": "Changes:\n- Renamed DocMut to RawDoc\n- Renamed `into_mut` to `edit`\n- Use `Doc::edit` everywhere and remove `From<Doc> for RawDoc` impl\n- Introduce `Doc::with_edits` to for a slightly nicer API in some\n  sections\n- `Threshold::new` takes `Delegates` to ensure it is always\n  constructed safely\n- Changed `Delegates` constructor to remove `HashSet` and use counter\n  for checking number of delegates.\n- Added a test for checking verifying a Doc de-deuplicates DIDs\n- Fix documentation indentation",
        "base": "f83c11674287d4f56c43daac74d7461abfc0ddde",
        "oid": "4c46221ba17595292b002d27a770a009f5ed67a6",
        "timestamp": 1729588569
      },
      {
        "id": "3d477afe22b9fc236f191559c32fffc8e62462d4",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": null
        },
        "description": "Changes:\n- Simplify Delegates::new constructor to use `Vec` and use the `len`\n  for checking when it exceeds the max.\n- Fix documentation links\n- Change `blob_at` from `pub` to `pub(crate)`",
        "base": "f83c11674287d4f56c43daac74d7461abfc0ddde",
        "oid": "6de8261c7434aa78f12027b0422c85a5c386a5ad",
        "timestamp": 1729596697
      },
      {
        "id": "33614c5881843ef7359638caaa90d7950189af03",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": null
        },
        "description": "Changes:\n- Fix length check to go after we have pushed\n- Add test case for maximum number of delegates",
        "base": "f83c11674287d4f56c43daac74d7461abfc0ddde",
        "oid": "69cf86b5291827f88bac4dbafc9b708992ce8905",
        "timestamp": 1729599916
      },
      {
        "id": "3ee4e47f2d8bad69dcc00d8c61180ac62777a43f",
        "author": {
          "id": "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
          "alias": null
        },
        "description": "Changes:\n- Check length before pushing, and do so after `contains` check",
        "base": "f83c11674287d4f56c43daac74d7461abfc0ddde",
        "oid": "de1958fab04a95f73b7d7dcc62d66775d0854fc1",
        "timestamp": 1729605535
      }
    ]
  }
}

Send response

{
  "response": "triggered",
  "run_id": {
    "id": "c82c6374-9a12-4f16-9a0c-ec50fac9244d"
  },
  "info_url": "https://cci.rad.levitte.org//c82c6374-9a12-4f16-9a0c-ec50fac9244d.html"
}

Checkout the source (in /opt/radcis/ci.rad.levitte.org/cci/state/c82c6374-9a12-4f16-9a0c-ec50fac9244d/w)

Started at: 2026-09-08 05:46:16.800991+02:00

Commands:

Read the repo configuration (.radicle/native.yaml in /opt/radcis/ci.rad.levitte.org/cci/state/c82c6374-9a12-4f16-9a0c-ec50fac9244d/w)

shell: 'cargo --version

  rustc --version


  cargo fmt --check

  cargo clippy --all-targets --workspace -- --deny clippy::all

  cargo build --all-targets --workspace

  cargo doc --workspace

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

  '

Run the script

Commands:

Send result

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