Troubleshooting — Diagnóstico de problemas

Autorización

401 — Token inválido

401 — Email no verificado

403 — Sin acceso al proyecto

Workers y bots

El worker no responde

Estado: "degraded"

Timeout (5 minutos)

Max turns reached

Watchdog deshabilitó el bot

NotebookLM Bridge

La búsqueda semántica no funciona

Datos obsoletos en la búsqueda

Cola de sincronización desbordada (429)

Frontend y conexiones

WebSocket se desconecta

El streaming SSE no funciona

Error CORS

El mensaje se trunca

Base de datos

"Database not initialized"

"Database locked"

Referencia rápida

Problema Primera comprobación Solución rápida
El bot no responde /health o /ping Restart desde CRM
401 Unauthorized Hora de creación del token Volver a iniciar sesión
403 Forbidden Propiedad del proyecto Verificar owner_id
Estado degraded consecutiveFailures Esperar al watchdog
Timeout 5m Complejidad de la tarea Dividir en pasos más pequeños
Error del Bridge google_auth en /health arc memory refresh
CORS blocked CRM_ALLOWED_ORIGINS Añadir el origin
WebSocket disconnect Vida útil del JWT (24h) Recargar la página

Comandos útiles para el diagnóstico

# Health checks
curl -s http://localhost:19210/api/master/health | jq .
curl -s http://localhost:19211/api/child/health | jq .

# Comprobar sesiones tmux
tmux list-sessions

# Logs del Master Bot
tmux capture-pane -t citadel-master -p | tail -20

# Logs del Child Bot
tmux capture-pane -t ws-arc-v2 -p | tail -20

# Comprobar puertos
ss -tlnp | grep '192[0-9][0-9]'

# Estado de la base de datos
sqlite3 data/citadel.db "PRAGMA integrity_check;"

Doc enforcement (Phase 49.1+)

git push bloqueado con "doc-coverage check failed"

El pre-push hook requiere actualizar los docs cuando se cambia el código. STDERR mostrará qué archivos exactamente hay que actualizar.

Soluciones rápidas:

El hook no se activa en un nuevo clone

bash scripts/setup-hooks.sh   # una sola vez por clone
git config core.hooksPath     # verifica que sea = ".githooks"

GitHub Integration (Phase 49.3)

El webhook devuelve 401

El feed de GitHub en la Sidebar está vacío

Rate limit "429 Rate limited"

El tope es de 100 req/min/proyecto. Auméntalo en shared/routes/github.ts:RATE_MAX.

Más detalles: Configuración de la integración con GitHub.