Visitar URL original
fix(bench): accept expanded ingest run names in history collection by 0xAndoroid · Pull Request #2322 · a16z/jolt · GitHub
Skip to content

fix(bench): accept expanded ingest run names in history collection - #2322

Merged
0xAndoroid merged 2 commits into
mainfrom
fix/bench-history-collect
Nov 6, 2026
Merged

0xAndoroid merged 2 commits into
mainfrom
fix/bench-history-collect

Conversation

@0xAndoroid

Copy link
Copy Markdown
Collaborator

Summary

Publisher run 42168067244 rejected a successful benchmark ingest because GitHub returned name = "e2e-bench ingest 42158962746-1", not the workflow's static name, "End-to-end benchmark ingest".

The rejected ingest run was dispatched by the Pika GitHub App, the automation identity that submits benchmark results. It was a calibration run, which establishes reference measurements for later benchmark comparisons.

PR, main, nightly and calibration all use this ingest workflow. Collection checks the workflow's identity before reading the tier, so every tier would fail. Calibration verification repeated the same comparison and would fail later in publication.

Changes

Both validators now use the exact repository and workflow path for identity, without comparing display names. The fixtures now match GitHub's expanded run-name, and the documentation no longer claims that the collector checks the run name.

Testing

The fixtures reproduced both failures before the fixes. After the fixes:

  • uv run --no-project python -m unittest scripts.tests.test_benchmark_history scripts.tests.test_e2e_calibration scripts.tests.test_e2e_publication ran 32 tests: 31 passed and one existing ELF-tool-dependent test was skipped.
  • The collector accepted the real ingest attempt. Calibration verification used real GitHub metadata and artifact bytes, but a local list of calibration references instead of the published list. All 17 benchmark cases found a matching reference. Live publication has not been replayed.

The existing benchmark-contract CI workflow already runs the publication and calibration suites. No workflow change was needed.

Security Considerations

The ingest must still be App-authored, run successfully on main through workflow_dispatch, and match the exact repository, head repository, workflow path and attempt. Its result artifact must match the ingest run and attempt.

The ingest.json receipt still binds the ingest to the workflow run that prepared its benchmark inputs. Both validators retain their artifact-ID, SHA-256 and receipt checks.

Breaking Changes

There are no public API, proof-format or serialization changes.

Replay after merge

Once this reaches main, replay publication without rerunning the benchmarks:

gh workflow run prover-history.yml --repo a16z/jolt --ref main -f run_id=42168032225 -f run_attempt=1

The referenced artifacts must still be retained.

@github-actions

github-actions Bot commented Nov 6, 2026

Copy link
Copy Markdown
Contributor

📏 PR diff

Note

Actual code changed: 0 lines

🟢 0 added    🔴 0 removed

Tests, docs, fixtures, and helper scripts excluded.

Category 🟢 Added 🔴 Removed
⌨️ Actual code 0 0
🧪 Tests +5 −5
📚 Docs +1 −1
📦 Fixtures 0 0
🔧 Helper scripts +2 −2
Total diff +8 −8

Every changed line is classified once.

@github-actions

github-actions Bot commented Nov 6, 2026 •

Copy link
Copy Markdown
Contributor

Verifier classifier: risk-1

Head 1a969c0a70a3bc4548adcc18bcf6e6bf294745e4

In both revisions, the changed checks only control benchmark artifact publication, calibration reporting, and Pages history. Their callers do not feed verifier logic or protocol parameters. Documentation and test-fixture updates likewise cannot affect proof acceptance.

Risk: risk-1

  • book/src/usage/profiling/benchmark_history.md: risk-1 — Documentation update describing benchmark provenance checks; no executable effect.
  • scripts/bench/publication.py: risk-1 — Removes a workflow-name check used only for CI benchmark references and reporting, not proof verification.
  • scripts/ci/benchmark_history.py: risk-1 — Changes benchmark-run filtering for collection and Pages publication; no verifier or protocol inputs are affected.
  • scripts/tests/test_benchmark_history.py: risk-1 — Only updates synthetic workflow metadata in test fixtures.
  • scripts/tests/test_e2e_calibration.py: risk-1 — Only updates workflow-name strings in calibration test fixtures.

gpt-6.1-sol, reasoning effort xhigh

@github-actions github-actions Bot added the risk-1 Tests, scripts, CI or documentation only label Nov 6, 2026
@0xandoroid-ai-agent

Copy link
Copy Markdown

This pull request #2322 has been reviewed at commit 1a969c0 using skill reviewer and model Claude Opus 5.5 with xhigh reasoning effort, and no issues were found.

@github-actions github-actions Bot added the merge-eligible AI merge gate review policy satisfied for the current head label Nov 6, 2026

@github-actions github-actions Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The AI merge gate approves 1a969c0a70a3bc4548adcc18bcf6e6bf294745e4. Review attested by 0xandoroid-ai-agent: An authorized comment attests a clean review of the current head 1a969c0a70a3bc4548adcc18bcf6e6bf294745e4, so the gate approves it.

@0xAndoroid
0xAndoroid merged commit df14800 into main Nov 6, 2026
45 checks passed
@github-actions github-actions Bot removed the merge-eligible AI merge gate review policy satisfied for the current head label Nov 6, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

risk-1 Tests, scripts, CI or documentation only

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant