channel-forward-parity

par vercel

Audit de parité des routes webhook pour les modifications de livraison de canal : garantir que les chemins terminaux journalisent, enregistrent lastForward, classifient les échecs et actualisent les URLs de port sandbox obsolètes.

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.

Plus de skills de vercel

benchmark-sandbox
vercel
Exécute les scénarios d'évaluation de vercel-plugin dans des sandbox Vercel au lieu de panneaux WezTerm locaux. Provisionne des microVM éphémères avec Claude Code et le plugin préinstallé,…
official
emil-design-eng
vercel
Cette compétence encode la philosophie d'Emil Kowalski sur le polissage UI, la conception de composants, les décisions d'animation et les détails invisibles qui rendent un logiciel agréable.
official
vercel-react-best-practices
vercel
Directives d'optimisation des performances React et Next.js de l'équipe Vercel Engineering. Cette compétence doit être utilisée lors de l'écriture, de la révision ou du refactoring de code React/Next.js…
official
vercel-react-best-practices
vercel
Directives d'optimisation des performances React et Next.js de Vercel Engineering. Cette compétence doit être utilisée lors de l'écriture, de la révision ou du refactoring de code React/Next.js…
official
write-guide
vercel
Produire un guide technique qui enseigne un cas d'usage concret à travers des exemples progressifs. Les concepts ne sont introduits que lorsque le lecteur en a besoin.
official
release
vercel
Release vercel-plugin — exécuter les gates, incrémenter la version, générer les artefacts, commiter et pousser. Utiliser lorsqu'on demande de "release", "ship", "bump and push" ou "cut a release".
official
deepsec
vercel
Exécuter DeepSec sur un checkout de projet Vercel depuis dev3000. Utiliser pour la configuration DeepSec en un clic, l’amorçage du contexte du projet, le traitement limité de premier passage, et…
official
backport-pr
vercel
Effectuer un backport d'une pull request Next.js fusionnée depuis canary vers une branche de version précédente telle que next-16-2. Utiliser lorsque l'utilisateur demande de faire un backport, un cherry-pick ou d'ouvrir un…
official