Manifest-drive layered admissibility curve fixture ordering#130
Merged
ProfRandom92 merged 5 commits intoMay 19, 2026
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
Contributor
There was a problem hiding this comment.
Code Review
This pull request introduces dynamic fixture loading for degradation curves by implementing a manifest-based lookup system in DegradationCurveGenerator. It replaces hardcoded fixture lists in tests with a more flexible approach using fixtures_for_layered_admissibility_curve. Feedback suggests improving the robustness of this new method by enforcing logical ordering of degradation levels and adding stricter validation for manifest entries to ensure deterministic results and better error handling.
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.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.
Motivation
fixtures/manifest.jsonso the benchmark is manifest-driven and deterministic.Description
src/validation/degradation_curve_generator.py(added manifest constants,_load_fixture_manifest(), andfixtures_for_layered_admissibility_curve()to select manifest entries by family/level and preserve manifest order),tests/test_degradation_curve_generator.py(switched tests to use the new manifest-driven selector and added an explicit ordering test), andartifacts/layered_admissibility_results.json(regenerated deterministic artifact from manifest-driven selection).MANIFEST_PATH,LAYERED_CURVE_FAMILY, andLAYERED_CURVE_LEVELS, implemented manifest loader and selector that returns orderedPathobjects, leftgenerate()/serialization behavior and artifact schema unchanged, and ensured deterministic JSON formatting (json.dumps(..., indent=2, sort_keys=True)).Testing
pytest tests/test_fixture_manifest.py -q(passed),pytest tests/test_degradation_curve_generator.py -q(passed),pytest tests/test_svg_curve_renderer.py -q(passed), andnpm run checkwhich runs layout/typecheck/validate/build/test and completed with the full Python test suite passing (193 passed).0.8333333333333334) that is deterministic and covered by the artifact equality test.Codex Task