Skip to content

Update WinNode CLI live tool discovery - #525

Merged
shanselman merged 1 commit into
masterfrom
shanselman/cli-freshness-review
May 23, 2026
Merged

shanselman merged 1 commit into
masterfrom
shanselman/cli-freshness-review

Conversation

@shanselman

Copy link
Copy Markdown
Collaborator

Summary

  • Add winnode --list-tools for live MCP tools/list discovery
  • Strengthen WinNode CLI drift coverage against actual capability command lists
  • Refresh MCP mode docs and the bundled skill reference for local bearer-token auth

Validation

  • dotnet test .\tests\OpenClaw.WinNode.Cli.Tests\OpenClaw.WinNode.Cli.Tests.csproj
  • .\build.ps1
  • dotnet test .\tests\OpenClaw.Shared.Tests\OpenClaw.Shared.Tests.csproj
  • dotnet test .\tests\OpenClaw.Tray.Tests\OpenClaw.Tray.Tests.csproj

Add a live tools/list mode for winnode, strengthen capability drift coverage against actual capability command lists, and refresh MCP docs for local bearer-token auth.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
@clawsweeper

clawsweeper Bot commented May 23, 2026 •

Copy link
Copy Markdown

Codex review: needs real behavior proof before merge.

Latest ClawSweeper review: 2026-05-23 05:05 UTC / May 23, 2026, 1:05 AM ET.

Workflow note: Future ClawSweeper reviews update this same comment in place.

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.

Summary
This PR adds a winnode --list-tools mode that sends MCP tools/list, expands CLI/drift tests, and updates MCP/skill docs for bearer-token usage.

Reproducibility: not applicable. as a feature PR. Source review shows current main lacks --list-tools, while existing MCP code already has a live tools/list surface that the PR can call.

PR rating
Overall: 🧂 unranked krab
Proof: 🧂 unranked krab
Patch quality: 🐚 platinum hermit
Summary: The patch looks focused from source review, but missing live behavior proof keeps the PR below merge-ready quality.

Rank-up moves:

  • Add redacted terminal output, logs, or a terminal screenshot showing winnode --list-tools returning a real MCP tools/list result from the Windows tray.
  • Keep private details redacted, including bearer tokens, IPs, phone numbers, API keys, and non-public endpoints.
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.

Real behavior proof
Needs real behavior proof before merge: The PR needs redacted live proof, such as terminal output or a terminal screenshot showing winnode --list-tools against a real tray MCP server; updating the PR body should trigger re-review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Risk before merge

  • No after-fix real behavior proof is present; validation command names alone do not show winnode --list-tools working against a real Windows tray MCP server with bearer-token auth.
  • This review did not run build or tests because the requested cleanup review required a read-only checkout with no generated artifacts.

Maintainer options:

  1. Decide the mitigation before merge
    Merge the CLI mode if maintainers accept the new flag after real Windows tray proof shows it lists live MCP tools with bearer-token auth and CI/validation passes.
  2. Pause or close
    Do not merge this PR until maintainers decide whether the risk is worth taking.

Next step before merge
Human review should wait for contributor-supplied live CLI/MCP proof; automation cannot produce evidence from the contributor's Windows tray setup.

Security
Cleared: The diff adds a CLI request mode and docs/tests while continuing to use the existing bearer-token resolution and off-loopback safeguards.

Review details

Best possible solution:

Merge the CLI mode if maintainers accept the new flag after real Windows tray proof shows it lists live MCP tools with bearer-token auth and CI/validation passes.

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

Not applicable as a feature PR. Source review shows current main lacks --list-tools, while existing MCP code already has a live tools/list surface that the PR can call.

Is this the best way to solve the issue?

Yes, the implementation direction is narrow: it reuses the existing CLI endpoint/token path and existing MCP tools/list method rather than adding a parallel discovery mechanism.

Label changes:

  • add P3: The PR is a low-risk CLI ergonomics and documentation improvement with focused tests, not an urgent user-impacting regression.
  • add rating: 🧂 unranked krab: Current PR rating is 🧂 unranked krab because proof is 🧂 unranked krab, patch quality is 🐚 platinum hermit, and The patch looks focused from source review, but missing live behavior proof keeps the PR below merge-ready quality.
  • add status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR needs redacted live proof, such as terminal output or a terminal screenshot showing winnode --list-tools against a real tray MCP server; updating the PR body should trigger re-review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

