channel-forward-parity
$
npx mdskill add vercel-labs/vercel-openclaw/channel-forward-parityAudit webhook routes for delivery parity and stale URL refresh.
- Ensures terminal paths log and lastForward records update correctly.
- Integrates with Slack, Telegram, Discord, WhatsApp, and summary routes.
- Classifies failures and refreshes sandbox port URLs automatically.
- Outputs structured tables with correlation coverage evidence.
SKILL.md
.github/skills/channel-forward-parityView on GitHub ↗
--- name: channel-forward-parity description: "Webhook route parity audit for channel delivery changes: ensure terminal paths log, record lastForward, classify failures, and refresh stale sandbox port URLs." --- # Channel Forward Parity Use this before modifying any channel webhook route or the shared drain-channel workflow. ## Source Files To Audit - `src/server/channels/last-forward.ts` - `src/server/workflows/channels/drain-channel-workflow.ts` - `src/app/api/channels/slack/webhook/route.ts` - `src/app/api/channels/telegram/webhook/route.ts` - `src/app/api/channels/discord/webhook/route.ts` - `src/app/api/channels/whatsapp/webhook/route.ts` - `src/app/api/channels/summary/route.ts` - `src/server/admin/why-not-ready.ts` ## Required Output Produce a table: | Channel | Branch | Logs event | Updates lastForward | Classification | Stale URL refresh | Evidence | |---|---|---|---|---|---|---| Also include correlation coverage: | Channel | Branch | requestId/deliveryId propagated | workflowRunId propagated | Logs event | Updates lastForward | Classification | Stale URL refresh | Evidence | |---|---|---|---|---|---|---|---|---| ## Rules - Every delivery attempt must update `lastForward`. - Every skip/reject branch must log a structured reason. - Workflow forwarding already records `lastForward`; do not double-record above it. - Treat route-ready, native-accepted, and user-visible-reply separately. - Do not add info-level logs on hot polling paths unless operationally necessary; ring-buffer eviction hides evidence. - Never add `export const runtime = "nodejs"` to route handlers. - For workflow handoff branches, verify that `channels.<ch>_workflow_started`, `channels.forward_attempt`, and `channels.forward_outcome` can be correlated by requestId/deliveryId and workflowRunId when available. - If `npx workflow` cannot inspect the run, parity evidence must fall back to Vercel logs plus `/api/admin/logs`. - Do not accept "workflow started" as proof of native acceptance; require forward attempt/outcome or user-visible reply evidence. - Do not accept `npx sandbox` failure as sandbox-unreachable until the app admin SSH/exec fallback has been attempted or marked unavailable. - Verify project targeting before trusting `vercel`, `npx workflow`, or `npx sandbox` output. If `.vercel/project.json` points at a different release, require explicit project/team/deployment targeting evidence. ## Current Audit Seeds - Check Slack fast-path fetch-exception branches for `recordChannelLastForward` coverage. - Check Telegram unauthorized, invalid JSON, and dedup branches for structured logs where operator evidence is needed. - Check WhatsApp duplicate/skip branches for structured logs and clear classifications. - Check every `sandbox-not-listening` branch for exactly one stale-port refresh per request.
More from vercel-labs/vercel-openclaw
- admin-ui-debugAdmin UI and operator surface debugging for vercel-openclaw: command shell design, admin actions, request core, status panels, launch verification UI, channel readiness UI, and local read-only production-data workflows. Use when the root admin UI, controls, visual state, or operator copy is wrong.
- auth-store-debugAuth and store debugging for vercel-openclaw: admin-secret mode, Sign in with Vercel, session cookies, CSRF, LOCAL_READ_ONLY, Redis vs memory store, keyspace namespacing, and metadata shape migrations. Use when login, route authorization, Redis persistence, or metadata state is suspect.
- channel-debug-coreChannel webhook triage for vercel-openclaw Slack/Telegram/Discord/WhatsApp issues: prove deployment state, collect admin readiness endpoints, build evidence-first handoff before fixes.
- cron-watchdog-debugCron and watchdog debugging for vercel-openclaw: Vercel Cron auth, persisted OpenClaw jobs, cron wake keys, token refresh, restore oracle, hot spare, and watchdog reports. Use when scheduled OpenClaw jobs fail to wake or run, watchdog status is wrong, cron persistence is suspect, or /api/cron/watchdog behavior changes.
- discord-deliveryDiscord channel specialist workflow: debug interaction webhooks, Ed25519 signatures, deferred replies, workflow forwarding to /discord-webhook, integration reconcile, and token expiry.
- firewall-ai-gateway-debugFirewall and Vercel AI Gateway debugging for vercel-openclaw: network policy allowlists, OIDC token refresh, AI Gateway transform rules, firewall learning/enforcement, and sandbox.update networkPolicy calls. Use when model calls, egress, token refresh, or firewall policy application fails.
- gateway-proxy-debugGateway and proxy debugging for vercel-openclaw: /gateway routing, HTML injection, WebSocket rewrite, gateway-token handoff, waiting page, status heartbeat, sandbox port URL cache, and proxy auth. Use when the OpenClaw UI, WebSockets, gateway proxying, or waiting-page flow breaks.
- lat-md>-
- launch-verify-debugLaunch verification and remote smoke debugging for vercel-openclaw: preflight, queue ping, ensureRunning, chatCompletions, wakeFromSleep, restorePrepared, channelReadiness, NDJSON progress, and vclaw create readiness. Use when launch verification, vclaw create validation, or remote smoke checks fail.
- openclaw-bootstrap-debugOpenClaw bootstrap, bundle, config, and restore-asset debugging for vercel-openclaw: openclaw.bundle sidecars, plugin discovery, channel catalog, restart scripts, config hashes, dynamic resume files, and fast restore. Use when setup, gateway boot, plugin loading, or bundle-sidecar compatibility fails.