Skip to content

feat(connection): enforce gateway protocol compatibility - #1127

Open
bkudiess wants to merge 1 commit into
openclaw:mainfrom
bkudiess:bkudiess-gateway-compatibility-ux
Open

feat(connection): enforce gateway protocol compatibility#1127
bkudiess wants to merge 1 commit into
openclaw:mainfrom
bkudiess:bkudiess-gateway-compatibility-ux

Conversation

@bkudiess

@bkudiess bkudiess commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Related: #1105

Note

This was developed as the next layer over #1105 and rebased onto main after #1105 merged.

What Problem This Solves

Resolves a problem where an incompatible Gateway could be treated as a generic connection failure or continue far enough to break Windows-node behavior without telling the operator which component needed updating.

Why This Change Was Made

The Windows operator and node clients now share the documented Gateway protocol v3-v4 range and validate the minimal hello-ok shape before publishing connection success or persisting handshake tokens. Successful hello values at or above the supported floor remain forward-compatible because hello-ok.protocol is the Gateway's current constant, while structured mismatch responses drive too-old/too-new recovery. Structured compatibility state drives diagnostics, MCP, telemetry, and directional Connection-page recovery without changing setup, WSL lifecycle, or Gateway package selection.

User Impact

Supported v3-v4 Gateways connect normally. Gateways below that range show Gateway update required. Newer Gateways that reject the offered range show Windows app update required. Deterministic protocol mismatches do not reconnect indefinitely, but the operator retains explicit Connect and Disconnect recovery controls after updating software.

Gateway package version and wire protocol remain separate diagnostics.

Evidence

Gateway update required

Gateway update required

Windows app update required

Windows app update required

Both screenshots are from the source-identical proof build represented by final commit 9f558495cd8a4323f86b54391e6e9209eb0a4231, use unique isolated roaming and local-data roots, and render a loopback fake Gateway with no real credentials.

Live isolated winnode --command app.connection.status --params '{}' proof:

{
  "schemaVersion": 2,
  "effectiveMode": "LocalMcpOnly",
  "gateway": { "packageVersion": null },
  "protocol": {
    "selectedProtocol": null,
    "currentProtocol": 4,
    "minimumSupportedProtocol": 3,
    "maximumSupportedProtocol": 4,
    "compatibility": "gateway_too_new",
    "source": "operator",
    "gatewayExpectedProtocol": 5,
    "gatewayMinimumProtocol": 3,
    "retryable": false
  },
  "mcp": { "enabled": true, "running": true, "error": null }
}

gateway.packageVersion is intentionally null because the incompatible hello is rejected before Gateway self-information is published.

Live OTLP collector proof

Exact current-head commit 9f558495cd8a4323f86b54391e6e9209eb0a4231 exported to a test-owned loopback collector at http://127.0.0.1:54946 using OTLP HTTP/protobuf. Six requests were decoded with the official ExportTraceServiceRequest, ExportMetricsServiceRequest, and ExportLogsServiceRequest schemas.

Affected trace:

{
  "name": "openclaw.connection.operator.connect",
  "status": "STATUS_CODE_ERROR",
  "eventPayloadCount": 0,
  "attributes": {
    "openclaw.connection.role": "operator",
    "openclaw.connection.operation": "connect",
    "openclaw.source": "gateway_connection",
    "openclaw.outcome": "failure",
    "openclaw.protocol.client": 4,
    "openclaw.protocol.gateway": "newer",
    "openclaw.protocol.compatibility": "gateway_too_new",
    "openclaw.error.category": "protocolmismatch"
  }
}

Affected metric:

{
  "name": "openclaw.connection.attempt.duration",
  "type": "histogram",
  "unit": "ms",
  "count": 1,
  "attributes": {
    "openclaw.connection.role": "operator",
    "openclaw.connection.operation": "connect",
    "openclaw.outcome": "failure",
    "openclaw.protocol.client": 4,
    "openclaw.protocol.gateway": "newer",
    "openclaw.protocol.compatibility": "gateway_too_new",
    "openclaw.error.category": "protocolmismatch"
  }
}

Logs were also decoded. By design they contain only finite connection event and role-state fields and do not carry protocol tags.

Privacy inspection found no collector/Gateway URL, Gateway/device/pairing ID, credential/token, raw error message/frame, Gateway package version, or user content in exported application attributes. Standard pre-existing OTLP resource metadata such as tray service.version, process ID, service instance ID, and SDK identity was redacted from this proof. Sanitized collector artifact SHA-256: be52c76d229480f4d71db57840ada22f2107a112454872a1a0e5196df5a41737.

Change Type

  • Bug fix
  • Feature
  • Refactor
  • Docs or instructions
  • Tests or validation
  • Security hardening
  • Chore or infrastructure

Scope

  • Tray or WinUI UX
  • Windows node capability
  • Local MCP or winnode
  • Gateway, connection, or pairing
  • Setup or onboarding
  • Permissions, privacy, or security
  • Tests, CI, or docs

Validation

  • $env:OPENCLAW_REPO_ROOT = (Get-Location).Path; .\build.ps1: 5/5 projects and 46 docs succeeded, 0 warnings/errors
  • Shared: 3,690 passed, 32 skipped, 0 failed
  • Tray: 2,260 passed, 0 failed
  • Connection: 593 passed, 0 failed
  • WinNode CLI: 127 passed, 0 failed
  • Aggregate local closeout: 6,670 passed, 32 skipped, 0 failed
  • Focused compatibility: Shared 19, Connection manager/state machine 224, Tray 21, CLI drift 2
  • Default localization: 22 passed
  • Strict localization: only two pre-existing untouched hard-coded strings remain:
    • SettingsPage.xaml: OpenClaw Windows Companion
    • HubWindow.xaml: Disconnected
  • GitHub CI on the exact final head:
    • full test job passed, including Tray integration and Accessibility
    • setup-connect, revocation-recovery, and network-recovery E2E shards passed
    • x64 and ARM64 packaging builds passed
    • all required checks are green

Review:

  • Independent Opus and Codex adversarial reviews found the documented v3 compatibility cutoff, forward-compatible hello semantics, node transport closure, stale MCP selected protocol, recovery controls, accepted-protocol state propagation, event ordering, localization, documentation, and automatic-reconnect issues; all accepted findings were fixed with focused regressions.
  • Final actual-head review at 9f558495:
    • GPT-5.3 Codex: 97/100, no Critical/High/Medium findings
    • Claude Opus 5: 96/100, no Critical/High/Medium findings
    • Independent Claude Sonnet 5 code review: 93/100, no Critical/High/Medium findings
    • Average: 95.3/100
  • Repository-aware rubber-duck review found no actionable defects after all fixes.
  • Bundled autoreview failed closed before model invocation because the bundle, including binary screenshots, exceeded its 180 KB limit.

Real Behavior Proof

  • Environment tested: Windows, isolated local data, loopback fake Gateway, isolated Local MCP, loopback OTLP collector
  • PR head or commit tested: 9f558495cd8a4323f86b54391e6e9209eb0a4231
  • Exact steps:
    • launch current-head Companion with unique OPENCLAW_TRAY_DATA_DIR and OPENCLAW_TRAY_LOCALAPPDATA_DIR
    • connect to test-owned loopback mismatch Gateway
    • inspect Connection page through UI Automation
    • run winnode --list-tools and winnode --command app.connection.status --params '{}'
    • export OTLP HTTP/protobuf to a test-owned collector and decode traces, metrics, and logs
  • Observed result:
    • expected protocol v2 produces Gateway-update guidance
    • expected protocol v5 produces Windows-app-update guidance
    • both mismatch states retain explicit Connect and Disconnect without automatic reconnect
    • MCP reports current/min/max v4/v3/v4, role source, expected protocol, null selected protocol during mismatch, and non-retryable compatibility
    • OTLP trace and attempt-duration metric carry the finite protocol/error attributes shown above
  • Screenshot or artifact links verified? Yes
  • Not verified or blocked:
    • no real Gateway or WSL path was exercised for this protocol/UX layer
    • the earliest proof attempt omitted local-data isolation and stopped stale shared keepalive PID 36632; it was reported immediately, never restarted or touched afterward, and its transient screenshot was discarded. All retained proof used fresh isolated roaming and local-data roots.

Security Impact

  • New permissions or capabilities? No
  • Secrets or tokens handling changed? No
  • New or changed network calls? No
  • Command or tool execution surface changed? No
  • Data access scope changed? No
  • If any answer is Yes, explain the risk and mitigation: N/A

The change fails closed before token persistence or connected state when the Gateway rejects the offered protocol range.

Compatibility and Migration

  • Backward compatible? Yes; preserves the documented protocol v3-v4 range and adds explicit handling outside it
  • Config or environment changes? No
  • Migration needed? No
  • If yes, list the exact upgrade steps: N/A

Review Conversations

  • I replied to or resolved every bot review conversation addressed by this PR.
  • I left unresolved only conversations that still need maintainer judgment.

@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. P1 Urgent regression or broken agent/channel workflow affecting real users now. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. labels Aug 8, 2026
@clawsweeper

clawsweeper Bot commented Aug 8, 2026

Copy link
Copy Markdown

Codex review: needs maintainer review before merge. Reviewed August 9, 2026, 10:50 AM ET / 14:50 UTC.

ClawSweeper review

What this changes

Adds Gateway wire-protocol validation and exposes incompatible-Gateway recovery through connection state, WinUI, local MCP diagnostics, telemetry, documentation, and regression tests.

Merge readiness

⚠️ Ready for maintainer review - 3 items remain

This PR remains necessary: current main advertises the v3-v4 range but accepts a hello-ok by type without validating its protocol value. The proposed boundary and recovery paths are coherent, proof is substantial, and a maintainer should decide whether to land this cross-cutting compatibility policy.

Priority: P1
Reviewed head: 9f558495cd8a4323f86b54391e6e9209eb0a4231
Owner decision: Required. See Decision needed.

Review scores

Measure Result What it means
Overall readiness 🐚 platinum hermit (4/6) A well-evidenced compatibility implementation with broad but cohesive scope and no supported line-level correctness finding.
Proof confidence 🦞 diamond lobster (5/6) ✨ media proof bonus Sufficient (screenshot): Prepared current-head screenshots visibly show both update-directed Connection-page states, and the PR body includes after-fix local MCP and loopback collector output from isolated data roots.
Patch quality 🐚 platinum hermit (4/6) No actionable review findings were identified.

Verification

Check Result Evidence
Real behavior Verified Sufficient (screenshot): Prepared current-head screenshots visibly show both update-directed Connection-page states, and the PR body includes after-fix local MCP and loopback collector output from isolated data roots.
Evidence reviewed 5 items Current main lacks handshake protocol validation: Both clients advertise protocol range 3 through 4, while the operator response path recognizes hello-ok by type before publishing success and persisted handshake state. This establishes the remaining gap addressed by the PR.
Documented compatibility boundary: Current documentation says Windows advertises minProtocol 3 and maxProtocol 4, and that current main only records hello-ok.protocol for diagnostics rather than branching on it.
Current-head proof artifacts: Prepared screenshots visibly show both directional recovery states, including retained Connect and Disconnect controls. The PR body also supplies source-head local MCP status output and loopback collector output for the same behavior.
Findings None None.
Security None None.

How this fits together

The operator and Windows-node clients connect to a Gateway through the shared connection manager. Handshake results become connection state, then drive reconnection behavior, the Connection page, local MCP diagnostics, and opt-in telemetry.

flowchart LR
A[Gateway handshake response] --> B[Operator and node clients]
B --> C[Protocol range validation]
C --> D[Connection state manager]
D --> E[Reconnect policy]
D --> F[Connection page recovery]
D --> G[Local MCP diagnostics]
D --> H[Opt-in telemetry]
Loading

Decision needed

Question Recommendation
Should the documented v3-v4 range become the enforced terminal runtime boundary for both managed and remote Gateway connections? Confirm the v3-v4 boundary and land: Merge the PR with the documented policy that incompatible handshakes stop automatic retries and direct the operator to update the affected side.

Why: The implementation changes failure and retry behavior for existing remote Gateways, which is a support-policy decision beyond ordinary code correctness.

Before merge

  • Resolve merge risk (P1) - Merging turns malformed or out-of-range handshakes into terminal non-retrying states, so a supported-range decision directly affects existing remote Gateway recovery.
  • Resolve merge risk (P1) - The change crosses operator and node lifecycle, UI, MCP, and telemetry. The loopback proof is strong, but no real Gateway or WSL route was exercised for this exact mismatch behavior.
Agent review details

Security

None.

Review metrics

Metric Value Why it matters
Cross-cutting surface 43 files, +2,627 / -72 lines The compatibility policy reaches both clients, connection state, WinUI, MCP, telemetry, docs, and focused regressions.

Merge-risk options

Maintainer options:

  1. Confirm and land the documented boundary (recommended)
    Accept v3-v4 as the supported Gateway contract and merge the explicit mismatch recovery behavior.
  2. Add real-Gateway upgrade proof first
    Pause merge until a real supported Gateway confirms that normal connection and recovery remain intact around this terminal mismatch policy.

Technical review

Best possible solution:

Keep one shared v3-v4 contract, reject incompatible handshakes before connected state or token persistence, and retain clear manual recovery controls with compatibility-safe local MCP diagnostics.

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

Yes, source reproducible: current main advertises v3-v4 but does not validate the successful handshake protocol before publishing connection success. This read-only review did not execute the loopback reproduction.

Is this the best way to solve the issue?

Yes, conditional on maintainer confirmation of the v3-v4 support policy. A shared contract and sanitized compatibility state avoid divergent operator and node handling.

AGENTS.md: found and applied where relevant.

Codex review notes: model internal, reasoning high; reviewed against 582a44713860.

Labels

Label justifications:

  • P1: This changes connection and recovery behavior for operator and Windows-node workflows.
  • merge-risk: 🚨 compatibility: Existing remote Gateways outside the documented range now receive a terminal update path rather than generic failure handling.
  • merge-risk: 🚨 availability: Protocol mismatch intentionally suppresses automatic reconnect for both connection roles.
  • rating: 🐚 platinum hermit: Overall readiness is 🐚 platinum hermit; proof is 🦞 diamond lobster and patch quality is 🐚 platinum hermit.
  • status: 👀 ready for maintainer look: ClawSweeper has no concrete contributor-facing blocker left for this PR. Sufficient (screenshot): Prepared current-head screenshots visibly show both update-directed Connection-page states, and the PR body includes after-fix local MCP and loopback collector output from isolated data roots.
  • proof: sufficient: Contributor real behavior proof is sufficient. Prepared current-head screenshots visibly show both update-directed Connection-page states, and the PR body includes after-fix local MCP and loopback collector output from isolated data roots.
  • proof: 📸 screenshot: Contributor real behavior proof includes screenshot evidence. Prepared current-head screenshots visibly show both update-directed Connection-page states, and the PR body includes after-fix local MCP and loopback collector output from isolated data roots.

Evidence

What I checked:

Likely related people:

  • Barbara Kudiess: Authored current-main gateway recovery and credential-handoff work across the affected gateway client and connection-manager paths. (role: recent connection-area contributor; confidence: high; commits: 603886a81d34, bc210e048aa9, c04c5fb06238; files: src/OpenClaw.Shared/OpenClawGatewayClient.cs, src/OpenClaw.Connection/GatewayConnectionManager.cs)
  • Scott Hanselman: Authored current-main managed Gateway release and restart hardening adjacent to the documented protocol-v4 support policy. (role: recent adjacent contributor; confidence: medium; commits: 01faa6419b42; files: src/OpenClaw.Shared/OpenClawGatewayClient.cs, src/OpenClaw.Connection/GatewayConnectionManager.cs)
  • RomneyDa: Authored the merged Gateway release-policy PR that establishes the protocol-v4 setup context this runtime compatibility layer builds on. (role: introduced release-policy context; confidence: medium; commits: e295df266c72; files: docs/CONNECTION_PROTOCOL_RESEARCH.md)

Rank-up moves

Optional improvements that raise the rating; they are not merge blockers.

  • Obtain maintainer confirmation that the v3-v4 boundary is the intended remote-Gateway support policy.

Rating scale

Score Internal tier Crab rank Meaning
6/6 S 🦀 challenger crab Exceptional readiness
5/6 A 🦞 diamond lobster Very strong readiness
4/6 B 🐚 platinum hermit Good normal PR; ordinary maintainer review
3/6 C 🦐 gold shrimp Useful, but confidence is limited
2/6 D 🦪 silver shellfish Proof or implementation needs work
1/6 F 🧂 unranked krab Not merge-ready
N/A NA 🌊 off-meta tidepool Rating does not apply

Overall follows the weaker of proof and patch quality.
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.

Workflow

  • 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.

History

