Repository navigation
fix: recover calendar gaps from exact Databento source ranges - #115
Merged
stefan-jansen merged 5 commits intoOct 18, 2026
Merged
stefan-jansen merged 5 commits into
stefan-jansen merged 5 commits into
Conversation
added 5 commits
October 17, 2026 18:42
Base automatically changed from
fix/preserve-market-absences
to
fix/stored-calendar-gap-report
October 18, 2026 00:22
stefan-jansen
merged commit Oct 18, 2026
d6076e5
into
fix/stored-calendar-gap-report
8 of 11 checks passed
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.
Outcome
Consume a selected calendar gap report in a separate, explicit source-backed download operation. Refs #110. No synthetic candles, prices or volume. This is the Databento stage, not a claim of universal source support or completed Coin Metrics integration.
Databento adds exact aware half-open timestamp requests with shared rate limiting, retries, circuit breaking and OHLCV normalization. Single-series symbology is explicit; session-date shifting, parent/universe expansion and unsupported-frequency daily fallback are rejected. Preserve the resolved contract separately from the requested series.
Backfill rechecks disk before fetching, separates storage keys from vendor instruments, preserves real observations and identity/calendar metadata, replaces only marked placeholders with returned observations, and reports residual gaps. Empty/no-trade responses are not filled or retried indefinitely. Partial recovery is distinct from successful processing. Unsupported timestamp capabilities, source mismatches, disabled calendars and multi-instrument write-back fail explicitly. Generic backfill shares row selection and identity-safe merging; candidate scans use bar counts for intraday gaps.
Reproduction and checks
Dependencies and remaining scope
Draft stacked on no-imputation PR114, which depends on report113 and Specs112. Includes the report's latest bounded-frame follow-up through a normal merge, not a history rewrite. Retarget/integrate only the next selected dependent after its prerequisite lands. Stacked main-base workflow exclusions do not establish qualification; all applicable current-head supported checks remain required before ordinary merge.
Coin Metrics has no current Data adapter. Market candles and asset metrics/reference rates need different identities and schemas; the maintainer's dataset type remains to be confirmed. Keep issue110 open until accepted source-specific work is resolved. Raw-file inspection is generic; native timestamp retrieval returns real frames for separately reviewed raw-file merging, not automatic production-data migration.
AI-assisted implementation and owner review under maintainer direction. No independent reviewer claimed. Data0.2.1 remains immutable; no new release or deployment.