[truealpha-factors] Freeze safe Qlib expression corpus - #191
Merged
Conversation
Owner
Author
|
@copilot review |
Contributor
There was a problem hiding this comment.
Pull request overview
Freezes the preparation-only S8 “safe Qlib factor-expression” corpus for issue #189 by pinning the corpus bytes and updating governance metadata to mark the batch as prepared, without advancing any evidence rung or introducing contract/compiler implementation.
Changes:
- Adds a pinned JSON corpus fixture (
qlib_expression.v1.json) defining the operator registry, feature bindings, typed expression cases, expected compiled fields, and negative controls. - Advances the S8 batch manifest from
queued→prepared(revision 2) and pinsactivation.base_shaplus the corpus manifest path and SHA-256. - Updates the Vision issue graph entry for S8 to reflect the prepared status and new manifest hash.
Reviewed changes
Copilot reviewed 3 out of 3 changed files in this pull request and generated no comments.
| File | Description |
|---|---|
| libs/contracts/tests/fixtures/qlib_expression.v1.json | Introduces the frozen S8 typed-expression corpus fixture (operators, expressions, expected outputs, negative cases). |
| governance/vision-issue-graph.json | Marks S8 as prepared and updates the manifest SHA-256 pointer in the Vision graph. |
| governance/batches/S8-qlib-factor-expression.v1.json | Updates S8 manifest to revision 2 / prepared, pinning base SHA and corpus path+hash for the preparation freeze. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
12 tasks
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.
Scope
Freeze the preparation-only S8 corpus for #189. This PR contains no contract or compiler implementation and earns no evidence rung.
The corpus pins:
pyqlib==0.9.7runtime and lock identities;During preparation, direct Qlib execution confirmed that
Mean(..., N)usesmin_periods=1; the frozen contract therefore declares null behavior per operator instead of claiming global null propagation. The #189 design body was corrected accordingly.Verification
make issue-graph-checkpyqlib==0.9.7parsed and executed all three compiled fields; every value and null position matched the independent fixture oracle at1e-12tolerancegit diff --checkIssue: #189