fix(contracts): admit expanded scenario snapshot parents (#1040) - #1123
Merged
Conversation
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.
Plain-language summary
Summary
Admit semantically validated
ExpandedScenariovalues as canonicalscenario-snapshotparents for associated-artifact manifests. This keeps genericscenarioreferences id-only, rejects unvalidated and instantiated objects, and makes the parser's public return annotation match its existing file-backed expansion behavior.This is the focused successor for the expanded-scenario parent portion of the earlier aggregate work. It intentionally excludes evaluator and solver changes.
Related issues
Closes #1040
Changes
Scenario | ExpandedScenarioparents at the snapshot boundaryscenarioparent contractInstantiatedScenarioparentsparse_sdl()andparse_sdl_file()annotations to disclose their existing expanded return phaseTest plan
140 passed, 1 skipped20 passed; changed_scenario_parent_matches()is 100% statement and branch coveredtools/verify_all.pycompleted all static, contracts, and docs lanes, but the repository-wide unit lane remains red in unchanged libvirt tests and the local proof lane lacks the pinned Isabelle archive. A representativelibvirt-backend.techvault-native.operation-failedfailure reproduces on exact base3d6e369b.Checklist
Notes for review
The branch is a single commit based directly on
devat3d6e369b726607ff657a841c7f1dee0bec655b8f. The #1082 compute-kind change required updating the new test fixture from legacytype: vmto canonicaltype: compute; no realization semantics are changed here.