openclaw/test/fixtures/node-runtime-integration-contract.json
Gio Della-Libera 29069179de
Some checks failed
Workflow Sanity / actionlint (push) Waiting to run
ClawSweeper Dispatch / dispatch (push) Waiting to run
CodeQL / Security High (actions) (push) Waiting to run
CodeQL / Security High (channel-runtime-boundary) (push) Waiting to run
CodeQL / Security High (core-auth-secrets) (push) Waiting to run
CodeQL / Security High (plugin-trust-boundary) (push) Waiting to run
CodeQL / Security High (mcp-process-tool-boundary) (push) Waiting to run
CodeQL / Security High (network-ssrf-boundary) (push) Waiting to run
CodeQL / Security High (process-exec-boundary) (push) Waiting to run
Control UI Locale Refresh / resolve-base (push) Waiting to run
Control UI Locale Refresh / Verify generated PR App permissions (push) Blocked by required conditions
Control UI Locale Refresh / Refresh (push) Blocked by required conditions
Control UI Locale Refresh / Commit control UI locale refresh (push) Blocked by required conditions
Docs Sync Publish Repo / sync-publish-repo (push) Waiting to run
Docs / docs (push) Waiting to run
Native App Locale Refresh / resolve-base (push) Waiting to run
Native App Locale Refresh / Verify generated PR App permissions (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ar (push) Blocked by required conditions
Native App Locale Refresh / Refresh native de (push) Blocked by required conditions
Native App Locale Refresh / Refresh native es (push) Blocked by required conditions
Native App Locale Refresh / Refresh native fa (push) Blocked by required conditions
Native App Locale Refresh / Refresh native fr (push) Blocked by required conditions
Native App Locale Refresh / Refresh native hi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native id (push) Blocked by required conditions
Native App Locale Refresh / Refresh native it (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ja-JP (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ko (push) Blocked by required conditions
Native App Locale Refresh / Refresh native nl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pl (push) Blocked by required conditions
Native App Locale Refresh / Refresh native pt-BR (push) Blocked by required conditions
Native App Locale Refresh / Refresh native ru (push) Blocked by required conditions
Native App Locale Refresh / Refresh native sv (push) Blocked by required conditions
Native App Locale Refresh / Refresh native th (push) Blocked by required conditions
Native App Locale Refresh / Refresh native tr (push) Blocked by required conditions
Native App Locale Refresh / Refresh native uk (push) Blocked by required conditions
Native App Locale Refresh / Refresh native vi (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-CN (push) Blocked by required conditions
Native App Locale Refresh / Refresh native zh-TW (push) Blocked by required conditions
Native App Locale Refresh / Commit native locale refresh (push) Blocked by required conditions
OpenClaw Stable Main Closeout / Resolve stable release closeout inputs (push) Waiting to run
OpenClaw Stable Main Closeout / Verify stable main closeout (push) Blocked by required conditions
Plugin Init Scaffold Validation / Validate provider scaffold (push) Waiting to run
Plugin NPM Release / preview_plugins_npm (push) Waiting to run
Plugin NPM Release / Validate release publish approval (push) Blocked by required conditions
Plugin NPM Release / preview_plugin_pack (push) Blocked by required conditions
Plugin NPM Release / Preflight plugin npm package () (push) Blocked by required conditions
Plugin NPM Release / Seal prepared plugin npm release (push) Blocked by required conditions
Plugin NPM Release / Trusted publisher OIDC exchange (push) Blocked by required conditions
Plugin NPM Release / publish_plugins_npm (push) Blocked by required conditions
Plugin NPM Release / verify_plugins_npm (push) Blocked by required conditions
Vitest Cache Warm / warm (linux) (push) Waiting to run
Vitest Cache Warm / warm (macos) (push) Waiting to run
Website Installer Sync / Fedora installer (root) (push) Waiting to run
Website Installer Sync / static (push) Waiting to run
Website Installer Sync / linux-docker (push) Waiting to run
Website Installer Sync / debian-installer (push) Waiting to run
Website Installer Sync / linux-build-tools-failure (push) Waiting to run
Website Installer Sync / linux-non-root (push) Waiting to run
Website Installer Sync / Fedora installer (non-root) (push) Waiting to run
Website Installer Sync / macos-installer (push) Waiting to run
Website Installer Sync / windows-installer (push) Waiting to run
Website Installer Sync / sync-website (push) Blocked by required conditions
Workflow Sanity / no-tabs (push) Waiting to run
Workflow Sanity / generated-doc-baselines (push) Waiting to run
Sandbox Common Smoke / sandbox-common-smoke (push) Has been cancelled
Live Media Runner Image / Build live media runner image (push) Has been cancelled
feat(rust): add the embeddable node runtime lifecycle (#116450)
Adds the bounded embeddable Rust node lifecycle on the merged shared-client foundation. The unique runtime delta passed focused Rust gates and exact-head ClawSweeper review found no actionable code or security issue.
2026-09-16 11:22:29 -07:00

387 lines
11 KiB
JSON

{
"version": 3,
"declaredCapabilities": [" location ", "camera", "camera"],
"expectedCapabilities": ["camera", "location"],
"declaredCommands": [
" example.allowed ",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"expectedCommands": [
"example.allowed",
"example.approval-pending",
"example.local-denied",
"example.policy-withheld"
],
"authoritySnapshots": [
{
"name": "baseline",
"connectionId": "conn-1",
"pairingGeneration": "pair-1",
"sessionActive": true,
"declaredCommands": [
"example.allowed",
"example.local-denied",
"example.policy-withheld"
],
"approvedCommands": [
"example.allowed",
"example.local-denied",
"example.policy-withheld"
],
"effectiveCommands": ["example.allowed", "example.local-denied"],
"withheldCommands": ["example.policy-withheld"],
"gatewayPolicy": {
"allow": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld",
"example.undeclared"
],
"deny": ["example.policy-withheld"]
},
"expectedStates": [
{ "command": "example.allowed", "state": "invocable" },
{ "command": "example.local-denied", "state": "invocable" },
{ "command": "example.approval-pending", "state": "undeclared" },
{ "command": "example.policy-withheld", "state": "unauthorized" },
{ "command": "example.undeclared", "state": "undeclared" }
]
},
{
"name": "widened-pending",
"connectionId": "conn-2",
"pairingGeneration": "pair-1",
"sessionActive": true,
"declaredCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"approvedCommands": [
"example.allowed",
"example.local-denied",
"example.policy-withheld"
],
"effectiveCommands": ["example.allowed", "example.local-denied"],
"withheldCommands": ["example.policy-withheld"],
"gatewayPolicy": {
"allow": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld",
"example.undeclared"
],
"deny": ["example.policy-withheld"]
},
"expectedStates": [
{ "command": "example.allowed", "state": "invocable" },
{ "command": "example.approval-pending", "state": "pending-approval" },
{ "command": "example.policy-withheld", "state": "unauthorized" },
{ "command": "example.undeclared", "state": "undeclared" }
]
},
{
"name": "reapproved",
"connectionId": "conn-2",
"pairingGeneration": "pair-1",
"sessionActive": true,
"declaredCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"approvedCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"effectiveCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending"
],
"withheldCommands": ["example.policy-withheld"],
"gatewayPolicy": {
"allow": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld",
"example.undeclared"
],
"deny": ["example.policy-withheld"]
},
"expectedStates": [
{ "command": "example.allowed", "state": "invocable" },
{ "command": "example.approval-pending", "state": "invocable" },
{ "command": "example.policy-withheld", "state": "unauthorized" },
{ "command": "example.undeclared", "state": "undeclared" }
]
},
{
"name": "policy-revoked",
"connectionId": "conn-2",
"pairingGeneration": "pair-1",
"sessionActive": true,
"declaredCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"approvedCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"effectiveCommands": ["example.local-denied", "example.approval-pending"],
"withheldCommands": ["example.allowed", "example.policy-withheld"],
"gatewayPolicy": {
"allow": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld",
"example.undeclared"
],
"deny": ["example.allowed", "example.policy-withheld"]
},
"expectedStates": [
{ "command": "example.allowed", "state": "unauthorized" },
{ "command": "example.approval-pending", "state": "invocable" },
{ "command": "example.policy-withheld", "state": "unauthorized" },
{ "command": "example.undeclared", "state": "undeclared" }
]
},
{
"name": "policy-restored",
"connectionId": "conn-2",
"pairingGeneration": "pair-1",
"sessionActive": true,
"declaredCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"approvedCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"effectiveCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"withheldCommands": [],
"gatewayPolicy": {
"allow": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld",
"example.undeclared"
],
"deny": []
},
"expectedStates": [
{ "command": "example.allowed", "state": "invocable" },
{ "command": "example.approval-pending", "state": "invocable" },
{ "command": "example.policy-withheld", "state": "invocable" },
{ "command": "example.undeclared", "state": "undeclared" }
]
},
{
"name": "generation-promoted",
"connectionId": "conn-2",
"pairingGeneration": "pair-2",
"sessionActive": true,
"declaredCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"approvedCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"effectiveCommands": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld"
],
"withheldCommands": [],
"gatewayPolicy": {
"allow": [
"example.allowed",
"example.local-denied",
"example.approval-pending",
"example.policy-withheld",
"example.undeclared"
],
"deny": []
},
"expectedStates": [
{ "command": "example.allowed", "state": "invocable" },
{ "command": "example.approval-pending", "state": "invocable" },
{ "command": "example.policy-withheld", "state": "invocable" },
{ "command": "example.undeclared", "state": "undeclared" }
]
}
],
"authorityTransitions": [
{
"name": "surface-widened",
"from": "baseline",
"to": "widened-pending",
"command": "example.approval-pending",
"fromState": "undeclared",
"toState": "pending-approval",
"preservesConnection": false,
"cancelsActive": false,
"retiresPairingGeneration": false
},
{
"name": "surface-reapproved",
"from": "widened-pending",
"to": "reapproved",
"command": "example.approval-pending",
"fromState": "pending-approval",
"toState": "invocable",
"preservesConnection": true,
"cancelsActive": false,
"retiresPairingGeneration": false
},
{
"name": "policy-revoked",
"from": "reapproved",
"to": "policy-revoked",
"command": "example.allowed",
"fromState": "invocable",
"toState": "unauthorized",
"preservesConnection": true,
"cancelsActive": true,
"retiresPairingGeneration": false
},
{
"name": "policy-reconciled",
"from": "policy-revoked",
"to": "policy-restored",
"command": "example.allowed",
"fromState": "unauthorized",
"toState": "invocable",
"preservesConnection": true,
"cancelsActive": false,
"retiresPairingGeneration": false
},
{
"name": "pairing-generation-promoted",
"from": "policy-restored",
"to": "generation-promoted",
"command": "example.allowed",
"fromState": "invocable",
"toState": "invocable",
"preservesConnection": true,
"cancelsActive": true,
"retiresPairingGeneration": true
}
],
"invocations": [
{
"snapshot": "baseline",
"command": "example.allowed",
"gatewayState": "invocable",
"gatewayDelivery": "deliver",
"localAdmission": "allow",
"expected": "success"
},
{
"snapshot": "baseline",
"command": "example.local-denied",
"gatewayState": "invocable",
"gatewayDelivery": "deliver",
"localAdmission": "deny",
"expected": "failure",
"errorCode": "LOCAL_POLICY_DENIED",
"errorMessage": "command is outside the embedding's current local policy"
},
{
"snapshot": "widened-pending",
"command": "example.approval-pending",
"gatewayState": "pending-approval",
"gatewayDelivery": "reject",
"localAdmission": "not-evaluated"
},
{
"snapshot": "baseline",
"command": "example.policy-withheld",
"gatewayState": "unauthorized",
"gatewayDelivery": "reject",
"localAdmission": "not-evaluated"
},
{
"snapshot": "baseline",
"command": "example.undeclared",
"gatewayState": "undeclared",
"gatewayDelivery": "reject",
"localAdmission": "not-evaluated"
}
],
"cleanup": [
{
"trigger": "deadline",
"owner": "node-runtime",
"effects": [
"cancel-handler",
"close-input",
"reject-progress",
"remove-active-invocation"
]
},
{
"trigger": "node.invoke.cancel",
"owner": "node-runtime",
"effects": [
"cancel-handler",
"close-input",
"reject-progress",
"remove-active-invocation"
]
},
{
"trigger": "policy-revocation",
"owner": "gateway",
"effects": [
"cancel-handler",
"close-input",
"reject-progress",
"remove-active-invocation"
]
},
{
"trigger": "pairing-generation-change",
"owner": "gateway",
"effects": [
"cancel-handler",
"close-input",
"reject-progress",
"remove-active-invocation"
]
}
]
}