Saltar al contenido principal

Visión general

Una Instantánea (Snapshot) es una copia completa y congelada de un modelo de simulación en un punto en el tiempo. Piénsalo como “Guardar como” para un modelo: no un diff o delta, sino una versión autocontenida que el motor puede simular por sí solo, sin importar cómo se vea el modelo de trabajo en vivo más tarde. Las Instantáneas son la forma en que mantienes la simulación reproducible. Una vez que existe una Instantánea, puedes volver a ejecutarla, entregársela a un compañero de equipo o compararla con otra configuración en un Experimento (Experiment): la configuración no se desplazará mientras sigues editando el modelo en vivo.

Qué hay dentro de una Instantánea

Una Instantánea incrusta todo lo necesario para volver a ejecutar la configuración. Nada se referencia por nombre: no hay riesgo de que un elemento de la biblioteca cambie debajo.
CampoContenidos
nameEl nombre que le diste a la instantánea
descriptionDescripción opcional
model_registryUn mapa {model_slug: ModelBundle}. Cada ModelBundle lleva el modelo en sí más sus entidades, constantes, tablas de búsqueda y submodelos incrustados.
scheduleEl calendario activo cuando se capturó la instantánea — incrustado como objeto completo, no referenciado.
captured_atMarca de tiempo
Editar un elemento de la biblioteca — una entidad, constante, tabla de búsqueda o calendario — no afecta las instantáneas existentes. La instantánea lleva sus propias copias congeladas. Esto es lo que hace que las ejecuciones contra una instantánea sean reproducibles.

Guardar una Instantánea

Haz clic en el icono de disco en la barra superior del Modelador (Modeler). El tooltip dice “Save current work as snapshot.” El diálogo (titulado Create Snapshot, con un icono de cámara) tiene dos campos:
  • Snapshot Name (obligatorio) — corto, descriptivo. Marcador: “e.g., Before adding resources”
  • Description (opcional) — explica qué ha cambiado desde el último guardado. Marcador: “Describe what changes were made…”
Haz clic en Create Snapshot para confirmar. La Instantánea está inmediatamente disponible en todas partes donde se necesite: el selector de historial de instantáneas y el desplegable Add snapshot dentro de cualquier Experimento.
Guardar está controlado por validación. Si el modelo de trabajo tiene errores de validación, el botón Save está deshabilitado con el tooltip “Fix model validation errors before saving.” No puedes hacer una instantánea de un modelo + calendario inválido — la validación se ejecuta en el momento de captura, y la captura falla con un 400 listando los primeros errores.
Las Instantáneas guardadas desde el icono de disco se tratan como tus artefactos autorizados. Dexter no sobrescribirá una de las tuyas al iterar en el chat: en su lugar, crea una nueva instantánea propia. Si quieres que Dexter siga iterando libremente sobre una configuración, pídele que guarde la instantánea él mismo (“save a snapshot of this configuration”) y trabajará en esa de ahí en adelante.

Cargar y eliminar una Instantánea

El icono de historial al lado del botón de disco abre el selector de instantáneas: solo se renderiza cuando existe al menos una instantánea para el modelo actual. El tooltip muestra el conteo actual (por ejemplo, “7 snapshots”). El selector tiene un cuadro de búsqueda (“Search snapshots…”) que filtra en vivo mientras escribes, y filas agrupadas por recencia (Today, Previous 7 Days, etc.).
  • Haz clic en una fila para cargar esa Instantánea en el lienzo. Toast: “Snapshot loaded successfully.”
  • Pasa el cursor sobre una fila para revelar un icono de papelera.
Al hacer clic en el icono de papelera se abre un diálogo de confirmación: “Delete Snapshot — Are you sure you want to delete ‘{name}’? This action cannot be undone.” No hay deshacer después de la confirmación.
Eliminar una instantánea referenciada por un experimento es irrecuperable. Si eliminas una instantánea que un experimento tiene en su lista selected_snapshots, el experimento cae en una corrupción permanente — las escrituras posteriores fallan y no hay ruta de recuperación a nivel de archivo. Patrón seguro: elimina el slug de la instantánea de selected_snapshots antes de eliminar el archivo. El mismo peligro se aplica al icono X en una fila de Instantánea en la barra lateral de Experimentos.

Autosaves

ProDex captura automáticamente una instantánea de autosave cada vez que cargas una instantánea, preservando el estado en que se encontraba el modelo en vivo antes de que la carga lo borrara. Los autosaves aparecen en el mismo selector que las Instantáneas con nombre, con nombres de archivo como autosave-2026-05-06t1651307687010000.json. Puedes cargarlos o eliminarlos igual que cualquier otra Instantánea. Los autosaves se deduplican por hash de contenido, por lo que cargar la misma instantánea dos veces seguidas no acumula autosaves idénticos. Actualmente no hay UI para disparar autosaves manualmente o configurar su comportamiento: se disparan al cargar y solo al cargar.

Pedirle a Dexter que gestione las Instantáneas

Puedes hacer que Dexter guarde, liste y elimine Instantáneas desde el chat sin salir de la página en la que estás. Indicaciones que funcionan:
  • “Save the current state as a snapshot called baseline-4-techs with description Pre-expansion baseline.” — crea una nueva Instantánea con nombre.
  • “Show me the snapshots on this model.” — las lista como una tabla markdown.
  • “Delete the snapshot baseline-4-techs.” — la elimina.
La eliminación de Dexter es inmediata y no tiene paso de confirmación. Usa nombres específicos en lugar de referencias vagas como “delete the old one”: Dexter actuará según su mejor suposición. Para eliminación cuidadosa, usa la UI del selector directamente.

Instantáneas en Experimentos

Las Instantáneas son la unidad de comparación en los Experimentos. Abre la sección Experimentos, elige un experimento, y la barra lateral Snapshots te permite añadir Instantáneas del mismo modelo lado a lado. Pulsa Run y ProDex simula cada Instantánea en paralelo y dispone los KPIs para comparación. Dado que cada Instantánea incrusta su propio calendario, una fila de experimento no selecciona un calendario por separado: la instantánea ya lleva la temporización con la que debe ejecutarse. Para comparar el mismo modelo bajo dos perfiles de demanda, captura dos instantáneas mientras cada calendario está activo y añade ambas al experimento.

Instantáneas vs. el modelo de trabajo en vivo

El modelo de trabajo en vivo es lo que editas en el lienzo: cada arrastre, suelte y cambio de campo escribe en él. Las Instantáneas son copias congeladas; no cambian cuando el modelo de trabajo cambia después. Los Experimentos solo se ejecutan contra Instantáneas, nunca contra el modelo en vivo directamente: esa es la garantía que hace que una comparación sea reproducible. Las Instantáneas no son ramas, sin embargo: no hay operación de merge-back. Si una Instantánea representa una configuración que quieres como tu nueva línea base, aplica esos cambios al modelo de trabajo manualmente.
Las Instantáneas están limitadas a su modelo padre. Llevan una clave foránea model_id y no pueden cargarse en un modelo diferente. Para migrar una configuración entre modelos, recréala manualmente en lugar de esperar apuntar una instantánea existente a un nuevo hogar.

Instantáneas y Monte Carlo

Un lote Monte Carlo barre semillas (Seed) aleatorias contra cualquier configuración de modelo + calendario que esté cargada al momento de la cola. Las Instantáneas son la forma natural de anclar esa configuración: carga la instantánea que quieres evaluar, encola Monte Carlo contra ella, y cada semilla se ejecuta contra el mismo modelo congelado. La configuración se captura al momento de la cola, por lo que editar el modelo después no afecta al lote en vuelo.

Cuándo guardar una Instantánea

Usa las Instantáneas como puntos de guardado deliberados, no solo como copias de seguridad rotativas:
  • Antes de cambios significativos. Reestructurar el enrutamiento, cambiar capacidades, alterar tiempos de procesamiento: haz una instantánea primero para tener una línea base limpia con la que comparar.
  • Cuando tienes una configuración conocida-buena. Un modelo afinado para coincidir con datos observados de planta merece un guardado con nombre; es tu punto de referencia para todo lo que sigue.
  • Antes de ejecutar un experimento. Los Experimentos comparan Instantáneas: ancla las configuraciones que quieres comparar con nombres que reconocerás semanas después.
  • En hitos naturales. Final de un ciclo de calibración, después de incorporar nuevos datos de producción, antes de un cambio de mezcla de productos.
  • Antes de compartir resultados. Cada ejecución se rastrea hasta la Instantánea desde la que se simuló: ese es tu registro de auditoría.
Las Instantáneas son inmutables una vez guardadas. Los mismos límites de validación se aplican en el momento de captura: los modelos inválidos no pueden ser instantaneados.