From a7fb812de306cc2db937bfab11526e8e285c6ccb Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Wed, 6 May 2026 08:30:02 +0000 Subject: [PATCH] chore(deps): bump plugins/lossless-claw from `4724d3f` to `4fc60c9` (#28) * chore(deps): bump plugins/lossless-claw from `4724d3f` to `4fc60c9` Bumps [plugins/lossless-claw](https://github.com/Martian-Engineering/lossless-claw) from `4724d3f` to `4fc60c9`. - [Release notes](https://github.com/Martian-Engineering/lossless-claw/releases) - [Commits](https://github.com/Martian-Engineering/lossless-claw/compare/4724d3fe6ccfd85f275aad732f3b01551d909e5a...4fc60c925c1eed730a73c6bb62144f7af905687f) --- updated-dependencies: - dependency-name: plugins/lossless-claw dependency-version: 46d1b0316245e7c3b6f940ca3eb124539ba2180c dependency-type: direct:production ... Signed-off-by: dependabot[bot] * chore(reports): refresh dependabot compatibility reports --------- Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Vincent Koc Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- README.md | 18 +- plugins/lossless-claw | 2 +- reports/crabpot-capture.json | 66 +- reports/crabpot-capture.md | 27 +- reports/crabpot-ci-policy.json | 3 +- reports/crabpot-ci-policy.md | 54 +- reports/crabpot-ci-summary.json | 30 +- reports/crabpot-ci-summary.md | 16 +- reports/crabpot-dashboard-data.json | 34 +- reports/crabpot-import-loop-profile.json | 190 ++--- reports/crabpot-import-loop-profile.md | 44 +- reports/crabpot-issues.md | 93 +-- reports/crabpot-package-availability.json | 2 +- reports/crabpot-profile-diff.json | 38 +- reports/crabpot-profile-diff.md | 6 +- reports/crabpot-report.json | 165 ++-- reports/crabpot-report.md | 107 +-- reports/crabpot-runtime-profile.json | 876 +++++++++++----------- reports/crabpot-runtime-profile.md | 56 +- reports/crabpot-synthetic-probes.json | 44 +- reports/crabpot-synthetic-probes.md | 22 +- 21 files changed, 896 insertions(+), 997 deletions(-) diff --git a/README.md b/README.md index 7e28b62..7d094d5 100644 --- a/README.md +++ b/README.md @@ -10,14 +10,14 @@ ## Reporting Data `main` follows the latest published npm package and npm `latest` plugin artifacts, with bundled OpenClaw fixtures source-packed from the matching checkout. `crab-beta` follows beta npm dist-tags for externalized packages and source-packs bundled fixtures. `crab-development` checks `openclaw/openclaw` main against source-packed official plugin artifacts from that same OpenClaw checkout. -- **Last dashboard update:** May 06, 2026, 08:17 UTC +- **Last dashboard update:** May 06, 2026, 08:26 UTC - **Source:** `npm-latest` - **OpenClaw version:** `2026.5.4` - **OpenClaw SHA:** `325df3efefe9` - **Dashboard target:** `openclaw@latest + @openclaw/*@latest + bundled source fixtures` - **Plugin artifacts:** `npm latest fixture set plus bundled source-packed fixtures` -- **GitHub report run:** [25424124649](https://github.com/openclaw/crabpot/actions/runs/25424124649) +- **GitHub report run:** [25424493057](https://github.com/openclaw/crabpot/actions/runs/25424493057) @@ -28,16 +28,16 @@ | Fixtures | 57 | | Hard breakages | 0 | | Warnings | 148 | -| Suggestions | 156 | -| Issues | 304 | +| Suggestions | 155 | +| Issues | 303 | | P0 issues | [šŸ”“ P0 0](reports/crabpot-issues.md#p0-live-issues) | | P1 issues | [🟠 P1 38](reports/crabpot-issues.md#triage-summary) | | Live issues | 0 total / 0 P0 | | Compat gaps | 2 | | Deprecation warnings | 41 | -| Inspector gaps | 164 | +| Inspector gaps | 163 | | Upstream metadata | 97 | -| Contract probes | 300 | +| Contract probes | 299 | | Policy failures | 0 | | Policy warnings | 19 | | Ref diff failures | 0 | @@ -48,14 +48,14 @@ | Workspace plan | 103 entrypoints / 43 installs / 11 builds | | Platform risks | 14 Windows / 14 container | | Jiti loader candidates | 25 | -| Import loop | p50 2394ms / p95 2411ms / plugin delta RSS 5.7MB / plugin delta CPU 225ms / OpenClaw import 74.8ms / activate 0.3ms | -| Runtime profile | p50 2195ms / command p95 2276ms / max RSS 458.2MB / 3 samples/command | +| Import loop | p50 2410ms / p95 2469ms / plugin delta RSS 8.4MB / plugin delta CPU 219ms / OpenClaw import 80.7ms / activate 0.3ms | +| Runtime profile | p50 2193ms / command p95 2225ms / max RSS 450.1MB / 3 samples/command | ### OpenClaw Lifecycle Probe | Phase | p50 | p95 | | -------------------------- | ------ | ------ | -| Import (`full`) | 74.8ms | 76.3ms | +| Import (`full`) | 80.7ms | 97.2ms | | Activate (`full:register`) | 0.3ms | 0.3ms | ### Top Discovered Issues diff --git a/plugins/lossless-claw b/plugins/lossless-claw index 4724d3f..4fc60c9 160000 --- a/plugins/lossless-claw +++ b/plugins/lossless-claw @@ -1 +1 @@ -Subproject commit 4724d3fe6ccfd85f275aad732f3b01551d909e5a +Subproject commit 4fc60c925c1eed730a73c6bb62144f7af905687f diff --git a/reports/crabpot-capture.json b/reports/crabpot-capture.json index d654cf1..8350b4a 100644 --- a/reports/crabpot-capture.json +++ b/reports/crabpot-capture.json @@ -12,7 +12,7 @@ "hookCount": 98, "sdkImportCount": 2126, "packageEntrypointCount": 103, - "issueProbeCount": 300, + "issueProbeCount": 299, "inspectorShimRequiredCount": 197, "compatAliasRequiredCount": 2 }, @@ -1605,10 +1605,10 @@ "priority": "high", "registrations": [ { - "id": "registration.registerCommand:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2055", + "id": "registration.registerCommand:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2385", "fixture": "lossless-claw", "registrar": "registerCommand", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2055", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2385", "support": "inspector-shim-required", "assertions": [ "command id is stable", @@ -1622,10 +1622,10 @@ ] }, { - "id": "registration.registerContextEngine:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2035", + "id": "registration.registerContextEngine:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2365", "fixture": "lossless-claw", "registrar": "registerContextEngine", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2035", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2365", "support": "inspector-shim-required", "assertions": [ "context engine id is stable", @@ -1639,10 +1639,10 @@ ] }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2037", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2367", "fixture": "lossless-claw", "registrar": "registerTool", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2037", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2367", "support": "target-captured", "assertions": [ "tool name is stable", @@ -1661,10 +1661,10 @@ ] }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2040", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2370", "fixture": "lossless-claw", "registrar": "registerTool", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2040", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2370", "support": "target-captured", "assertions": [ "tool name is stable", @@ -1683,10 +1683,10 @@ ] }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2043", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2373", "fixture": "lossless-claw", "registrar": "registerTool", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2043", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2373", "support": "target-captured", "assertions": [ "tool name is stable", @@ -1705,10 +1705,10 @@ ] }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2046", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2376", "fixture": "lossless-claw", "registrar": "registerTool", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2046", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2376", "support": "target-captured", "assertions": [ "tool name is stable", @@ -1729,10 +1729,10 @@ ], "hooks": [ { - "id": "hook.before_prompt_build:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2021", + "id": "hook.before_prompt_build:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2351", "fixture": "lossless-claw", "hook": "before_prompt_build", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2021", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2351", "support": "synthetic-event-required", "assertions": [ "prompt mutation result is preserved", @@ -1760,10 +1760,10 @@ } }, { - "id": "hook.before_reset:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2014", + "id": "hook.before_reset:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2344", "fixture": "lossless-claw", "hook": "before_reset", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2014", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2344", "support": "synthetic-event-required", "assertions": [ "hook payload and return value are captured" @@ -1778,10 +1778,10 @@ } }, { - "id": "hook.gateway_start:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2217", + "id": "hook.gateway_start:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2557", "fixture": "lossless-claw", "hook": "gateway_start", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2217", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2557", "support": "synthetic-event-required", "assertions": [ "hook payload and return value are captured" @@ -1796,10 +1796,10 @@ } }, { - "id": "hook.gateway_stop:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2241", + "id": "hook.gateway_stop:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2581", "fixture": "lossless-claw", "hook": "gateway_stop", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2241", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2581", "support": "synthetic-event-required", "assertions": [ "hook payload and return value are captured" @@ -1814,10 +1814,10 @@ } }, { - "id": "hook.session_end:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2024", + "id": "hook.session_end:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2354", "fixture": "lossless-claw", "hook": "session_end", - "ref": "plugins/lossless-claw/src/plugin/index.ts:2024", + "ref": "plugins/lossless-claw/src/plugin/index.ts:2354", "support": "synthetic-event-required", "assertions": [ "hook payload and return value are captured" @@ -33566,8 +33566,8 @@ "priority": "P2", "target": "inspector-capture-api", "evidence": [ - "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2055", - "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2035" + "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2385", + "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2365" ], "assertions": [ "registration arguments are recorded", @@ -35006,22 +35006,6 @@ "tool result metadata is retained" ] }, - { - "id": "tool.registration.schema-capture:lossless-claw", - "fixture": "lossless-claw", - "priority": "P2", - "target": "tool-runtime", - "evidence": [ - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2037", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2040", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2043", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2046" - ], - "assertions": [ - "tool schema is captured", - "tool result metadata is retained" - ] - }, { "id": "tool.registration.schema-capture:mcp-adapter", "fixture": "mcp-adapter", diff --git a/reports/crabpot-capture.md b/reports/crabpot-capture.md index d8abc14..bbb2680 100644 --- a/reports/crabpot-capture.md +++ b/reports/crabpot-capture.md @@ -11,7 +11,7 @@ Generated: deterministic | Hooks | 98 | | SDK imports | 2126 | | Package entrypoints | 103 | -| Issue probes | 300 | +| Issue probes | 299 | | Inspector shim required | 197 | | Compat aliases required | 2 | @@ -41,12 +41,12 @@ Generated: deterministic | opik-openclaw | registerCli | target-captured | plugins/opik-openclaw/index.ts:17 | command name is stable; argument schema is captured | | opik-openclaw | registerService | inspector-shim-required | plugins/opik-openclaw/index.ts:16 | service id is stable; start/stop lifecycle handlers are captured | | openclaw-telemetry | registerService | inspector-shim-required | plugins/openclaw-telemetry/index.ts:10 | service id is stable; start/stop lifecycle handlers are captured | -| lossless-claw | registerCommand | inspector-shim-required | plugins/lossless-claw/src/plugin/index.ts:2055 | command id is stable; interactive command payload is captured | -| lossless-claw | registerContextEngine | inspector-shim-required | plugins/lossless-claw/src/plugin/index.ts:2035 | context engine id is stable; factory metadata is captured | -| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2037 | tool name is stable; input schema is captured; result shape metadata is captured | -| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2040 | tool name is stable; input schema is captured; result shape metadata is captured | -| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2043 | tool name is stable; input schema is captured; result shape metadata is captured | -| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2046 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registerCommand | inspector-shim-required | plugins/lossless-claw/src/plugin/index.ts:2385 | command id is stable; interactive command payload is captured | +| lossless-claw | registerContextEngine | inspector-shim-required | plugins/lossless-claw/src/plugin/index.ts:2365 | context engine id is stable; factory metadata is captured | +| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2367 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2370 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2373 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registerTool | target-captured | plugins/lossless-claw/src/plugin/index.ts:2376 | tool name is stable; input schema is captured; result shape metadata is captured | | connectclaw | registerCommand | inspector-shim-required | plugins/connectclaw/packages/plugin/src/commands.ts:18 | command id is stable; interactive command payload is captured | | connectclaw | registerCommand | inspector-shim-required | plugins/connectclaw/packages/plugin/src/commands.ts:64 | command id is stable; interactive command payload is captured | | connectclaw | registerService | inspector-shim-required | plugins/connectclaw/packages/plugin/src/hooks.ts:91 | service id is stable; start/stop lifecycle handlers are captured | @@ -370,11 +370,11 @@ Generated: deterministic | openclaw-telemetry | before_tool_call | synthetic-event-required | plugins/openclaw-telemetry/index.ts:12 | block/allow return shapes are preserved; terminal and approval metadata are present | | openclaw-telemetry | message_received | synthetic-event-required | plugins/openclaw-telemetry/index.ts:34 | hook payload and return value are captured | | openclaw-telemetry | message_sent | synthetic-event-required | plugins/openclaw-telemetry/index.ts:43 | hook payload and return value are captured | -| lossless-claw | before_prompt_build | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2021 | prompt mutation result is preserved; agent and conversation metadata are present | -| lossless-claw | before_reset | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2014 | hook payload and return value are captured | -| lossless-claw | gateway_start | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2217 | hook payload and return value are captured | -| lossless-claw | gateway_stop | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2241 | hook payload and return value are captured | -| lossless-claw | session_end | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2024 | hook payload and return value are captured | +| lossless-claw | before_prompt_build | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2351 | prompt mutation result is preserved; agent and conversation metadata are present | +| lossless-claw | before_reset | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2344 | hook payload and return value are captured | +| lossless-claw | gateway_start | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2557 | hook payload and return value are captured | +| lossless-claw | gateway_stop | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2581 | hook payload and return value are captured | +| lossless-claw | session_end | synthetic-event-required | plugins/lossless-claw/src/plugin/index.ts:2354 | hook payload and return value are captured | | connectclaw | before_agent_start | synthetic-event-required | plugins/connectclaw/packages/plugin/src/hooks.ts:17 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks | | honcho | agent_end | synthetic-event-required | plugins/honcho/hooks/capture.ts:151 | final conversation payload is redacted as expected; agent id and run metadata are present | | honcho | agent_end | synthetic-event-required | plugins/honcho/hooks/subagent.ts:34 | final conversation payload is redacted as expected; agent id and run metadata are present | @@ -2602,7 +2602,7 @@ Generated: deterministic | api.capture.runtime-registrars:honcho | P2 | honcho | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerMemoryPromptSection @ plugins/honcho/index.ts:97, registerMemoryRuntime @ plugins/honcho/runtime.ts:274 | | api.capture.runtime-registrars:hyperspell | P2 | hyperspell | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerCommand @ plugins/hyperspell/commands/slash.ts:166, registerCommand @ plugins/hyperspell/commands/slash.ts:43, registerCommand @ plugins/hyperspell/commands/slash.ts:98, registerCommand @ plugins/hyperspell/index.ts:46, registerCommand @ plugins/hyperspell/index.ts:57, registerCommand @ plugins/hyperspell/index.ts:68 | | api.capture.runtime-registrars:kitchen-sink | P2 | kitchen-sink | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerAutoEnableProbe @ plugins/kitchen-sink/src/generated-registrars.js:7, registerChannel @ plugins/kitchen-sink/src/generated-registrars.js:8, registerChannel @ plugins/kitchen-sink/src/kitchen-runtime.js:55, registerCommand @ plugins/kitchen-sink/src/generated-registrars.js:12, registerCommand @ plugins/kitchen-sink/src/kitchen-runtime.js:50, registerCommand @ plugins/kitchen-sink/src/kitchen-runtime.js:51, registerCompactionProvider @ plugins/kitchen-sink/src/generated-registrars.js:13, registerCompactionProvider @ plugins/kitchen-sink/src/kitchen-runtime.js:95, registerConfigMigration @ plugins/kitchen-sink/src/generated-registrars.js:14, registerContextEngine @ plugins/kitchen-sink/src/generated-registrars.js:15, registerDetachedTaskRuntime @ plugins/kitchen-sink/scripts/sync-surface.mjs:113, registerDetachedTaskRuntime @ plugins/kitchen-sink/src/generated-registrars.js:17, registerDetachedTaskRuntime @ plugins/kitchen-sink/src/kitchen-runtime.js:86, registerGatewayDiscoveryService @ plugins/kitchen-sink/src/generated-registrars.js:18, registerGatewayMethod @ plugins/kitchen-sink/src/generated-registrars.js:19, registerGatewayMethod @ plugins/kitchen-sink/src/kitchen-runtime.js:107, registerHook @ plugins/kitchen-sink/src/generated-registrars.js:20, registerHttpRoute @ plugins/kitchen-sink/src/generated-registrars.js:21, registerHttpRoute @ plugins/kitchen-sink/src/kitchen-runtime.js:105, registerInteractiveHandler @ plugins/kitchen-sink/src/generated-registrars.js:23, registerInteractiveHandler @ plugins/kitchen-sink/src/kitchen-runtime.js:53, registerMemoryCapability @ plugins/kitchen-sink/src/generated-registrars.js:25, registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/generated-registrars.js:26, registerMemoryCorpusSupplement @ plugins/kitchen-sink/src/kitchen-runtime.js:92, registerMemoryFlushPlan @ plugins/kitchen-sink/src/generated-registrars.js:28, registerMemoryPromptSection @ plugins/kitchen-sink/src/generated-registrars.js:29, registerMemoryPromptSupplement @ plugins/kitchen-sink/src/generated-registrars.js:30, registerMemoryPromptSupplement @ plugins/kitchen-sink/src/kitchen-runtime.js:111, registerMemoryRuntime @ plugins/kitchen-sink/src/generated-registrars.js:31, registerNodeHostCommand @ plugins/kitchen-sink/src/generated-registrars.js:34, registerNodeInvokePolicy @ plugins/kitchen-sink/src/generated-registrars.js:35, registerReload @ plugins/kitchen-sink/src/generated-registrars.js:39, registerSecurityAuditCollector @ plugins/kitchen-sink/src/generated-registrars.js:41, registerService @ plugins/kitchen-sink/src/generated-registrars.js:42, registerService @ plugins/kitchen-sink/src/kitchen-runtime.js:104 | -| api.capture.runtime-registrars:lossless-claw | P2 | lossless-claw | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2055, registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2035 | +| api.capture.runtime-registrars:lossless-claw | P2 | lossless-claw | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2385, registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2365 | | api.capture.runtime-registrars:mcp-adapter | P2 | mcp-adapter | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerService @ plugins/mcp-adapter/index.ts:15 | | api.capture.runtime-registrars:mocrane-wecom | P2 | mocrane-wecom | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerChannel @ plugins/mocrane-wecom/index.ts:31, registerHttpRoute @ plugins/mocrane-wecom/index.ts:34 | | api.capture.runtime-registrars:nemoclaw | P2 | nemoclaw | inspector-capture-api | registration arguments are recorded; registered handler metadata is retained | registerCommand @ plugins/nemoclaw/nemoclaw/src/index.ts:336 | @@ -2702,7 +2702,6 @@ Generated: deterministic | tool.registration.schema-capture:connectclaw | P2 | connectclaw | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/connectclaw/packages/plugin/src/tools.ts:6 | | tool.registration.schema-capture:honcho | P2 | honcho | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/honcho/tools/ask.ts:8, registerTool @ plugins/honcho/tools/context.ts:8, registerTool @ plugins/honcho/tools/memory-passthrough.ts:130, registerTool @ plugins/honcho/tools/memory-passthrough.ts:89, registerTool @ plugins/honcho/tools/message-search.ts:9, registerTool @ plugins/honcho/tools/search.ts:8, registerTool @ plugins/honcho/tools/session.ts:8 | | tool.registration.schema-capture:hyperspell | P2 | hyperspell | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/hyperspell/graph/tools.ts:21, registerTool @ plugins/hyperspell/graph/tools.ts:52, registerTool @ plugins/hyperspell/graph/tools.ts:95 | -| tool.registration.schema-capture:lossless-claw | P2 | lossless-claw | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/lossless-claw/src/plugin/index.ts:2037, registerTool @ plugins/lossless-claw/src/plugin/index.ts:2040, registerTool @ plugins/lossless-claw/src/plugin/index.ts:2043, registerTool @ plugins/lossless-claw/src/plugin/index.ts:2046 | | tool.registration.schema-capture:mcp-adapter | P2 | mcp-adapter | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/mcp-adapter/index.ts:30 | | tool.registration.schema-capture:memory-tencentdb | P2 | memory-tencentdb | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/memory-tencentdb/.crabpot-package/index.ts:268, registerTool @ plugins/memory-tencentdb/.crabpot-package/index.ts:365 | | tool.registration.schema-capture:mocrane-wecom | P2 | mocrane-wecom | tool-runtime | tool schema is captured; tool result metadata is retained | registerTool @ plugins/mocrane-wecom/index.ts:43 | diff --git a/reports/crabpot-ci-policy.json b/reports/crabpot-ci-policy.json index dc96bd3..86cb681 100644 --- a/reports/crabpot-ci-policy.json +++ b/reports/crabpot-ci-policy.json @@ -289,7 +289,7 @@ { "id": "compatibility-report.inspector-gaps", "action": "pass", - "message": "164 inspector proof gaps tracked", + "message": "163 inspector proof gaps tracked", "evidence": [ "honcho:conversation-access-hook", "kitchen-sink:before-tool-call-probe", @@ -373,7 +373,6 @@ "lossless-claw:package-build-artifact-entrypoint", "lossless-claw:package-dependency-install-required", "lossless-claw:registration-capture-gap", - "lossless-claw:runtime-tool-capture", "matrix:package-dependency-install-required", "matrix:package-typescript-source-entrypoint", "matrix:registration-capture-gap", diff --git a/reports/crabpot-ci-policy.md b/reports/crabpot-ci-policy.md index 69bfa72..05906c3 100644 --- a/reports/crabpot-ci-policy.md +++ b/reports/crabpot-ci-policy.md @@ -18,30 +18,30 @@ Strict: false ## Checks -| Action | ID | Message | Evidence | -| ------ | ------------------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -| warn | execution-results.audit-findings | 12 package audit findings | clawrouter:12 | -| warn | execution-results.blocked.clawrouter.registerService.29 | allowed-blocked: captured registration requires includeLifecycle=true | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerService, captured registration requires includeLifecycle=true, service-lifecycle-harness | -| warn | execution-results.blocked.clawrouter.registerTool.10 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.11 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.12 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.13 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.14 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.15 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.16 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.17 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.18 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.19 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.20 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.21 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.5 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.6 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.7 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.8 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| warn | execution-results.blocked.clawrouter.registerTool.9 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | -| pass | compatibility-report.breakages | 0 hard breakages | - | -| pass | compatibility-report.deprecation-warnings | 41 deprecated compat seams tracked | a2a-gateway:legacy-root-sdk-import, agentchat:channel-env-vars, apify:legacy-root-sdk-import, brave-plugin:provider-auth-env-vars, codex-app-server:legacy-root-sdk-import, composio:legacy-root-sdk-import, connectclaw:legacy-before-agent-start, connectclaw:legacy-root-sdk-import, dingtalk-connector:legacy-root-sdk-import, discord:channel-env-vars, feishu:channel-env-vars, hasdata:provider-auth-env-vars, honcho:legacy-before-agent-start, honcho:legacy-root-sdk-import, hyperspell:legacy-root-sdk-import, inworld-tts:provider-auth-env-vars, kitchen-sink:legacy-before-agent-start, kitchen-sink:legacy-root-sdk-import, llm-trace-phoenix:legacy-root-sdk-import, lossless-claw:legacy-root-sdk-import, matrix:channel-env-vars, mattermost:channel-env-vars, memos-cloud:legacy-before-agent-start, memu-engine:legacy-root-sdk-import, mocrane-wecom:legacy-root-sdk-import, msteams:channel-env-vars, nemoclaw:legacy-before-agent-start, nextcloud-talk:channel-env-vars, nostr:channel-env-vars, openclaw-qqbot:channel-env-vars, openclaw-telemetry:legacy-before-agent-start, openclaw-telemetry:legacy-root-sdk-import, opik-openclaw:legacy-root-sdk-import, qqbot:legacy-root-sdk-import, synology-chat:channel-env-vars, telnyx-sms:channel-env-vars, twitch:channel-env-vars, voice-call:channel-env-vars, yuanbao:channel-env-vars, zalo:channel-env-vars, zalouser:channel-env-vars | -| pass | compatibility-report.inspector-gaps | 164 inspector proof gaps tracked | honcho:conversation-access-hook, kitchen-sink:before-tool-call-probe, kitchen-sink:conversation-access-hook, llm-trace-phoenix:conversation-access-hook, memory-lancedb:conversation-access-hook, memory-tencentdb:conversation-access-hook, memos-cloud:conversation-access-hook, nemoclaw:before-tool-call-probe, openclaw-telemetry:before-tool-call-probe, openclaw-telemetry:conversation-access-hook, opik-openclaw:before-tool-call-probe, opik-openclaw:conversation-access-hook, wecom:before-tool-call-probe, a2a-gateway:package-dependency-install-required, a2a-gateway:package-typescript-source-entrypoint, a2a-gateway:registration-capture-gap, a2a-gateway:runtime-tool-capture, agentchat:channel-contract-probe, agentchat:package-build-artifact-entrypoint, agentchat:package-dependency-install-required, apify:package-dependency-install-required, apify:package-typescript-source-entrypoint, apify:runtime-tool-capture, bluebubbles:channel-contract-probe, clawmetry:package-build-artifact-entrypoint, clawmetry:package-dependency-install-required, clawmetry:package-typescript-source-entrypoint, clawmetry:registration-capture-gap, clawrouter:package-dependency-install-required, clawrouter:registration-capture-gap, clawrouter:runtime-tool-capture, codex:package-dependency-install-required, codex:registration-capture-gap, codex-app-server:package-dependency-install-required, codex-app-server:package-typescript-source-entrypoint, codex-app-server:registration-capture-gap, composio:package-dependency-install-required, composio:package-typescript-source-entrypoint, composio:runtime-tool-capture, connectclaw:package-typescript-source-entrypoint, connectclaw:registration-capture-gap, connectclaw:runtime-tool-capture, ddingtalk:channel-contract-probe, ddingtalk:package-dependency-install-required, ddingtalk:package-typescript-source-entrypoint, diagnostics-otel:package-dependency-install-required, diagnostics-otel:registration-capture-gap, diagnostics-prometheus:registration-capture-gap, diffs:package-dependency-install-required, diffs:registration-capture-gap, dingtalk-connector:channel-contract-probe, dingtalk-connector:package-build-artifact-entrypoint, dingtalk-connector:package-dependency-install-required, dingtalk-connector:registration-capture-gap, discord:channel-contract-probe, discord:package-dependency-install-required, feishu:channel-contract-probe, feishu:package-dependency-install-required, google-meet:package-dependency-install-required, google-meet:registration-capture-gap, hasdata:package-dependency-install-required, hasdata:package-typescript-source-entrypoint, honcho:package-build-artifact-entrypoint, honcho:package-dependency-install-required, honcho:registration-capture-gap, honcho:runtime-tool-capture, hyperspell:package-dependency-install-required, hyperspell:package-typescript-source-entrypoint, hyperspell:registration-capture-gap, hyperspell:runtime-tool-capture, inworld-tts:package-typescript-source-entrypoint, kitchen-sink:channel-contract-probe, kitchen-sink:registration-capture-gap, lightclawbot:channel-contract-probe, lightclawbot:package-dependency-install-required, lightclawbot:registration-capture-gap, lightclawbot:runtime-tool-capture, llm-trace-phoenix:package-typescript-source-entrypoint, lobster:package-dependency-install-required, lossless-claw:package-build-artifact-entrypoint, lossless-claw:package-dependency-install-required, lossless-claw:registration-capture-gap, lossless-claw:runtime-tool-capture, matrix:package-dependency-install-required, matrix:package-typescript-source-entrypoint, matrix:registration-capture-gap, mattermost:channel-contract-probe, mattermost:package-dependency-install-required, mattermost:package-typescript-source-entrypoint, mattermost:registration-capture-gap, mcp-adapter:package-dependency-install-required, mcp-adapter:package-typescript-source-entrypoint, mcp-adapter:registration-capture-gap, mcp-adapter:runtime-tool-capture, memory-lancedb:package-dependency-install-required, memory-lancedb:registration-capture-gap, memory-tencentdb:package-dependency-install-required, memory-tencentdb:package-typescript-source-entrypoint, memory-tencentdb:runtime-tool-capture, memos-cloud:registration-capture-gap, memu-engine:package-typescript-source-entrypoint, memu-engine:runtime-tool-capture, mocrane-wecom:channel-contract-probe, mocrane-wecom:package-dependency-install-required, mocrane-wecom:package-typescript-source-entrypoint, mocrane-wecom:registration-capture-gap, mocrane-wecom:runtime-tool-capture, msteams:channel-contract-probe, msteams:package-dependency-install-required, nemoclaw:package-build-artifact-entrypoint, nemoclaw:package-dependency-install-required, nemoclaw:registration-capture-gap, nextcloud-talk:channel-contract-probe, nextcloud-talk:package-dependency-install-required, nostr:channel-contract-probe, nostr:package-dependency-install-required, nostr:registration-capture-gap, openclaw-qqbot:package-dependency-install-required, openclaw-qqbot:registration-capture-gap, openclaw-telemetry:package-typescript-source-entrypoint, openclaw-telemetry:registration-capture-gap, openclaw-weixin:channel-contract-probe, openclaw-weixin:package-dependency-install-required, openclaw-weixin:package-typescript-source-entrypoint, openclaw-weixin:registration-capture-gap, opik-openclaw:package-build-artifact-entrypoint, opik-openclaw:package-dependency-install-required, opik-openclaw:package-typescript-source-entrypoint, opik-openclaw:registration-capture-gap, qqbot:channel-contract-probe, qqbot:package-dependency-install-required, qqbot:registration-capture-gap, qqbot:runtime-tool-capture, secureclaw:package-build-artifact-entrypoint, secureclaw:package-dependency-install-required, secureclaw:registration-capture-gap, synology-chat:channel-contract-probe, synology-chat:package-dependency-install-required, telnyx-sms:channel-contract-probe, telnyx-sms:package-build-artifact-entrypoint, telnyx-sms:registration-capture-gap, tlon:channel-contract-probe, tlon:package-dependency-install-required, twitch:channel-contract-probe, twitch:package-dependency-install-required, voice-call:package-dependency-install-required, voice-call:registration-capture-gap, web-search-plus:package-typescript-source-entrypoint, web-search-plus:runtime-tool-capture, wecom:channel-contract-probe, wecom:package-dependency-install-required, wecom:registration-capture-gap, wecom:runtime-tool-capture, whatsapp:channel-contract-probe, whatsapp:package-dependency-install-required, yuanbao:channel-contract-probe, yuanbao:package-dependency-install-required, yuanbao:package-typescript-source-entrypoint, yuanbao:registration-capture-gap, yuanbao:runtime-tool-capture, zalo:channel-contract-probe, zalo:package-dependency-install-required, zalouser:channel-contract-probe, zalouser:package-dependency-install-required | -| pass | compatibility-report.live-p0-issues | 0 live P0 issues tracked | - | -| pass | compatibility-report.p1-issues | 38 P1 issues tracked | bluebubbles:package-npm-pack-entrypoint-missing, brave-plugin:package-npm-pack-entrypoint-missing, clawmetry:package-npm-pack-entrypoint-missing, clawmetry:sdk-export-missing, codex:package-npm-pack-entrypoint-missing, diagnostics-otel:package-npm-pack-entrypoint-missing, diagnostics-prometheus:package-npm-pack-entrypoint-missing, diffs:package-npm-pack-entrypoint-missing, discord:package-npm-pack-entrypoint-missing, feishu:package-npm-pack-entrypoint-missing, google-meet:package-npm-pack-entrypoint-missing, honcho:conversation-access-hook, honcho:sdk-export-missing, kitchen-sink:before-tool-call-probe, kitchen-sink:conversation-access-hook, llm-trace-phoenix:conversation-access-hook, lobster:package-npm-pack-entrypoint-missing, memory-lancedb:conversation-access-hook, memory-lancedb:package-npm-pack-entrypoint-missing, memory-tencentdb:conversation-access-hook, memos-cloud:conversation-access-hook, msteams:package-npm-pack-entrypoint-missing, nemoclaw:before-tool-call-probe, nextcloud-talk:package-npm-pack-entrypoint-missing, nostr:package-npm-pack-entrypoint-missing, openclaw-qqbot:package-npm-pack-entrypoint-missing, openclaw-telemetry:before-tool-call-probe, openclaw-telemetry:conversation-access-hook, opik-openclaw:before-tool-call-probe, opik-openclaw:conversation-access-hook, synology-chat:package-npm-pack-entrypoint-missing, tlon:package-npm-pack-entrypoint-missing, twitch:package-npm-pack-entrypoint-missing, voice-call:package-npm-pack-entrypoint-missing, wecom:before-tool-call-probe, whatsapp:package-npm-pack-entrypoint-missing, zalo:package-npm-pack-entrypoint-missing, zalouser:package-npm-pack-entrypoint-missing | -| pass | execution-results.failures | 0 failed synthetic probes | - | +| Action | ID | Message | Evidence | +| ------ | ------------------------------------------------------- | --------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| warn | execution-results.audit-findings | 12 package audit findings | clawrouter:12 | +| warn | execution-results.blocked.clawrouter.registerService.29 | allowed-blocked: captured registration requires includeLifecycle=true | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerService, captured registration requires includeLifecycle=true, service-lifecycle-harness | +| warn | execution-results.blocked.clawrouter.registerTool.10 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.11 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.12 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.13 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.14 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.15 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.16 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.17 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.18 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.19 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.20 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.21 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.5 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.6 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.7 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.8 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| warn | execution-results.blocked.clawrouter.registerTool.9 | allowed-blocked: captured tool requires live network access | .crabpot/results/clawrouter/cold-import-extension-clawrouter-plugins-clawrouter-dist-index-js.synthetic.json, registerTool, captured tool requires live network access, live-network-tool-probes | +| pass | compatibility-report.breakages | 0 hard breakages | - | +| pass | compatibility-report.deprecation-warnings | 41 deprecated compat seams tracked | a2a-gateway:legacy-root-sdk-import, agentchat:channel-env-vars, apify:legacy-root-sdk-import, brave-plugin:provider-auth-env-vars, codex-app-server:legacy-root-sdk-import, composio:legacy-root-sdk-import, connectclaw:legacy-before-agent-start, connectclaw:legacy-root-sdk-import, dingtalk-connector:legacy-root-sdk-import, discord:channel-env-vars, feishu:channel-env-vars, hasdata:provider-auth-env-vars, honcho:legacy-before-agent-start, honcho:legacy-root-sdk-import, hyperspell:legacy-root-sdk-import, inworld-tts:provider-auth-env-vars, kitchen-sink:legacy-before-agent-start, kitchen-sink:legacy-root-sdk-import, llm-trace-phoenix:legacy-root-sdk-import, lossless-claw:legacy-root-sdk-import, matrix:channel-env-vars, mattermost:channel-env-vars, memos-cloud:legacy-before-agent-start, memu-engine:legacy-root-sdk-import, mocrane-wecom:legacy-root-sdk-import, msteams:channel-env-vars, nemoclaw:legacy-before-agent-start, nextcloud-talk:channel-env-vars, nostr:channel-env-vars, openclaw-qqbot:channel-env-vars, openclaw-telemetry:legacy-before-agent-start, openclaw-telemetry:legacy-root-sdk-import, opik-openclaw:legacy-root-sdk-import, qqbot:legacy-root-sdk-import, synology-chat:channel-env-vars, telnyx-sms:channel-env-vars, twitch:channel-env-vars, voice-call:channel-env-vars, yuanbao:channel-env-vars, zalo:channel-env-vars, zalouser:channel-env-vars | +| pass | compatibility-report.inspector-gaps | 163 inspector proof gaps tracked | honcho:conversation-access-hook, kitchen-sink:before-tool-call-probe, kitchen-sink:conversation-access-hook, llm-trace-phoenix:conversation-access-hook, memory-lancedb:conversation-access-hook, memory-tencentdb:conversation-access-hook, memos-cloud:conversation-access-hook, nemoclaw:before-tool-call-probe, openclaw-telemetry:before-tool-call-probe, openclaw-telemetry:conversation-access-hook, opik-openclaw:before-tool-call-probe, opik-openclaw:conversation-access-hook, wecom:before-tool-call-probe, a2a-gateway:package-dependency-install-required, a2a-gateway:package-typescript-source-entrypoint, a2a-gateway:registration-capture-gap, a2a-gateway:runtime-tool-capture, agentchat:channel-contract-probe, agentchat:package-build-artifact-entrypoint, agentchat:package-dependency-install-required, apify:package-dependency-install-required, apify:package-typescript-source-entrypoint, apify:runtime-tool-capture, bluebubbles:channel-contract-probe, clawmetry:package-build-artifact-entrypoint, clawmetry:package-dependency-install-required, clawmetry:package-typescript-source-entrypoint, clawmetry:registration-capture-gap, clawrouter:package-dependency-install-required, clawrouter:registration-capture-gap, clawrouter:runtime-tool-capture, codex:package-dependency-install-required, codex:registration-capture-gap, codex-app-server:package-dependency-install-required, codex-app-server:package-typescript-source-entrypoint, codex-app-server:registration-capture-gap, composio:package-dependency-install-required, composio:package-typescript-source-entrypoint, composio:runtime-tool-capture, connectclaw:package-typescript-source-entrypoint, connectclaw:registration-capture-gap, connectclaw:runtime-tool-capture, ddingtalk:channel-contract-probe, ddingtalk:package-dependency-install-required, ddingtalk:package-typescript-source-entrypoint, diagnostics-otel:package-dependency-install-required, diagnostics-otel:registration-capture-gap, diagnostics-prometheus:registration-capture-gap, diffs:package-dependency-install-required, diffs:registration-capture-gap, dingtalk-connector:channel-contract-probe, dingtalk-connector:package-build-artifact-entrypoint, dingtalk-connector:package-dependency-install-required, dingtalk-connector:registration-capture-gap, discord:channel-contract-probe, discord:package-dependency-install-required, feishu:channel-contract-probe, feishu:package-dependency-install-required, google-meet:package-dependency-install-required, google-meet:registration-capture-gap, hasdata:package-dependency-install-required, hasdata:package-typescript-source-entrypoint, honcho:package-build-artifact-entrypoint, honcho:package-dependency-install-required, honcho:registration-capture-gap, honcho:runtime-tool-capture, hyperspell:package-dependency-install-required, hyperspell:package-typescript-source-entrypoint, hyperspell:registration-capture-gap, hyperspell:runtime-tool-capture, inworld-tts:package-typescript-source-entrypoint, kitchen-sink:channel-contract-probe, kitchen-sink:registration-capture-gap, lightclawbot:channel-contract-probe, lightclawbot:package-dependency-install-required, lightclawbot:registration-capture-gap, lightclawbot:runtime-tool-capture, llm-trace-phoenix:package-typescript-source-entrypoint, lobster:package-dependency-install-required, lossless-claw:package-build-artifact-entrypoint, lossless-claw:package-dependency-install-required, lossless-claw:registration-capture-gap, matrix:package-dependency-install-required, matrix:package-typescript-source-entrypoint, matrix:registration-capture-gap, mattermost:channel-contract-probe, mattermost:package-dependency-install-required, mattermost:package-typescript-source-entrypoint, mattermost:registration-capture-gap, mcp-adapter:package-dependency-install-required, mcp-adapter:package-typescript-source-entrypoint, mcp-adapter:registration-capture-gap, mcp-adapter:runtime-tool-capture, memory-lancedb:package-dependency-install-required, memory-lancedb:registration-capture-gap, memory-tencentdb:package-dependency-install-required, memory-tencentdb:package-typescript-source-entrypoint, memory-tencentdb:runtime-tool-capture, memos-cloud:registration-capture-gap, memu-engine:package-typescript-source-entrypoint, memu-engine:runtime-tool-capture, mocrane-wecom:channel-contract-probe, mocrane-wecom:package-dependency-install-required, mocrane-wecom:package-typescript-source-entrypoint, mocrane-wecom:registration-capture-gap, mocrane-wecom:runtime-tool-capture, msteams:channel-contract-probe, msteams:package-dependency-install-required, nemoclaw:package-build-artifact-entrypoint, nemoclaw:package-dependency-install-required, nemoclaw:registration-capture-gap, nextcloud-talk:channel-contract-probe, nextcloud-talk:package-dependency-install-required, nostr:channel-contract-probe, nostr:package-dependency-install-required, nostr:registration-capture-gap, openclaw-qqbot:package-dependency-install-required, openclaw-qqbot:registration-capture-gap, openclaw-telemetry:package-typescript-source-entrypoint, openclaw-telemetry:registration-capture-gap, openclaw-weixin:channel-contract-probe, openclaw-weixin:package-dependency-install-required, openclaw-weixin:package-typescript-source-entrypoint, openclaw-weixin:registration-capture-gap, opik-openclaw:package-build-artifact-entrypoint, opik-openclaw:package-dependency-install-required, opik-openclaw:package-typescript-source-entrypoint, opik-openclaw:registration-capture-gap, qqbot:channel-contract-probe, qqbot:package-dependency-install-required, qqbot:registration-capture-gap, qqbot:runtime-tool-capture, secureclaw:package-build-artifact-entrypoint, secureclaw:package-dependency-install-required, secureclaw:registration-capture-gap, synology-chat:channel-contract-probe, synology-chat:package-dependency-install-required, telnyx-sms:channel-contract-probe, telnyx-sms:package-build-artifact-entrypoint, telnyx-sms:registration-capture-gap, tlon:channel-contract-probe, tlon:package-dependency-install-required, twitch:channel-contract-probe, twitch:package-dependency-install-required, voice-call:package-dependency-install-required, voice-call:registration-capture-gap, web-search-plus:package-typescript-source-entrypoint, web-search-plus:runtime-tool-capture, wecom:channel-contract-probe, wecom:package-dependency-install-required, wecom:registration-capture-gap, wecom:runtime-tool-capture, whatsapp:channel-contract-probe, whatsapp:package-dependency-install-required, yuanbao:channel-contract-probe, yuanbao:package-dependency-install-required, yuanbao:package-typescript-source-entrypoint, yuanbao:registration-capture-gap, yuanbao:runtime-tool-capture, zalo:channel-contract-probe, zalo:package-dependency-install-required, zalouser:channel-contract-probe, zalouser:package-dependency-install-required | +| pass | compatibility-report.live-p0-issues | 0 live P0 issues tracked | - | +| pass | compatibility-report.p1-issues | 38 P1 issues tracked | bluebubbles:package-npm-pack-entrypoint-missing, brave-plugin:package-npm-pack-entrypoint-missing, clawmetry:package-npm-pack-entrypoint-missing, clawmetry:sdk-export-missing, codex:package-npm-pack-entrypoint-missing, diagnostics-otel:package-npm-pack-entrypoint-missing, diagnostics-prometheus:package-npm-pack-entrypoint-missing, diffs:package-npm-pack-entrypoint-missing, discord:package-npm-pack-entrypoint-missing, feishu:package-npm-pack-entrypoint-missing, google-meet:package-npm-pack-entrypoint-missing, honcho:conversation-access-hook, honcho:sdk-export-missing, kitchen-sink:before-tool-call-probe, kitchen-sink:conversation-access-hook, llm-trace-phoenix:conversation-access-hook, lobster:package-npm-pack-entrypoint-missing, memory-lancedb:conversation-access-hook, memory-lancedb:package-npm-pack-entrypoint-missing, memory-tencentdb:conversation-access-hook, memos-cloud:conversation-access-hook, msteams:package-npm-pack-entrypoint-missing, nemoclaw:before-tool-call-probe, nextcloud-talk:package-npm-pack-entrypoint-missing, nostr:package-npm-pack-entrypoint-missing, openclaw-qqbot:package-npm-pack-entrypoint-missing, openclaw-telemetry:before-tool-call-probe, openclaw-telemetry:conversation-access-hook, opik-openclaw:before-tool-call-probe, opik-openclaw:conversation-access-hook, synology-chat:package-npm-pack-entrypoint-missing, tlon:package-npm-pack-entrypoint-missing, twitch:package-npm-pack-entrypoint-missing, voice-call:package-npm-pack-entrypoint-missing, wecom:before-tool-call-probe, whatsapp:package-npm-pack-entrypoint-missing, zalo:package-npm-pack-entrypoint-missing, zalouser:package-npm-pack-entrypoint-missing | +| pass | execution-results.failures | 0 failed synthetic probes | - | diff --git a/reports/crabpot-ci-summary.json b/reports/crabpot-ci-summary.json index 4fd860f..1da778c 100644 --- a/reports/crabpot-ci-summary.json +++ b/reports/crabpot-ci-summary.json @@ -7,15 +7,15 @@ "summary": { "breakages": 0, "warnings": 148, - "suggestions": 156, - "issues": 304, + "suggestions": 155, + "issues": 303, "p0Issues": 0, "p1Issues": 38, "liveIssues": 0, "liveP0Issues": 0, "compatGaps": 2, "deprecationWarnings": 41, - "inspectorGaps": 164, + "inspectorGaps": 163, "upstreamIssues": 97, "refDiffFailures": 0, "refDiffWarnings": 0, @@ -29,14 +29,14 @@ "platformWindowsRisks": 14, "platformContainerRisks": 14, "loaderJitiCandidates": 25, - "importLoopP50Ms": 2394, - "importLoopP95Ms": 2411, + "importLoopP50Ms": 2410, + "importLoopP95Ms": 2469, "importLoopOpenClawLifecycleCount": 3, - "importLoopOpenClawImportP50Ms": 74.8, + "importLoopOpenClawImportP50Ms": 80.7, "importLoopOpenClawActivationP50Ms": 0.3, "importLoopMetricBasis": "baseline-adjusted", - "importLoopMaxRssMb": 5.7, - "importLoopMaxCpuMs": 225, + "importLoopMaxRssMb": 8.4, + "importLoopMaxCpuMs": 219, "importLoopRssSampleCount": 283, "importLoopCpuSampleCount": 283 }, @@ -416,20 +416,20 @@ "id": "profile.wall-p95", "action": "warn", "metric": "p95WallMs", - "message": "p95WallMs regressed 78.8% over baseline", + "message": "p95WallMs regressed 74.8% over baseline", "baseline": 1273, - "current": 2276, - "delta": 1003, - "percent": 78.8 + "current": 2225, + "delta": 952, + "percent": 74.8 }, { "id": "profile.peak-rss", "action": "warn", "metric": "maxPeakRssMb", - "message": "maxPeakRssMb regressed 393.1 over baseline", + "message": "maxPeakRssMb regressed 385 over baseline", "baseline": 65.1, - "current": 458.2, - "delta": 393.1 + "current": 450.1, + "delta": 385 } ], "artifacts": { diff --git a/reports/crabpot-ci-summary.md b/reports/crabpot-ci-summary.md index ca27045..1376570 100644 --- a/reports/crabpot-ci-summary.md +++ b/reports/crabpot-ci-summary.md @@ -11,15 +11,15 @@ Status: PASS | --------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Breakages | 0 | | Warnings | 148 | -| Suggestions | 156 | -| Issues | 304 | +| Suggestions | 155 | +| Issues | 303 | | P0 issues | 0 | | P1 issues | 38 | | Live issues | 0 | | Live P0 issues | 0 | | Compat gaps | 2 | | Deprecation warnings | 41 | -| Inspector gaps | 164 | +| Inspector gaps | 163 | | Upstream metadata | 97 | | Ref diff failures | 0 | | Ref diff warnings | 0 | @@ -33,7 +33,7 @@ Status: PASS | Windows portability risks | 14 | | Container portability risks | 14 | | Jiti loader candidates | 25 | -| Import loop | p50 2394 ms / p95 2411 ms / plugin delta RSS 5.7 MB / plugin delta CPU 225 ms / OpenClaw import 74.8 ms / activate 0.3 ms | +| Import loop | p50 2410 ms / p95 2469 ms / plugin delta RSS 8.4 MB / plugin delta CPU 219 ms / OpenClaw import 80.7 ms / activate 0.3 ms | ## Top Issues @@ -90,10 +90,10 @@ _none_ ## Profile Findings -| Action | ID | Metric | Baseline | Current | Message | -| ------ | ---------------- | ------------ | -------- | ------- | ------------------------------------------ | -| warn | profile.wall-p95 | p95WallMs | 1273 | 2276 | p95WallMs regressed 78.8% over baseline | -| warn | profile.peak-rss | maxPeakRssMb | 65.1 | 458.2 | maxPeakRssMb regressed 393.1 over baseline | +| Action | ID | Metric | Baseline | Current | Message | +| ------ | ---------------- | ------------ | -------- | ------- | ---------------------------------------- | +| warn | profile.wall-p95 | p95WallMs | 1273 | 2225 | p95WallMs regressed 74.8% over baseline | +| warn | profile.peak-rss | maxPeakRssMb | 65.1 | 450.1 | maxPeakRssMb regressed 385 over baseline | ## Artifacts diff --git a/reports/crabpot-dashboard-data.json b/reports/crabpot-dashboard-data.json index 098574f..5e822cf 100644 --- a/reports/crabpot-dashboard-data.json +++ b/reports/crabpot-dashboard-data.json @@ -1,7 +1,7 @@ { "schemaVersion": 1, - "generatedAt": "2026-05-06T08:17:44Z", - "runUrl": "https://github.com/openclaw/crabpot/actions/runs/25424124649", + "generatedAt": "2026-05-06T08:26:30Z", + "runUrl": "https://github.com/openclaw/crabpot/actions/runs/25424493057", "mode": "dependabot", "openclawLabel": "openclaw@latest (2026.5.4, 325df3efefe9)", "status": "pass", @@ -9,17 +9,17 @@ "fixtures": 57, "hardBreakages": 0, "warnings": 148, - "suggestions": 156, - "issues": 304, + "suggestions": 155, + "issues": 303, "p0Issues": 0, "p1Issues": 38, "liveIssues": 0, "liveP0Issues": 0, "compatGaps": 2, "deprecationWarnings": 41, - "inspectorGaps": 164, + "inspectorGaps": 163, "upstreamIssues": 97, - "contractProbes": 300, + "contractProbes": 299, "policyFailures": 0, "policyWarnings": 19, "refDiffFailures": 0, @@ -39,23 +39,23 @@ "platformWindowsRisks": 14, "platformContainerRisks": 14, "loaderJitiCandidates": 25, - "importLoopP50Ms": 2394, - "importLoopP95Ms": 2411, + "importLoopP50Ms": 2410, + "importLoopP95Ms": 2469, "importLoopOpenClawLifecycleCount": 3, - "importLoopOpenClawImportP50Ms": 74.8, - "importLoopOpenClawImportP95Ms": 76.3, + "importLoopOpenClawImportP50Ms": 80.7, + "importLoopOpenClawImportP95Ms": 97.2, "importLoopOpenClawActivationP50Ms": 0.3, "importLoopOpenClawActivationP95Ms": 0.3, "importLoopMetricBasis": "baseline-adjusted", - "importLoopMaxRssMb": 5.7, - "importLoopMaxCpuMs": 225, + "importLoopMaxRssMb": 8.4, + "importLoopMaxCpuMs": 219, "importLoopRssSampleCount": 283, "importLoopCpuSampleCount": 283, - "runtimeP50Ms": 2195, - "runtimeP95Ms": 2276, - "runtimeMaxRssMb": 458.2, - "runtimeRssSampleCount": 1873, - "runtimeCpuSampleCount": 1873, + "runtimeP50Ms": 2193, + "runtimeP95Ms": 2225, + "runtimeMaxRssMb": 450.1, + "runtimeRssSampleCount": 1858, + "runtimeCpuSampleCount": 1858, "runtimeSamplesPerCommand": 3, "runtimeWallTimeBasis": "command-median-p95" }, diff --git a/reports/crabpot-import-loop-profile.json b/reports/crabpot-import-loop-profile.json index 63a973c..b5bb50e 100644 --- a/reports/crabpot-import-loop-profile.json +++ b/reports/crabpot-import-loop-profile.json @@ -7,14 +7,14 @@ "runs": 3, "entrypoint": ".crabpot/import-loop/baseline-plugin.mjs", "reference": { - "wallMs": 2350, - "peakRssMb": 335.9, - "cpuMsEstimate": 4476 + "wallMs": 2387, + "peakRssMb": 333.9, + "cpuMsEstimate": 4592 }, "max": { - "wallMs": 2831, - "peakRssMb": 343.4, - "cpuMsEstimate": 5069 + "wallMs": 2865, + "peakRssMb": 337.1, + "cpuMsEstimate": 5161 }, "statSampleCount": 295, "rssSampleCount": 295, @@ -31,31 +31,31 @@ "pluginId": "crabpot-lifecycle-probe", "importPhase": "full", "activationPhase": "full:register", - "importMs": 78.6, + "importMs": 76.6, "activationMs": 0.3, "openclawPath": "/home/runner/work/crabpot/crabpot/openclaw", "phases": [ { "phase": "full", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 78.6, - "source": "/tmp/crabpot-openclaw-plugin-cdMT9I/index.mjs" + "elapsedMs": 76.6, + "source": "/tmp/crabpot-openclaw-plugin-VuI9J1/index.mjs" }, { "phase": "full:register", "pluginId": "crabpot-lifecycle-probe", "elapsedMs": 0.3, - "source": "/tmp/crabpot-openclaw-plugin-cdMT9I/index.mjs" + "source": "/tmp/crabpot-openclaw-plugin-VuI9J1/index.mjs" } ] }, - "wallMs": 2831, - "peakRssMb": 335.9, - "peakCpuPercent": 200, - "cpuMsEstimate": 5069, - "statSampleCount": 111, - "rssSampleCount": 111, - "cpuSampleCount": 111, + "wallMs": 2865, + "peakRssMb": 333.9, + "peakCpuPercent": 201, + "cpuMsEstimate": 5161, + "statSampleCount": 112, + "rssSampleCount": 112, + "cpuSampleCount": 112, "stderrPreview": "" }, { @@ -68,31 +68,31 @@ "pluginId": "crabpot-lifecycle-probe", "importPhase": "full", "activationPhase": "full:register", - "importMs": 74, - "activationMs": 0.3, + "importMs": 73.7, + "activationMs": 0.4, "openclawPath": "/home/runner/work/crabpot/crabpot/openclaw", "phases": [ { "phase": "full", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 74, - "source": "/tmp/crabpot-openclaw-plugin-wY1Bpf/index.mjs" + "elapsedMs": 73.7, + "source": "/tmp/crabpot-openclaw-plugin-UWlU1V/index.mjs" }, { "phase": "full:register", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 0.3, - "source": "/tmp/crabpot-openclaw-plugin-wY1Bpf/index.mjs" + "elapsedMs": 0.4, + "source": "/tmp/crabpot-openclaw-plugin-UWlU1V/index.mjs" } ] }, - "wallMs": 2324, - "peakRssMb": 330.3, - "peakCpuPercent": 221, - "cpuMsEstimate": 4476, - "statSampleCount": 91, - "rssSampleCount": 91, - "cpuSampleCount": 91, + "wallMs": 2256, + "peakRssMb": 323.2, + "peakCpuPercent": 224, + "cpuMsEstimate": 4376, + "statSampleCount": 89, + "rssSampleCount": 89, + "cpuSampleCount": 89, "stderrPreview": "" }, { @@ -105,31 +105,31 @@ "pluginId": "crabpot-lifecycle-probe", "importPhase": "full", "activationPhase": "full:register", - "importMs": 89.8, - "activationMs": 0.3, + "importMs": 79, + "activationMs": 0.4, "openclawPath": "/home/runner/work/crabpot/crabpot/openclaw", "phases": [ { "phase": "full", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 89.8, - "source": "/tmp/crabpot-openclaw-plugin-iZ6mpb/index.mjs" + "elapsedMs": 79, + "source": "/tmp/crabpot-openclaw-plugin-4YehFQ/index.mjs" }, { "phase": "full:register", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 0.3, - "source": "/tmp/crabpot-openclaw-plugin-iZ6mpb/index.mjs" + "elapsedMs": 0.4, + "source": "/tmp/crabpot-openclaw-plugin-4YehFQ/index.mjs" } ] }, - "wallMs": 2350, - "peakRssMb": 343.4, - "peakCpuPercent": 217, - "cpuMsEstimate": 4465, - "statSampleCount": 93, - "rssSampleCount": 93, - "cpuSampleCount": 93, + "wallMs": 2387, + "peakRssMb": 337.1, + "peakCpuPercent": 216, + "cpuMsEstimate": 4592, + "statSampleCount": 94, + "rssSampleCount": 94, + "cpuSampleCount": 94, "stderrPreview": "" } ] @@ -138,22 +138,22 @@ "runs": 3, "baselineRuns": 3, "baselineFailCount": 0, - "p50WallMs": 2394, - "p95WallMs": 2411, - "p50PluginWallDeltaMs": 44, - "p95PluginWallDeltaMs": 61, + "p50WallMs": 2410, + "p95WallMs": 2469, + "p50PluginWallDeltaMs": 23, + "p95PluginWallDeltaMs": 82, "openClawLifecycleCount": 3, - "p50OpenClawImportMs": 74.8, - "p95OpenClawImportMs": 76.3, + "p50OpenClawImportMs": 80.7, + "p95OpenClawImportMs": 97.2, "p50OpenClawActivationMs": 0.3, "p95OpenClawActivationMs": 0.3, - "maxPeakRssMb": 341.6, - "maxCpuMsEstimate": 4701, - "maxPluginPeakRssDeltaMb": 5.7, - "maxPluginCpuDeltaMsEstimate": 225, - "baselineReferenceWallMs": 2350, - "baselineReferencePeakRssMb": 335.9, - "baselineReferenceCpuMsEstimate": 4476, + "maxPeakRssMb": 342.3, + "maxCpuMsEstimate": 4811, + "maxPluginPeakRssDeltaMb": 8.4, + "maxPluginCpuDeltaMsEstimate": 219, + "baselineReferenceWallMs": 2387, + "baselineReferencePeakRssMb": 333.9, + "baselineReferenceCpuMsEstimate": 4592, "statSampleCount": 283, "rssSampleCount": 283, "cpuSampleCount": 283, @@ -171,35 +171,35 @@ "pluginId": "crabpot-lifecycle-probe", "importPhase": "full", "activationPhase": "full:register", - "importMs": 74.5, + "importMs": 97.2, "activationMs": 0.3, "openclawPath": "/home/runner/work/crabpot/crabpot/openclaw", "phases": [ { "phase": "full", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 74.5, - "source": "/tmp/crabpot-openclaw-plugin-KWoLO4/index.mjs" + "elapsedMs": 97.2, + "source": "/tmp/crabpot-openclaw-plugin-E2wmBB/index.mjs" }, { "phase": "full:register", "pluginId": "crabpot-lifecycle-probe", "elapsedMs": 0.3, - "source": "/tmp/crabpot-openclaw-plugin-KWoLO4/index.mjs" + "source": "/tmp/crabpot-openclaw-plugin-E2wmBB/index.mjs" } ] }, - "wallMs": 2372, - "peakRssMb": 339, - "peakCpuPercent": 218, - "cpuMsEstimate": 4545, - "statSampleCount": 93, - "rssSampleCount": 93, - "cpuSampleCount": 93, + "wallMs": 2469, + "peakRssMb": 342.3, + "peakCpuPercent": 222, + "cpuMsEstimate": 4811, + "statSampleCount": 97, + "rssSampleCount": 97, + "cpuSampleCount": 97, "stderrPreview": "", - "pluginWallDeltaMs": 22, - "pluginPeakRssDeltaMb": 3.1, - "pluginCpuDeltaMsEstimate": 69 + "pluginWallDeltaMs": 82, + "pluginPeakRssDeltaMb": 8.4, + "pluginCpuDeltaMsEstimate": 219 }, { "index": 1, @@ -211,35 +211,35 @@ "pluginId": "crabpot-lifecycle-probe", "importPhase": "full", "activationPhase": "full:register", - "importMs": 76.3, + "importMs": 76.1, "activationMs": 0.3, "openclawPath": "/home/runner/work/crabpot/crabpot/openclaw", "phases": [ { "phase": "full", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 76.3, - "source": "/tmp/crabpot-openclaw-plugin-eGw6NP/index.mjs" + "elapsedMs": 76.1, + "source": "/tmp/crabpot-openclaw-plugin-NxhKbV/index.mjs" }, { "phase": "full:register", "pluginId": "crabpot-lifecycle-probe", "elapsedMs": 0.3, - "source": "/tmp/crabpot-openclaw-plugin-eGw6NP/index.mjs" + "source": "/tmp/crabpot-openclaw-plugin-NxhKbV/index.mjs" } ] }, - "wallMs": 2394, - "peakRssMb": 319.2, + "wallMs": 2410, + "peakRssMb": 326.2, "peakCpuPercent": 224, - "cpuMsEstimate": 4691, - "statSampleCount": 94, - "rssSampleCount": 94, - "cpuSampleCount": 94, + "cpuMsEstimate": 4729, + "statSampleCount": 95, + "rssSampleCount": 95, + "cpuSampleCount": 95, "stderrPreview": "", - "pluginWallDeltaMs": 44, + "pluginWallDeltaMs": 23, "pluginPeakRssDeltaMb": 0, - "pluginCpuDeltaMsEstimate": 215 + "pluginCpuDeltaMsEstimate": 137 }, { "index": 2, @@ -251,35 +251,35 @@ "pluginId": "crabpot-lifecycle-probe", "importPhase": "full", "activationPhase": "full:register", - "importMs": 74.8, + "importMs": 80.7, "activationMs": 0.3, "openclawPath": "/home/runner/work/crabpot/crabpot/openclaw", "phases": [ { "phase": "full", "pluginId": "crabpot-lifecycle-probe", - "elapsedMs": 74.8, - "source": "/tmp/crabpot-openclaw-plugin-uIh2mP/index.mjs" + "elapsedMs": 80.7, + "source": "/tmp/crabpot-openclaw-plugin-ndbQHl/index.mjs" }, { "phase": "full:register", "pluginId": "crabpot-lifecycle-probe", "elapsedMs": 0.3, - "source": "/tmp/crabpot-openclaw-plugin-uIh2mP/index.mjs" + "source": "/tmp/crabpot-openclaw-plugin-ndbQHl/index.mjs" } ] }, - "wallMs": 2411, - "peakRssMb": 341.6, + "wallMs": 2304, + "peakRssMb": 333.3, "peakCpuPercent": 223, - "cpuMsEstimate": 4701, - "statSampleCount": 96, - "rssSampleCount": 96, - "cpuSampleCount": 96, + "cpuMsEstimate": 4494, + "statSampleCount": 91, + "rssSampleCount": 91, + "cpuSampleCount": 91, "stderrPreview": "", - "pluginWallDeltaMs": 61, - "pluginPeakRssDeltaMb": 5.7, - "pluginCpuDeltaMsEstimate": 225 + "pluginWallDeltaMs": 0, + "pluginPeakRssDeltaMb": 0, + "pluginCpuDeltaMsEstimate": 0 } ] } diff --git a/reports/crabpot-import-loop-profile.md b/reports/crabpot-import-loop-profile.md index dd1a60a..984b492 100644 --- a/reports/crabpot-import-loop-profile.md +++ b/reports/crabpot-import-loop-profile.md @@ -11,22 +11,22 @@ Entrypoint: test/fixtures/lazy-import-plugin.mjs | runs | 3 | | baselineRuns | 3 | | baselineFailCount | 0 | -| p50WallMs | 2394 | -| p95WallMs | 2411 | -| p50PluginWallDeltaMs | 44 | -| p95PluginWallDeltaMs | 61 | -| maxPluginPeakRssDeltaMb | 5.7 MB | -| maxPluginCpuDeltaMsEstimate | 225 ms | +| p50WallMs | 2410 | +| p95WallMs | 2469 | +| p50PluginWallDeltaMs | 23 | +| p95PluginWallDeltaMs | 82 | +| maxPluginPeakRssDeltaMb | 8.4 MB | +| maxPluginCpuDeltaMsEstimate | 219 ms | | openClawLifecycleCount | 3 | -| p50OpenClawImportMs | 74.8 ms | -| p95OpenClawImportMs | 76.3 ms | +| p50OpenClawImportMs | 80.7 ms | +| p95OpenClawImportMs | 97.2 ms | | p50OpenClawActivationMs | 0.3 ms | | p95OpenClawActivationMs | 0.3 ms | -| maxPeakRssMb | 341.6 MB | -| maxCpuMsEstimate | 4701 ms | -| baselineReferenceWallMs | 2350 ms | -| baselineReferencePeakRssMb | 335.9 MB | -| baselineReferenceCpuMsEstimate | 4476 ms | +| maxPeakRssMb | 342.3 MB | +| maxCpuMsEstimate | 4811 ms | +| baselineReferenceWallMs | 2387 ms | +| baselineReferencePeakRssMb | 333.9 MB | +| baselineReferenceCpuMsEstimate | 4592 ms | | statSampleCount | 283 | | rssSampleCount | 283 | | cpuSampleCount | 283 | @@ -40,12 +40,12 @@ Entrypoint: test/fixtures/lazy-import-plugin.mjs | mode | minimal-plugin-capture | | runs | 3 | | entrypoint | .crabpot/import-loop/baseline-plugin.mjs | -| referenceWallMs | 2350 ms | -| referencePeakRssMb | 335.9 MB | -| referenceCpuMsEstimate | 4476 ms | -| maxWallMs | 2831 ms | -| maxPeakRssMb | 343.4 MB | -| maxCpuMsEstimate | 5069 ms | +| referenceWallMs | 2387 ms | +| referencePeakRssMb | 333.9 MB | +| referenceCpuMsEstimate | 4592 ms | +| maxWallMs | 2865 ms | +| maxPeakRssMb | 337.1 MB | +| maxCpuMsEstimate | 5161 ms | | statSampleCount | 295 | | failCount | 0 | @@ -53,6 +53,6 @@ Entrypoint: test/fixtures/lazy-import-plugin.mjs | Run | Status | Captured | OpenClaw Import | OpenClaw Activate | Plugin Wall Delta | Plugin RSS Delta | Plugin CPU Delta | Raw Wall | Raw Peak RSS | Raw CPU Estimate | RSS/CPU samples | Exit | | --- | -------- | -------- | --------------- | ----------------- | ----------------- | ---------------- | ---------------- | -------- | ------------ | ---------------- | --------------- | ---- | -| 0 | captured | 2 | 74.5 ms | 0.3 ms | 22 ms | 3.1 MB | 69 ms | 2372 ms | 339 MB | 4545 ms | 93/93 | 0 | -| 1 | captured | 2 | 76.3 ms | 0.3 ms | 44 ms | 0 MB | 215 ms | 2394 ms | 319.2 MB | 4691 ms | 94/94 | 0 | -| 2 | captured | 2 | 74.8 ms | 0.3 ms | 61 ms | 5.7 MB | 225 ms | 2411 ms | 341.6 MB | 4701 ms | 96/96 | 0 | +| 0 | captured | 2 | 97.2 ms | 0.3 ms | 82 ms | 8.4 MB | 219 ms | 2469 ms | 342.3 MB | 4811 ms | 97/97 | 0 | +| 1 | captured | 2 | 76.1 ms | 0.3 ms | 23 ms | 0 MB | 137 ms | 2410 ms | 326.2 MB | 4729 ms | 95/95 | 0 | +| 2 | captured | 2 | 80.7 ms | 0.3 ms | 0 ms | 0 MB | 0 ms | 2304 ms | 333.3 MB | 4494 ms | 91/91 | 0 | diff --git a/reports/crabpot-issues.md b/reports/crabpot-issues.md index cd42c4e..5b3ed58 100644 --- a/reports/crabpot-issues.md +++ b/reports/crabpot-issues.md @@ -13,8 +13,8 @@ Status: PASS | Metric | Value | | -------------------------- | ----- | -| Issue findings | 304 | -| Open issue findings | 304 | +| Issue findings | 303 | +| Open issue findings | 303 | | Runtime-covered findings | 0 | | Runtime-partial findings | 0 | | šŸ”“ P0 | 0 | @@ -25,11 +25,11 @@ Status: PASS | Live P0 issues | 0 | | Compat gaps | 2 | | Deprecation warnings | 41 | -| Inspector gaps | 164 | -| Open inspector gaps | 164 | +| Inspector gaps | 163 | +| Open inspector gaps | 163 | | Runtime coverage artifacts | 0 | | Upstream metadata | 97 | -| Contract probes | 300 | +| Contract probes | 299 | ## Triage Overview @@ -38,7 +38,7 @@ Status: PASS | live-issue | 0 | 0 | Potential runtime breakage in the target OpenClaw/plugin pair. P0 only when it is not a deprecated compat seam. | | compat-gap | 2 | - | Compatibility behavior is needed but missing from the target OpenClaw compat registry. | | deprecation-warning | 41 | - | Plugin uses a supported but deprecated compatibility seam; keep it wired while migration exists. | -| inspector-gap | 164 | - | Plugin Inspector needs stronger capture/probe evidence before making contract judgments. Runtime-covered rows are proof-backed and not open report work. | +| inspector-gap | 163 | - | Plugin Inspector needs stronger capture/probe evidence before making contract judgments. Runtime-covered rows are proof-backed and not open report work. | | upstream-metadata | 97 | - | Plugin package or manifest metadata should improve upstream; not a target OpenClaw live break by itself. | | fixture-regression | 0 | - | Fixture no longer exposes an expected seam; investigate fixture pin or scanner drift. | @@ -218,8 +218,8 @@ _none_ - **legacy-root-sdk-import**: lossless-claw: root plugin SDK barrel is still used by fixtures - state: open Ā· compat:deprecated Ā· deprecated - evidence: - - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L21) - - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L26) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L21) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L26) - 🟔 P2 **matrix** `deprecation-warning` `core-compat-adapter` - **channel-env-vars**: matrix: channelEnvVars legacy manifest metadata must stay covered @@ -1028,32 +1028,23 @@ _none_ - **package-build-artifact-entrypoint**: lossless-claw: cold import requires package build output - state: open Ā· compat:none - evidence: - - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/dist/index.js) + - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/dist/index.js) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **package-dependency-install-required**: lossless-claw: cold import requires dependency installation in an isolated workspace - state: open Ā· compat:none - evidence: - - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) + - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **registration-capture-gap**: lossless-claw: runtime registrations need capture evidence before final contract judgment - state: open Ā· compat:active - evidence: - - [registerCommand @ index.ts:2055](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2055) - - [registerContextEngine @ index.ts:2035](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2035) - -- 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - - **runtime-tool-capture**: lossless-claw: runtime tool schema needs registration capture - - state: open Ā· compat:none - - evidence: - - [registerTool @ index.ts:2037](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2037) - - [registerTool @ index.ts:2040](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2040) - - [registerTool @ index.ts:2043](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2043) - - [registerTool @ index.ts:2046](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2046) + - [registerCommand @ index.ts:2385](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2385) + - [registerContextEngine @ index.ts:2365](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2365) - 🟔 P2 **matrix** `inspector-gap` `inspector-follow-up` - **package-dependency-install-required**: matrix: cold import requires dependency installation in an isolated workspace @@ -3417,39 +3408,30 @@ _none_ - **legacy-root-sdk-import**: lossless-claw: root plugin SDK barrel is still used by fixtures - state: open Ā· compat:deprecated Ā· deprecated - evidence: - - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L21) - - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L26) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L21) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L26) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **package-build-artifact-entrypoint**: lossless-claw: cold import requires package build output - state: open Ā· compat:none - evidence: - - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/dist/index.js) + - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/dist/index.js) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **package-dependency-install-required**: lossless-claw: cold import requires dependency installation in an isolated workspace - state: open Ā· compat:none - evidence: - - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) + - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **registration-capture-gap**: lossless-claw: runtime registrations need capture evidence before final contract judgment - state: open Ā· compat:active - evidence: - - [registerCommand @ index.ts:2055](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2055) - - [registerContextEngine @ index.ts:2035](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2035) - -- 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - - **runtime-tool-capture**: lossless-claw: runtime tool schema needs registration capture - - state: open Ā· compat:none - - evidence: - - [registerTool @ index.ts:2037](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2037) - - [registerTool @ index.ts:2040](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2040) - - [registerTool @ index.ts:2043](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2043) - - [registerTool @ index.ts:2046](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2046) + - [registerCommand @ index.ts:2385](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2385) + - [registerContextEngine @ index.ts:2365](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2365) - 🟔 P2 **matrix** `deprecation-warning` `core-compat-adapter` - **channel-env-vars**: matrix: channelEnvVars legacy manifest metadata must stay covered @@ -4670,8 +4652,8 @@ _none_ - contract: External inspector capture records service, route, gateway, command, and interactive registrations. - id: `api.capture.runtime-registrars:lossless-claw` - evidence: - - [registerCommand @ index.ts:2055](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2055) - - [registerContextEngine @ index.ts:2035](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2035) + - [registerCommand @ index.ts:2385](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2385) + - [registerContextEngine @ index.ts:2365](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2365) - 🟔 P2 **mcp-adapter** `inspector-capture-api` - contract: External inspector capture records service, route, gateway, command, and interactive registrations. @@ -4963,7 +4945,7 @@ _none_ - contract: Inspector can build or resolve source aliases before cold importing package entrypoints. - id: `package.entrypoint.build-before-cold-import:lossless-claw` - evidence: - - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/dist/index.js) + - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/dist/index.js) - 🟔 P2 **nemoclaw** `package-loader` - contract: Inspector can build or resolve source aliases before cold importing package entrypoints. @@ -5049,10 +5031,10 @@ _none_ - contract: Inspector installs package dependencies in an isolated workspace before cold import. - id: `package.entrypoint.isolated-dependency-install:lossless-claw` - evidence: - - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) + - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) - 🟔 P2 **mcp-adapter** `package-loader` - contract: Inspector installs package dependencies in an isolated workspace before cold import. @@ -5304,8 +5286,8 @@ _none_ - contract: Root plugin SDK barrel remains importable or has a machine-readable migration path. - id: `sdk.import.root-barrel-cold-import:lossless-claw` - evidence: - - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L21) - - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L26) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L21) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L26) - 🟔 P2 **mocrane-wecom** `sdk-alias` - contract: Root plugin SDK barrel remains importable or has a machine-readable migration path. @@ -5412,15 +5394,6 @@ _none_ - [registerTool @ tools.ts:52](https://github.com/hyperspell/hyperspell-openclaw/blob/a04d35176c4ffbe99d906f7d8075fc8671e7968d/graph/tools.ts#L52) - [registerTool @ tools.ts:95](https://github.com/hyperspell/hyperspell-openclaw/blob/a04d35176c4ffbe99d906f7d8075fc8671e7968d/graph/tools.ts#L95) -- 🟔 P2 **lossless-claw** `tool-runtime` - - contract: Registered runtime tools expose stable names, input schemas, and result metadata. - - id: `tool.registration.schema-capture:lossless-claw` - - evidence: - - [registerTool @ index.ts:2037](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2037) - - [registerTool @ index.ts:2040](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2040) - - [registerTool @ index.ts:2043](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2043) - - [registerTool @ index.ts:2046](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2046) - - 🟔 P2 **mcp-adapter** `tool-runtime` - contract: Registered runtime tools expose stable names, input schemas, and result metadata. - id: `tool.registration.schema-capture:mcp-adapter` diff --git a/reports/crabpot-package-availability.json b/reports/crabpot-package-availability.json index d9fd6b1..d64a0d0 100644 --- a/reports/crabpot-package-availability.json +++ b/reports/crabpot-package-availability.json @@ -1,5 +1,5 @@ { - "generatedAt": "2026-05-06T08:18:18.787Z", + "generatedAt": "2026-05-06T08:27:00.922Z", "fixtureSet": "all", "pluginTrack": "manifest", "summary": { diff --git a/reports/crabpot-profile-diff.json b/reports/crabpot-profile-diff.json index c5ba797..4bc3634 100644 --- a/reports/crabpot-profile-diff.json +++ b/reports/crabpot-profile-diff.json @@ -36,15 +36,15 @@ "summary": { "commandCount": 9, "sampleCount": 27, - "rssSampleCount": 1873, - "cpuSampleCount": 1873, + "rssSampleCount": 1858, + "cpuSampleCount": 1858, "wallTimeBasis": "command-median-p95", - "p50WallMs": 2195, - "p95WallMs": 2276, - "maxPeakRssMb": 458.2, - "maxRssDeltaMb": 429.5, - "maxCpuMsEstimate": 2481, - "maxHarnessHeapDeltaMb": 7.4 + "p50WallMs": 2193, + "p95WallMs": 2225, + "maxPeakRssMb": 450.1, + "maxRssDeltaMb": 419.3, + "maxCpuMsEstimate": 2451, + "maxHarnessHeapDeltaMb": 7.5 }, "targetOpenClaw": { "status": "ok", @@ -63,8 +63,8 @@ "observedHooks": 96, "observedRegistrations": 193, "observedSdkImports": 1159, - "contractProbes": 300, - "issueFindings": 304 + "contractProbes": 299, + "issueFindings": 303 } }, "thresholds": { @@ -84,20 +84,20 @@ "id": "profile.wall-p95", "action": "warn", "metric": "p95WallMs", - "message": "p95WallMs regressed 78.8% over baseline", + "message": "p95WallMs regressed 74.8% over baseline", "baseline": 1273, - "current": 2276, - "delta": 1003, - "percent": 78.8 + "current": 2225, + "delta": 952, + "percent": 74.8 }, { "id": "profile.peak-rss", "action": "warn", "metric": "maxPeakRssMb", - "message": "maxPeakRssMb regressed 393.1 over baseline", + "message": "maxPeakRssMb regressed 385 over baseline", "baseline": 65.1, - "current": 458.2, - "delta": 393.1 + "current": 450.1, + "delta": 385 }, { "id": "profile.node-boot", @@ -105,8 +105,8 @@ "metric": "nodeBootWallMs", "message": "nodeBootWallMs stayed within 500 absolute regression threshold", "baseline": 917, - "current": 36, - "delta": -881 + "current": 33, + "delta": -884 }, { "id": "registry.compatRecords", diff --git a/reports/crabpot-profile-diff.md b/reports/crabpot-profile-diff.md index da5d692..21a34e0 100644 --- a/reports/crabpot-profile-diff.md +++ b/reports/crabpot-profile-diff.md @@ -19,9 +19,9 @@ Strict: false | Action | ID | Metric | Baseline | Current | Delta | Percent | Message | | ------ | ------------------------------- | ---------------------- | -------- | ------- | ----- | ------- | -------------------------------------------------------------- | -| warn | profile.wall-p95 | p95WallMs | 1273 | 2276 | 1003 | 78.8% | p95WallMs regressed 78.8% over baseline | -| warn | profile.peak-rss | maxPeakRssMb | 65.1 | 458.2 | 393.1 | - | maxPeakRssMb regressed 393.1 over baseline | -| pass | profile.node-boot | nodeBootWallMs | 917 | 36 | -881 | - | nodeBootWallMs stayed within 500 absolute regression threshold | +| warn | profile.wall-p95 | p95WallMs | 1273 | 2225 | 952 | 74.8% | p95WallMs regressed 74.8% over baseline | +| warn | profile.peak-rss | maxPeakRssMb | 65.1 | 450.1 | 385 | - | maxPeakRssMb regressed 385 over baseline | +| pass | profile.node-boot | nodeBootWallMs | 917 | 33 | -884 | - | nodeBootWallMs stayed within 500 absolute regression threshold | | pass | registry.compatRecords | compatRecords | 19 | 60 | 41 | - | registry surface delta is tracked as context | | pass | registry.hookNames | hookNames | 31 | 35 | 4 | - | registry surface delta is tracked as context | | pass | registry.apiRegistrars | apiRegistrars | 40 | 49 | 9 | - | registry surface delta is tracked as context | diff --git a/reports/crabpot-report.json b/reports/crabpot-report.json index 5422ddf..9e6d74c 100644 --- a/reports/crabpot-report.json +++ b/reports/crabpot-report.json @@ -665,11 +665,11 @@ "highPriorityFixtures": 22, "breakageCount": 0, "warningCount": 148, - "suggestionCount": 156, + "suggestionCount": 155, "decisionCount": 318, - "logCount": 458, - "issueCount": 304, - "openIssueCount": 304, + "logCount": 459, + "issueCount": 303, + "openIssueCount": 303, "p0IssueCount": 0, "p1IssueCount": 38, "openP0IssueCount": 0, @@ -678,14 +678,14 @@ "liveP0IssueCount": 0, "compatGapCount": 2, "deprecationWarningCount": 41, - "inspectorGapCount": 164, + "inspectorGapCount": 163, "upstreamIssueCount": 97, "fixtureRegressionCount": 0, - "openInspectorGapCount": 164, + "openInspectorGapCount": 163, "runtimeCoveredIssueCount": 0, "runtimePartiallyCoveredIssueCount": 0, "runtimeCoverageArtifactCount": 0, - "contractProbeCount": 300 + "contractProbeCount": 299 }, "fixtures": [ { @@ -3011,32 +3011,32 @@ { "name": "before_prompt_build", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2021, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2021" + "line": 2351, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2351" }, { "name": "before_reset", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2014, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2014" + "line": 2344, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2344" }, { "name": "gateway_start", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2217, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2217" + "line": 2557, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2557" }, { "name": "gateway_stop", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2241, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2241" + "line": 2581, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2581" }, { "name": "session_end", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2024, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2024" + "line": 2354, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2354" } ], "registrations": [ @@ -3048,41 +3048,43 @@ { "name": "registerCommand", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2055, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2055" + "line": 2385, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2385" }, { "name": "registerContextEngine", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2035, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2035" + "line": 2365, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2365" }, { "name": "registerTool", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2037, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2037" + "line": 2367, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2367" }, { "name": "registerTool", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2040, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2040" + "line": 2370, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2370" }, { "name": "registerTool", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2043, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2043" + "line": 2373, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2373" }, { "name": "registerTool", "file": "plugins/lossless-claw/src/plugin/index.ts", - "line": 2046, - "ref": "plugins/lossless-claw/src/plugin/index.ts:2046" + "line": 2376, + "ref": "plugins/lossless-claw/src/plugin/index.ts:2376" } ], - "manifestContracts": [], + "manifestContracts": [ + "tools" + ], "manifestFiles": [ "plugins/lossless-claw/openclaw.plugin.json" ], @@ -3145,23 +3147,29 @@ "name": null, "version": null, "keys": [ + "activation", "configSchema", + "contracts", "id", "kind", "skills", "uiHints" ], - "contracts": [], + "contracts": [ + "tools" + ], "providerAuthEnvVars": {}, "channelEnvVars": {}, - "activation": null + "activation": { + "onStartup": true + } } ], "securityManifests": [], "package": { "path": "plugins/lossless-claw/package.json", "name": "@martian-engineering/lossless-claw", - "version": "0.9.2", + "version": "0.9.4", "type": "module", "main": "dist/index.js", "npmPack": { @@ -3194,7 +3202,7 @@ ], "runtimeExtensions": [], "setupEntry": null, - "compatPluginApi": ">=2026.2.17", + "compatPluginApi": ">=2026.2.17 <2026.6.0", "buildOpenClawVersion": "2026.2.17", "buildPluginSdkVersion": null, "install": null, @@ -3215,7 +3223,7 @@ { "path": "plugins/lossless-claw/package.json", "name": "@martian-engineering/lossless-claw", - "version": "0.9.2", + "version": "0.9.4", "type": "module", "main": "dist/index.js", "npmPack": { @@ -3248,7 +3256,7 @@ ], "runtimeExtensions": [], "setupEntry": null, - "compatPluginApi": ">=2026.2.17", + "compatPluginApi": ">=2026.2.17 <2026.6.0", "buildOpenClawVersion": "2026.2.17", "buildPluginSdkVersion": null, "install": null, @@ -32082,23 +32090,11 @@ "level": "suggestion", "message": "future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations", "evidence": [ - "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2055", - "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2035" + "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2385", + "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2365" ], "compatRecord": "api.capture.runtime-registrars" }, - { - "fixture": "lossless-claw", - "code": "runtime-tool-capture", - "level": "suggestion", - "message": "tool shape is only visible after runtime registration capture", - "evidence": [ - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2037", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2040", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2043", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2046" - ] - }, { "fixture": "connectclaw", "code": "package-typescript-source-entrypoint", @@ -36669,7 +36665,7 @@ "runtimeCoverage": null }, { - "id": "CRABPOT-23F3163D", + "id": "CRABPOT-21AF4BC0", "fixture": "lossless-claw", "severity": "P2", "owner": "inspector", @@ -36682,34 +36678,12 @@ "compatStatus": "active", "title": "lossless-claw: runtime registrations need capture evidence before final contract judgment", "evidence": [ - "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2055", - "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2035" + "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2385", + "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2365" ], "compatRecord": "api.capture.runtime-registrars", "runtimeCoverage": null }, - { - "id": "CRABPOT-8C83090A", - "fixture": "lossless-claw", - "severity": "P2", - "owner": "inspector", - "code": "runtime-tool-capture", - "decision": "inspector-follow-up", - "status": "open", - "issueClass": "inspector-gap", - "live": false, - "deprecated": false, - "compatStatus": "none", - "title": "lossless-claw: runtime tool schema needs registration capture", - "evidence": [ - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2037", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2040", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2043", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2046" - ], - "compatRecord": null, - "runtimeCoverage": null - }, { "id": "CRABPOT-914C691C", "fixture": "matrix", @@ -39901,8 +39875,8 @@ "target": "inspector-capture-api", "contract": "External inspector capture records service, route, gateway, command, and interactive registrations.", "evidence": [ - "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2055", - "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2035" + "registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2385", + "registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2365" ] }, { @@ -41040,19 +41014,6 @@ "registerTool @ plugins/hyperspell/graph/tools.ts:95" ] }, - { - "id": "tool.registration.schema-capture:lossless-claw", - "fixture": "lossless-claw", - "priority": "P2", - "target": "tool-runtime", - "contract": "Registered runtime tools expose stable names, input schemas, and result metadata.", - "evidence": [ - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2037", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2040", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2043", - "registerTool @ plugins/lossless-claw/src/plugin/index.ts:2046" - ] - }, { "id": "tool.registration.schema-capture:mcp-adapter", "fixture": "mcp-adapter", @@ -43547,7 +43508,7 @@ "fixture": "lossless-claw", "code": "seam-inventory", "level": "log", - "message": "observed 5 hooks, 3 registrations, and 0 manifest contracts", + "message": "observed 5 hooks, 3 registrations, and 1 manifest contracts", "evidence": [ "hook:before_prompt_build", "hook:before_reset", @@ -43556,7 +43517,8 @@ "hook:session_end", "registration:registerCommand", "registration:registerContextEngine", - "registration:registerTool" + "registration:registerTool", + "manifestContract:tools" ] }, { @@ -43609,7 +43571,16 @@ "evidence": [ "plugins/lossless-claw/package.json", "@martian-engineering/lossless-claw", - "version:0.9.2" + "version:0.9.4" + ] + }, + { + "fixture": "lossless-claw", + "code": "declarative-contracts", + "level": "log", + "message": "fixture declares manifest contracts that can be checked without executing plugin code", + "evidence": [ + "tools" ] }, { @@ -49322,10 +49293,10 @@ }, { "fixture": "lossless-claw", - "decision": "inspector-follow-up", - "seam": "tool-schema", - "action": "Capture registered tool schemas from plugin register() before judging tool compatibility.", - "evidence": "registerTool without manifest contracts.tools" + "decision": "no-action", + "seam": "manifest-contract", + "action": "Keep checking this declarative contract in default offline CI.", + "evidence": "tools" }, { "fixture": "connectclaw", diff --git a/reports/crabpot-report.md b/reports/crabpot-report.md index 6d8daaf..46bc261 100644 --- a/reports/crabpot-report.md +++ b/reports/crabpot-report.md @@ -17,9 +17,9 @@ Status: PASS | High-priority fixtures | 22 | | Hard breakages | 0 | | Warnings | 148 | -| Compatibility suggestions | 156 | -| Issue findings | 304 | -| Open issue findings | 304 | +| Compatibility suggestions | 155 | +| Issue findings | 303 | +| Open issue findings | 303 | | Runtime-covered findings | 0 | | Runtime-partial findings | 0 | | P0 issues | 0 | @@ -30,11 +30,11 @@ Status: PASS | Live P0 issues | 0 | | Compat gaps | 2 | | Deprecation warnings | 41 | -| Inspector gaps | 164 | -| Open inspector gaps | 164 | +| Inspector gaps | 163 | +| Open inspector gaps | 163 | | Runtime coverage artifacts | 0 | | Upstream metadata | 97 | -| Contract probes | 300 | +| Contract probes | 299 | | Decision rows | 318 | ## Triage Overview @@ -44,7 +44,7 @@ Status: PASS | live-issue | 0 | 0 | Potential runtime breakage in the target OpenClaw/plugin pair. P0 only when it is not a deprecated compat seam. | | compat-gap | 2 | - | Compatibility behavior is needed but missing from the target OpenClaw compat registry. | | deprecation-warning | 41 | - | Plugin uses a supported but deprecated compatibility seam; keep it wired while migration exists. | -| inspector-gap | 164 | - | Plugin Inspector needs stronger capture/probe evidence before making contract judgments. Runtime-covered rows are proof-backed and not open report work. | +| inspector-gap | 163 | - | Plugin Inspector needs stronger capture/probe evidence before making contract judgments. Runtime-covered rows are proof-backed and not open report work. | | upstream-metadata | 97 | - | Plugin package or manifest metadata should improve upstream; not a target OpenClaw live break by itself. | | fixture-regression | 0 | - | Fixture no longer exposes an expected seam; investigate fixture pin or scanner drift. | @@ -224,8 +224,8 @@ _none_ - **legacy-root-sdk-import**: lossless-claw: root plugin SDK barrel is still used by fixtures - state: open Ā· compat:deprecated Ā· deprecated - evidence: - - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L21) - - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L26) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L21) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L26) - 🟔 P2 **matrix** `deprecation-warning` `core-compat-adapter` - **channel-env-vars**: matrix: channelEnvVars legacy manifest metadata must stay covered @@ -1034,32 +1034,23 @@ _none_ - **package-build-artifact-entrypoint**: lossless-claw: cold import requires package build output - state: open Ā· compat:none - evidence: - - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/dist/index.js) + - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/dist/index.js) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **package-dependency-install-required**: lossless-claw: cold import requires dependency installation in an isolated workspace - state: open Ā· compat:none - evidence: - - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) + - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **registration-capture-gap**: lossless-claw: runtime registrations need capture evidence before final contract judgment - state: open Ā· compat:active - evidence: - - [registerCommand @ index.ts:2055](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2055) - - [registerContextEngine @ index.ts:2035](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2035) - -- 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - - **runtime-tool-capture**: lossless-claw: runtime tool schema needs registration capture - - state: open Ā· compat:none - - evidence: - - [registerTool @ index.ts:2037](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2037) - - [registerTool @ index.ts:2040](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2040) - - [registerTool @ index.ts:2043](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2043) - - [registerTool @ index.ts:2046](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2046) + - [registerCommand @ index.ts:2385](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2385) + - [registerContextEngine @ index.ts:2365](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2365) - 🟔 P2 **matrix** `inspector-gap` `inspector-follow-up` - **package-dependency-install-required**: matrix: cold import requires dependency installation in an isolated workspace @@ -2488,8 +2479,7 @@ _none_ | openclaw-telemetry | before-tool-call-probe | suggestion | add contract probes for before_tool_call terminal, block, and approval semantics | before_tool_call @ plugins/openclaw-telemetry/index.ts:12 | hook.before_tool_call.terminal-block-approval | | lossless-claw | package-build-artifact-entrypoint | suggestion | package OpenClaw entrypoint points at build output that is not present in the source fixture checkout | extension:./dist/index.js -> plugins/lossless-claw/dist/index.js | - | | lossless-claw | package-dependency-install-required | suggestion | package declares runtime dependencies that must be installed before cold import | @sinclair/typebox @ plugins/lossless-claw/package.json, @mariozechner/pi-agent-core @ plugins/lossless-claw/package.json, @mariozechner/pi-ai @ plugins/lossless-claw/package.json, @mariozechner/pi-coding-agent @ plugins/lossless-claw/package.json | - | -| lossless-claw | registration-capture-gap | suggestion | future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations | registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2055, registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2035 | api.capture.runtime-registrars | -| lossless-claw | runtime-tool-capture | suggestion | tool shape is only visible after runtime registration capture | registerTool @ plugins/lossless-claw/src/plugin/index.ts:2037, registerTool @ plugins/lossless-claw/src/plugin/index.ts:2040, registerTool @ plugins/lossless-claw/src/plugin/index.ts:2043, registerTool @ plugins/lossless-claw/src/plugin/index.ts:2046 | - | +| lossless-claw | registration-capture-gap | suggestion | future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations | registerCommand @ plugins/lossless-claw/src/plugin/index.ts:2385, registerContextEngine @ plugins/lossless-claw/src/plugin/index.ts:2365 | api.capture.runtime-registrars | | connectclaw | package-typescript-source-entrypoint | suggestion | package OpenClaw entrypoint resolves to TypeScript source in this fixture checkout | extension:plugins/connectclaw/packages/plugin/index.ts | - | | connectclaw | registration-capture-gap | suggestion | future inspector capture API should record lifecycle, route, gateway, command, and interactive registrations | registerCommand @ plugins/connectclaw/packages/plugin/src/commands.ts:18, registerCommand @ plugins/connectclaw/packages/plugin/src/commands.ts:64, registerService @ plugins/connectclaw/packages/plugin/src/hooks.ts:91 | api.capture.runtime-registrars | | connectclaw | runtime-tool-capture | suggestion | tool shape is only visible after runtime registration capture | registerTool @ plugins/connectclaw/packages/plugin/src/tools.ts:6 | - | @@ -3763,39 +3753,30 @@ _none_ - **legacy-root-sdk-import**: lossless-claw: root plugin SDK barrel is still used by fixtures - state: open Ā· compat:deprecated Ā· deprecated - evidence: - - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L21) - - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L26) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L21) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L26) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **package-build-artifact-entrypoint**: lossless-claw: cold import requires package build output - state: open Ā· compat:none - evidence: - - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/dist/index.js) + - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/dist/index.js) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **package-dependency-install-required**: lossless-claw: cold import requires dependency installation in an isolated workspace - state: open Ā· compat:none - evidence: - - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) + - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) - 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - **registration-capture-gap**: lossless-claw: runtime registrations need capture evidence before final contract judgment - state: open Ā· compat:active - evidence: - - [registerCommand @ index.ts:2055](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2055) - - [registerContextEngine @ index.ts:2035](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2035) - -- 🟔 P2 **lossless-claw** `inspector-gap` `inspector-follow-up` - - **runtime-tool-capture**: lossless-claw: runtime tool schema needs registration capture - - state: open Ā· compat:none - - evidence: - - [registerTool @ index.ts:2037](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2037) - - [registerTool @ index.ts:2040](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2040) - - [registerTool @ index.ts:2043](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2043) - - [registerTool @ index.ts:2046](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2046) + - [registerCommand @ index.ts:2385](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2385) + - [registerContextEngine @ index.ts:2365](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2365) - 🟔 P2 **matrix** `deprecation-warning` `core-compat-adapter` - **channel-env-vars**: matrix: channelEnvVars legacy manifest metadata must stay covered @@ -5016,8 +4997,8 @@ _none_ - contract: External inspector capture records service, route, gateway, command, and interactive registrations. - id: `api.capture.runtime-registrars:lossless-claw` - evidence: - - [registerCommand @ index.ts:2055](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2055) - - [registerContextEngine @ index.ts:2035](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2035) + - [registerCommand @ index.ts:2385](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2385) + - [registerContextEngine @ index.ts:2365](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/plugin/index.ts#L2365) - 🟔 P2 **mcp-adapter** `inspector-capture-api` - contract: External inspector capture records service, route, gateway, command, and interactive registrations. @@ -5309,7 +5290,7 @@ _none_ - contract: Inspector can build or resolve source aliases before cold importing package entrypoints. - id: `package.entrypoint.build-before-cold-import:lossless-claw` - evidence: - - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/dist/index.js) + - [extension:./dist/index.js @ index.js](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/dist/index.js) - 🟔 P2 **nemoclaw** `package-loader` - contract: Inspector can build or resolve source aliases before cold importing package entrypoints. @@ -5395,10 +5376,10 @@ _none_ - contract: Inspector installs package dependencies in an isolated workspace before cold import. - id: `package.entrypoint.isolated-dependency-install:lossless-claw` - evidence: - - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) - - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/package.json) + - [@sinclair/typebox @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-agent-core @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-ai @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) + - [@mariozechner/pi-coding-agent @ package.json](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/package.json) - 🟔 P2 **mcp-adapter** `package-loader` - contract: Inspector installs package dependencies in an isolated workspace before cold import. @@ -5650,8 +5631,8 @@ _none_ - contract: Root plugin SDK barrel remains importable or has a machine-readable migration path. - id: `sdk.import.root-barrel-cold-import:lossless-claw` - evidence: - - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L21) - - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/openclaw-bridge.ts#L26) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:21](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L21) + - [openclaw/plugin-sdk @ openclaw-bridge.ts:26](https://github.com/Martian-Engineering/lossless-claw/blob/4fc60c925c1eed730a73c6bb62144f7af905687f/src/openclaw-bridge.ts#L26) - 🟔 P2 **mocrane-wecom** `sdk-alias` - contract: Root plugin SDK barrel remains importable or has a machine-readable migration path. @@ -5758,15 +5739,6 @@ _none_ - [registerTool @ tools.ts:52](https://github.com/hyperspell/hyperspell-openclaw/blob/a04d35176c4ffbe99d906f7d8075fc8671e7968d/graph/tools.ts#L52) - [registerTool @ tools.ts:95](https://github.com/hyperspell/hyperspell-openclaw/blob/a04d35176c4ffbe99d906f7d8075fc8671e7968d/graph/tools.ts#L95) -- 🟔 P2 **lossless-claw** `tool-runtime` - - contract: Registered runtime tools expose stable names, input schemas, and result metadata. - - id: `tool.registration.schema-capture:lossless-claw` - - evidence: - - [registerTool @ index.ts:2037](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2037) - - [registerTool @ index.ts:2040](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2040) - - [registerTool @ index.ts:2043](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2043) - - [registerTool @ index.ts:2046](https://github.com/Martian-Engineering/lossless-claw/blob/4724d3fe6ccfd85f275aad732f3b01551d909e5a/src/plugin/index.ts#L2046) - - 🟔 P2 **mcp-adapter** `tool-runtime` - contract: Registered runtime tools expose stable names, input schemas, and result metadata. - id: `tool.registration.schema-capture:mcp-adapter` @@ -7013,7 +6985,7 @@ _none_ | llm-trace-phoenix | high | llm-observer, conversation-access, telemetry, external-api | llm_input, llm_output | - | - | | opik-openclaw | high | llm-observer, tool-runtime, subagent-routing, diagnostics, cli | after_tool_call, agent_end, before_tool_call, llm_input, llm_output, subagent_delivery_target, subagent_ended, subagent_spawned, subagent_spawning, tool_result_persist | registerCli, registerService | - | | openclaw-telemetry | high | diagnostics, llm-observer, tool-runtime, message-lifecycle, gateway-service | after_tool_call, agent_end, before_agent_start, before_tool_call, message_received, message_sent | registerService | - | -| lossless-claw | high | context-engine, prompt-mutation, session-lifecycle, gateway-lifecycle, dynamic-tool | before_prompt_build, before_reset, gateway_start, gateway_stop, session_end | registerCommand, registerContextEngine, registerTool | - | +| lossless-claw | high | context-engine, prompt-mutation, session-lifecycle, gateway-lifecycle, dynamic-tool | before_prompt_build, before_reset, gateway_start, gateway_stop, session_end | registerCommand, registerContextEngine, registerTool | tools | | connectclaw | high | dynamic-tool, external-api, gateway-service, process-spawn, hono-relay | before_agent_start | registerCommand, registerService, registerTool | - | | hyperspell | high | dynamic-tool, external-memory, cli | - | registerCli, registerCommand, registerTool | - | | honcho | high | memory-runtime, prompt-mutation, gateway-lifecycle, subagent-routing, sdk-compat | agent_end, before_agent_start, before_compaction, before_prompt_build, before_reset, gateway_start, subagent_spawned | definePluginEntry, registerCli, registerMemoryPromptSection, registerMemoryRuntime, registerTool | - | @@ -7122,7 +7094,7 @@ _none_ | lossless-claw | inspector-follow-up | cold-import | Install runtime dependencies in an isolated workspace before executing this fixture entrypoint. | @sinclair/typebox, @mariozechner/pi-agent-core, @mariozechner/pi-ai, @mariozechner/pi-coding-agent | | lossless-claw | core-compat-adapter | sdk-import | Keep the root SDK barrel stable or expose a machine-readable migration map before removing aliases. | openclaw/plugin-sdk | | lossless-claw | inspector-follow-up | registration-capture | Expose or mirror a full public API capture shim before treating these runtime-only seams as covered. | registerCommand, registerContextEngine | -| lossless-claw | inspector-follow-up | tool-schema | Capture registered tool schemas from plugin register() before judging tool compatibility. | registerTool without manifest contracts.tools | +| lossless-claw | no-action | manifest-contract | Keep checking this declarative contract in default offline CI. | tools | | connectclaw | inspector-follow-up | cold-import | Compile TypeScript source or run a loader before cold-importing this fixture entrypoint. | plugins/connectclaw/packages/plugin/index.ts | | connectclaw | core-compat-adapter | sdk-import | Keep the root SDK barrel stable or expose a machine-readable migration map before removing aliases. | openclaw/plugin-sdk | | connectclaw | core-compat-adapter | hook-compat | Keep before_agent_start wired while plugin authors migrate to before_model_resolve and before_prompt_build. | before_agent_start @ plugins/connectclaw/packages/plugin/src/hooks.ts:17 | @@ -7442,12 +7414,13 @@ _none_ | openclaw-telemetry | sdk-exports-present | log | all observed plugin SDK imports exist in target OpenClaw package exports | openclaw/plugin-sdk | - | | openclaw-telemetry | manifest-fields-checked | log | plugin manifest fields were compared with target OpenClaw manifest types | plugins/openclaw-telemetry/openclaw.plugin.json | - | | openclaw-telemetry | package-metadata | log | selected package metadata for plugin contract checks | plugins/openclaw-telemetry/package.json, @openclaw/telemetry, version:0.1.0 | - | -| lossless-claw | seam-inventory | log | observed 5 hooks, 3 registrations, and 0 manifest contracts | hook:before_prompt_build, hook:before_reset, hook:gateway_start, hook:gateway_stop, hook:session_end, registration:registerCommand, registration:registerContextEngine, registration:registerTool | - | +| lossless-claw | seam-inventory | log | observed 5 hooks, 3 registrations, and 1 manifest contracts | hook:before_prompt_build, hook:before_reset, hook:gateway_start, hook:gateway_stop, hook:session_end, registration:registerCommand, registration:registerContextEngine, registration:registerTool, manifestContract:tools | - | | lossless-claw | hook-names-present | log | all observed hooks exist in the target OpenClaw hook registry | before_prompt_build, before_reset, gateway_start, gateway_stop, session_end | - | | lossless-claw | api-registrars-present | log | all observed api.register* calls exist in the target OpenClaw plugin API builder | registerCommand, registerContextEngine, registerTool | - | | lossless-claw | sdk-exports-present | log | all observed plugin SDK imports exist in target OpenClaw package exports | openclaw/plugin-sdk | - | | lossless-claw | manifest-fields-checked | log | plugin manifest fields were compared with target OpenClaw manifest types | plugins/lossless-claw/openclaw.plugin.json | - | -| lossless-claw | package-metadata | log | selected package metadata for plugin contract checks | plugins/lossless-claw/package.json, @martian-engineering/lossless-claw, version:0.9.2 | - | +| lossless-claw | package-metadata | log | selected package metadata for plugin contract checks | plugins/lossless-claw/package.json, @martian-engineering/lossless-claw, version:0.9.4 | - | +| lossless-claw | declarative-contracts | log | fixture declares manifest contracts that can be checked without executing plugin code | tools | - | | connectclaw | seam-inventory | log | observed 1 hooks, 3 registrations, and 0 manifest contracts | hook:before_agent_start, registration:registerCommand, registration:registerService, registration:registerTool | - | | connectclaw | hook-names-present | log | all observed hooks exist in the target OpenClaw hook registry | before_agent_start | - | | connectclaw | api-registrars-present | log | all observed api.register* calls exist in the target OpenClaw plugin API builder | registerCommand, registerService, registerTool | - | diff --git a/reports/crabpot-runtime-profile.json b/reports/crabpot-runtime-profile.json index b12d5ef..6e26977 100644 --- a/reports/crabpot-runtime-profile.json +++ b/reports/crabpot-runtime-profile.json @@ -18,8 +18,8 @@ "observedHooks": 96, "observedRegistrations": 193, "observedSdkImports": 1159, - "contractProbes": 300, - "issueFindings": 304 + "contractProbes": 299, + "issueFindings": 303 }, "platform": { "os": "linux", @@ -31,23 +31,23 @@ "summary": { "commandCount": 9, "sampleCount": 27, - "rssSampleCount": 1873, - "cpuSampleCount": 1873, + "rssSampleCount": 1858, + "cpuSampleCount": 1858, "wallTimeBasis": "command-median-p95", - "p50WallMs": 2195, - "p95WallMs": 2276, - "maxPeakRssMb": 458.2, - "maxRssDeltaMb": 429.5, - "maxCpuMsEstimate": 2481, - "maxHarnessHeapDeltaMb": 7.4 + "p50WallMs": 2193, + "p95WallMs": 2225, + "maxPeakRssMb": 450.1, + "maxRssDeltaMb": 419.3, + "maxCpuMsEstimate": 2451, + "maxHarnessHeapDeltaMb": 7.5 }, "groups": [ { "category": "baseline", "commandCount": 1, - "p50WallMs": 36, - "p95WallMs": 36, - "maxPeakRssMb": 32.6, + "p50WallMs": 33, + "p95WallMs": 38, + "maxPeakRssMb": 32.1, "maxCpuMsEstimate": 0, "rssSampleCount": 3, "cpuSampleCount": 3, @@ -58,12 +58,12 @@ { "category": "fixture-scan", "commandCount": 1, - "p50WallMs": 2137, - "p95WallMs": 2141, - "maxPeakRssMb": 448.5, - "maxCpuMsEstimate": 2346, - "rssSampleCount": 251, - "cpuSampleCount": 251, + "p50WallMs": 2060, + "p95WallMs": 2138, + "maxPeakRssMb": 448.1, + "maxCpuMsEstimate": 2343, + "rssSampleCount": 246, + "cpuSampleCount": 246, "commands": [ "fixture-inspection" ] @@ -71,12 +71,12 @@ { "category": "target-registry", "commandCount": 1, - "p50WallMs": 2209, - "p95WallMs": 2218, - "maxPeakRssMb": 432.5, - "maxCpuMsEstimate": 2408, - "rssSampleCount": 260, - "cpuSampleCount": 260, + "p50WallMs": 2193, + "p95WallMs": 2247, + "maxPeakRssMb": 450.1, + "maxCpuMsEstimate": 2451, + "rssSampleCount": 261, + "cpuSampleCount": 261, "commands": [ "compat-report-registry" ] @@ -84,12 +84,12 @@ { "category": "contract-capture", "commandCount": 1, - "p50WallMs": 2195, - "p95WallMs": 2245, - "maxPeakRssMb": 432.5, - "maxCpuMsEstimate": 2449, - "rssSampleCount": 260, - "cpuSampleCount": 260, + "p50WallMs": 2194, + "p95WallMs": 2199, + "maxPeakRssMb": 432.7, + "maxCpuMsEstimate": 2390, + "rssSampleCount": 258, + "cpuSampleCount": 258, "commands": [ "contract-capture" ] @@ -97,12 +97,12 @@ { "category": "synthetic-probes", "commandCount": 1, - "p50WallMs": 2202, - "p95WallMs": 2233, - "maxPeakRssMb": 433.1, - "maxCpuMsEstimate": 2416, - "rssSampleCount": 259, - "cpuSampleCount": 259, + "p50WallMs": 2199, + "p95WallMs": 2205, + "maxPeakRssMb": 432.8, + "maxCpuMsEstimate": 2403, + "rssSampleCount": 257, + "cpuSampleCount": 257, "commands": [ "synthetic-probe-plan" ] @@ -110,12 +110,12 @@ { "category": "cold-import", "commandCount": 1, - "p50WallMs": 2180, - "p95WallMs": 2200, - "maxPeakRssMb": 440.8, - "maxCpuMsEstimate": 2395, - "rssSampleCount": 259, - "cpuSampleCount": 259, + "p50WallMs": 2162, + "p95WallMs": 2217, + "maxPeakRssMb": 435.4, + "maxCpuMsEstimate": 2410, + "rssSampleCount": 260, + "cpuSampleCount": 260, "commands": [ "cold-import-readiness" ] @@ -123,12 +123,12 @@ { "category": "workspace-plan", "commandCount": 1, - "p50WallMs": 2240, - "p95WallMs": 2246, - "maxPeakRssMb": 440.3, - "maxCpuMsEstimate": 2453, - "rssSampleCount": 267, - "cpuSampleCount": 267, + "p50WallMs": 2207, + "p95WallMs": 2210, + "maxPeakRssMb": 440.7, + "maxCpuMsEstimate": 2417, + "rssSampleCount": 263, + "cpuSampleCount": 263, "commands": [ "workspace-plan" ] @@ -136,12 +136,12 @@ { "category": "platform-probes", "commandCount": 1, - "p50WallMs": 2276, - "p95WallMs": 2280, - "maxPeakRssMb": 458.2, - "maxCpuMsEstimate": 2481, - "rssSampleCount": 269, - "cpuSampleCount": 269, + "p50WallMs": 2225, + "p95WallMs": 2228, + "maxPeakRssMb": 439.8, + "maxCpuMsEstimate": 2426, + "rssSampleCount": 265, + "cpuSampleCount": 265, "commands": [ "platform-probes" ] @@ -149,10 +149,10 @@ { "category": "import-loop", "commandCount": 1, - "p50WallMs": 374, - "p95WallMs": 375, + "p50WallMs": 372, + "p95WallMs": 374, "maxPeakRssMb": 60.5, - "maxCpuMsEstimate": 174, + "maxCpuMsEstimate": 183, "rssSampleCount": 45, "cpuSampleCount": 45, "commands": [ @@ -168,8 +168,22 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node -e 0", "samples": [ { - "wallMs": 36, - "peakRssMb": 32.6, + "wallMs": 38, + "peakRssMb": 31.4, + "rssDeltaMb": 0, + "peakCpuPercent": 0, + "cpuMsEstimate": 0, + "harnessHeapDeltaMb": 0.4, + "statSampleCount": 1, + "rssSampleCount": 1, + "cpuSampleCount": 1, + "exitCode": 0, + "stdoutPreview": "", + "stderrPreview": "" + }, + { + "wallMs": 33, + "peakRssMb": 32.1, "rssDeltaMb": 0, "peakCpuPercent": 0, "cpuMsEstimate": 0, @@ -182,22 +196,8 @@ "stderrPreview": "" }, { - "wallMs": 34, - "peakRssMb": 31.9, - "rssDeltaMb": 0, - "peakCpuPercent": 0, - "cpuMsEstimate": 0, - "harnessHeapDeltaMb": 0.3, - "statSampleCount": 1, - "rssSampleCount": 1, - "cpuSampleCount": 1, - "exitCode": 0, - "stdoutPreview": "", - "stderrPreview": "" - }, - { - "wallMs": 36, - "peakRssMb": 30.1, + "wallMs": 33, + "peakRssMb": 31.3, "rssDeltaMb": 0, "peakCpuPercent": 0, "cpuMsEstimate": 0, @@ -211,14 +211,14 @@ } ], "wallMs": { - "min": 34, - "median": 36, - "max": 36 + "min": 33, + "median": 33, + "max": 38 }, "peakRssMb": { - "min": 30.1, - "median": 31.9, - "max": 32.6 + "min": 31.3, + "median": 31.4, + "max": 32.1 }, "rssDeltaMb": { "min": 0, @@ -238,7 +238,7 @@ "harnessHeapDeltaMb": { "min": 0.3, "median": 0.3, - "max": 0.3 + "max": 0.4 }, "statSampleCount": 3, "rssSampleCount": 3, @@ -254,12 +254,26 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/inspect-fixtures.mjs --check", "samples": [ { - "wallMs": 2137, - "peakRssMb": 448.5, - "rssDeltaMb": 417.3, - "peakCpuPercent": 127, - "cpuMsEstimate": 2346, - "harnessHeapDeltaMb": -4.8, + "wallMs": 2043, + "peakRssMb": 431.3, + "rssDeltaMb": 399.8, + "peakCpuPercent": 130, + "cpuMsEstimate": 2258, + "harnessHeapDeltaMb": -5, + "statSampleCount": 81, + "rssSampleCount": 81, + "cpuSampleCount": 81, + "exitCode": 0, + "stdoutPreview": "│ 56 │ 'inworld-tts' │ 'ok' │ '' │ 'definePluginEntry,registerSpeechProvider' │ 'speechProviders' │\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜", + "stderrPreview": "" + }, + { + "wallMs": 2138, + "peakRssMb": 448.1, + "rssDeltaMb": 417.6, + "peakCpuPercent": 123, + "cpuMsEstimate": 2343, + "harnessHeapDeltaMb": 7.5, "statSampleCount": 84, "rssSampleCount": 84, "cpuSampleCount": 84, @@ -268,67 +282,53 @@ "stderrPreview": "" }, { - "wallMs": 2087, - "peakRssMb": 431.4, - "rssDeltaMb": 399.6, - "peakCpuPercent": 125, - "cpuMsEstimate": 2292, - "harnessHeapDeltaMb": 7.4, - "statSampleCount": 82, - "rssSampleCount": 82, - "cpuSampleCount": 82, - "exitCode": 0, - "stdoutPreview": "│ 56 │ 'inworld-tts' │ 'ok' │ '' │ 'definePluginEntry,registerSpeechProvider' │ 'speechProviders' │\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜", - "stderrPreview": "" - }, - { - "wallMs": 2141, - "peakRssMb": 430.7, - "rssDeltaMb": 400.4, - "peakCpuPercent": 121, - "cpuMsEstimate": 2317, - "harnessHeapDeltaMb": -5.3, - "statSampleCount": 85, - "rssSampleCount": 85, - "cpuSampleCount": 85, + "wallMs": 2060, + "peakRssMb": 430.1, + "rssDeltaMb": 398.3, + "peakCpuPercent": 127, + "cpuMsEstimate": 2237, + "harnessHeapDeltaMb": -5.5, + "statSampleCount": 81, + "rssSampleCount": 81, + "cpuSampleCount": 81, "exitCode": 0, "stdoutPreview": "│ 56 │ 'inworld-tts' │ 'ok' │ '' │ 'definePluginEntry,registerSpeechProvider' │ 'speechProviders' │\nā””ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”“ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”€ā”˜", "stderrPreview": "" } ], "wallMs": { - "min": 2087, - "median": 2137, - "max": 2141 + "min": 2043, + "median": 2060, + "max": 2138 }, "peakRssMb": { - "min": 430.7, - "median": 431.4, - "max": 448.5 + "min": 430.1, + "median": 431.3, + "max": 448.1 }, "rssDeltaMb": { - "min": 399.6, - "median": 400.4, - "max": 417.3 + "min": 398.3, + "median": 399.8, + "max": 417.6 }, "peakCpuPercent": { - "min": 121, - "median": 125, - "max": 127 + "min": 123, + "median": 127, + "max": 130 }, "cpuMsEstimate": { - "min": 2292, - "median": 2317, - "max": 2346 + "min": 2237, + "median": 2258, + "max": 2343 }, "harnessHeapDeltaMb": { - "min": -5.3, - "median": -4.8, - "max": 7.4 + "min": -5.5, + "median": -5, + "max": 7.5 }, - "statSampleCount": 251, - "rssSampleCount": 251, - "cpuSampleCount": 251, + "statSampleCount": 246, + "rssSampleCount": 246, + "cpuSampleCount": 246, "exitCodes": [ 0 ] @@ -340,81 +340,81 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/generate-report.mjs --check", "samples": [ { - "wallMs": 2180, - "peakRssMb": 432.5, - "rssDeltaMb": 401.4, - "peakCpuPercent": 130, - "cpuMsEstimate": 2400, + "wallMs": 2247, + "peakRssMb": 433.4, + "rssDeltaMb": 402, + "peakCpuPercent": 127, + "cpuMsEstimate": 2451, + "harnessHeapDeltaMb": 7.3, + "statSampleCount": 89, + "rssSampleCount": 89, + "cpuSampleCount": 89, + "exitCode": 0, + "stdoutPreview": "crabpot report check: pass; 0 breakages, 148 warnings, 155 suggestions, 303 issues\nreport targets: /home/runner/work/crabpot/crabpot/reports/crabpot-report.md, /home/runner/work/crabpot/crabpot/reports/crabpot-report.json, /home/runner/work/crabpot/crabpot/reports/crabpot-issues.md", + "stderrPreview": "" + }, + { + "wallMs": 2193, + "peakRssMb": 450.1, + "rssDeltaMb": 419.3, + "peakCpuPercent": 133, + "cpuMsEstimate": 2401, + "harnessHeapDeltaMb": -5.2, + "statSampleCount": 87, + "rssSampleCount": 87, + "cpuSampleCount": 87, + "exitCode": 0, + "stdoutPreview": "crabpot report check: pass; 0 breakages, 148 warnings, 155 suggestions, 303 issues\nreport targets: /home/runner/work/crabpot/crabpot/reports/crabpot-report.md, /home/runner/work/crabpot/crabpot/reports/crabpot-report.json, /home/runner/work/crabpot/crabpot/reports/crabpot-issues.md", + "stderrPreview": "" + }, + { + "wallMs": 2157, + "peakRssMb": 432.6, + "rssDeltaMb": 402.4, + "peakCpuPercent": 127, + "cpuMsEstimate": 2355, "harnessHeapDeltaMb": 7, "statSampleCount": 85, "rssSampleCount": 85, "cpuSampleCount": 85, "exitCode": 0, - "stdoutPreview": "crabpot report check: pass; 0 breakages, 148 warnings, 156 suggestions, 304 issues\nreport targets: /home/runner/work/crabpot/crabpot/reports/crabpot-report.md, /home/runner/work/crabpot/crabpot/reports/crabpot-report.json, /home/runner/work/crabpot/crabpot/reports/crabpot-issues.md", - "stderrPreview": "" - }, - { - "wallMs": 2218, - "peakRssMb": 432.4, - "rssDeltaMb": 401.6, - "peakCpuPercent": 121, - "cpuMsEstimate": 2378, - "harnessHeapDeltaMb": -5.2, - "statSampleCount": 88, - "rssSampleCount": 88, - "cpuSampleCount": 88, - "exitCode": 0, - "stdoutPreview": "crabpot report check: pass; 0 breakages, 148 warnings, 156 suggestions, 304 issues\nreport targets: /home/runner/work/crabpot/crabpot/reports/crabpot-report.md, /home/runner/work/crabpot/crabpot/reports/crabpot-report.json, /home/runner/work/crabpot/crabpot/reports/crabpot-issues.md", - "stderrPreview": "" - }, - { - "wallMs": 2209, - "peakRssMb": 432.1, - "rssDeltaMb": 403.4, - "peakCpuPercent": 121, - "cpuMsEstimate": 2408, - "harnessHeapDeltaMb": 7.2, - "statSampleCount": 87, - "rssSampleCount": 87, - "cpuSampleCount": 87, - "exitCode": 0, - "stdoutPreview": "crabpot report check: pass; 0 breakages, 148 warnings, 156 suggestions, 304 issues\nreport targets: /home/runner/work/crabpot/crabpot/reports/crabpot-report.md, /home/runner/work/crabpot/crabpot/reports/crabpot-report.json, /home/runner/work/crabpot/crabpot/reports/crabpot-issues.md", + "stdoutPreview": "crabpot report check: pass; 0 breakages, 148 warnings, 155 suggestions, 303 issues\nreport targets: /home/runner/work/crabpot/crabpot/reports/crabpot-report.md, /home/runner/work/crabpot/crabpot/reports/crabpot-report.json, /home/runner/work/crabpot/crabpot/reports/crabpot-issues.md", "stderrPreview": "" } ], "wallMs": { - "min": 2180, - "median": 2209, - "max": 2218 + "min": 2157, + "median": 2193, + "max": 2247 }, "peakRssMb": { - "min": 432.1, - "median": 432.4, - "max": 432.5 + "min": 432.6, + "median": 433.4, + "max": 450.1 }, "rssDeltaMb": { - "min": 401.4, - "median": 401.6, - "max": 403.4 + "min": 402, + "median": 402.4, + "max": 419.3 }, "peakCpuPercent": { - "min": 121, - "median": 121, - "max": 130 + "min": 127, + "median": 127, + "max": 133 }, "cpuMsEstimate": { - "min": 2378, - "median": 2400, - "max": 2408 + "min": 2355, + "median": 2401, + "max": 2451 }, "harnessHeapDeltaMb": { "min": -5.2, "median": 7, - "max": 7.2 + "max": 7.3 }, - "statSampleCount": 260, - "rssSampleCount": 260, - "cpuSampleCount": 260, + "statSampleCount": 261, + "rssSampleCount": 261, + "cpuSampleCount": 261, "exitCodes": [ 0 ] @@ -426,81 +426,81 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/capture-contracts.mjs --check", "samples": [ { - "wallMs": 2195, + "wallMs": 2199, "peakRssMb": 432.5, - "rssDeltaMb": 401.7, + "rssDeltaMb": 402.9, + "peakCpuPercent": 123, + "cpuMsEstimate": 2390, + "harnessHeapDeltaMb": -5, + "statSampleCount": 86, + "rssSampleCount": 86, + "cpuSampleCount": 86, + "exitCode": 0, + "stdoutPreview": "contract capture: 323 registrations, 98 hooks, 2126 sdk imports, 299 issue probes", + "stderrPreview": "" + }, + { + "wallMs": 2174, + "peakRssMb": 432.7, + "rssDeltaMb": 401.3, "peakCpuPercent": 121, - "cpuMsEstimate": 2377, + "cpuMsEstimate": 2357, "harnessHeapDeltaMb": -5.1, "statSampleCount": 86, "rssSampleCount": 86, "cpuSampleCount": 86, "exitCode": 0, - "stdoutPreview": "contract capture: 323 registrations, 98 hooks, 2126 sdk imports, 300 issue probes", + "stdoutPreview": "contract capture: 323 registrations, 98 hooks, 2126 sdk imports, 299 issue probes", "stderrPreview": "" }, { - "wallMs": 2173, - "peakRssMb": 432.4, - "rssDeltaMb": 403.7, - "peakCpuPercent": 125, - "cpuMsEstimate": 2386, - "harnessHeapDeltaMb": -5.1, + "wallMs": 2194, + "peakRssMb": 432.1, + "rssDeltaMb": 401.4, + "peakCpuPercent": 119, + "cpuMsEstimate": 2363, + "harnessHeapDeltaMb": 7, "statSampleCount": 86, "rssSampleCount": 86, "cpuSampleCount": 86, "exitCode": 0, - "stdoutPreview": "contract capture: 323 registrations, 98 hooks, 2126 sdk imports, 300 issue probes", - "stderrPreview": "" - }, - { - "wallMs": 2245, - "peakRssMb": 432, - "rssDeltaMb": 402.3, - "peakCpuPercent": 121, - "cpuMsEstimate": 2449, - "harnessHeapDeltaMb": 7.1, - "statSampleCount": 88, - "rssSampleCount": 88, - "cpuSampleCount": 88, - "exitCode": 0, - "stdoutPreview": "contract capture: 323 registrations, 98 hooks, 2126 sdk imports, 300 issue probes", + "stdoutPreview": "contract capture: 323 registrations, 98 hooks, 2126 sdk imports, 299 issue probes", "stderrPreview": "" } ], "wallMs": { - "min": 2173, - "median": 2195, - "max": 2245 + "min": 2174, + "median": 2194, + "max": 2199 }, "peakRssMb": { - "min": 432, - "median": 432.4, - "max": 432.5 + "min": 432.1, + "median": 432.5, + "max": 432.7 }, "rssDeltaMb": { - "min": 401.7, - "median": 402.3, - "max": 403.7 + "min": 401.3, + "median": 401.4, + "max": 402.9 }, "peakCpuPercent": { - "min": 121, + "min": 119, "median": 121, - "max": 125 + "max": 123 }, "cpuMsEstimate": { - "min": 2377, - "median": 2386, - "max": 2449 + "min": 2357, + "median": 2363, + "max": 2390 }, "harnessHeapDeltaMb": { "min": -5.1, - "median": -5.1, - "max": 7.1 + "median": -5, + "max": 7 }, - "statSampleCount": 260, - "rssSampleCount": 260, - "cpuSampleCount": 260, + "statSampleCount": 258, + "rssSampleCount": 258, + "cpuSampleCount": 258, "exitCodes": [ 0 ] @@ -512,81 +512,81 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/synthetic-probes.mjs --check", "samples": [ { - "wallMs": 2233, - "peakRssMb": 433.1, + "wallMs": 2199, + "peakRssMb": 432.8, "rssDeltaMb": 402.4, "peakCpuPercent": 125, - "cpuMsEstimate": 2416, - "harnessHeapDeltaMb": -679.8, - "statSampleCount": 85, - "rssSampleCount": 85, - "cpuSampleCount": 85, + "cpuMsEstimate": 2395, + "harnessHeapDeltaMb": -676.9, + "statSampleCount": 84, + "rssSampleCount": 84, + "cpuSampleCount": 84, "exitCode": 0, "stdoutPreview": "synthetic probes: 421 ready, 0 blocked, 421 total", "stderrPreview": "" }, { - "wallMs": 2202, - "peakRssMb": 432.7, - "rssDeltaMb": 402.7, - "peakCpuPercent": 119, - "cpuMsEstimate": 2387, - "harnessHeapDeltaMb": 0.2, - "statSampleCount": 87, - "rssSampleCount": 87, - "cpuSampleCount": 87, - "exitCode": 0, - "stdoutPreview": "synthetic probes: 421 ready, 0 blocked, 421 total", - "stderrPreview": "" - }, - { - "wallMs": 2187, + "wallMs": 2205, "peakRssMb": 432.8, - "rssDeltaMb": 402.8, - "peakCpuPercent": 125, - "cpuMsEstimate": 2364, - "harnessHeapDeltaMb": 0.1, + "rssDeltaMb": 404.1, + "peakCpuPercent": 120, + "cpuMsEstimate": 2403, + "harnessHeapDeltaMb": 0, "statSampleCount": 87, "rssSampleCount": 87, "cpuSampleCount": 87, "exitCode": 0, "stdoutPreview": "synthetic probes: 421 ready, 0 blocked, 421 total", "stderrPreview": "" + }, + { + "wallMs": 2160, + "peakRssMb": 432.7, + "rssDeltaMb": 403.9, + "peakCpuPercent": 118, + "cpuMsEstimate": 2324, + "harnessHeapDeltaMb": 0, + "statSampleCount": 86, + "rssSampleCount": 86, + "cpuSampleCount": 86, + "exitCode": 0, + "stdoutPreview": "synthetic probes: 421 ready, 0 blocked, 421 total", + "stderrPreview": "" } ], "wallMs": { - "min": 2187, - "median": 2202, - "max": 2233 + "min": 2160, + "median": 2199, + "max": 2205 }, "peakRssMb": { "min": 432.7, "median": 432.8, - "max": 433.1 + "max": 432.8 }, "rssDeltaMb": { "min": 402.4, - "median": 402.7, - "max": 402.8 + "median": 403.9, + "max": 404.1 }, "peakCpuPercent": { - "min": 119, - "median": 125, + "min": 118, + "median": 120, "max": 125 }, "cpuMsEstimate": { - "min": 2364, - "median": 2387, - "max": 2416 + "min": 2324, + "median": 2395, + "max": 2403 }, "harnessHeapDeltaMb": { - "min": -679.8, - "median": 0.1, - "max": 0.2 + "min": -676.9, + "median": 0, + "max": 0 }, - "statSampleCount": 259, - "rssSampleCount": 259, - "cpuSampleCount": 259, + "statSampleCount": 257, + "rssSampleCount": 257, + "cpuSampleCount": 257, "exitCodes": [ 0 ] @@ -598,12 +598,12 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/cold-import-readiness.mjs --check", "samples": [ { - "wallMs": 2175, - "peakRssMb": 436.1, - "rssDeltaMb": 407.4, - "peakCpuPercent": 127, - "cpuMsEstimate": 2395, - "harnessHeapDeltaMb": 1, + "wallMs": 2162, + "peakRssMb": 432.3, + "rssDeltaMb": 403.6, + "peakCpuPercent": 125, + "cpuMsEstimate": 2350, + "harnessHeapDeltaMb": 0.1, "statSampleCount": 86, "rssSampleCount": 86, "cpuSampleCount": 86, @@ -612,26 +612,26 @@ "stderrPreview": "" }, { - "wallMs": 2200, - "peakRssMb": 436.6, - "rssDeltaMb": 408, - "peakCpuPercent": 130, - "cpuMsEstimate": 2394, - "harnessHeapDeltaMb": -0.4, - "statSampleCount": 87, - "rssSampleCount": 87, - "cpuSampleCount": 87, + "wallMs": 2217, + "peakRssMb": 435.4, + "rssDeltaMb": 406.7, + "peakCpuPercent": 123, + "cpuMsEstimate": 2410, + "harnessHeapDeltaMb": 1, + "statSampleCount": 88, + "rssSampleCount": 88, + "cpuSampleCount": 88, "exitCode": 0, "stdoutPreview": "cold import readiness: 103 entrypoints, 6 ready, 97 blocked", "stderrPreview": "" }, { - "wallMs": 2180, - "peakRssMb": 440.8, - "rssDeltaMb": 411.2, - "peakCpuPercent": 123, + "wallMs": 2154, + "peakRssMb": 433.2, + "rssDeltaMb": 403.4, + "peakCpuPercent": 130, "cpuMsEstimate": 2363, - "harnessHeapDeltaMb": 0.9, + "harnessHeapDeltaMb": -0.6, "statSampleCount": 86, "rssSampleCount": 86, "cpuSampleCount": 86, @@ -641,38 +641,38 @@ } ], "wallMs": { - "min": 2175, - "median": 2180, - "max": 2200 + "min": 2154, + "median": 2162, + "max": 2217 }, "peakRssMb": { - "min": 436.1, - "median": 436.6, - "max": 440.8 + "min": 432.3, + "median": 433.2, + "max": 435.4 }, "rssDeltaMb": { - "min": 407.4, - "median": 408, - "max": 411.2 + "min": 403.4, + "median": 403.6, + "max": 406.7 }, "peakCpuPercent": { "min": 123, - "median": 127, + "median": 125, "max": 130 }, "cpuMsEstimate": { - "min": 2363, - "median": 2394, - "max": 2395 + "min": 2350, + "median": 2363, + "max": 2410 }, "harnessHeapDeltaMb": { - "min": -0.4, - "median": 0.9, + "min": -0.6, + "median": 0.1, "max": 1 }, - "statSampleCount": 259, - "rssSampleCount": 259, - "cpuSampleCount": 259, + "statSampleCount": 260, + "rssSampleCount": 260, + "cpuSampleCount": 260, "exitCodes": [ 0 ] @@ -684,81 +684,81 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/workspace-plan.mjs --check", "samples": [ { - "wallMs": 2246, - "peakRssMb": 439.7, - "rssDeltaMb": 410.9, - "peakCpuPercent": 125, - "cpuMsEstimate": 2453, - "harnessHeapDeltaMb": -0.3, - "statSampleCount": 89, - "rssSampleCount": 89, - "cpuSampleCount": 89, + "wallMs": 2178, + "peakRssMb": 438.9, + "rssDeltaMb": 409.3, + "peakCpuPercent": 140, + "cpuMsEstimate": 2405, + "harnessHeapDeltaMb": 1, + "statSampleCount": 87, + "rssSampleCount": 87, + "cpuSampleCount": 87, "exitCode": 0, "stdoutPreview": "workspace plan: 103 entrypoints, 43 installs, 43 audits, 11 builds, 103 captures, 103 synthetic probes, 103 artifact dirs", "stderrPreview": "" }, { - "wallMs": 2232, - "peakRssMb": 440.3, - "rssDeltaMb": 411, - "peakCpuPercent": 123, - "cpuMsEstimate": 2424, - "harnessHeapDeltaMb": 2.7, - "statSampleCount": 89, - "rssSampleCount": 89, - "cpuSampleCount": 89, + "wallMs": 2210, + "peakRssMb": 439.6, + "rssDeltaMb": 410.2, + "peakCpuPercent": 118, + "cpuMsEstimate": 2398, + "harnessHeapDeltaMb": 1, + "statSampleCount": 88, + "rssSampleCount": 88, + "cpuSampleCount": 88, "exitCode": 0, "stdoutPreview": "workspace plan: 103 entrypoints, 43 installs, 43 audits, 11 builds, 103 captures, 103 synthetic probes, 103 artifact dirs", "stderrPreview": "" }, { - "wallMs": 2240, - "peakRssMb": 439.8, - "rssDeltaMb": 411.1, + "wallMs": 2207, + "peakRssMb": 440.7, + "rssDeltaMb": 412, "peakCpuPercent": 125, - "cpuMsEstimate": 2444, - "harnessHeapDeltaMb": -1.8, - "statSampleCount": 89, - "rssSampleCount": 89, - "cpuSampleCount": 89, + "cpuMsEstimate": 2417, + "harnessHeapDeltaMb": 1, + "statSampleCount": 88, + "rssSampleCount": 88, + "cpuSampleCount": 88, "exitCode": 0, "stdoutPreview": "workspace plan: 103 entrypoints, 43 installs, 43 audits, 11 builds, 103 captures, 103 synthetic probes, 103 artifact dirs", "stderrPreview": "" } ], "wallMs": { - "min": 2232, - "median": 2240, - "max": 2246 + "min": 2178, + "median": 2207, + "max": 2210 }, "peakRssMb": { - "min": 439.7, - "median": 439.8, - "max": 440.3 + "min": 438.9, + "median": 439.6, + "max": 440.7 }, "rssDeltaMb": { - "min": 410.9, - "median": 411, - "max": 411.1 + "min": 409.3, + "median": 410.2, + "max": 412 }, "peakCpuPercent": { - "min": 123, + "min": 118, "median": 125, - "max": 125 + "max": 140 }, "cpuMsEstimate": { - "min": 2424, - "median": 2444, - "max": 2453 + "min": 2398, + "median": 2405, + "max": 2417 }, "harnessHeapDeltaMb": { - "min": -1.8, - "median": -0.3, - "max": 2.7 + "min": 1, + "median": 1, + "max": 1 }, - "statSampleCount": 267, - "rssSampleCount": 267, - "cpuSampleCount": 267, + "statSampleCount": 263, + "rssSampleCount": 263, + "cpuSampleCount": 263, "exitCodes": [ 0 ] @@ -770,81 +770,81 @@ "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/platform-probes.mjs --check", "samples": [ { - "wallMs": 2276, + "wallMs": 2225, "peakRssMb": 439.6, - "rssDeltaMb": 410.9, + "rssDeltaMb": 410, "peakCpuPercent": 117, - "cpuMsEstimate": 2449, - "harnessHeapDeltaMb": 1.3, - "statSampleCount": 90, - "rssSampleCount": 90, - "cpuSampleCount": 90, + "cpuMsEstimate": 2410, + "harnessHeapDeltaMb": -1.8, + "statSampleCount": 88, + "rssSampleCount": 88, + "cpuSampleCount": 88, "exitCode": 0, "stdoutPreview": "platform probes: 103 entrypoints, 25 TS loader, 14 Windows-risk steps, 14 container-risk steps", "stderrPreview": "" }, { - "wallMs": 2257, - "peakRssMb": 440.1, - "rssDeltaMb": 411.4, - "peakCpuPercent": 117, - "cpuMsEstimate": 2453, - "harnessHeapDeltaMb": -1.7, + "wallMs": 2211, + "peakRssMb": 439.3, + "rssDeltaMb": 410.6, + "peakCpuPercent": 120, + "cpuMsEstimate": 2397, + "harnessHeapDeltaMb": 1, + "statSampleCount": 88, + "rssSampleCount": 88, + "cpuSampleCount": 88, + "exitCode": 0, + "stdoutPreview": "platform probes: 103 entrypoints, 25 TS loader, 14 Windows-risk steps, 14 container-risk steps", + "stderrPreview": "" + }, + { + "wallMs": 2228, + "peakRssMb": 439.8, + "rssDeltaMb": 411.1, + "peakCpuPercent": 126, + "cpuMsEstimate": 2426, + "harnessHeapDeltaMb": 1.1, "statSampleCount": 89, "rssSampleCount": 89, "cpuSampleCount": 89, "exitCode": 0, "stdoutPreview": "platform probes: 103 entrypoints, 25 TS loader, 14 Windows-risk steps, 14 container-risk steps", "stderrPreview": "" - }, - { - "wallMs": 2280, - "peakRssMb": 458.2, - "rssDeltaMb": 429.5, - "peakCpuPercent": 133, - "cpuMsEstimate": 2481, - "harnessHeapDeltaMb": 1.4, - "statSampleCount": 90, - "rssSampleCount": 90, - "cpuSampleCount": 90, - "exitCode": 0, - "stdoutPreview": "platform probes: 103 entrypoints, 25 TS loader, 14 Windows-risk steps, 14 container-risk steps", - "stderrPreview": "" } ], "wallMs": { - "min": 2257, - "median": 2276, - "max": 2280 + "min": 2211, + "median": 2225, + "max": 2228 }, "peakRssMb": { - "min": 439.6, - "median": 440.1, - "max": 458.2 + "min": 439.3, + "median": 439.6, + "max": 439.8 }, "rssDeltaMb": { - "min": 410.9, - "median": 411.4, - "max": 429.5 + "min": 410, + "median": 410.6, + "max": 411.1 }, "peakCpuPercent": { "min": 117, - "median": 117, - "max": 133 + "median": 120, + "max": 126 }, "cpuMsEstimate": { - "min": 2449, - "median": 2453, - "max": 2481 + "min": 2397, + "median": 2410, + "max": 2426 }, "harnessHeapDeltaMb": { - "min": -1.7, - "median": 1.3, - "max": 1.4 + "min": -1.8, + "median": 1, + "max": 1.1 }, - "statSampleCount": 269, - "rssSampleCount": 269, - "cpuSampleCount": 269, + "statSampleCount": 265, + "rssSampleCount": 265, + "cpuSampleCount": 265, "exitCodes": [ 0 ] @@ -855,63 +855,63 @@ "category": "import-loop", "command": "/opt/hostedtoolcache/node/22.22.2/x64/bin/node scripts/import-loop-profile.mjs --check --runs 2", "samples": [ - { - "wallMs": 371, - "peakRssMb": 60.1, - "rssDeltaMb": 30.1, - "peakCpuPercent": 100, - "cpuMsEstimate": 174, - "harnessHeapDeltaMb": 1.3, - "statSampleCount": 15, - "rssSampleCount": 15, - "cpuSampleCount": 15, - "exitCode": 0, - "stdoutPreview": "import loop profile: 2 runs, p50 72ms / p95 74ms / plugin delta RSS 0.1MB / plugin delta CPU 4ms", - "stderrPreview": "" - }, { "wallMs": 374, - "peakRssMb": 60.5, - "rssDeltaMb": 31.8, + "peakRssMb": 60.4, + "rssDeltaMb": 30.5, "peakCpuPercent": 120, - "cpuMsEstimate": 174, + "cpuMsEstimate": 183, "harnessHeapDeltaMb": -1.7, "statSampleCount": 15, "rssSampleCount": 15, "cpuSampleCount": 15, "exitCode": 0, - "stdoutPreview": "import loop profile: 2 runs, p50 73ms / p95 75ms / plugin delta RSS 0MB / plugin delta CPU 8ms", + "stdoutPreview": "import loop profile: 2 runs, p50 72ms / p95 76ms / plugin delta RSS 0.6MB / plugin delta CPU 10ms", "stderrPreview": "" }, { - "wallMs": 375, + "wallMs": 371, "peakRssMb": 60.5, - "rssDeltaMb": 31.8, + "rssDeltaMb": 31.4, "peakCpuPercent": 100, - "cpuMsEstimate": 160, - "harnessHeapDeltaMb": 1.4, + "cpuMsEstimate": 178, + "harnessHeapDeltaMb": 1.3, "statSampleCount": 15, "rssSampleCount": 15, "cpuSampleCount": 15, "exitCode": 0, - "stdoutPreview": "import loop profile: 2 runs, p50 73ms / p95 75ms / plugin delta RSS 0.3MB / plugin delta CPU 2ms", + "stdoutPreview": "import loop profile: 2 runs, p50 72ms / p95 72ms / plugin delta RSS 0MB / plugin delta CPU 11ms", + "stderrPreview": "" + }, + { + "wallMs": 372, + "peakRssMb": 60.5, + "rssDeltaMb": 30.4, + "peakCpuPercent": 100, + "cpuMsEstimate": 169, + "harnessHeapDeltaMb": -1.7, + "statSampleCount": 15, + "rssSampleCount": 15, + "cpuSampleCount": 15, + "exitCode": 0, + "stdoutPreview": "import loop profile: 2 runs, p50 72ms / p95 74ms / plugin delta RSS 0.1MB / plugin delta CPU 7ms", "stderrPreview": "" } ], "wallMs": { "min": 371, - "median": 374, - "max": 375 + "median": 372, + "max": 374 }, "peakRssMb": { - "min": 60.1, + "min": 60.4, "median": 60.5, "max": 60.5 }, "rssDeltaMb": { - "min": 30.1, - "median": 31.8, - "max": 31.8 + "min": 30.4, + "median": 30.5, + "max": 31.4 }, "peakCpuPercent": { "min": 100, @@ -919,14 +919,14 @@ "max": 120 }, "cpuMsEstimate": { - "min": 160, - "median": 174, - "max": 174 + "min": 169, + "median": 178, + "max": 183 }, "harnessHeapDeltaMb": { "min": -1.7, - "median": 1.3, - "max": 1.4 + "median": -1.7, + "max": 1.3 }, "statSampleCount": 45, "rssSampleCount": 45, diff --git a/reports/crabpot-runtime-profile.md b/reports/crabpot-runtime-profile.md index 404fe12..b027a99 100644 --- a/reports/crabpot-runtime-profile.md +++ b/reports/crabpot-runtime-profile.md @@ -8,16 +8,16 @@ Samples per command: 3 | Metric | Value | | ---------------------- | ------------------ | | Commands | 9 | -| P50 wall time | 2195 ms | -| Command P95 wall time | 2276 ms | +| P50 wall time | 2193 ms | +| Command P95 wall time | 2225 ms | | Wall time basis | command-median-p95 | | Profile samples | 27 | -| RSS samples | 1873 | -| CPU samples | 1873 | -| Max peak RSS | 458.2 MB | -| Max RSS delta | 429.5 MB | -| Max CPU estimate | 2481 ms | -| Max harness heap delta | 7.4 MB | +| RSS samples | 1858 | +| CPU samples | 1858 | +| Max peak RSS | 450.1 MB | +| Max RSS delta | 419.3 MB | +| Max CPU estimate | 2451 ms | +| Max harness heap delta | 7.5 MB | ## Target OpenClaw Registry Surface @@ -42,33 +42,33 @@ Samples per command: 3 | observedHooks | 96 | | observedRegistrations | 193 | | observedSdkImports | 1159 | -| contractProbes | 300 | -| issueFindings | 304 | +| contractProbes | 299 | +| issueFindings | 303 | ## Boot And Memory Samples | ID | Label | Median wall | Max wall | Max peak RSS | Max RSS delta | CPU estimate | Heap delta | RSS/CPU samples | Exit codes | | ---------------------- | ----------------------------------------------- | ----------- | -------- | ------------ | ------------- | ------------ | ---------- | --------------- | ---------- | -| node-boot | Node boot | 36 ms | 36 ms | 32.6 MB | 0 MB | 0 ms | 0.3 MB | 3/3 | 0 | -| fixture-inspection | Fixture inspection | 2137 ms | 2141 ms | 448.5 MB | 417.3 MB | 2346 ms | 7.4 MB | 251/251 | 0 | -| compat-report-registry | Compatibility report plus target registry parse | 2209 ms | 2218 ms | 432.5 MB | 403.4 MB | 2408 ms | 7.2 MB | 260/260 | 0 | -| contract-capture | Contract capture inventory | 2195 ms | 2245 ms | 432.5 MB | 403.7 MB | 2449 ms | 7.1 MB | 260/260 | 0 | -| synthetic-probe-plan | Synthetic probe plan | 2202 ms | 2233 ms | 433.1 MB | 402.8 MB | 2416 ms | 0.2 MB | 259/259 | 0 | -| cold-import-readiness | Cold import readiness | 2180 ms | 2200 ms | 440.8 MB | 411.2 MB | 2395 ms | 1 MB | 259/259 | 0 | -| workspace-plan | Workspace execution plan | 2240 ms | 2246 ms | 440.3 MB | 411.1 MB | 2453 ms | 2.7 MB | 267/267 | 0 | -| platform-probes | Platform and loader probes | 2276 ms | 2280 ms | 458.2 MB | 429.5 MB | 2481 ms | 1.4 MB | 269/269 | 0 | -| import-loop-profile | Repeated cold import capture loop | 374 ms | 375 ms | 60.5 MB | 31.8 MB | 174 ms | 1.4 MB | 45/45 | 0 | +| node-boot | Node boot | 33 ms | 38 ms | 32.1 MB | 0 MB | 0 ms | 0.4 MB | 3/3 | 0 | +| fixture-inspection | Fixture inspection | 2060 ms | 2138 ms | 448.1 MB | 417.6 MB | 2343 ms | 7.5 MB | 246/246 | 0 | +| compat-report-registry | Compatibility report plus target registry parse | 2193 ms | 2247 ms | 450.1 MB | 419.3 MB | 2451 ms | 7.3 MB | 261/261 | 0 | +| contract-capture | Contract capture inventory | 2194 ms | 2199 ms | 432.7 MB | 402.9 MB | 2390 ms | 7 MB | 258/258 | 0 | +| synthetic-probe-plan | Synthetic probe plan | 2199 ms | 2205 ms | 432.8 MB | 404.1 MB | 2403 ms | 0 MB | 257/257 | 0 | +| cold-import-readiness | Cold import readiness | 2162 ms | 2217 ms | 435.4 MB | 406.7 MB | 2410 ms | 1 MB | 260/260 | 0 | +| workspace-plan | Workspace execution plan | 2207 ms | 2210 ms | 440.7 MB | 412 MB | 2417 ms | 1 MB | 263/263 | 0 | +| platform-probes | Platform and loader probes | 2225 ms | 2228 ms | 439.8 MB | 411.1 MB | 2426 ms | 1.1 MB | 265/265 | 0 | +| import-loop-profile | Repeated cold import capture loop | 372 ms | 374 ms | 60.5 MB | 31.4 MB | 183 ms | 1.3 MB | 45/45 | 0 | ## Category Rollups | Category | Commands | P50 wall | P95 wall | Max peak RSS | CPU estimate | RSS/CPU samples | Command IDs | | ---------------- | -------- | -------- | -------- | ------------ | ------------ | --------------- | ---------------------- | -| baseline | 1 | 36 ms | 36 ms | 32.6 MB | 0 ms | 3/3 | node-boot | -| fixture-scan | 1 | 2137 ms | 2141 ms | 448.5 MB | 2346 ms | 251/251 | fixture-inspection | -| target-registry | 1 | 2209 ms | 2218 ms | 432.5 MB | 2408 ms | 260/260 | compat-report-registry | -| contract-capture | 1 | 2195 ms | 2245 ms | 432.5 MB | 2449 ms | 260/260 | contract-capture | -| synthetic-probes | 1 | 2202 ms | 2233 ms | 433.1 MB | 2416 ms | 259/259 | synthetic-probe-plan | -| cold-import | 1 | 2180 ms | 2200 ms | 440.8 MB | 2395 ms | 259/259 | cold-import-readiness | -| workspace-plan | 1 | 2240 ms | 2246 ms | 440.3 MB | 2453 ms | 267/267 | workspace-plan | -| platform-probes | 1 | 2276 ms | 2280 ms | 458.2 MB | 2481 ms | 269/269 | platform-probes | -| import-loop | 1 | 374 ms | 375 ms | 60.5 MB | 174 ms | 45/45 | import-loop-profile | +| baseline | 1 | 33 ms | 38 ms | 32.1 MB | 0 ms | 3/3 | node-boot | +| fixture-scan | 1 | 2060 ms | 2138 ms | 448.1 MB | 2343 ms | 246/246 | fixture-inspection | +| target-registry | 1 | 2193 ms | 2247 ms | 450.1 MB | 2451 ms | 261/261 | compat-report-registry | +| contract-capture | 1 | 2194 ms | 2199 ms | 432.7 MB | 2390 ms | 258/258 | contract-capture | +| synthetic-probes | 1 | 2199 ms | 2205 ms | 432.8 MB | 2403 ms | 257/257 | synthetic-probe-plan | +| cold-import | 1 | 2162 ms | 2217 ms | 435.4 MB | 2410 ms | 260/260 | cold-import-readiness | +| workspace-plan | 1 | 2207 ms | 2210 ms | 440.7 MB | 2417 ms | 263/263 | workspace-plan | +| platform-probes | 1 | 2225 ms | 2228 ms | 439.8 MB | 2426 ms | 265/265 | platform-probes | +| import-loop | 1 | 372 ms | 374 ms | 60.5 MB | 183 ms | 45/45 | import-loop-profile | diff --git a/reports/crabpot-synthetic-probes.json b/reports/crabpot-synthetic-probes.json index 2f4957f..78bb46a 100644 --- a/reports/crabpot-synthetic-probes.json +++ b/reports/crabpot-synthetic-probes.json @@ -580,7 +580,7 @@ "source": "plugins/openclaw-telemetry/index.ts:43" }, { - "id": "hook.before_prompt_build:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2021", + "id": "hook.before_prompt_build:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2351", "fixture": "lossless-claw", "kind": "hook", "seam": "before_prompt_build", @@ -610,10 +610,10 @@ "sessionId": "session-fixture", "channelId": "fixture-channel" }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2021" + "source": "plugins/lossless-claw/src/plugin/index.ts:2351" }, { - "id": "hook.before_reset:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2014", + "id": "hook.before_reset:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2344", "fixture": "lossless-claw", "kind": "hook", "seam": "before_reset", @@ -630,10 +630,10 @@ "hook": "before_reset", "fixture": "lossless-claw" }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2014" + "source": "plugins/lossless-claw/src/plugin/index.ts:2344" }, { - "id": "hook.gateway_start:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2217", + "id": "hook.gateway_start:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2557", "fixture": "lossless-claw", "kind": "hook", "seam": "gateway_start", @@ -650,10 +650,10 @@ "hook": "gateway_start", "fixture": "lossless-claw" }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2217" + "source": "plugins/lossless-claw/src/plugin/index.ts:2557" }, { - "id": "hook.gateway_stop:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2241", + "id": "hook.gateway_stop:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2581", "fixture": "lossless-claw", "kind": "hook", "seam": "gateway_stop", @@ -670,10 +670,10 @@ "hook": "gateway_stop", "fixture": "lossless-claw" }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2241" + "source": "plugins/lossless-claw/src/plugin/index.ts:2581" }, { - "id": "hook.session_end:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2024", + "id": "hook.session_end:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2354", "fixture": "lossless-claw", "kind": "hook", "seam": "session_end", @@ -690,7 +690,7 @@ "hook": "session_end", "fixture": "lossless-claw" }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2024" + "source": "plugins/lossless-claw/src/plugin/index.ts:2354" }, { "id": "hook.before_agent_start:connectclaw:plugins-connectclaw-packages-plugin-src-hooks-ts-17", @@ -3040,7 +3040,7 @@ "source": "plugins/openclaw-telemetry/index.ts:10" }, { - "id": "registration.registerCommand:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2055", + "id": "registration.registerCommand:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2385", "fixture": "lossless-claw", "kind": "registration", "seam": "registerCommand", @@ -3064,10 +3064,10 @@ "execute" ] }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2055" + "source": "plugins/lossless-claw/src/plugin/index.ts:2385" }, { - "id": "registration.registerContextEngine:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2035", + "id": "registration.registerContextEngine:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2365", "fixture": "lossless-claw", "kind": "registration", "seam": "registerContextEngine", @@ -3088,10 +3088,10 @@ "callableProperties": [], "reason": "context engine factories are captured as registration metadata; engine startup remains isolated opt-in" }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2035" + "source": "plugins/lossless-claw/src/plugin/index.ts:2365" }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2037", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2367", "fixture": "lossless-claw", "kind": "registration", "seam": "registerTool", @@ -3120,10 +3120,10 @@ "execute" ] }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2037" + "source": "plugins/lossless-claw/src/plugin/index.ts:2367" }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2040", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2370", "fixture": "lossless-claw", "kind": "registration", "seam": "registerTool", @@ -3152,10 +3152,10 @@ "execute" ] }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2040" + "source": "plugins/lossless-claw/src/plugin/index.ts:2370" }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2043", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2373", "fixture": "lossless-claw", "kind": "registration", "seam": "registerTool", @@ -3184,10 +3184,10 @@ "execute" ] }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2043" + "source": "plugins/lossless-claw/src/plugin/index.ts:2373" }, { - "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2046", + "id": "registration.registerTool:lossless-claw:plugins-lossless-claw-src-plugin-index-ts-2376", "fixture": "lossless-claw", "kind": "registration", "seam": "registerTool", @@ -3216,7 +3216,7 @@ "execute" ] }, - "source": "plugins/lossless-claw/src/plugin/index.ts:2046" + "source": "plugins/lossless-claw/src/plugin/index.ts:2376" }, { "id": "registration.registerCommand:connectclaw:plugins-connectclaw-packages-plugin-src-commands-ts-18", diff --git a/reports/crabpot-synthetic-probes.md b/reports/crabpot-synthetic-probes.md index 98e01cd..ac316a1 100644 --- a/reports/crabpot-synthetic-probes.md +++ b/reports/crabpot-synthetic-probes.md @@ -43,11 +43,11 @@ Generated: deterministic | openclaw-telemetry | hook | before_tool_call | ready | hook-direct | plugins/openclaw-telemetry/index.ts:12 | block/allow return shapes are preserved; terminal and approval metadata are present | | openclaw-telemetry | hook | message_received | ready | hook-direct | plugins/openclaw-telemetry/index.ts:34 | hook payload and return value are captured | | openclaw-telemetry | hook | message_sent | ready | hook-direct | plugins/openclaw-telemetry/index.ts:43 | hook payload and return value are captured | -| lossless-claw | hook | before_prompt_build | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2021 | prompt mutation result is preserved; agent and conversation metadata are present | -| lossless-claw | hook | before_reset | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2014 | hook payload and return value are captured | -| lossless-claw | hook | gateway_start | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2217 | hook payload and return value are captured | -| lossless-claw | hook | gateway_stop | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2241 | hook payload and return value are captured | -| lossless-claw | hook | session_end | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2024 | hook payload and return value are captured | +| lossless-claw | hook | before_prompt_build | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2351 | prompt mutation result is preserved; agent and conversation metadata are present | +| lossless-claw | hook | before_reset | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2344 | hook payload and return value are captured | +| lossless-claw | hook | gateway_start | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2557 | hook payload and return value are captured | +| lossless-claw | hook | gateway_stop | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2581 | hook payload and return value are captured | +| lossless-claw | hook | session_end | ready | hook-direct | plugins/lossless-claw/src/plugin/index.ts:2354 | hook payload and return value are captured | | connectclaw | hook | before_agent_start | ready | hook-direct | plugins/connectclaw/packages/plugin/src/hooks.ts:17 | legacy startup hook payload is accepted; migration metadata can map to prompt/model hooks | | honcho | hook | agent_end | ready | hook-direct | plugins/honcho/hooks/capture.ts:151 | final conversation payload is redacted as expected; agent id and run metadata are present | | honcho | hook | agent_end | ready | hook-direct | plugins/honcho/hooks/subagent.ts:34 | final conversation payload is redacted as expected; agent id and run metadata are present | @@ -140,12 +140,12 @@ Generated: deterministic | opik-openclaw | registration | registerCli | ready | direct | plugins/opik-openclaw/index.ts:17 | command name is stable; argument schema is captured | | opik-openclaw | registration | registerService | ready | lifecycle-opt-in | plugins/opik-openclaw/index.ts:16 | service id is stable; start/stop lifecycle handlers are captured | | openclaw-telemetry | registration | registerService | ready | lifecycle-opt-in | plugins/openclaw-telemetry/index.ts:10 | service id is stable; start/stop lifecycle handlers are captured | -| lossless-claw | registration | registerCommand | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2055 | command id is stable; interactive command payload is captured | -| lossless-claw | registration | registerContextEngine | ready | metadata-only | plugins/lossless-claw/src/plugin/index.ts:2035 | context engine id is stable; factory metadata is captured | -| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2037 | tool name is stable; input schema is captured; result shape metadata is captured | -| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2040 | tool name is stable; input schema is captured; result shape metadata is captured | -| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2043 | tool name is stable; input schema is captured; result shape metadata is captured | -| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2046 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registration | registerCommand | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2385 | command id is stable; interactive command payload is captured | +| lossless-claw | registration | registerContextEngine | ready | metadata-only | plugins/lossless-claw/src/plugin/index.ts:2365 | context engine id is stable; factory metadata is captured | +| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2367 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2370 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2373 | tool name is stable; input schema is captured; result shape metadata is captured | +| lossless-claw | registration | registerTool | ready | direct | plugins/lossless-claw/src/plugin/index.ts:2376 | tool name is stable; input schema is captured; result shape metadata is captured | | connectclaw | registration | registerCommand | ready | direct | plugins/connectclaw/packages/plugin/src/commands.ts:18 | command id is stable; interactive command payload is captured | | connectclaw | registration | registerCommand | ready | direct | plugins/connectclaw/packages/plugin/src/commands.ts:64 | command id is stable; interactive command payload is captured | | connectclaw | registration | registerService | ready | lifecycle-opt-in | plugins/connectclaw/packages/plugin/src/hooks.ts:91 | service id is stable; start/stop lifecycle handlers are captured |