Working on allowing prerelease schemas to partner with prerelease standard#1241
Merged
VisLab merged 4 commits intohed-standard:mainfrom Feb 26, 2026
Merged
Working on allowing prerelease schemas to partner with prerelease standard#1241VisLab merged 4 commits intohed-standard:mainfrom
VisLab merged 4 commits intohed-standard:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
Pull request overview
Enables loading of prerelease library schemas whose withStandard references a prerelease standard schema, by plumbing an opt-in check_prerelease flag through schema loading APIs and the schema-loading test script.
Changes:
- Add
check_prereleaseplumbing throughload_schema()/from_string()and all schema loader classes so partnered standard lookup can include prerelease cache when enabled. - Update
hed_check_schema_loading/run_loading_check()to passcheck_prerelease=Truewhen testing schemas found under prerelease directories, and add earlyValueErrorvalidation for conflicting flags. - Expand schema roundtrip validation helper to test both merged and unmerged serialization paths; add a small test for conflicting
run_loading_check()flags; document behavior inCHANGELOG.md.
Reviewed changes
Copilot reviewed 10 out of 10 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| spec_tests/test_loading_schemas.py | Adds tests ensuring run_loading_check() rejects mutually exclusive flag combinations. |
| hed/scripts/schema_script_util.py | Refactors schema format roundtrip validation into a helper and runs it for merged/unmerged variants. |
| hed/scripts/check_schema_loading.py | Passes check_prerelease when loading prerelease schemas and adds programmatic flag-conflict validation. |
| hed/schema/schema_io/xml2schema.py | Threads check_prerelease into XML loader constructor/superclass. |
| hed/schema/schema_io/wiki2schema.py | Threads check_prerelease into MediaWiki loader constructor/superclass. |
| hed/schema/schema_io/json2schema.py | Threads check_prerelease into JSON loader constructor/superclass. |
| hed/schema/schema_io/df2schema.py | Threads check_prerelease into TSV/dataframe loader and load_spreadsheet. |
| hed/schema/schema_io/base2schema.py | Stores check_prerelease on the base loader and uses it for withStandard partner resolution. |
| hed/schema/hed_schema_io.py | Adds check_prerelease parameter to load_schema() and from_string() and forwards to loaders. |
| CHANGELOG.md | Documents the new prerelease partnering capability and related API/script changes. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.
No description provided.