AgentShield
Financial Integrity

Write-Ahead Log Financial
Nunca Pierdas Dinero

Inspirado en bases de datos ACID. Antes de procesar cualquier respuesta, escribimos la intención de cobro en Redis. Si el servidor explota, al reiniciar recuperamos todas las transacciones pendientes.

1. Chat Request

El usuario envía una petición al API.

2. Redis WAL Write ⚡

Punto Crítico: Se registra la transacción en memoria RAM persistente antes de gastar saldo.

3. LLM Execution

Se llama a OpenAI/Anthropic y se genera la respuesta.

4. Supabase Persist

Se guarda el registro permanente en PostgreSQL.

¿Qué pasa si hay un Crash?

Si el servidor muere entre el paso 2 y 4, el Worker de recuperación detectará la entrada WAL huérfana al reiniciar y completará el cargo automáticamente.

recovery.py

# recovery.py - Al arrancar el sistema
async def recover_pending_charges():
    # Buscar transacciones pendientes en memoria
    pending = await redis.keys("wal:charge:*")
    
    for key in pending:
        # Recuperar datos del Write-Ahead Log
        charge = await redis.get(key)
        
        # Persistir en base de datos definitiva
        await supabase.insert("charges", charge)
        
        # Limpiar WAL una vez seguro
        await redis.delete(key)
        
    logger.info(f"Recovered {len(pending)} charges")
python