Skip to content

fix(agent): hide code mode wait progress - #100164

Merged
steipete merged 1 commit into
mainfrom
fix/code-mode-wait-progress
Jul 5, 2026
Merged

steipete merged 1 commit into
mainfrom
fix/code-mode-wait-progress

Conversation

@steipete

@steipete steipete commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

What Problem This Solves

Fixes an issue where Discord users saw repetitive 🧩 Wait entries while Code Mode polled background work.

Why This Change Was Made

Preserves the existing hideFromChannelProgress marker across both AgentTool / ToolDefinition adapter boundaries. Normal plugin and catalog tools remain visible, including tools that happen to be named wait.

User Impact

Discord work progress now shows meaningful actions without exposing internal Code Mode polling.

Evidence

  • New adapter regression failed before the fix, then passed.
  • Focused lifecycle suite: 404 tests passed.
  • Full pnpm check passed (guards, typecheck, lint, policy checks).
  • Live gateway proof: 25+ post-restart internal waits produced no new Discord Wait rows; the remaining visible row predates the restart.
  • Autoreview: clean; no accepted/actionable findings.

@steipete
steipete marked this pull request as ready for review July 5, 2026 03:41
@openclaw-barnacle openclaw-barnacle Bot added agents Agent runtime and tooling size: S maintainer Maintainer-authored PR labels Jul 5, 2026
@clawsweeper

clawsweeper Bot commented Jul 5, 2026

Copy link
Copy Markdown
Contributor

Codex review: needs maintainer review before merge. Reviewed July 4, 2026, 11:46 PM ET / 03:46 UTC.

Summary
The PR preserves hideFromChannelProgress across AgentTool/ToolDefinition adapter boundaries and adds regression tests for SDK tool splitting and custom session tools.

PR surface: Source +5, Tests +48. Total +53 across 5 files.

Reproducibility: yes. Source inspection shows Code Mode wait tools set hideFromChannelProgress, while current main drops that flag in the AgentTool/ToolDefinition adapter paths before channel-progress handling can honor it.

Review metrics: 1 noteworthy metric.

  • Tool metadata propagation: 3 adapter propagation points added, 1 optional type field added. The bug depends on every AgentTool/ToolDefinition conversion preserving the same visibility metadata.

Stored data model
Persistent data-model change detected: serialized state: src/agents/sessions/extensions/types.ts, serialized state: src/agents/sessions/sdk.test.ts, serialized state: src/agents/sessions/tools/tool-definition-wrapper.ts, vector/embedding metadata: src/agents/embedded-agent-runner.splitsdktools.test.ts. Confirm migration or upgrade compatibility proof before merge.

Root-cause cluster
Relationship: canonical
Canonical: #100164
Summary: The current PR is the canonical open follow-up for the adapter gap left after the merged initial Code Mode wait progress suppression.

Members:

Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything.

Merge readiness
Overall: 🦞 diamond lobster
Proof: 🦞 diamond lobster
Patch quality: 🦞 diamond lobster
Result: ready for maintainer review.

Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch.

Next step before merge

  • The PR has a protected maintainer label and no automated repair target; the remaining action is normal maintainer review/merge handling.

Security
Cleared: The diff only changes TypeScript metadata propagation and tests; it does not touch CI, dependencies, secrets, permissions, or code-download paths.

Review details

Best possible solution:

Land the adapter-preservation fix after normal protected-label maintainer review, keeping suppression driven by the existing metadata flag instead of tool-name special cases.

Do we have a high-confidence way to reproduce the issue?

Yes. Source inspection shows Code Mode wait tools set hideFromChannelProgress, while current main drops that flag in the AgentTool/ToolDefinition adapter paths before channel-progress handling can honor it.

Is this the best way to solve the issue?

Yes. Preserving the existing boolean through the adapter boundaries is the narrow maintainable fix and avoids fragile name-based hiding for unrelated tools named wait.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 420b3cdd2936.

Label changes

Label changes:

  • add P2: This is a normal-priority user-visible Discord progress bug with a narrow agent-runtime fix and limited blast radius.
  • add proof: sufficient: Contributor real behavior proof is sufficient. The PR body reports after-fix live gateway proof showing repeated internal waits no longer produced Discord Wait rows, alongside focused regression and full-check validation.
  • add rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • add status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body reports after-fix live gateway proof showing repeated internal waits no longer produced Discord Wait rows, alongside focused regression and full-check validation.

