Saltar al contenido principal

Validación y simulador

Antes de publicar un flujo, AIFlows corre un conjunto de validaciones estáticas y te permite simular la ejecución contra casos de prueba.

Validación estática

El validador (doc-iaflows/10-VALIDATION-RULES.md) ejecuta en cada guardado:

  1. Integridad del grafo:
    • Existe exactamente un start.
    • Todo nodo es alcanzable desde start.
    • Todo target de redirect existe.
    • No hay nodos huérfanos.
  2. Control de flujo:
    • switch tiene caso default.
    • loop tiene maxIterations y maxDurationMs.
    • wait no está en una rama sin salida.
  3. Funciones:
    • Toda función llamada existe y está en scope.
    • Inputs cumplen tipo y required.
    • No hay ciclos de funciones.
  4. Proveedores IA:
    • Cada providerConfigId referenciado existe.
    • El modelo es compatible con el kind (no usar dall-e con ai.text).

Si alguna regla falla, el guardado queda en draft y se muestra el error en el panel lateral.

Simulador

El simulador ejecuta el grafo sin producción:

  • Modo paso a paso: avanza nodo por nodo, mostrando inputs/outputs.
  • Modo traza completa: ejecuta de un tirón pero registra cada nodo en una línea de tiempo.
  • Inspector de estado: muestra las variables del scope en cada punto.
  • Resaltado de recorrido: ilumina el camino que efectivamente se ejecutó.

Los casos de prueba se pueden guardar como escenarios y reutilizarse en CI.

Auditoría

Toda ejecución en producción genera una AIFlowRun con:

  • id, flowId, projectId.
  • startAt, endAt, durationMs.
  • outcome (success, failed, waiting, capped).
  • nodes: lista de nodos ejecutados con su duración individual.
  • variablesSnapshot: snapshot del estado al final.
  • usage: tokens consumidos por cada nodo IA.

Esto permite depurar incidentes y reconstruir conversaciones.

Estado: 🟡 Fase 5 — simulador parcial. Detalles: doc-iaflows/PROGRESO-IMPLEMENTACION.md.