feat(qa): wire Crabline Slack transport#97891
Conversation
Dependency GuardThis PR changes dependency-related files. Maintainers should confirm these changes are intentional. Changed files:
Maintainer follow-up:
|
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 ( |
|
Codex review: needs maintainer review before merge. Reviewed June 29, 2026, 1:51 PM ET / 17:51 UTC. Summary PR surface: Source +2, Tests +102, Config 0, Other 0. Total +104 across 8 files. Reproducibility: not applicable. this is a QA Lab feature PR rather than a reported current-main bug. Source review confirms current main lacks the Slack Crabline runtime env patch and still pins the older Crabline package. Review metrics: 1 noteworthy metric.
Stored data model 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: Keep the focused Slack QA Lab wiring, review and approve the exact Crabline package bump if maintainers want this path, then merge only after the dependency guard is satisfied on the current head. 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 confirms current main lacks the Slack Crabline runtime env patch and still pins the older Crabline package. Is this the best way to solve the issue? Yes for the focused Slack path: the PR uses the existing Slack AGENTS.md: found and applied where relevant. Codex review notes: model internal, reasoning high; reviewed against 888f399499c4. Label changesLabel justifications:
Evidence reviewedPR surface: Source +2, Tests +102, Config 0, Other 0. Total +104 across 8 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
|
What Problem This Solves
Splits the Slack portion of #95920 into a focused QA Lab Crabline transport PR. QA Lab can now start Crabline's published Slack fake provider and pass the resulting Slack runtime env into the gateway process.
Why This Change Was Made
The Slack plugin now supports
SLACK_API_URL, so QA Lab does not need to mutate Slack channel config or add Slack extension code. The transport forwards Crabline'screateChannelDriverSmokeEnv()output and posts inbound messages using Crabline's provider URL and headers directly.User Impact
Maintainers can run Crabline-backed Slack QA without live Slack credentials. Existing production Slack behavior is unchanged.
Evidence
node scripts/run-vitest.mjs run --config test/vitest/vitest.extension-qa.config.ts qa-lab/src/crabline-transport.test.ts qa-lab/src/suite.test.tspnpm tsgo:extensions:test