Пакеты доказательств
Пакет доказательств — это самоописывающийся каталог статистических таблиц, доступных 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. Портал никогда не читает рабочее пространство
экспериментов и не выполняет кампании; он представляет только зафиксированные,
отфильтрованные по раскрытию экспорты.