Label justifications:

  • P3: The PR is a low-risk CLI ergonomics and documentation improvement with focused tests, not an urgent user-impacting regression.
  • rating: 🧂 unranked krab: Current PR rating is 🧂 unranked krab because proof is 🧂 unranked krab, patch quality is 🐚 platinum hermit, and The patch looks focused from source review, but missing live behavior proof keeps the PR below merge-ready quality.
  • status: 📣 needs proof: The PR needs real behavior proof before ClawSweeper can clear the contributor ask. Needs real behavior proof before merge: The PR needs redacted live proof, such as terminal output or a terminal screenshot showing winnode --list-tools against a real tray MCP server; updating the PR body should trigger re-review, or a maintainer can comment @clawsweeper re-review. After adding proof, update the PR body; ClawSweeper should re-review automatically. If it does not, the PR author or someone with repository write access can comment @clawsweeper re-review.

What I checked:

  • Current CLI lacks list mode: Current main requires --command before any MCP request, so the new flag is a real CLI feature rather than an already-implemented path. (src/OpenClaw.WinNode.Cli/Program.cs:71, b41fe8243cc3)
  • Existing MCP live list surface: Current main already exposes tools/list through McpToolBridge, and HandleToolsList reads the provided capability list each call. (src/OpenClaw.Shared/Mcp/McpToolBridge.cs:93, b41fe8243cc3)
  • Tray supplies live capabilities to MCP: NodeService.StartMcpServer builds the bridge from a locked live snapshot of registered capabilities plus MCP-only capabilities, matching the PR's live discovery goal. (src/OpenClaw.Tray.WinUI/Services/NodeService.cs:586, b41fe8243cc3)
  • PR diff adds focused CLI dispatch: The patch adds WinNodeOptions.ListTools, rejects combining it with --command, and routes list mode to a new BuildToolsListBody() JSON-RPC envelope. (src/OpenClaw.WinNode.Cli/Program.cs:69, 33ca80a8a10a)
  • PR test coverage is focused: The patch adds unit coverage for the tools/list body, argument parsing, usage text, RunAsync list-mode behavior, and capability-description drift against concrete capability command lists. (tests/OpenClaw.WinNode.Cli.Tests/RunAsyncTests.cs:86, 33ca80a8a10a)
  • Real behavior proof missing: The PR body lists validation commands, but it does not include terminal output, logs, a screenshot, recording, or other after-fix proof showing winnode --list-tools against a real tray MCP server. (33ca80a8a10a)

Likely related people:

  • shanselman: Current-main blame shows Scott Hanselman introduced the CLI runner and MCP bridge surfaces this PR extends, and later adjusted MCP capability gating. (role: recent area contributor; confidence: high; commits: 0b5260bf9b4f, 0b31e210a421, 6711591b5c14; files: src/OpenClaw.WinNode.Cli/Program.cs, src/OpenClaw.Shared/Mcp/McpToolBridge.cs, src/OpenClaw.Tray.WinUI/Services/NodeService.cs)
  • Ranjesh: Recent current-main history added MCP runtime toggling and AppCapability MCP-only separation, which affects the live capability set returned by tools/list. (role: recent adjacent contributor; confidence: medium; commits: d7d7661ac28c; files: src/OpenClaw.Tray.WinUI/Services/NodeService.cs, src/OpenClaw.Tray.WinUI/App.xaml.cs)

Codex review notes: model gpt-5.5, reasoning high; reviewed against b41fe8243cc3.

@clawsweeper clawsweeper Bot added rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask. P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. labels May 23, 2026
@clawsweeper

clawsweeper Bot commented May 23, 2026

Copy link
Copy Markdown

ClawSweeper PR egg

🎁 Pass real behavior proof to wake the egg and unlock a hatchable treat.

Where did the egg go?
  • The egg game starts only after the PR passes the real-behavior proof check.
  • Before that, no creature or rarity is rolled. The treat waits for real proof.
  • This is still just collectible flavor: proof affects review readiness, not creature quality.

@shanselman
shanselman merged commit 00dda45 into master May 23, 2026
22 checks passed
@shanselman
shanselman deleted the shanselman/cli-freshness-review branch May 23, 2026 05:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

P3 Low-risk cleanup, docs, polish, ergonomics, or speculative feature. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. status: 📣 needs proof The PR needs real behavior proof before ClawSweeper can clear the contributor ask.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant