---
name: vercel-webhook-drop-manual-deploy
description: "Vercel-Webhook kann Merge-Commits still verlieren — Prod-Deploy für Merge-SHA verifizieren, sonst manuell via POST /v13/deployments triggern"
metadata: 
  node_type: memory
  type: reference
  originSessionId: 5bd2681f-49e9-4ab9-b2a8-e5d5168718de
---

Beim Kadi-v2 PR #188 Merge (11.06.2026, Commit `e74a6dd`) hat Vercel den GitHub-Push-Webhook still verloren: Preview-Deploy des PR-Branches existierte, aber für den Squash-Merge auf main wurde nie ein Production-Deployment angelegt (10 Min gewartet). PR #187 direkt davor lief normal durch.

**Check nach jedem Merge:** `GET /v6/deployments?app=<name>&target=production&limit=1` → `meta.githubCommitSha` muss der Merge-SHA sein. Nicht nur auf READY schauen — READY kann der vorherige Deploy sein.

**Fix — manuell triggern (ohne teamId, Token-Scope persönl. Account Kais [[vercel-token-scope]]):**
```
curl -X POST https://api.vercel.com/v13/deployments \
  -H "Authorization: Bearer $VERCEL_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"kadi-v2","target":"production","gitSource":{"type":"github","org":"KADiCon","repo":"Kadi-v2","ref":"main"}}'
```
Liefert sofort die `dpl_`-ID + readyState — damit gezielt bis READY/ERROR pollen statt die Deployment-Liste zu filtern.

**Update 10.07.2026 (KAR-893-Deploy):** Webhook-Drop erneut aufgetreten (Merge bb936b2 erzeugte kein Deployment). Manueller POST /v13/deployments hing diesmal (http=000, Timeout) — zuverlässiger Fallback: **leerer Commit auf main via separatem git worktree** (nie im Haupt-Checkout — dort arbeiten ggf. Implementierungs-Agenten auf Feature-Branches!). Zweite Lehre: Deploy-Wächter muss den Merge-SHA des neuen Deployments VERIFIZIEREN statt blind das letzte Production-Deployment zu beobachten — sonst false-READY vom Vorgänger-Deploy.
