wallet-guard v0.1.0: guardrails de bucle y presupuesto para agentes
DEV Community

wallet-guard v0.1.0: guardrails de bucle y presupuesto para agentes

El problema

Un agente puede quedarse en un bucle de reintentos que nunca avanza, o gastar más de lo autorizado. El riesgo opuesto es el bloqueo permanente: si una simple petición de confirmación del usuario se trata como error, el agente se para para siempre.

Qué hace wallet-guard

wallet-guard expone LoopGuard y un presupuesto. Dos comportamientos verificados por tests:

  • Corte de bucle: si N reintentos no producen progreso medible, detiene.
  • Presupuesto: respeta un límite de gasto/configuración.
  • No bloqueo por confirmación: una petición de confirmación del usuario no cuenta como fallo irreversible (bug encontrado y corregido en auditoría).

Cómo funciona

from wallet_guard.guard import LoopGuard

guard = LoopGuard(
    max_retries=3,
    progress_fn=lambda s: s.done
)

guard.observe(state)   # registra intento

if guard.should_stop():
    print("bucle sin progreso: cortado")

Resultados de la auditoría

  • 8 tests en wallet-guard, todos verdes; ruff limpio.
  • Auditado en clone fresco (rama main, commit 372b2a9).

Limitaciones (honestamente)

El progreso se mide con un predicado que el integrador debe definir; el paquete no infiere "progreso" por sí solo. No está enganchado aún como middleware de un agente en producción.

Pruébalo

git clone --branch main https://github.com/amurlaniakea/wallet-guard.git
cd wallet-guard && python -m venv .venv && . .venv/bin/activate
pip install -e .
pytest tests/ -v

Links

Top comments (0)

Comments

No comments yet. Start the discussion.