> ## Documentation Index
> Fetch the complete documentation index at: https://docs.switchbord.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Runbook Operativo

> Runbook per deployment, incidenti e monitoraggio.

# Runbook Operativo

Questa pagina è il runbook pubblicato per deployment, incidenti e monitoraggio.

Per la reliability delle migrazioni Supabase in produzione, usa il runbook dedicato:

* [Reliability delle Migrazioni Supabase (Produzione)](/it/operations/supabase-migration-reliability)

## Checklist CI/CD

* Esegui lint, docs lint, typecheck, test e build prima del merge.
* Tratta i controlli dei link Mintlify e la validazione della build della documentazione come parte del normale percorso di verifica.
* Usa i tag di rilascio solo dopo che il contratto del repo è verde.
* Traccia build dei container, validazione delle migrazioni, dependency review e secret scanning come backlog di hardening finché non vengono aggiunti ai workflow di default.

## Incidenti comuni

1. **Interruzione del webhook** – ispeziona `/internal/runtime`, controlla gli errori di verifica, ripeti (replay) le buste interessate.
2. **Violazione del rate limit** – metti in pausa le campagne, adatta il backoff dello scheduler, documenta gli errori `130429`/`131056`.
3. **Fallimento di journey/campagna** – rivedi `journey_runs`, ripeti (replay) tramite `/internal/webhooks/:id/replay`, registra nelle note adversarial.

## Obiettivi di monitoraggio

* latenza dei webhook
* profondità della coda
* fallimenti di validazione dei template
* throughput per numero di telefono
* eventi di backoff per pair-rate
* distribuzione degli errori di delivery
* deriva (drift) dei feature flag

## Compiti di routine

* Ruota le credenziali, registra gli eventi di audit.
* Aggiorna le note adversarial dopo le correzioni.
* Effettua lo sweep delle policy di retention per i payload raw e i rigetti.

## Triage del connettore gb-agent

Usa questo blocco quando un operatore segnala uno stato di bozza gb-agent bloccato o inaspettato. Dettagli completi sulla superficie in [Piattaforma → Connettore gb-agent](/it/platform/gb-agent-connector).

| Sintomo                                                                | Causa probabile                                                  | Prima verifica                                                                                                                        |
| ---------------------------------------------------------------------- | ---------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
| Trigger inbox disabilitato con "Endpoint not configured"               | Nessun URL/token del connettore nelle impostazioni del workspace | Impostazioni → Integrazioni → gb-agent; verifica che il secret Vault esista                                                           |
| Trigger inbox disabilitato con "Endpoint unsafe"                       | L'URL configurato non è https o contiene userinfo/query/fragment | Sostituisci con un URL https "pulito"; il mapper della UI rifiuta deliberatamente gli URL non sicuri                                  |
| "Draft already queued" a ogni tentativo                                | Esiste una bozza pendente dal connettore in `message_drafts`     | Risolvi la bozza esistente (Accetta/Modifica/Rifiuta) oppure esegui release\_stuck\_outbox\_jobs se è in lease e bloccata             |
| L'operatore segnala che la card di anteprima dell'handoff è assente    | Il feature flag `inbox.gbAgentHandoffPreview` è OFF              | Imposta `NEXT_PUBLIC_FLAG_INBOX_GB_AGENT_HANDOFF_PREVIEW=1` sul progetto Vercel apps/app; rideploya                                   |
| L'operatore segnala che è stata eseguita un'azione che non ha cliccato | Non dovrebbe mai accadere — il connettore è dry-run-only         | Segnala come bug; controlla `responder_runs.metadata.policyDecisions` per `requiresHumanApproval: true` e `externalSendQueued: false` |
