Result Bundle Format¶
Archive Layout¶
submission_<timestamp>.tar.gz
└── submission_<timestamp>/
├── manifest.json
├── run_metadata.json # optional
└── instances/
└── <instance-base-name>/
├── result.json
├── framework_task_info.json # optional
└── outputs/
└── <agent artifacts>
The archive may use a single enclosing directory. Exactly one manifest.json
must exist. All archive members must be regular files or directories, and paths
must be relative without .. components.
Manifest Contract¶
{
"submission_schema_version": 1,
"created_at": "2026-08-04T03:00:00Z",
"framework_version": "<runner version>",
"benchmark_repo": "Apexintelligence-AI/ASI-Bench-seed42",
"note": "<optional submitter note>",
"run_metadata_included": false,
"instance_count": 1,
"instances_missing_outputs": [],
"instances": [
{
"base_name": "physics.example__seed42__b1",
"instance_id": "physics.example__seed42",
"task_id": "physics.example",
"prompt_level": "b1",
"attempt": 1,
"agent_name": "direct_llm",
"status": "completed",
"result_file": "instances/physics.example__seed42__b1/result.json",
"framework_task_info_file": null,
"output_files": [
{
"path": "outputs/result.csv",
"sha256": "<64 lowercase hexadecimal characters>",
"bytes": 1234
}
],
"missing_outputs": [],
"provenance": {
"agent": {
"agent_name": "direct_llm",
"config": {"model": "<model>", "effort": "medium"}
},
"sandbox": {"effective_mode": "os"}
}
}
],
"files": [
{
"path": "instances/physics.example__seed42__b1/result.json",
"bytes": 1234,
"sha256": "<64 lowercase hexadecimal characters>"
},
{
"path": "instances/physics.example__seed42__b1/outputs/result.csv",
"bytes": 1234,
"sha256": "<64 lowercase hexadecimal characters>"
}
]
}
Manifest file paths are relative to the directory containing manifest.json.
The top-level files array indexes every non-manifest file actually written to
the bundle, including optional metadata and task-info snapshots. Every listed
file must exist with the declared byte size and SHA-256 digest. benchmark_repo
is the optional Hugging Face repository ID supplied for provenance, not a GitHub
URL.
For a produced output, output_files records path, bytes, and sha256. If an
agent did not produce a declared output, the record instead contains its original
relative path and "missing": true; the same path appears in
missing_outputs, and the instance base name appears in
instances_missing_outputs. Missing outputs are reported as incomplete rather
than represented with "missing": false.
Unexpected files are reported during confirmation, while missing or mismatched files make the integrity report fail.
Portal Safety Checks¶
- Rejects absolute paths, parent traversal, symlinks, hardlinks, devices, and FIFOs.
- Caps compressed size, uncompressed size, and archive member count.
- Rejects missing, multiple, malformed, or unsupported manifests.
- Verifies declared file sizes and SHA-256 hashes.
- Reports missing instance outputs before confirmation.
Generate the bundle with asibench submit --results-dir <results-dir>. Do not
edit or repackage it: any byte change invalidates the manifest digest and prevents
a clean confirmation.