CCI report: 4c9caf08-59e8-4195-86cd-40f2ded32a00

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:z6MktaNvN1KVFMkSRAiN4qK5yvX1zuEEaseeX5sffhzPZRZW",
      "did:key:z6MkireRatUThvd3qzfKht1S44wpm4FEWSSa4PRMTSQZ3voM",
      "did:key:z6MkgFq6z5fkF2hioLLSNu1zP2qEL1aHXHZzGH1FLFGAnBGz",
      "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz"
    ]
  },
  "action": "Updated",
  "patch": {
    "id": "9702eda6cd9b7f8f49f9a17d976a465f5df8c193",
    "author": {
      "id": "did:key:z6MkihpDMDu7ZYo6ma4M3Stf4fZF7Q1Jjuysn9GaRAvoTvYG",
      "alias": "LAA"
    },
    "title": "Multiprofile: Profile management for Radicle CLI",
    "state": {
      "status": "draft",
      "conflicts": []
    },
    "before": "55cdd880bfee08124d5b6a38cc05036402c7ab6e",
    "after": "de9628e1a2be2dcbe50bcb6c523bc47953f3e60c",
    "commits": [
      "de9628e1a2be2dcbe50bcb6c523bc47953f3e60c",
      "49b6cd29ee53c608a458b02978dd959fd92d3cce",
      "829b7cba1802cdcc6a1648e7894c9a7e21b0cf37",
      "13fd2ed92139426d31f3973c7e3024265fc5107a"
    ],
    "target": "352c29c23ce2560750369aa50bc9f43bf3019d3f",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "9702eda6cd9b7f8f49f9a17d976a465f5df8c193",
        "author": {
          "id": "did:key:z6MkihpDMDu7ZYo6ma4M3Stf4fZF7Q1Jjuysn9GaRAvoTvYG",
          "alias": "LAA"
        },
        "description": "This change introduces a first-class profile management command to the Radicle CLI, enabling clean separation and safe switching of per-user configuration and keys by copying selected profile data into the root ~/.radicle/ directory (no symlinks).\n\nSummary\n- New command: rad profile\n- Subcommands: new, switch, list, current, remove\n- new: creates profiles/<name>, activates it, and clears the root so rad auth can initialize cleanly\n- switch: saves current root back to the active profile; then copies the target profile\u2019s config.json and keys/* into ~/.radicle/\n- Replace-in-place copy semantics to avoid partial states; cross-platform behavior\n\nDocumentation\n- crates/radicle-cli/examples/rad-profile.md",
        "base": "55cdd880bfee08124d5b6a38cc05036402c7ab6e",
        "oid": "13fd2ed92139426d31f3973c7e3024265fc5107a",
        "timestamp": 1756340885
      },
      {
        "id": "d08d24896f8f6c87df57a4e6b2c8d2c74fcf9ecd",
        "author": {
          "id": "did:key:z6MkihpDMDu7ZYo6ma4M3Stf4fZF7Q1Jjuysn9GaRAvoTvYG",
          "alias": "LAA"
        },
        "description": "cli(profile): isolated profiles; copy-on-switch; explicit default\n\nIntroduce first-class profile management for the Radicle CLI.\n\n  Features\n  - Command: rad profile\n  - Subcommands:\n    \u2022 new <name> [--from <name>] [--force]\n    \u2022 switch <name|default> [--print-env]\n    \u2022 list | current | remove <name> [-y]\n\n  Semantics\n  - Always show 'default' in listings; 'current' prints 'default' when no\n    active profile is set.\n  - switch <name> persists the current root back to the active profile, then\n    copies the target profile's config.json and keys/* into ~/.radicle/.\n  - switch default persists the current root (if any), clears ~/.radicle/\n    (config.json, keys/), and unsets the active profile marker; with\n    --print-env it emits 'unset RAD_PROFILE'.\n  - new clears the root so 'rad auth' can initialize cleanly.\n\n  Implementation\n  - No symlinks; replace-in-place copy to avoid partial states (portable).\n  - Robust RAD_HOME resolution (works before 'rad auth').\n  - Dedicated errors with thiserror; clippy/fmt clean.\n\n  Docs\n  - crates/radicle-cli/examples/rad-profile.md",
        "base": "55cdd880bfee08124d5b6a38cc05036402c7ab6e",
        "oid": "829b7cba1802cdcc6a1648e7894c9a7e21b0cf37",
        "timestamp": 1756499366
      },
      {
        "id": "c0643bfc43c9d60111740fad4a7755bc124de02b",
        "author": {
          "id": "did:key:z6MkihpDMDu7ZYo6ma4M3Stf4fZF7Q1Jjuysn9GaRAvoTvYG",
          "alias": "LAA"
        },
        "description": "Updated the code to be compatible with the current Radicle structure and made it safer with atomic-copy.",
        "base": "55cdd880bfee08124d5b6a38cc05036402c7ab6e",
        "oid": "de9628e1a2be2dcbe50bcb6c523bc47953f3e60c",
        "timestamp": 1765679124
      }
    ]
  }
}

Send response

{
  "response": "triggered",
  "run_id": {
    "id": "4c9caf08-59e8-4195-86cd-40f2ded32a00"
  },
  "info_url": "https://cci.rad.levitte.org//4c9caf08-59e8-4195-86cd-40f2ded32a00.html"
}

Checkout the source (in /opt/radcis/ci.rad.levitte.org/cci/state/4c9caf08-59e8-4195-86cd-40f2ded32a00/w)

Started at: 2025-12-14 03:25:30.321979+01:00

Commands:

Read the repo configuration (.radicle/native.yaml in /opt/radcis/ci.rad.levitte.org/cci/state/4c9caf08-59e8-4195-86cd-40f2ded32a00/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"
}