feat(windows): add managed tool setup controls to Gateway Tools - #94
MythiliMur wants to merge 4 commits into
Conversation
|
🦞👀 Pull request received. I will update this pull request when review starts. ClawSweeper review completeClawSweeper finished reviewing this revision. The review result is being finalized. |
|
Codex review: needs real behavior proof before merge. Reviewed September 22, 2026, 1:08 AM ET / 05:08 UTC. ClawSweeper reviewWhat this changesThe branch adds a persisted tool registry, a desktop-user named-pipe broker, and command shims exposed to the isolated Gateway, plus tests and design documentation. Merge readiness⛔ Blocked before merge - 16 items remain Keep open as unfinished dependent work. The collaborator-authored PR shares its entire pinned head with the runtime-bridge PR, has no distinct Control UI implementation yet, and contains blocking runtime defects. Priority: P2 Review scores
Verification
How this fits togetherThe Windows package launches OpenClaw inside an isolated agent account. This bridge records desktop-approved executables and adds generated command shims to the Gateway's process environment. flowchart LR
A[Desktop caller] --> B[Broker authorization]
B --> C[Tool registry]
C --> D[Generated command shims]
D --> E[Gateway process environment]
E --> F[Tool execution in isolated account]
Before merge
Findings
Agent review detailsSecurityNeeds attention: Executable approval crosses account boundaries, but literal target preservation and adapter/final-effect authorization need repair or proof. Review metrics
Root-cause clusterRelationship: Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge-risk optionsMaintainer options:
Technical reviewBest possible solution: Keep one authoritative bridge in the dependency, then add a thin Control UI adapter that consumes verified, profile-scoped operations with explicit lifecycle and upgrade behavior. Do we have a high-confidence way to reproduce the issue? Yes, source inspection establishes focused triggers for the patch defects, including native JSON serialization, unverified registration, and a connected client that never finishes a request. No failing Windows execution was performed. Is this the best way to solve the issue? No, the current branch exposes incomplete bridge behavior rather than the promised management UI; the maintainable path is to finish the dependency's owner and add only its constrained UI consumer here. Full review comments:
Overall correctness: patch is incorrect AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning medium; reviewed against 207d19d0fd28. LabelsLabel changes:
Label justifications:
EvidenceSecurity concerns:
What I checked:
Likely related people:
Rating scale
Overall follows the weaker of proof and patch quality. Workflow
|
Summary
Add the package-owned Gateway Tools Control UI as the follow-up surface for the Gateway Tool Runtime Bridge in #92.
This PR provides the browser-facing management controls for a user-installed, broker-registered tool:
Dependency
This PR depends on #92 and must not merge first.
PR #92 owns the authoritative Gateway Tool Runtime Bridge: broker authorization, executable validation, managed-profile lifecycle, ACL policy, protected-secret handling, controlled setup launch, Gateway-agent verification, and the Control UI Adapter contract.
This PR consumes only that constrained contract. It does not duplicate the registry, profile policy, shim generation, broker, or privileged process-launch logic.
Control UI boundary
The package-owned Gateway Tools Control UI communicates through the package-owned Control UI Adapter, using a fixed authenticated allowlist:
Browser-safe responses expose only:
The isolated Gateway plugin remains unprivileged. It must not directly connect to the desktop-user broker pipe and receives no authorization exemption.
Managed setup behavior
When the user selects Start setup, the UI requests an operation for one existing registration. The Runtime Bridge then:
The tool performs its normal documented setup itself. The Control UI, adapter, broker, and bridge must not receive, render, parse, or persist external-service pages, codes, callbacks, tokens, account identity, or raw tool output.
Security requirements
Validation
This follow-up will add UI/route tests demonstrating the fixed operation allowlist and browser-safe DTO redaction. The implementation is intentionally dependent on the #92 broker contract.