Label justifications:

  • P2: This is a normal-priority user-visible Discord progress bug with a narrow agent-runtime fix and limited blast radius.
  • rating: 🦞 diamond lobster: Overall readiness is 🦞 diamond lobster; proof is 🦞 diamond lobster and patch quality is 🦞 diamond lobster.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (live_output): The PR body reports after-fix live gateway proof showing repeated internal waits no longer produced Discord Wait rows, alongside focused regression and full-check validation.
  • proof: sufficient: Contributor real behavior proof is sufficient. The PR body reports after-fix live gateway proof showing repeated internal waits no longer produced Discord Wait rows, alongside focused regression and full-check validation.
Evidence reviewed

PR surface:

Source +5, Tests +48. Total +53 across 5 files.

View PR surface stats
Area Files Added Removed Net
Source 3 5 0 +5
Tests 2 48 0 +48
Docs 0 0 0 0
Config 0 0 0 0
Generated 0 0 0 0
Other 0 0 0 0
Total 5 53 0 +53

What I checked:

Likely related people:

  • steipete: Authored and merged the initial Code Mode wait progress suppression in fix(discord): hide internal Code Mode wait progress #99893 and has recent agent-core/code-mode history on the same behavior. (role: recent feature owner; confidence: high; commits: 3d404478b802, 5ea80c8d80fd; files: src/agents/code-mode.ts, packages/agent-core/src/agent-loop.ts, src/auto-reply/reply/agent-runner-execution.ts)
  • vincentkoc: Recent commits touched the agent tool adapter/code-mode surfaces and adjacent agent runtime behavior, making this a plausible routing candidate for adapter-boundary review. (role: recent adjacent area contributor; confidence: medium; commits: b832dd27e1cc, e7e686db2d00, 2e44610ba237; files: src/agents/agent-tool-definition-adapter.ts, src/agents/code-mode.ts)
What the crustacean ranks mean
  • 🦀 challenger crab: rare, exceptional readiness with strong proof, clean implementation, and convincing validation.
  • 🦞 diamond lobster: very strong readiness with only minor maintainer review expected.
  • 🐚 platinum hermit: good normal PR, likely mergeable with ordinary maintainer review.
  • 🦐 gold shrimp: useful signal, but proof or patch confidence is still limited.
  • 🦪 silver shellfish: thin signal; proof, validation, or implementation needs work.
  • 🧂 unranked krab: not merge-ready because proof is missing/unusable or there are serious correctness or safety concerns.
  • 🌊 off-meta tidepool: rating does not apply to this item.

Shiny media proof means a screenshot, video, or linked artifact directly shows the changed behavior. Runtime, network, CSP, and security claims still need visible diagnostics.

How this review workflow works
  • ClawSweeper keeps one durable marker-backed review comment per issue or PR.
  • Re-runs edit this comment so the latest verdict, findings, and automation markers stay together instead of adding duplicate bot comments.
  • A fresh review can be triggered by eligible @clawsweeper re-review comments, exact-item GitHub events, scheduled/background review runs, or manual workflow dispatch.
  • PR/issue authors and users with repository write access can comment @clawsweeper re-review or @clawsweeper re-run on an open PR or issue to request a fresh review only.
  • Maintainers can also comment @clawsweeper review to request a fresh review only.
  • Fresh-review commands do not start repair, autofix, rebase, CI repair, or automerge.
  • Maintainer-only repair and merge flows require explicit commands such as @clawsweeper autofix, @clawsweeper automerge, @clawsweeper fix ci, or @clawsweeper address review.
  • Maintainers can comment @clawsweeper explain to ask for more context, or @clawsweeper stop to stop active automation.

@clawsweeper clawsweeper Bot added proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. P2 Normal backlog priority with limited blast radius. labels Jul 5, 2026
@steipete
steipete merged commit 1ab218f into main Jul 5, 2026
193 of 203 checks passed
@steipete
steipete deleted the fix/code-mode-wait-progress branch July 5, 2026 03:52
github-actions Bot pushed a commit to Desicool/openclaw that referenced this pull request Jul 5, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

agents Agent runtime and tooling maintainer Maintainer-authored PR P2 Normal backlog priority with limited blast radius. proof: sufficient ClawSweeper judged the real behavior proof convincing. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. size: S status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant