Open
Conversation
Adds a formal schema definition for problems, generators, suites and implementations. These are packaged in a bare bones python module named opltools. A minimal usage example is located in examples/demo.py. To check if a given yaml file adheres to the schema, there's an included cli tool. Run uv run opl validate my-file.yaml to check it.
d8e0ef5 to
42cccc0
Compare
Add a minimal (AI generated) set of unit tests for opltools. Run the tests on push and for pull requests.
42cccc0 to
5f3c385
Compare
f51be96 to
5bcb5f8
Compare
Variables and constraints are now lists (technically sets) with a description of each type. This is more flexible than the previous approach and allows iterative refinement.
Co-authored-by: Vanessa
5bcb5f8 to
d49220a
Compare
Manual translation of the EMDO problem from the old problems.yaml file to the new format to check if schema supports storing all information from old format.
d49220a to
0d4225c
Compare
CIGbalance
reviewed
Apr 22, 2026
Closed
Rudimentary design document and reference for the new schema that attempts to summarize the discussion at the OPL hackathon in April. The core structure was written by the author, then fleshed out using Claude and finally reviewed by again the author. Co-Authored-By: Claude Opus 4.7
159ba06 to
16dc860
Compare
1d059cd to
240bfa7
Compare
240bfa7 to
3343cd8
Compare
This was
linked to
issues
Apr 22, 2026
Collaborator
Author
|
PRs #172, #180, and #181 depend on this one and we need to either temporarily disable the HTML rebuild or also commit @Dvermetten's changes to the build scripts for this PR to land. |
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.
Adds a formal schema definition for problems, generators, suites and implementations. These are packaged in a bare bones python module named opltools. A minimal usage example is located in examples/demo.py.
To check if a given yaml file adheres to the schema, there's an included cli tool. Run
to check it.