Skip to content

fix: preserve daily timestamp declarations across gap consumers #103

Closed

Description

@stefan-jansen

Actual reproduction

On session prerequisitef57c8d91fd5dbada151fb4dfe8325bda8268b954, real SyntheticProvider daily July11/14 OHLCV is normalized to Tokyo-midnight session labels, written through Flat/Hive storage with version-2 JPX/session_label/Asia-Tokyo metadata, and read through the actual canonical-UTC storage and DataManager metadata API. Stored civil UTC dates are July10/13. The daily gap utility ignores declared label timezone and falsely reports missing FridayJuly11; the separate range planner correctly restores the declaration and is a passing control. This is a numerical boundary defect, not a new API keyword error.

Additional accepted calendar requirements remain unsupported: both daily gap consumers reject explicit event_time/bar_close rather than mapping their true authoritative sessions. Continuous midnight right labels must use the previous session, and daily frequency cannot override explicit instant semantics. Current actual workflow regressions:10 failures/4 passing controls in1.34s, daily-timestamps-base.log. The unsupported-mode failures are capability evidence, not10 historical numerical defects.

Required implementation

Reuse shared declaration resolution and native SessionAssigner interpretation, with one internal daily-label projection used by both gap consumers and backfill provider-row selection. Restore a declared timezone before interpreting aware session labels; naive session labels remain civil identifiers, not localized event clocks. Explicit event/close/bar-side declarations use actual native session membership; out-of-session instants fail clearly, while legacy label classification retains its existing off-session-label policy. Missing-data classification remains separate from filling, and input/provider rows remain unchanged.

Range bounds remain inclusive session labels at UTC midnight, utility DataGap bounds remain the actual bracketing observations. Daily missing_periods/size_days count scheduled sessions, not observed dates or elapsed days. ExplicitNone bypasses schedule projection. Test actual Flat/Hive storage, event/close midnight sides, real missing session, timezone restoration, custom timestamp column, no-calendar controls and actual backfill acquisition, not only the helper.

Depend on PR94, keep one focused issue/PR, and reconcile intraday PR100 separately when branches land. All applicable full main-target CI/docs/package/resource gates required before routine merge. Preserve immutable0.2.1; no release/deploy or heavy local full suites during reservation. AI-assisted maintenance under owner direction.

Activity

  1. added a commit that references this issue on Oct 20, 2026
    721adee
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions