chore: apply event sweep result for openclaw-openclaw#79559
[skip ci]
This commit is contained in:
parent
ed103b856a
commit
36b4c2e482
272
records/openclaw-openclaw/closed/79559.md
Normal file
272
records/openclaw-openclaw/closed/79559.md
Normal file
@ -0,0 +1,272 @@
|
||||
---
|
||||
applied_at: 2026-05-08T23:37:48.689Z
|
||||
review_comment_synced_at: 2026-05-08T23:37:46.880Z
|
||||
number: 79559
|
||||
repository: openclaw/openclaw
|
||||
type: issue
|
||||
title: "Optional plugin tools missing from agent runtime inventory despite all static checks passing"
|
||||
url: https://github.com/openclaw/openclaw/issues/79559
|
||||
state_at_review: open
|
||||
item_created_at: 2026-05-08T23:26:00Z
|
||||
item_updated_at: 2026-05-08T23:26:00Z
|
||||
author: solosage1
|
||||
author_association: NONE
|
||||
labels: []
|
||||
reviewed_at: 2026-05-08T23:37:02.785Z
|
||||
main_sha: bb6c9d210d19f124a95a1ec7d31c366460adaa1f
|
||||
pull_head_sha: unknown
|
||||
latest_release: v2026.5.7
|
||||
latest_release_sha: eeef4864494f859838fec1586bedbab1f8fa5702
|
||||
fixed_release: unknown
|
||||
fixed_sha: unknown
|
||||
fixed_at: unknown
|
||||
fixed_pr_url: unknown
|
||||
fixed_pr_number: unknown
|
||||
fixed_pr_title: unknown
|
||||
fixed_pr_merged_at: unknown
|
||||
fixed_pr_sha: unknown
|
||||
fixed_pr_confidence: unknown
|
||||
fixed_pr_source: unknown
|
||||
review_policy: 421d766edf9f773b
|
||||
review_model: gpt-5.5
|
||||
review_reasoning_effort: high
|
||||
review_sandbox: danger-full-access
|
||||
review_service_tier: default
|
||||
review_prompt_chars: 47027
|
||||
review_static_prompt_chars: 33412
|
||||
review_context_chars: 12353
|
||||
review_schema_chars: 14081
|
||||
review_additional_prompt_chars: 0
|
||||
review_context_elapsed_ms: 1466
|
||||
review_codex_elapsed_ms: 469317
|
||||
review_mode: propose
|
||||
review_status: complete
|
||||
local_checkout_access: verified
|
||||
item_snapshot_hash: 3f308c32662def92f580ce24ddb9aa0836d3cca68bd0322af99122cb8ea65aa2
|
||||
close_comment_sha256: d70e067badca6702975bc65a4c99de3964f39eb1d033ae14c8382517317586b0
|
||||
review_comment_sha256: 2e9104c33d1e881d68df4fb47e7299d09c5eeab14972f4657ff4c2c092cb34de
|
||||
review_comment_id: 4410574075
|
||||
review_comment_url: https://github.com/openclaw/openclaw/issues/79559#issuecomment-4410574075
|
||||
decision: close
|
||||
close_reason: duplicate_or_superseded
|
||||
confidence: high
|
||||
action_taken: closed
|
||||
work_candidate: none
|
||||
work_confidence: low
|
||||
work_priority: low
|
||||
work_status: none
|
||||
work_reason_sha256: df3fe8f0aa186b6aef024bc5ef653e7b03063afa4d6a1fcf24fb5a60226373a3
|
||||
work_prompt_sha256: none
|
||||
work_cluster_refs: []
|
||||
work_validation: []
|
||||
work_likely_files: []
|
||||
item_category: bug
|
||||
reproduction_status: source_reproducible
|
||||
reproduction_confidence: medium
|
||||
requires_new_feature: false
|
||||
requires_new_config_option: false
|
||||
requires_product_decision: false
|
||||
real_behavior_proof_status: not_applicable
|
||||
real_behavior_proof_evidence_kind: not_applicable
|
||||
real_behavior_proof_needs_contributor_action: false
|
||||
---
|
||||
|
||||
# [#79559: Optional plugin tools missing from agent runtime inventory despite all static checks passing](https://github.com/openclaw/openclaw/issues/79559)
|
||||
|
||||
Type: issue
|
||||
|
||||
URL: [https://github.com/openclaw/openclaw/issues/79559](https://github.com/openclaw/openclaw/issues/79559)
|
||||
|
||||
Author: solosage1
|
||||
|
||||
Author association: NONE
|
||||
|
||||
Labels: none
|
||||
|
||||
Created at: May 8, 2026, 23:26 UTC
|
||||
|
||||
Updated at: May 8, 2026, 23:26 UTC
|
||||
|
||||
Reviewed against: [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f)
|
||||
|
||||
Codex review: model gpt-5.5, reasoning high
|
||||
|
||||
Latest release at review time: [v2026.5.7](https://github.com/openclaw/openclaw/releases/tag/v2026.5.7) ([eeef4864494f](https://github.com/openclaw/openclaw/commit/eeef4864494f859838fec1586bedbab1f8fa5702))
|
||||
|
||||
Fixed in: not determined
|
||||
|
||||
## Decision
|
||||
|
||||
Close: duplicate or superseded
|
||||
|
||||
Confidence: high
|
||||
|
||||
Action taken: proposed_close
|
||||
|
||||
## Summary
|
||||
|
||||
Close as a duplicate of https://github.com/openclaw/openclaw/issues/78907: both reports describe OpenClaw 2026.5.6 embedded direct-lane runs failing to materialize allowlisted plugin tools after plugin registration succeeds, and this issue adds useful Telegram/static-inventory evidence without showing a separate source path.
|
||||
|
||||
## What This Changes
|
||||
|
||||
Ensure Telegram-routed OpenClaw agent runs with restrictive per-agent `tools.allow` materialize allowed optional plugin tools and `message` consistently with static inventory.
|
||||
|
||||
## Best Possible Solution
|
||||
|
||||
Keep https://github.com/openclaw/openclaw/issues/78907 as the canonical bug and fold this issue's Telegram, `message`, and static-admin divergence evidence into the same regression fix.
|
||||
|
||||
## Reproduction Assessment
|
||||
|
||||
No live current-main reproduction was run in this read-only review. The issue gives concrete reproduction steps and the same source path as the canonical open report, while https://github.com/openclaw/openclaw/issues/78907 already contains runtime logs for the shared failure class.
|
||||
|
||||
## Solution Assessment
|
||||
|
||||
Yes for triage: using the older open bug as canonical is the narrowest maintainable path because the remaining work is one embedded direct-lane plugin-tool materialization fix plus regression coverage, not separate Feishu and Telegram fixes.
|
||||
|
||||
## Review Findings
|
||||
|
||||
Overall correctness: not a patch
|
||||
|
||||
Overall confidence: 0.23
|
||||
|
||||
Full review comments:
|
||||
|
||||
- none
|
||||
|
||||
## Security Review
|
||||
|
||||
Status: not_applicable
|
||||
|
||||
Summary: This is non-PR issue triage with no proposed patch or security-sensitive report to review.
|
||||
|
||||
Concerns:
|
||||
|
||||
- none
|
||||
|
||||
## Real Behavior Proof
|
||||
|
||||
Status: not_applicable
|
||||
|
||||
Evidence kind: not_applicable
|
||||
|
||||
Needs contributor action: false
|
||||
|
||||
Summary: Real behavior proof is not applicable because this is an issue, not an external PR.
|
||||
|
||||
## Work Candidate
|
||||
|
||||
Candidate: none
|
||||
|
||||
Confidence: low
|
||||
|
||||
Priority: low
|
||||
|
||||
Status: none
|
||||
|
||||
Reason: Closed as a duplicate; route implementation through the canonical open issue instead of creating a second repair lane.
|
||||
|
||||
## Evidence
|
||||
|
||||
- **Canonical open report:** https://github.com/openclaw/openclaw/issues/78907 is open and labeled as a behavior bug for embedded direct-lane runs where an explicitly allowlisted plugin tool is not materialized despite plugin registration completing.
|
||||
- command: `curl -sL https://api.github.com/repos/openclaw/openclaw/issues/78907`
|
||||
- **Same central runtime construction path:** The live embedded run computes a tool construction plan, calls `createOpenClawCodingTools`, and then applies the runtime allowlist before prompt/tool submission, matching the path named in both reports.
|
||||
- file: [src/agents/pi-embedded-runner/run/attempt.ts:833](https://github.com/openclaw/openclaw/blob/bb6c9d210d19f124a95a1ec7d31c366460adaa1f/src/agents/pi-embedded-runner/run/attempt.ts#L833)
|
||||
- command: `nl -ba src/agents/pi-embedded-runner/run/attempt.ts | sed -n '820,930p'`
|
||||
- sha: [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f)
|
||||
- **Plan can decide plugin/channel tool materialization before final filtering:** The construction-plan helper derives `includePluginTools` and ties `includeChannelTools` to that decision, so the direct-lane allowlist/materialization issue belongs in the same fix area as the canonical report.
|
||||
- file: [src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts:112](https://github.com/openclaw/openclaw/blob/bb6c9d210d19f124a95a1ec7d31c366460adaa1f/src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts#L112)
|
||||
- command: `nl -ba src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts | sed -n '1,180p'`
|
||||
- sha: [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f)
|
||||
- **Static inventory can differ from live construction:** `resolveEffectiveToolInventory` calls `createOpenClawCodingTools` without the embedded run construction plan/runtime allowlist branch, which matches this issue's static-admin versus live-run divergence.
|
||||
- file: [src/agents/tools-effective-inventory.ts:209](https://github.com/openclaw/openclaw/blob/bb6c9d210d19f124a95a1ec7d31c366460adaa1f/src/agents/tools-effective-inventory.ts#L209)
|
||||
- command: `nl -ba src/agents/tools-effective-inventory.ts | sed -n '180,260p'`
|
||||
- sha: [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f)
|
||||
- **Documented optional-tool contract:** Plugin docs say optional tools are enabled through `tools.allow` and that adding a plugin id to `tools.allow` enables all tools from that plugin, so the canonical report tracks a real documented behavior gap rather than a new feature request.
|
||||
- file: [docs/plugins/building-plugins.md:275](https://github.com/openclaw/openclaw/blob/bb6c9d210d19f124a95a1ec7d31c366460adaa1f/docs/plugins/building-plugins.md#L275)
|
||||
- command: `nl -ba docs/plugins/building-plugins.md | sed -n '210,295p'`
|
||||
- sha: [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f)
|
||||
- **Existing regression coverage is adjacent but not the full live case:** Current tests cover plugin-only construction plans and optional plugin tool resolution, but not the mixed Telegram/OpenClaw runtime inventory divergence described here; that gap should be closed on the canonical issue.
|
||||
- file: [src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.test.ts:115](https://github.com/openclaw/openclaw/blob/bb6c9d210d19f124a95a1ec7d31c366460adaa1f/src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.test.ts#L115)
|
||||
- command: `nl -ba src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.test.ts | sed -n '1,236p'`
|
||||
- sha: [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f)
|
||||
|
||||
## Likely Related People
|
||||
|
||||
- **@steipete:** introduced/current maintainer of embedded runtime allowlist construction
|
||||
- reason: GitHub commit history for `src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts` points to `fix: honor embedded runtime tool allowlists`, which introduced the current construction-plan helper and touched the central embedded/tool files.
|
||||
- confidence: high
|
||||
- commits: 25b30c95200d3af384b32878f5c9ed8cbf72fef8, e5ec14a06a670c9ac276f746be6e794748c2cb22
|
||||
- files: src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts, src/agents/pi-embedded-runner/run/attempt.ts, src/agents/pi-tools.ts
|
||||
- **@vincentkoc:** recent plugin optional-tool policy maintainer
|
||||
- reason: Recent commits on `src/plugins/tools.ts` and `src/agents/pi-tools.ts` cover optional tool metadata, plugin denylists, and plugin tool discovery, which are adjacent to the reported missing optional plugin tools.
|
||||
- confidence: medium
|
||||
- commits: 09e7eb6687a17d5497df118024892731004795e8, e3cba91ef0597a870ed7e64ec4b90dafbd98cd03, 571d75aab351e8938f6deebbccf94367a44c0e62
|
||||
- files: src/plugins/tools.ts, src/agents/pi-tools.ts, src/plugins/tools.optional.test.ts
|
||||
|
||||
## Risks / Open Questions
|
||||
|
||||
- This issue includes Telegram-specific and static-inventory divergence details that should remain linked from the canonical fix discussion so they are not lost.
|
||||
|
||||
## Close Comment
|
||||
|
||||
Thanks for the context here. I swept through the related work, and this is now duplicate or superseded.
|
||||
|
||||
Close as a duplicate of https://github.com/openclaw/openclaw/issues/78907: both reports describe OpenClaw 2026.5.6 embedded direct-lane runs failing to materialize allowlisted plugin tools after plugin registration succeeds, and this issue adds useful Telegram/static-inventory evidence without showing a separate source path.
|
||||
|
||||
So I’m closing this here and keeping the remaining discussion on the canonical linked item.
|
||||
|
||||
<details>
|
||||
<summary>Review details</summary>
|
||||
|
||||
Best possible solution:
|
||||
|
||||
Keep https://github.com/openclaw/openclaw/issues/78907 as the canonical bug and fold this issue's Telegram, `message`, and static-admin divergence evidence into the same regression fix.
|
||||
|
||||
Do we have a high-confidence way to reproduce the issue?
|
||||
|
||||
No live current-main reproduction was run in this read-only review. The issue gives concrete reproduction steps and the same source path as the canonical open report, while https://github.com/openclaw/openclaw/issues/78907 already contains runtime logs for the shared failure class.
|
||||
|
||||
Is this the best way to solve the issue?
|
||||
|
||||
Yes for triage: using the older open bug as canonical is the narrowest maintainable path because the remaining work is one embedded direct-lane plugin-tool materialization fix plus regression coverage, not separate Feishu and Telegram fixes.
|
||||
|
||||
Security review:
|
||||
|
||||
Security review: This is non-PR issue triage with no proposed patch or security-sensitive report to review.
|
||||
|
||||
What I checked:
|
||||
|
||||
- **Canonical open report:** https://github.com/openclaw/openclaw/issues/78907 is open and labeled as a behavior bug for embedded direct-lane runs where an explicitly allowlisted plugin tool is not materialized despite plugin registration completing.
|
||||
- **Same central runtime construction path:** The live embedded run computes a tool construction plan, calls `createOpenClawCodingTools`, and then applies the runtime allowlist before prompt/tool submission, matching the path named in both reports. ([`src/agents/pi-embedded-runner/run/attempt.ts:833`](https://github.com/openclaw/openclaw/blob/bb6c9d210d19/src/agents/pi-embedded-runner/run/attempt.ts#L833), [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19))
|
||||
- **Plan can decide plugin/channel tool materialization before final filtering:** The construction-plan helper derives `includePluginTools` and ties `includeChannelTools` to that decision, so the direct-lane allowlist/materialization issue belongs in the same fix area as the canonical report. ([`src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts:112`](https://github.com/openclaw/openclaw/blob/bb6c9d210d19/src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts#L112), [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19))
|
||||
- **Static inventory can differ from live construction:** `resolveEffectiveToolInventory` calls `createOpenClawCodingTools` without the embedded run construction plan/runtime allowlist branch, which matches this issue's static-admin versus live-run divergence. ([`src/agents/tools-effective-inventory.ts:209`](https://github.com/openclaw/openclaw/blob/bb6c9d210d19/src/agents/tools-effective-inventory.ts#L209), [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19))
|
||||
- **Documented optional-tool contract:** Plugin docs say optional tools are enabled through `tools.allow` and that adding a plugin id to `tools.allow` enables all tools from that plugin, so the canonical report tracks a real documented behavior gap rather than a new feature request. Public docs: [`docs/plugins/building-plugins.md`](https://docs.openclaw.ai/plugins/building-plugins). ([`docs/plugins/building-plugins.md:275`](https://docs.openclaw.ai/plugins/building-plugins), [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19))
|
||||
- **Existing regression coverage is adjacent but not the full live case:** Current tests cover plugin-only construction plans and optional plugin tool resolution, but not the mixed Telegram/OpenClaw runtime inventory divergence described here; that gap should be closed on the canonical issue. ([`src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.test.ts:115`](https://github.com/openclaw/openclaw/blob/bb6c9d210d19/src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.test.ts#L115), [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19))
|
||||
|
||||
Likely related people:
|
||||
|
||||
- **@steipete:** GitHub commit history for `src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts` points to `fix: honor embedded runtime tool allowlists`, which introduced the current construction-plan helper and touched the central embedded/tool files. (role: introduced/current maintainer of embedded runtime allowlist construction; confidence: high; commits: [25b30c95200d](https://github.com/openclaw/openclaw/commit/25b30c95200d3af384b32878f5c9ed8cbf72fef8), [e5ec14a06a67](https://github.com/openclaw/openclaw/commit/e5ec14a06a670c9ac276f746be6e794748c2cb22); files: `src/agents/pi-embedded-runner/run/attempt-tool-construction-plan.ts`, `src/agents/pi-embedded-runner/run/attempt.ts`, `src/agents/pi-tools.ts`)
|
||||
- **@vincentkoc:** Recent commits on `src/plugins/tools.ts` and `src/agents/pi-tools.ts` cover optional tool metadata, plugin denylists, and plugin tool discovery, which are adjacent to the reported missing optional plugin tools. (role: recent plugin optional-tool policy maintainer; confidence: medium; commits: [09e7eb6687a1](https://github.com/openclaw/openclaw/commit/09e7eb6687a17d5497df118024892731004795e8), [e3cba91ef059](https://github.com/openclaw/openclaw/commit/e3cba91ef0597a870ed7e64ec4b90dafbd98cd03), [571d75aab351](https://github.com/openclaw/openclaw/commit/571d75aab351e8938f6deebbccf94367a44c0e62); files: `src/plugins/tools.ts`, `src/agents/pi-tools.ts`, `src/plugins/tools.optional.test.ts`)
|
||||
|
||||
Codex review notes: model gpt-5.5, reasoning high; reviewed against [bb6c9d210d19](https://github.com/openclaw/openclaw/commit/bb6c9d210d19f124a95a1ec7d31c366460adaa1f).
|
||||
|
||||
</details>
|
||||
|
||||
## GitHub Snapshot
|
||||
|
||||
- comments: 0
|
||||
- timeline events: 0
|
||||
- related items: 0
|
||||
- PR files: 0
|
||||
- PR commits: 0
|
||||
|
||||
## Review Telemetry
|
||||
|
||||
- prompt chars: 47027
|
||||
- static prompt chars: 33412
|
||||
- context chars: 12353
|
||||
- schema chars: 14081
|
||||
- additional prompt chars: 0
|
||||
- context collection ms: 1466
|
||||
- Codex review ms: 469317
|
||||
|
||||
Loading…
Reference in New Issue
Block a user