Review history (19 earlier review cycles; latest 8 shown)
  • reviewed 2026-08-09T01:47:30.517Z sha 9f55849 :: found issues before merge. :: [P2] Capture current-head collector proof for protocol telemetry
  • reviewed 2026-08-09T02:17:32.993Z sha 9f55849 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-09T03:16:15.842Z sha 9f55849 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-09T04:09:47.247Z sha 9f55849 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-09T06:55:51.390Z sha 6b6b875 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-09T08:46:01.978Z sha 9f55849 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-09T10:20:42.283Z sha 9f55849 :: needs maintainer review before merge. :: none
  • reviewed 2026-08-09T11:59:10.755Z sha 9f55849 :: needs maintainer review before merge. :: none

@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. merge-risk: 🚨 availability 🚨 Merging this PR could cause crashes, hangs, restart loops, stalls, or process outages. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. and removed rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. rating: 🧂 unranked krab Not merge-ready due to missing proof or serious correctness/safety concerns. labels Aug 8, 2026
@bkudiess
bkudiess force-pushed the bkudiess-gateway-compatibility-ux branch from c493b00 to f63e7a2 Compare August 8, 2026 17:31
@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. and removed proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Aug 8, 2026
@bkudiess
bkudiess force-pushed the bkudiess-gateway-compatibility-ux branch from f63e7a2 to 6e09cea Compare August 8, 2026 18:09
@clawsweeper clawsweeper Bot added rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. and removed proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. labels Aug 8, 2026
@bkudiess
bkudiess force-pushed the bkudiess-gateway-compatibility-ux branch 3 times, most recently from f9ca1c2 to 775f044 Compare August 9, 2026 00:27
@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. labels Aug 9, 2026
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
@clawsweeper clawsweeper Bot removed proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. labels Aug 9, 2026
@bkudiess

bkudiess commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator Author

@clawsweeper re-review

@clawsweeper

clawsweeper Bot commented Aug 9, 2026

Copy link
Copy Markdown

🦞🧹
ClawSweeper re-review requested.

I asked ClawSweeper to review this item again.
Action: item re-review queued (workflow sweep.yml, event repository_dispatch).
Result: when the review finishes, ClawSweeper will create the durable review comment if needed or update the existing comment in place.

Re-review progress:

@bkudiess
bkudiess marked this pull request as ready for review August 9, 2026 01:44
@clawsweeper clawsweeper Bot added proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. labels Aug 9, 2026
@bkudiess

bkudiess commented Aug 9, 2026

Copy link
Copy Markdown
Collaborator Author

@clawsweeper re-review

@clawsweeper clawsweeper Bot added rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. status: 👀 ready for maintainer look ClawSweeper has no concrete contributor-facing blocker left for this PR. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. and removed proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦐 gold shrimp Decent PR readiness signal, but merge confidence is limited. status: ⏳ waiting on author ClawSweeper has contributor-facing work open and is waiting for author action. labels Aug 9, 2026
@bkudiess
bkudiess requested review from RomneyDa and shanselman August 9, 2026 03:28
@bkudiess
bkudiess marked this pull request as draft August 9, 2026 04:06
@clawsweeper clawsweeper Bot added rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. and removed rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. proof: sufficient Contributor real behavior proof is sufficient. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. rating: 🦞 diamond lobster Very strong PR readiness with only minor maintainer review expected. labels Aug 9, 2026
@bkudiess
bkudiess marked this pull request as ready for review August 9, 2026 08:39
@bkudiess
bkudiess force-pushed the bkudiess-gateway-compatibility-ux branch from 6b6b875 to 9f55849 Compare August 9, 2026 08:41
@bkudiess bkudiess added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient Contributor real behavior proof is sufficient. labels Aug 9, 2026
@openclaw openclaw deleted a comment from clawsweeper Bot Aug 9, 2026
@clawsweeper clawsweeper Bot added proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. and removed proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. labels Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

merge-risk: 🚨 availability 🚨 Merging this PR could cause crashes, hangs, restart loops, stalls, or process outages. merge-risk: 🚨 compatibility 🚨 Merging this PR could break existing users, config, migrations, defaults, or upgrades. P1 Urgent regression or broken agent/channel workflow affecting real users now. proof: 📸 screenshot Contributor real behavior proof includes screenshot evidence. proof: sufficient Contributor real behavior proof is sufficient. rating: 🐚 platinum hermit Good normal PR readiness with ordinary maintainer review expected. 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