Repository navigation
Report every problem in one checker run - #110
Merged
Merged
Conversation
A mistake no longer hides the checks it does not affect, so a submitter sees everything to fix at once instead of one round at a time. - A missing docs/ no longer stops the run; only a missing results/ ends the results checks. src/ is checked once per submission, whatever else is missing, instead of once per curve. - A v0.7-shaped submission (pareto/, documentation/) is told so, rather than seeing two unrelated missing directories. - An invalid system_desc.json is reported without dropping the curve: C_max falls back to the raw max_supported_concurrency, and only rules that need it are skipped when that is unreadable too. - A point whose point.yaml is missing or invalid still counts. Its concurrency comes from the raw field or its r<N> name, so it no longer shifts C_min and the region boundaries, which used to report covered regions as empty. Its result summary and accuracy are still checked, and a warning names the rules that could not run. - shared-path-resolution reports once per distinct value, not per point. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
|
MLCommons CLA bot All contributors have signed the MLCommons CLA ✍️ ✅ |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The checker should report everything wrong with a submission in one run, so a submitter isn't fixing one round of errors at a time. Today an early mistake often hides the checks it doesn't affect. This PR stops that.
Before and after
Each row is the compliant
valid_standardizedsubmission with one mistake introduced:docs/missingrequired-dir, and theshared_docspointer once)division: Standardisedtypo insystem_desc.jsonpoint.yamllow-concurrency-coverage,accuracy-coverage)39e8dd5d)src/Llama-3_1-8B/has noREADME.mdChanges
SubmissionChecker.run). Only a missingresults/ends the results checks; a missingdocs/is reported and the run continues.src/is checked once per submission, even whenresults/is missing, instead of once per curve.SubmissionDir). Ifpareto/ordocumentation/exist, the missing-directory errors say this looks like the v0.7 layout and point to §8.1.system_desc.json(_check_model). Its errors are reported and the curve keeps going.C_maxfalls back to the rawmax_supported_concurrency. If that's unreadable too, only the region-dependent rules are skipped, with aregion-basiswarning saying so.ModelContext.system_descis now optional, with araw_c_maxfallback; only the two offline rules compare againstC_max.point.yamlis missing or invalid still counts (_load_point_configs,_derive_regions,ModelContext). Its concurrency comes from the raw field when that's a positive integer, else from itsr<N>name, so it still feedsC_min, coverage and accuracy coverage. Itsresult_summary.jsonand accuracy files are still checked. Apoint-rules-skippedwarning lists the rules that need the parsed config (placement, metric consistency, power), so the submitter knows fixing the file may surface more.shared-path-resolutionreports once per distinct value, naming the points, likemodel-name-validalready does. Otherwise a missingdocs/would be the same error once per point.A reversed design decision, for review
TestPartialAndAbsentBasissaid unparseable points must be left out ofC_minbecause their concurrency isn't trustworthy. Leaving them out moves the floor anyway, which is what produced the false coverage errors above. The fallback value is the submitter's declared concurrency: either the raw field, or ther<N>name thatpoint-dirname-concurrencyalready holds to it. The two affected tests are updated to the new behavior; their old assertions encoded the false errors.Tests
The new
tests/submission_checker/test_report_completeness.pyhas 11 tests: each introduces one mistake into a copy ofvalid_standardizedand asserts that the mistake is reported, no rule from the clean run is lost, and no error is invented. Full suite: 1214 passed (non-integration). ruff and mypy are clean.🤖 Generated with Claude Code