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:
- Integridad del grafo:
- Existe exactamente un
start. - Todo nodo es alcanzable desde
start. - Todo
targetderedirectexiste. - No hay nodos huérfanos.
- Existe exactamente un
- Control de flujo:
switchtiene casodefault.looptienemaxIterationsymaxDurationMs.waitno está en una rama sin salida.
- Funciones:
- Toda función llamada existe y está en scope.
- Inputs cumplen tipo y
required. - No hay ciclos de funciones.
- Proveedores IA:
- Cada
providerConfigIdreferenciado existe. - El modelo es compatible con el
kind(no usar dall-e conai.text).
- Cada
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.