What you're trying to do
vouch declares openclaw.compat.pluginApi: ">=2026.4.0" in openclaw.plugin.json. The same constraint should surface in kb.capabilities so non-OpenClaw clients can detect compat without parsing the manifest. Drift between the two declarations should fail CI.
Suggested shape
kb.capabilities gains a host_compat: {openclaw: {pluginApi: ">=2026.4.0"}} block.
tests/test_capabilities.py asserts the value matches the JSON in openclaw.plugin.json.
- A future host (Cursor, OpenAI Codex) registers its compat range under the same block.
Acceptance
- Bumping the pluginApi range in one file but not the other fails CI with a clear "host compat drift".
Out of scope
- Multi-host compat matrix beyond OpenClaw in v1.
What you're trying to do
vouch declares
openclaw.compat.pluginApi: ">=2026.4.0"inopenclaw.plugin.json. The same constraint should surface inkb.capabilitiesso non-OpenClaw clients can detect compat without parsing the manifest. Drift between the two declarations should fail CI.Suggested shape
kb.capabilitiesgains ahost_compat: {openclaw: {pluginApi: ">=2026.4.0"}}block.tests/test_capabilities.pyasserts the value matches the JSON inopenclaw.plugin.json.Acceptance
Out of scope