Repository navigation
fix: qualify dependency updates and CME labeling sessions - #86
Merged
Merged
Conversation
This was referenced Oct 14, 2026
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.
Refresh the useful Dependabot updates from #73 while retaining TA-Lib <0.8 to preserve existing indicator defaults. Polars 2 requires numeric equality for trade-side validation, and ty 0.0.86 requires a Generator annotation for the context manager. Ruff's hooks match the refreshed environment while retaining their existing Python/notebook scope.
Adopt pandas-market-calendars >=5.5 and ignore zero-duration provider breaks in the labeling adapter. CME removed the 15:15-15:30 CT equity-index pause from trade date 2021-06-28; the prior <5.5 recommendation incorrectly retained that obsolete modern pause. With the corrected provider, the old adapter instead split the continuous session at a zero-duration break and returned [0,1,1,0] rather than [1,1,1,0]. The published 0.1.6 package reproduces this defect. Historical positive-duration pauses and the daily 16:00-17:00 CT maintenance period remain intact.
Three real-provider public-labeling regressions fail on the original adapter and pass on this fix, covering the removal date, winter and summer. Both historical regressions also fail under a controlled producing-code mutation that discards real pauses. On committed head 0a543b6: all 35 calendar tests and the full 3,944-test suite pass (57 intentional deselections); Ruff, formatting, type checking, strict documentation, all-file hooks, lock validation, package build/import and twine metadata checks pass. Core and complete locked-environment audits report no known vulnerabilities. The standalone public labeling regression also passes against the built wheel in an isolated non-project installation. Candidate commit/tree and wheel/sdist SHA256 identities verify. Hosted supported-platform qualification remains required.
The security/workflow prerequisite #77 is merged, and this PR now targets main. The Polars compatibility and CME labeling corrections warrant a patch release after the integrated maintenance queue is qualified; this PR does not publish a release.
Closes #87.
AI assistance: Codex helped reproduce compatibility and published-package labeling failures, check CME's primary notice, implement the source repairs, inspect the lock, run checks, and draft this description. The useful Dependabot updates are preserved.