channel-forward-parity

von vercel

Webhook-Routen-Paritätsaudit für Kanalzustellungsänderungen: Stellen Sie sicher, dass Endpunktpfade protokollieren, lastForward aufzeichnen, Fehler klassifizieren und veraltete Sandbox-Port-URLs aktualisieren.

npx skills add https://github.com/vercel-labs/vercel-openclaw --skill channel-forward-parity

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:

ChannelBranchLogs eventUpdates lastForwardClassificationStale URL refreshEvidence

Also include correlation coverage:

ChannelBranchrequestId/deliveryId propagatedworkflowRunId propagatedLogs eventUpdates lastForwardClassificationStale URL refreshEvidence

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.

Mehr Skills von vercel

benchmark-sandbox
vercel
Führt vercel-plugin-eval-Szenarien in Vercel Sandboxes aus, anstatt in lokalen WezTerm-Panels. Stellt temporäre Mikro-VMs mit vorinstalliertem Claude Code + Plugin bereit,…
official
emil-design-eng
vercel
Diese Fertigkeit kodiert Emil Kowalskis Philosophie zu UI-Verfeinerung, Komponentendesign, Animationsentscheidungen und den unsichtbaren Details, die Software großartig wirken lassen.
official
vercel-react-best-practices
vercel
Richtlinien zur Leistungsoptimierung von React und Next.js von Vercel Engineering. Diese Fähigkeit sollte beim Schreiben, Überprüfen oder Refaktorisieren von React/Next.js…
official
vercel-react-best-practices
vercel
Richtlinien zur Leistungsoptimierung von React und Next.js von Vercel Engineering. Diese Fähigkeit sollte beim Schreiben, Überprüfen oder Refaktorisieren von React/Next.js…
official
write-guide
vercel
Erstelle eine technische Anleitung, die einen realen Anwendungsfall durch progressive Beispiele vermittelt. Konzepte werden nur dann eingeführt, wenn der Leser sie benötigt.
official
release
vercel
Vercel-Plugin veröffentlichen — Gates ausführen, Version erhöhen, Artefakte generieren, committen und pushen. Verwenden, wenn aufgefordert, „zu veröffentlichen“, „auszuliefern“, „Version zu erhöhen und zu pushen“ oder „ein Release zu erstellen“.
official
deepsec
vercel
Führen Sie DeepSec gegen einen Vercel-Projekt-Checkout von dev3000 aus. Verwenden Sie für die Ein-Klick-DeepSec-Einrichtung, das Bootstrapping des Projektkontexts, die begrenzte Erstverarbeitung und…
official
backport-pr
vercel
Backportiere einen gemergten Next.js Pull-Request von canary auf einen früheren Release-Branch wie next-16-2. Verwende, wenn der Benutzer darum bittet, einen Backport, Cherry-Pick oder das Öffnen eines…
official