CCI report: a4183688-528d-47a3-a7ab-5c59b53537e2

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": "b43fc351deb78d1eba45a7535879413830e7aa4a",
    "author": {
      "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
      "alias": null
    },
    "title": "radicle: improve sync fetching",
    "state": {
      "status": "merged",
      "conflicts": []
    },
    "before": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
    "after": "c6df8795a92ba19eee3ab9eb27a4d1bcf57b2f2d",
    "commits": [
      "c6df8795a92ba19eee3ab9eb27a4d1bcf57b2f2d",
      "c2772be6acd8e58ca7c6d01e7d737ea5efba2bcd",
      "8b018742e9115fd9e2647d4adad3158e1c4f95f4",
      "61ace904b7cd83f758400523416292305ce3e7b1",
      "a0a5d65dcb7eb75ef53e8eaf6409a4d7fd65b3f4",
      "4b649160f1f250e37a463b781002a0f99d4887ee"
    ],
    "target": "7e1cb406bb935c3de008d2171e8961f57b4336ea",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "b43fc351deb78d1eba45a7535879413830e7aa4a",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "This patch changes separates the business logic of fetching from the process of\nfetching itself. It does this through a sans-IO approach, where a `Fetcher`\nprovides the necessary state to help drive a fetch forward, without performing\nany of the IO itself.\n\nWhat the `Fetcher` cares about is:\n- What nodes are going to be attempted to be fetched from\n- In what order should they be attempted\n- When should the fetching process be considered finished\n\nThe `Fetcher` is then used in `radicle-cli` to drive forward the `sync::fetch`\nfunction, allowing it to only care about the IO.",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "c854f78bd69b70fe8d24165aaafe04f724301464",
        "timestamp": 1747400926
      },
      {
        "id": "a6f4be72fb80270e662d019c77721ebe0dfd9291",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Changes:\n- Fix to initialising private network for fetcher \u2013 I'm wondering if this might\n  be a different fetcher that you don't add other nodes to\n- Change the output to be more explicit of what the targets are \u2013 there's a\n  weird bug in the spinner logic, I think if the output is not uniform then it\n  does not clear correctly.\n- Extract the logic of the spinner into a `FetcherSpinner` to clean up the\n  `fetch` function more",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "f266631ba81d53d2d37431dbdc6ee77cd732c1ce",
        "timestamp": 1747477253
      },
      {
        "id": "a2fc3407d1e2d8884259314330871d49d3802cb7",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "- Some reviewing and small changes.\n - Use derived implementation of `Ord`, which is equivalent to the one explicitly implemented before.\n - Pipe through the spinner to `connect`.\n - Print status dial/fetch *after* the overall progress to prevent flashing.\n - Explicate which target was met.",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "12a3c70a66a0ca99e8f1fb987066dbde9d2d16da",
        "timestamp": 1747498082
      },
      {
        "id": "d2ff4a39b4c139bcad6f90c917e2681c74c30127",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Changes:\n- Incorporate feedback\n- Rework output of the spinner\n- Move information of the number of candidates to the info message before spinner\n- Yellow colouring for warnings\n- Ordering of candidate nodes is purely chosen by the caller\n- Ensure that local node is never chosen\n- Ensure that nodes are unique by checking fetch results\n- Ensure that replicas can never be larger than number of candidates",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "fb1d3ca18955c599541c1495c4df57bf738a70c7",
        "timestamp": 1747684649
      },
      {
        "id": "1e2d9e146d9c06171be7089f5592dec7b97cd778",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Changes:\n- Introduce min/max bounds for replication factor \u2013 required refactoring\n  SyncSettings\n- Fix up documentation\n- TargetMissed split into a warning and error variant, depending on replication\n  factor bounds",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "4b649160f1f250e37a463b781002a0f99d4887ee",
        "timestamp": 1747751050
      },
      {
        "id": "684b8f472a9ab3e6d356ec31ff549d016d321a84",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "WIP: incorporate lorenz feedback\n- Change copy\n- Move module doc string into fetch module",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "a0a5d65dcb7eb75ef53e8eaf6409a4d7fd65b3f4",
        "timestamp": 1747769324
      },
      {
        "id": "ad3746fca2c2d81ced26d951524af14659df2176",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Review, reword help, change semantics of min/max as discussed. Stuck right in the middle.",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "c6df8795a92ba19eee3ab9eb27a4d1bcf57b2f2d",
        "timestamp": 1747776187
      },
      {
        "id": "808cf1c68c5059caa0e12da8b6f1aecffbb4249a",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "WIP: fix next_node to exhaust candidates",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "89638011a9c6ac68445d4be2c37a256f984d6c9b",
        "timestamp": 1747816805
      },
      {
        "id": "0504fd0ba968f47921aaea81e1457f04ea0b6f51",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "WIP: rework Replicas\n\nReplicas aims for a min and tries for a max, if configured to do so\n\nAlso adding testing to the Fetcher",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "76ef45ccb1e9ced77a1bf021b567c4fd0cf544c0",
        "timestamp": 1747831302
      },
      {
        "id": "97a886ecfcb8bb9b2fb0d138fcb8dc607a3233ff",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Using Lorenz's help change to improve the rad sync help doc",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "cc85c00e9daa17d67cdf9f758967e156b8f61975",
        "timestamp": 1747832754
      },
      {
        "id": "cbd14f21ca3bbf99a2312d715443f3a64467c56e",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Last few edits and fixing the CLI tests\n\nTODO: clean up the change list",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "517b2d090e4d763134da908bff11711500fe6998",
        "timestamp": 1747839997
      },
      {
        "id": "9ecc87228d9521482e3ede157b0d422348554945",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Changes:\n- Changes are cleaned up and consolidated\n- Copy of CLI output should be near, if not already, in its final form\n- CLI tests are all passing \u2013 note that one is skipped to be resolved in the\n  next patch, regarding `rad clone`",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "ea3f03a056dd840cffc90547222737f4647d1c8e",
        "timestamp": 1747840753
      },
      {
        "id": "8cf7c0c548560cf28c86d20d1e71fb2bc3b938f2",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Changes:\n- Fixed typo in rad-clone.md",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "2b04eabbf523e84f9f01e3a33fefe808117fbd72",
        "timestamp": 1747900858
      },
      {
        "id": "3cc9aba967e36d147b2d880bee5c2d95d72cab0a",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "See fixup commits for changes",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "655642d7a22db0937fd5acb9ef0262069d6db1f1",
        "timestamp": 1747995160
      },
      {
        "id": "ad5a1bcbe5b336897d8c7a6e4f357a5c5fa3a788",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Changes:\n- Consolidating fixup commits",
        "base": "5a0a334dddeee5eed68ad8fed3b59213505675b7",
        "oid": "8ba8d96e13256bb74d3bfc23af3e716136410e00",
        "timestamp": 1748008836
      },
      {
        "id": "9436bda3902862b28f0ed7f52e97ff325566b008",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Rebased",
        "base": "c205322c5630baad4da3f8368502cb6195941211",
        "oid": "1a67ac18f36045fcdef1caf11204df93d60b4c1a",
        "timestamp": 1748017982
      }
    ]
  }
}

Send response

{
  "response": "triggered",
  "run_id": {
    "id": "a4183688-528d-47a3-a7ab-5c59b53537e2"
  },
  "info_url": "https://cci.rad.levitte.org//a4183688-528d-47a3-a7ab-5c59b53537e2.html"
}

Checkout the source (in /opt/radcis/ci.rad.levitte.org/cci/state/a4183688-528d-47a3-a7ab-5c59b53537e2/w)

Started at: 2026-09-08 17:32:02.844329+02:00

Commands:

Read the repo configuration (.radicle/native.yaml in /opt/radcis/ci.rad.levitte.org/cci/state/a4183688-528d-47a3-a7ab-5c59b53537e2/w)

shell: 'cargo --version

  rustc --version


  cargo fmt --check

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

  cargo build --all-targets --workspace

  cargo doc --workspace --no-deps

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

  '

Run the script

Commands:

Send result

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