Skip to content

fix: preserve missing market observations instead of imputing prices - #114

Merged
stefan-jansen merged 2 commits into
fix/stored-calendar-gap-reportfrom
fix/preserve-market-absences
Oct 18, 2026
Merged

stefan-jansen merged 2 commits into
fix/stored-calendar-gap-reportfrom
fix/preserve-market-absences

Conversation

@stefan-jansen

Copy link
Copy Markdown
Contributor

Closes #109 under the maintainer's revised requirement: preserve missing market observations and remove synthetic imputation, not improve a filler.

Outcome and compatibility

API/CLI/config/bulk updates use independent check_gaps controls. No automatic synthetic rows, copied prices, interpolated values or invented zero volume. Explicit legacy fill_gaps=True/--fill-gaps requests fail before acquisition or dataset creation; False remains a safe compatibility alias for disabling checks. Source history limits no longer suppress detection. Metadata distinguishes disabled checks from zero reported gaps and never claims synthetic rows were recovered.

The general fill_gaps helper rejects nonempty requests. The existing optional native minute-grid view retains absent positions as null placeholders; it rejects price-filling methods and zero_volume=True. The legacy is_imputed marker is preserved. Existing observations, including null prices, remain unchanged. DataManager.complete_sessions(fill_gaps=False) still assigns sessions without expansion.

Update existing guides/config/examples to remove synthetic-filling recommendations. Preserve the old session documentation anchor and use the shared data-root helper instead of a private example path. No new Markdown page.

Executed evidence

  • Real provider/import/update/API/CLI/config workflows with FlatStorage/HiveStorage:initial7fail and expanded9fail on5ff004d. Final12cases also fail on immutable9331160c,14.50s,cleanexit1. Only the update clock is fixed; no provider/calendar/storage mocks.
  • New12cases pass2.18s. Compatibility316pass25.78s. Final changed-storage/ingestion/native/newAPI/report lane184pass28.17s after correcting obsolete callers.
  • Intermediate8de4644 full run4073pass5fail86.32%; all5failures were old tests requesting fill_gaps=True to mean gap checking. Updated only those calls to check_gaps=True while preserving their gap/calendar assertions; no production defect or passing full run claimed for that intermediate head.
  • Final438044e47e8972d3225547a6b2acb2097998840f full run4078passed292deselected638.87s,86.32%coverage,ResourceWarningerror/nativecaps1.
  • Ruff check/format100,ty,normal hooks,all-fileprecommit,diffcheck and strict MkDocs1.99s passed. Docs/source unchanged by final test-only followup.
  • Final isolated wheel AND sdist installs,dependencies,silentimports,CLI and executedREADME passed. Candidate0.2.2.dev16+g438044e47; wheel SHA256505e668971358f827c0e85b32274b103785dd6ccca1cc95f2068cd8afd569d02,sdist1001bc7b0a8b24fabe94f38f79bc53eceb9096b717796d5a2aac340e7458fe64. Prior immutable candidate artifacts retained, not overwritten.

Review and prerequisites

Owner reviewed the actual source/tests/docs diff and intentional compatibility change. AI-assisted implementation and qualification under maintainer direction; no independent reviewer claimed. Deprecated synthetic-filling enhancement d1531a9 is superseded and must not merge.

Stacked draft after report PR113, which is itself after published-Specs PR112. Integrate only the next selected dependent revision, retarget to main and require every applicable exact-head CI/platform/package/resource/security/docs gate before ordinary merge. Draft/stacked trigger exclusions are not qualification. Issue110's remaining bounded-frame/placeholder reporting and targeted source acquisition are not claimed complete by this change. Data0.2.1 unchanged; no release/deploy.

@stefan-jansen
stefan-jansen merged commit 60f6591 into fix/stored-calendar-gap-report Oct 18, 2026
11 checks passed
@stefan-jansen
stefan-jansen deleted the fix/preserve-market-absences branch October 18, 2026 00:22
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.

1 participant