Перейти к содержимому
DispatchAtlas
Поиск

Пакеты доказательств

Пакет доказательств — это самоописывающийся каталог статистических таблиц, доступных SVG-фигур и дополнения из исключённых или удержанных строк, всё производное от одной завершённой кампании и отфильтрованное к одному уровню доказательств. DispatchAtlas организует экспортированные доказательства в эти уровневые пакеты так, чтобы каждый пакет раскрывал только те данные, которые позволяет его уровень доказательств.

🪜 Уровни пакетов

Четыре идентификатора уровня происходят из фиксированного безопасного для публики словаря. Каждый уровень — это исполняемая политика раскрытия, а не редакционная метка:

УровеньВключаетИсключает
coreТолько основные публичные доказательства.Доказательства скорости, качества и платформы; удержанные строки.
speedОсновные доказательства и доказательства скорости.Доказательства качества и платформы; удержанные строки.
qualityОсновные, скоростные и качественные доказательства.Доказательства только-платформы; удержанные строки.
platformПолные публичные доказательства платформы: воспроизводимость, портал, пакет и готовность релиза.Отредактированный источник и ограниченные внутренние маркеры, которые остаются заблокированными на каждом уровне.

Каждый пакет генерируется из того же отфильтрованного по уровню набора данных, что и его таблицы и фигуры, так что экспорт более низкого уровня не может вывести механизмы более высокого уровня, утверждения о развёртывании или удержанные строки. Фильтр отказывает в закрытую сторону: вместо утечки экспорт, который раскрыл бы механизм более позднего уровня под более низким уровнем, поднимает ошибку. Строки, которые политика запрещает, исключаются и записываются в дополнительный манифест исключений с указанием причины.

📁 Содержимое пакета

Пакет содержит:

  • статистические таблицы (сводки решателей, попарные сравнения, рейтинги, покрытие бенчмарков, недопустимые строки),
  • доступные SVG-фигуры с манифестом фигур, записывающим роль, происхождение и заметку о доступности каждой фигуры,
  • дополнение, которое записывает исключённые или удержанные строки и каждый метод, направленный в ограничения,
  • bundle.json, манифест, который перечисляет каждый сгенерированный файл и хеширует каноническую полезную нагрузку манифеста.

См. экспорты анализа для полной компоновки пакета и статистических методов за каждой таблицей и фигурой.

⚙️ Как производятся пакеты

Одна кампания экспортирует в один пакет на уровень через команду экспорта:

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

Пакет приземляется в evidence-bundles/{campaign_id}-{tier}/ под целевым рабочим пространством — слоем курирования рабочего пространства экспериментов. На масштабе tools/build_campaign_evidence.py строит каталоги кандидатных бенчмарков, выполняет сконфигурированные кампании, проводит анализ и записывает пакеты для каждого уровня плюс набор данных портала из одной записанной конфигурации:

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

Сборщик выдаёт прогресс фаз в stderr для материализации каталога, планирования кампании, выполнения, анализа, экспорта пакета и записи отчёта, и намеренно записывает сгенерированные доказательства вне отслеживаемых Git деревьев исходного кода.

Как проверяются пакеты

  • Хеширование манифеста. bundle.json перечисляет каждый сгенерированный файл и хеширует каноническую полезную нагрузку манифеста, так что содержимое пакета проверяемо относительно его собственного манифеста.
  • Детерминизм. Повторный запуск того же экспорта против тех же входов производит те же полезные нагрузки JSON, таблиц и фигур.
  • Производность, не авторитет. Пакет всегда производен от записей уровня прогонов в слое воспроизводимости — никогда независимый источник истины — и эти записи сами по себе хешированы по содержимому и проверяемы повтором через движок кампаний.
  • Воротное продвижение. Пакеты достигают публичных поверхностей только через ворота релиза и раскрытия, описанные в готовности релиза.

Уровни доказательств отображаются на словарь ACM Artifact Review and Badging, версия 1.1 (2020), прочитанный вместе с руководством по стохастической оптимизации López-Ibáñez, Branke and Paquete (2021). Любой пакет любого уровня со своим хешированным по содержимому bundle.json и манифестом фигур готов к знаку Artifacts Evaluated — Functional; пакет, опубликованный через публичный портал, готов к Artifacts Available; пакет полной кампании, чей манифест воспроизводимости фиксирует зёрна, окружение, нижнюю границу прогонов, а также паритет бюджета и настройки, готов к Results Reproduced. Results Replicated требует независимой реализации, построенной исключительно из письменных описаний методов, что ни одна платформа не может присудить сама себе — указано здесь, чтобы отображение оставалось честным.

🌐 Что потребляет портал

Портал результатов потребляет набор данных портала, который производит тот же путь экспорта (portal-results.json плюс CSV-индекс) — искомые теги, метки раскрытия, значения целей, id прогонов и связанные хешем метаданные кампании — отрендеренные в статические ресурсы сайта с помощью tools/build_site_assets.py. Портал никогда не читает рабочее пространство экспериментов и не выполняет кампании; он представляет только зафиксированные, отфильтрованные по раскрытию экспорты.