Repository navigation
fix: adopt versioned calendar selection across Engine workflows - #152
Merged
Merged
Conversation
Adopt the immutable Specs temporal contract, keep legacy config payloads readable, and make explicit None select observation semantics. Qualify the next API boundary separately from the retained 0.1.13 candidate.
Regenerate lock metadata offline after the direct immutable source dependency. Preserve all other package versions and source identities; the public locked Zipline builder now succeeds.
…ication Reproduce the shared Python 3.15 failure through uv resolution. Bind selected packages, artifacts, markers and lock declarations while excluding the resolver prerelease permission alone. Preserve raw identities and all 17 accepted measurement records, and keep actual dependency drift rejection. Full suite: 2320 passed, 14 skipped. Fixes qualification of #151.
Use a real uv-generated self-contained lock instead of requiring every platform package and build backend in the runner cache. Preserve the failing-base producer operation and the actual dependency-drift rejection control. Addresses the clean-runner failures at 7233675 without changing validator or runtime behavior.
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.
Purpose
Closes #151. Implement the confirmed calendar contract on a next-version branch. The pending Backtest 0.1.13 candidate at e74bed7 and its artifacts remain unchanged.
Current reviewed head: a39bfea. Engine source bytes remain identical to qualified df10938. Current-head hosted qualification is complete; this is not a release or deployment request.
Behavior and compatibility
calendar=Nonedisables calendars. Omission inherits declared feed metadata, then NYSE. Feed, Engine, result aggregation and schedules preserve that distinction.periods_per_yearoverrides survive serialization. CAGR uses(N-1)/scaleyears for N equity values.cryptoand assert the 365 scale.Published dependency
Requires
ml4t-specs>=0.2.0. The downloaded PyPI wheel SHA256 iscfd550d19b469f1b083d6ac3f83b235fe71aee19c28465f2ac2c8620064bae61. Its calendar module is byte-identical to the originally qualified immutable Specs source. All seven locks changed only Specs version/source identity; other package versions and sources are unchanged. Comparison locks resolved offline without licensed-source authentication.Performance evidence
Retain the accepted October 13 measurements, including every sample, median, confidence interval, speed ratio, measurement date, environment and original source identity. The generated documentation preserves those numbers.
An explicit performance-impact review covers the exact current engine, timing runners, all seven dependency locks, current correctness evidence and original measurement identity. Review of the retained frozen workloads found no material impact: they use explicit legacy calendar metadata, do not use rebalance schedules, and preserve the dominant per-asset, broker and order-execution paths. The detailed analysis is retained in
validation/REAL_STRATEGY_PERFORMANCE.json.Matching numerical results alone cannot certify performance reuse. Material or unknown performance impact requires fresh measurements. Changed source, runner, selected dependency packages/artifacts or measurement inputs cannot silently inherit an earlier review. Raw lock hashes remain recorded. The parsed lock graph omits only the prerelease resolver permission: uv adding
prerelease-mode="allow"without changing any selected package, source, artifact, hash or marker does not invalidate the evidence. Reviews validate before mutating the report and preserve the original measurement and correctness timestamps.The separate October 17 timing attempt did not replace the accepted baseline. Completing its two native reference sides is not required to retain the reviewed accepted measurements. No new speed numbers are published here and no CI checks have been disabled.
Executed evidence
f2621525858635f6da04c0f871a2241340ed4c1b119362471548f99ae496f51d. Sdist SHA256:f7ee38d0c234209d23cbc2af0afc6cb6f6dc4bf1dcb806bfeb0e00b045d42ae2.Remaining qualification
All applicable current-head checks have been inspected and pass; perform the ordinary reviewed-green merge. No new benchmark window or product-feature decision is required. Pending 0.1.13 licensed-source authentication remains a separate publication boundary; no authentication retry, release, tag or documentation deployment was performed.
AI assistance
Codex assisted with implementation, tests, documentation, code-path review and qualification harnesses under maintainer instructions. The evidence above distinguishes executed current checks from retained checks and pending qualification.