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:
| Nivel | Incluye | Excluye |
|---|---|---|
core | Solo evidencia pública central. | Evidencia de velocidad, calidad y plataforma; filas retenidas. |
speed | Evidencia central y de velocidad. | Evidencia de calidad y plataforma; filas retenidas. |
quality | Evidencia central, de velocidad y de calidad. | Evidencia solo-de-plataforma; filas retenidas. |
platform | Evidencia 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 coreEl 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 localEl 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.jsonlista 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.