Saltar al contenido
DispatchAtlas
Buscar

Paquetes de evidencia

Un paquete de evidencia es un directorio autodescriptivo de tablas estadísticas, figuras SVG accesibles y un suplemento de filas excluidas o retenidas, todo derivado de una campaña completada y filtrado a un nivel de evidencia. DispatchAtlas organiza la evidencia exportada en estos paquetes por niveles para que cada paquete exponga solo los datos que su nivel de evidencia permite.

🪜 Niveles de paquete

Los cuatro identificadores de nivel provienen de un vocabulario fijo seguro para el público. Cada nivel es una política de divulgación ejecutable, no una etiqueta editorial:

NivelIncluyeExcluye
coreSolo evidencia pública central.Evidencia de velocidad, calidad y plataforma; filas retenidas.
speedEvidencia central y de velocidad.Evidencia de calidad y plataforma; filas retenidas.
qualityEvidencia central, de velocidad y de calidad.Evidencia solo-de-plataforma; filas retenidas.
platformEvidencia pública completa de plataforma: reproducibilidad, portal, paquete y preparación de la versión.Fuente redactada y marcadores internos restringidos, que permanecen bloqueados en todos los niveles.

Cada paquete se genera a partir del mismo conjunto de datos filtrado por nivel que sus tablas y figuras, de modo que una exportación de nivel inferior no puede mostrar mecanismos de nivel superior, afirmaciones de despliegue ni filas retenidas. El filtro falla en cerrado: en lugar de filtrar, una exportación que expondría un mecanismo de nivel posterior bajo un nivel inferior plantea un error. Las filas que una política prohíbe se excluyen y se escriben en un manifiesto de exclusiones suplementario con el motivo.

📁 Contenido del paquete

Un paquete contiene:

  • tablas estadísticas (resúmenes de solvers, comparaciones por pares, rankings, cobertura de benchmarks, filas infactibles),
  • figuras SVG accesibles con un manifiesto de figuras que registra el rol, la procedencia y la nota de accesibilidad de cada figura,
  • un suplemento que registra las filas excluidas o retenidas y todo método enrutado a limitaciones,
  • bundle.json, el manifiesto que lista cada archivo generado y hashea la carga útil canónica del manifiesto.

Consulta exportaciones de análisis para el diseño completo del paquete y los métodos estadísticos detrás de cada tabla y figura.

⚙️ Cómo se producen los paquetes

Una campaña exporta a un paquete por nivel mediante el comando de exportación:

uv run dispatchatlas export `
  --campaign-dir .\experiments\results\smoke-pilot `
  --target-dir .\experiments `
  --authorized-output-root .\experiments `
  --tier core

El paquete aterriza en evidence-bundles/{campaign_id}-{tier}/ bajo el espacio de trabajo objetivo — la capa de curación del espacio de trabajo de experimentos. A escala, tools/build_campaign_evidence.py construye catálogos de benchmarks candidatos, ejecuta las campañas configuradas, realiza el análisis y escribe los paquetes para cada nivel más un conjunto de datos del portal a partir de una configuración registrada:

uv run python tools/build_campaign_evidence.py `
  --output-root .\experiments `
  --problem-count-per-profile 30 `
  --stochastic-seeds 10 `
  --campaign-suffix local

El constructor emite el progreso de las fases a stderr para la materialización del catálogo, la planificación de la campaña, la ejecución, el análisis, la exportación del paquete y la escritura del informe, y escribe intencionadamente la evidencia generada fuera de los árboles de fuente rastreados por Git.

Cómo se verifican los paquetes

  • Hashing del manifiesto. bundle.json lista cada archivo generado y hashea la carga útil canónica del manifiesto, de modo que el contenido de un paquete es comprobable contra su propio manifiesto.
  • Determinismo. Volver a ejecutar la misma exportación contra las mismas entradas produce las mismas cargas útiles JSON, de tabla y de figura.
  • Derivación, no autoridad. Un paquete siempre se deriva de los registros a nivel de ejecución en la capa de reproducibilidad — nunca una fuente de verdad independiente — y esos registros están a su vez content-hasheados y son verificables por reproducción mediante el motor de campañas.
  • Promoción con puerta. Los paquetes llegan a las superficies públicas solo a través de las puertas de versión y divulgación descritas en preparación de la versión.

Los niveles de evidencia se corresponden con el vocabulario de Revisión y Etiquetado de Artefactos de la ACM, versión 1.1 (2020), leído junto a la guía de optimización estocástica de López-Ibáñez, Branke y Paquete (2021). Cualquier paquete de nivel con su bundle.json content-hasheado y su manifiesto de figuras está listo para la etiqueta Artifacts Evaluated — Functional; un paquete publicado a través del portal público está listo para Artifacts Available; un paquete de campaña completa cuyo manifiesto de reproducibilidad fija las semillas, el entorno, el umbral de ejecuciones y la paridad de presupuesto y de ajuste está listo para Results Reproduced. Results Replicated exige una implementación independiente construida únicamente a partir de las descripciones escritas del método, que ninguna plataforma puede otorgarse a sí misma — se indica aquí para que la correspondencia siga siendo honesta.

🌐 Qué consume el portal

El portal de resultados consume el conjunto de datos del portal que produce la misma ruta de exportación (portal-results.json más un índice CSV) — etiquetas buscables, etiquetas de divulgación, valores de objetivo, ids de ejecución y metadatos de campaña enlazados por hash — renderizados en activos estáticos del sitio por tools/build_site_assets.py. El portal nunca lee el espacio de trabajo de experimentos ni ejecuta campañas; presenta solo exportaciones comprometidas y filtradas por divulgación.