Skip to content

fix: reuse the stored provider for incremental acquisition #95

Closed

Description

@stefan-jansen

Reproduction

On main55b86e250fd6279222876c5a1e4c20ae1469d7fa, write a real SyntheticProvider SPY daily frame to Hive/Flat with provider='synthetic' metadata, then DataManager(storage=storage).update('SPY', fill_gaps=False) without an explicit provider. It fails with No provider found for symbol SPY instead of using the recorded provider. The update reads existing_provider but passes the original None to both history-limit selection and fetch_raw. The stored provider is only reused when constructing the final metadata, after fetching already failed or used another route.

Expected behavior

Explicit provider overrides the recorded provider; otherwise reuse a non-empty recorded adapter for history limits and actual fetching. Legacy provider='auto' remains a routing sentinel rather than an adapter name. Invalid stored provider types still fail atomically when there is no override. Do not silently switch data sources or claim a provider in metadata that was not used for acquisition.

Use the actual offline SyntheticProvider through the public facade and storage backends, not a mocked fetch that ignores the chosen provider. Verify failing-base/passing-fix and full hosted gates. This is separate from calendar-selection PRs92/94. No release/deploy or heavy local suite during the workstation timing reservation. AI-assisted repair under maintainer direction.

Activity

  1. added a commit that references this issue on Oct 20, 2026
    c7b9dfa
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