Repository navigation
feat(metric-benchmark): specify and validate experiment results - #105
Merged
Merged
Conversation
This was referenced Oct 21, 2026
mstaats-nvidia
force-pushed
the
feat/metric-benchmark-results
branch
from
October 23, 2026 14:33
b398fe2 to
62418ad
Compare
mstaats-nvidia
added a commit
that referenced
this pull request
Oct 23, 2026
Defines an experimental benchmark for evaluating how well our coverage metric predicts evaluation effectiveness through mutation testing. The concise [root README](https://github.com/NVIDIA-NeMo/eval-author/blob/docs/metric-benchmark-design/labs/metric-benchmark/README.md) describes the project, its work-in-progress status, and the expectation that case examples will grow, change, or be dropped as we build in plain sight. Prep is external to this repository; runs consume prepared case examples, fixed subset manifests, and a YAML benchmark definition. The [stage descriptions](https://github.com/NVIDIA-NeMo/eval-author/blob/docs/metric-benchmark-design/labs/metric-benchmark/docs/stages.md) focus on four executable stages: run mutants × eval tasks, compute mutant scores, compute coverage, and correlate the score pairs. The first execution script will be a basic local Harbor loop; NeMo Helix support is planned afterward. The [architecture and both SVG figures](https://github.com/NVIDIA-NeMo/eval-author/blob/docs/metric-benchmark-design/labs/metric-benchmark/docs/architecture.md) explain the inputs, component boundaries, shared results directory, and statistical comparison. This is the documentation-only base of the stack. Implementation PRs #94 → #105 → #106 → #95 → #96 → #97 → #99 inherit the overview and design unchanged. Their detailed CLI guide lives separately in `docs/tools.md`. Validation: the five files in this PR are Markdown/SVG only. Local links and anchors, Markdown fences, headers, SVG XML, and whitespace checks pass; the updated figure was rendered and visually inspected. Restacking preserves all source and test files byte-for-byte. No live evaluations or model calls were made.
mstaats-nvidia
force-pushed
the
feat/metric-benchmark-results
branch
2 times, most recently
from
October 26, 2026 12:32
5c4b80b to
f1792e4
Compare
mstaats-nvidia
force-pushed
the
feat/metric-benchmark-results
branch
from
October 26, 2026 13:43
f1792e4 to
f2b8e4d
Compare
mstaats-nvidia
force-pushed
the
feat/metric-benchmark-results
branch
11 times, most recently
from
October 27, 2026 16:27
1e88bb2 to
9b95325
Compare
Signed-off-by: mstaats <mstaats@nvidia.com>
Add a checked-in nine-trial results directory matching the prepared input example. Validate its expected report through the library and CLI, and document a reading order for the index and native evidence. Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
…inputs Signed-off-by: mstaats <mstaats@nvidia.com>
…vidence Signed-off-by: mstaats <mstaats@nvidia.com>
mstaats-nvidia
force-pushed
the
feat/metric-benchmark-results
branch
from
October 27, 2026 21:04
c536441 to
f2a12ab
Compare
Signed-off-by: mstaats <mstaats@nvidia.com>
…rray Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
…rays Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
Signed-off-by: mstaats <mstaats@nvidia.com>
mstaats-nvidia
marked this pull request as ready for review
October 28, 2026 12:40
Signed-off-by: mstaats <mstaats@nvidia.com>
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.
Specify the results that benchmark execution must produce, and add validation code that checks those results against both the upstream benchmark definition and the results-format constraints.
results-format.mddefines the directory layout, experiment and case JSON indexes, completeness and attempt rules, and native Harbor evidence requirements. A mock results directory illustrates one baseline and two mutants across three tasks.validation-report.mddescribes the validator’s output and includes the corresponding example report.The validator checks that configured cases, agents and tasks are accounted for and that recorded outcomes agree with the prepared inputs and native evidence. A thin CLI calls the Python library, validating all cases by default or one case selected with
--case, using the same experiment output root. It writes a report only after all selected cases pass; missing observations require explicit reasons rather than being treated as zero scores.Tests cover the example, CLI/library agreement, invalid evidence, relocation, and case selection. Validation completed on the final revision: full local suite 2,596 passed and 25 skipped; the focused configuration/signing/validation run passed all 82 tests. Ruff lint/format, type checks for Python 3.12 and 3.13, copyright, dependency licenses, whitespace, and commit sign-off checks passed. Hosted CI passed, including both Python test jobs. Local skips cover unavailable Node rendering, optional external/live runtimes, and Windows-specific behavior.
This follows the merged benchmark-definition PR #94. The execution runner and analysis stages remain in downstream draft PRs #106, #95, #96, #97, and #99; their callers need to follow the revised results schema when the stack is updated.