Skip to content

fix(grid): validate daily session labels before returns - #104

Closed
stefan-jansen wants to merge 1 commit into
mainfrom
fix/issue76-daily-session-label-grid
Closed

stefan-jansen wants to merge 1 commit into
mainfrom
fix/issue76-daily-session-label-grid

Conversation

@stefan-jansen

@stefan-jansen stefan-jansen commented Oct 17, 2026 •

Copy link
Copy Markdown
Contributor

Maintainer consolidation: this component is already normally integrated into existing PR98. Under the maintainer-directed batching policy, PR98 will qualify and land the complete temporal-contract consumer objective, including daily grids and their feature/label consumers. This record stays open until that batch actually lands, then will close as consolidated with the verified merge reference. It is no longer an independent merge candidate. The component evidence below retains its exact tested revision.

Refs #76; accepted daily/session-label completeness requirement. The issue remains open until the complete batch is verified and merged.

Validate explicitly declared daily session-label grids through the existing public compute_features price->validation->returns->features pipeline. Require shared v2/time-bar/1d declarations, not intraday fields which Specs correctly forbids for session labels. Compare authoritative schedule labels per asset over observed endpoints. Preserve Date/datetime session identifiers without timezone conversion, and reject missing whole sessions, duplicate/off-schedule labels and unsafe cross-gap returns without filling prices or changing row counts.

Intraday instant grids keep their existing anchor/side/partial-bar rules. A daily frequency alone does not reinterpret event_time as a session label. Explicit calendar argument > feed metadata > NYSE remains unchanged, and explicit None stays observation order with no provider lookup. Normalize the canonical shared 1d spelling to the duration parser's 1D spelling; do not enable deprecated/ambiguous duration guessing.

Evidence at 72e856d, tree c450d157337b65d9510132283fea954fdf9d3f58:

  • Initial public producer regression against unchanged9364c86: 18 failed/6 passed in 0.56s. Expanded33cases against normally installed unchanged b95fb29wheel: 27 failed/6 passed in 0.48s. Includes actual removed prices before deriving returns, not impossible hand-made return inputs.
  • Final daily/intraday/public-grid121cases pass6.34s. The exact normally installed wheel passes the same121cases on Python3.12/3.13/3.14 in5.88s/7.32s/5.84s; dependency consistency31packages passes each.
  • Full clean source suite:4413passed/57deselected/17warnings85.80s. Whole Ruff/format/ty, plain commit hooks and all-file hooks pass.
  • Executable documentation workflows pass from source and installed wheel, including the new daily migration example. Strict MkDocs2.27s, wheel/sdist builds and Twine metadata checks pass.
  • Wheel SHA256 8a8477d645219cfc2e4a2f47d34c9d014200b3e6c4b94a6e809f65302ada129f; sdist8ef5e016afba4bef890be78420569501fc707cc89b4b747a6044953bbc9d7b25. Manifest binds the exact source/tree/version above.

Cases cover NYSE July4 closure/early-close dates, continuous weekends, missing July16, panel isolation, Date/naive/aware-Tokyo label representations, CME overnight session identifiers, JSON/YAML omitted/null selection, duplicate/null/closed labels, reindexed already-derived returns and empty/singleton shape. Coverage is only between observed endpoints; no dataset start/end coverage is inferred.

Current-head supported hosted gates remain required before ordinary merge. This uses the existing honest immutable Specs qualification dependency; published adoption is independently qualified in PR102. The temporal migration is next-minor0.2, not the historical0.1.7patch; no release/tag/deployment or broad harmonization claim.

AI assistance: Codex reproduced the public source/installed failures, implemented and reviewed the focused source and existing-guide changes, and executed the listed tests, package and docs checks. No independent human review is claimed.

Copilot AI balanced review requested due to automatic review settings October 17, 2026 20:15

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@stefan-jansen

Copy link
Copy Markdown
Contributor Author

Implemented through the maintainer-directed temporal batch #98, merged as b0d2027 after all 40 applicable checks passed. Original head 72e856d is a normal ancestor of reviewed batch head c69845d; its daily-grid validation and public workflow regressions are retained. Closing this component as consolidated, not discarding its work. AI assistance: Codex reviewed the integration, verified the original ancestry and matching tested/merged trees, and performed this maintainer consolidation.

@stefan-jansen
stefan-jansen deleted the fix/issue76-daily-session-label-grid branch October 18, 2026 02:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants