CCI report: 279053a4-aed9-4a19-96a1-8158b9c13be0

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": "fa599876e782a42db153289a0227ac3d0502f8c1",
    "author": {
      "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
      "alias": null
    },
    "title": "Enforce routingMaxSize",
    "state": {
      "status": "merged",
      "conflicts": []
    },
    "before": "3129de3b95e18391932368b100b25c13f4102e46",
    "after": "73ad1de2a4d77e10f77e4fc67cec8f5a540798a8",
    "commits": [
      "73ad1de2a4d77e10f77e4fc67cec8f5a540798a8"
    ],
    "target": "3129de3b95e18391932368b100b25c13f4102e46",
    "labels": [],
    "assignees": [],
    "revisions": [
      {
        "id": "fa599876e782a42db153289a0227ac3d0502f8c1",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "`limits.routingMaxSize` is documented as \"Number of routing table entries\nbefore we start pruning\", but the implementation diverges from this.\n\n    DELETE FROM routing WHERE node <> ?1 AND rowid IN\n      (SELECT rowid FROM routing WHERE timestamp < ?2 ORDER BY timestamp LIMIT ?3)\n\n`?2` is `now - routingMaxAge`. So if nothing is older than routingMaxAge,\nnothing is deleted, however far over routingMaxSize the table has grown. On a\nseed following a busy network, entries are refreshed by gossip faster than\nthey age out, and the cap is never reachable.\n\nFor example, on a permissive node with routingMaxSize=1000, routingMaxAge=7d,\nI observed:\n\n    routing rows                             94,254\n    older than routingMaxAge, ie. prunable       16\n\nDropping routingMaxAge to 1 day cleared the backlog the 7-day setting had\naccumulated -- from 94,254 down to 82,400 rows -- but then stopped, with\n8 rows prunable and the table still ... 82x over the cap. The `routing` table\nsize is therefore decided by arrival rate; the configured max size has no\neffect on it.\n\nSplit the two evictions so each does what its name says:\n\n- size eviction removes the oldest entries down to `routingMaxSize`,\n  regardless of age;\n- age eviction then removes anything still older than\n`routingMaxAge`.\n\nSize runs first: it takes the oldest rows, so the age pass only fires when\nthe table was near its limit.",
        "base": "0e5a56f25f51d07290613a9363bd8c0c9fc8e0be",
        "oid": "5fb61217c44f5e1834908333d1f5d9e41c9aeaa4",
        "timestamp": 1790776436
      },
      {
        "id": "7c9d9cb1053f5dd9be6d4b5e00dde09572b71eb8",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Rebase",
        "base": "0e5a56f25f51d07290613a9363bd8c0c9fc8e0be",
        "oid": "0e5a56f25f51d07290613a9363bd8c0c9fc8e0be",
        "timestamp": 1791453983
      },
      {
        "id": "d22c367ea126c1832e7f32b2bcb419c0c5565caa",
        "author": {
          "id": "did:key:z6MkkPvBfjP4bQmco5Dm7UGsX2ruDBieEHi8n9DVJWX5sTEz",
          "alias": null
        },
        "description": "Rebase",
        "base": "3129de3b95e18391932368b100b25c13f4102e46",
        "oid": "73ad1de2a4d77e10f77e4fc67cec8f5a540798a8",
        "timestamp": 1791454034
      }
    ]
  }
}

Send response

{
  "response": "triggered",
  "run_id": {
    "id": "279053a4-aed9-4a19-96a1-8158b9c13be0"
  },
  "info_url": "https://cci.rad.levitte.org//279053a4-aed9-4a19-96a1-8158b9c13be0.html"
}

Checkout the source (in /opt/radcis/ci.rad.levitte.org/cci/state/279053a4-aed9-4a19-96a1-8158b9c13be0/w)

Started at: 2026-10-08 12:08:19.074864+02:00

Commands:

Read the repo configuration (.radicle/native.yaml in /opt/radcis/ci.rad.levitte.org/cci/state/279053a4-aed9-4a19-96a1-8158b9c13be0/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": "failure"
}