Skip to content

Add submission cli test for create run - #502

Open
anandhu-eng wants to merge 3 commits into
mainfrom
ci/submission-cli-create-run-test
Open

anandhu-eng wants to merge 3 commits into
mainfrom
ci/submission-cli-create-run-test

Conversation

@anandhu-eng

Copy link
Copy Markdown
Contributor

Nothing exercised endpoints-submission-cli runs create against real benchmark output, so a change on either side could break the submission path unnoticed. This adds a per-PR job that runs a sample pareto sweep and dry-runs every resulting run folder through it.

It adds:

  • a dataset replay server that answers each prompt with its own reference output, so the accuracy phase scores 100% by construction and no GPU or model is needed
  • seven point configs covering the rules §5.3 regions for the envelope C_min=1 / C_max=256
  • a script that runs the sweep, authors system_desc.json, and calls runs create --dry-run for each point
  • a checker that asserts every payload is well formed
  • the workflow wiring it to pull_request

--dry-run prints the parsed payload and returns before it reads a token or calls the API, so the job needs no PRISM credentials and creates nothing.

Two things worth knowing:

The points are sized for a fast gate, not for a conformant submission — rules §6.2 asks for 600s / 1200s of steady state, which these do not do.

The workflow installs the submission CLI from main rather than from a release, because v1.0.0.0 still expects a flat result_summary.json while endpoints writes performance/result_summary.json. mlcommons/endpoints-submission-cli#78 fixed the parser but landed after the tag. The step carries a comment to swap back to a pinned version once a release includes it.

🤖 Generated with Claude Code

Run a sample pareto sweep against a dataset replay server on every PR, then
dry-run each resulting run folder through `endpoints-submission-cli runs
create` so the submission path stays exercised.

The replay server answers each prompt with its own reference output, so the
accuracy phase scores 100% by construction and no GPU or model is needed.
`runs create --dry-run` returns before it reads a token or calls the API, so
the job needs no PRISM credentials and creates nothing.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅

@github-actions github-actions Bot added the size/large PR Review Policy: 501-1500 lines or 21-50 files label Sep 10, 2026
anandhu-eng and others added 2 commits September 11, 2026 19:57
'oracle' carried no meaning here beyond the test fixture's origin — the
endpoint is a dataset replay server, not an oracle. Renames the sample
point configs (sim-c<N>), the model name (sim-model), and the recorded
system_name (sim_ci).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@anandhu-eng
anandhu-eng marked this pull request as ready for review September 11, 2026 15:07
@anandhu-eng
anandhu-eng requested a review from a team September 11, 2026 15:07
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

size/large PR Review Policy: 501-1500 lines or 21-50 files

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant