feat(qa): wire Crabline WhatsApp transport#95920
Conversation
Dependency graph changes are blockedOpenClaw does not accept dependency graph changes through PRs unless a repository admin or security explicitly authorizes the current head SHA. Dependency updates are generated internally by maintainers so external PRs cannot change the resolved graph. Detected dependency graph changes:
Auto-scrub was not attempted because this PR changes package manifest dependency graph fields:
Dependency graph changes must be reviewed by security or handled by maintainers internally. Please remove lockfile changes manually if they are not needed. To remove lockfile changes, restore them from the target branch: git fetch origin
git checkout 'origin/main' -- 'pnpm-lock.yaml'
git commit -m 'chore: remove dependency lockfile change'
git pushIf this PR intentionally needs a dependency graph change, ask a repository admin or member of The action will approve the current head SHA ( |
fe47539 to
6bd0fe2
Compare
|
Codex review: needs maintainer review before merge. Reviewed June 29, 2026, 2:10 PM ET / 18:10 UTC. Summary PR surface: Tests +85, Config 0, Other +2. Total +87 across 4 files. Reproducibility: not applicable. this is a QA Lab feature PR rather than a reported current-main bug. Source review shows current main has the shared env-forwarding and WhatsApp WebSocket seams, but not this Crabline Review metrics: 2 noteworthy metrics.
Root-cause cluster Members:
Proposal only: this assessment does not dispatch repair, suppress jobs, mutate sibling items, close, or merge anything. Merge readiness Overall follows the weaker of proof and patch quality, so missing proof can cap an otherwise strong patch. Rank-up moves:
Risk before merge
Maintainer options:
Next step before merge
Security Review detailsBest possible solution: Approve the exact Crabline Do we have a high-confidence way to reproduce the issue? Not applicable: this is a QA Lab feature PR rather than a reported current-main bug. Source review shows current main has the shared env-forwarding and WhatsApp WebSocket seams, but not this Crabline Is this the best way to solve the issue? Yes, with merge gates: the PR uses existing QA Lab and WhatsApp seams instead of adding production runtime branches. The remaining issue is dependency/security approval and current-head CI, not a narrower automated code fix. AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against aa5ec51af008. Label changesLabel justifications:
Evidence reviewedPR surface: Tests +85, Config 0, Other +2. Total +87 across 4 files. View PR surface stats
Security concerns:
What I checked:
Likely related people:
What the crustacean ranks mean
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
|
6bd0fe2 to
adf399c
Compare
ad9f3b1 to
9c50250
Compare
This comment has been minimized.
This comment has been minimized.
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
e50621d to
8670e13
Compare
56e64d9 to
2e0c4d3
Compare
|
@clawsweeper re-review |
|
🦞🧹 I asked ClawSweeper to review this item again. |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
What Problem This Solves
Keeps #95920 as the WhatsApp-only follow-up stacked on #97891. QA Lab can consume the published Crabline WhatsApp Baileys WebSocket server without Slack wiring or old runtime hook code in this PR.
Why This Change Was Made
Crabline
0.1.4now publishes the WhatsApp WebSocket endpoint and returnsOPENCLAW_WHATSAPP_WEB_SOCKET_URLfrom its OpenClaw smoke env binding. OpenClaw only needs the package bump and focused QA Lab contract coverage on top of the shared transport env forwarding from #97891.User Impact
Maintainers can run Crabline-backed WhatsApp QA through the normal WhatsApp channel path without live WhatsApp credentials. Production WhatsApp behavior is unchanged unless QA explicitly supplies the WebSocket URL env.
Evidence
node scripts/run-vitest.mjs run --config test/vitest/vitest.extension-qa.config.ts qa-lab/src/crabline-transport.test.tspnpm tsgo:extensions:test