channel-forward-parity

por vercel

Auditoria de paridade de rota de webhook para alterações de entrega de canal: garantir que os caminhos terminais registrem, gravem lastForward, classifiquem falhas e atualizem URLs de porta de sandbox obsoletos.

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.

Mais skills de vercel

benchmark-sandbox
vercel
Executa cenários de avaliação do vercel-plugin em Vercel Sandboxes em vez de painéis locais do WezTerm. Provisiona microVMs efêmeras com Claude Code + plugin pré-instalado,…
official
emil-design-eng
vercel
Esta habilidade codifica a filosofia de Emil Kowalski sobre polimento de UI, design de componentes, decisões de animação e os detalhes invisíveis que fazem o software parecer ótimo.
official
vercel-react-best-practices
vercel
Diretrizes de otimização de desempenho para React e Next.js da Vercel Engineering. Esta habilidade deve ser usada ao escrever, revisar ou refatorar React/Next.js…
official
vercel-react-best-practices
vercel
Diretrizes de otimização de desempenho para React e Next.js da Vercel Engineering. Esta skill deve ser usada ao escrever, revisar ou refatorar React/Next.js…
official
write-guide
vercel
Produza um guia técnico que ensine um caso de uso do mundo real por meio de exemplos progressivos. Os
official
release
vercel
Liberar vercel-plugin — executar gates, incrementar versão, gerar artefatos, commitar e fazer push. Use quando solicitado a "liberar", "enviar", "incrementar e fazer push" ou "cortar uma liberação".
official
deepsec
vercel
Execute o DeepSec em um checkout de projeto Vercel do dev3000. Use para configuração DeepSec com um clique, inicialização de contexto do projeto, processamento limitado de primeira passagem e…
official
backport-pr
vercel
Fazer backport de um pull request do Next.js já mesclado, do canary para uma branch de release anterior, como next-16-2. Use quando o usuário pedir para fazer backport, cherry-pick ou abrir um…
official