diff --git a/.openclaw-sync/source.json b/.openclaw-sync/source.json index 04b507a1d..e5aaab05c 100644 --- a/.openclaw-sync/source.json +++ b/.openclaw-sync/source.json @@ -1,5 +1,5 @@ { "repository": "openclaw/openclaw", - "sha": "6e985a421da7f9624adbf3b5bb71e1e5825d7c4d", - "syncedAt": "2026-04-24T21:17:57.260Z" + "sha": "5b8bd6371c666a5de43c82305e0315771e8e49d5", + "syncedAt": "2026-04-24T21:24:12.759Z" } diff --git a/docs/plugins/manifest.md b/docs/plugins/manifest.md index cfca2d643..2cdf604ec 100644 --- a/docs/plugins/manifest.md +++ b/docs/plugins/manifest.md @@ -337,9 +337,11 @@ on `setup.providers[].envVars`. Set `requiresRuntime: false` only when those descriptors are sufficient for the setup surface. OpenClaw treats explicit `false` as a descriptor-only contract -and will not execute `setup-api` for setup lookup. Omitted `requiresRuntime` -keeps legacy fallback behavior so existing plugins that added descriptors -without the flag do not break. +and will not execute `setup-api` or `openclaw.setupEntry` for setup lookup. If +a descriptor-only plugin still ships one of those setup runtime entries, +OpenClaw reports an additive diagnostic and continues ignoring it. Omitted +`requiresRuntime` keeps legacy fallback behavior so existing plugins that added +descriptors without the flag do not break. Because setup lookup can execute plugin-owned `setup-api` code, normalized `setup.providers[].id` and `setup.cliBackends[]` values must stay unique across