Repository navigation
feat(storage): preserve observation fidelity and analytical handoffs - #125
Merged
Merged
Conversation
added 7 commits
October 20, 2026 16:53
…offs Retain timestamp precision, declared label clocks and source keys. Keep sparse price panels reversible without filling observations or rounding integer prices. Exercise actual disk, calendar and recovery workflows plus an offline migration recipe. Refs #117
Record the installed wheel/sdist consumer versions and the incompatible published Engineer boundary. Add a regression that retains a wholly null input session instead of compressing its clock. Closes #117
…tinctions Reproduce naive New York instants shifted to UTC incorrectly and preserve them through bounded disk reads. Keep source NaN distinct from null across price panels and retain pandas label timezones. Validate bad timezone metadata before replacing source generations. Refs #117
Keep axis identity and native schema metadata serializable without Arrow as a runtime requirement. Exercise an actual pandas Parquet round trip retaining absent observations, nulls and source dtypes. Document the native panel APIs and remove unqualified storage timing claims. Refs #117
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.
User workflow
Keep source observations intact from imported CSV/Parquet through local storage and a pandas analytical price panel. This is the market/temporal input batch of the accepted successor migration, not an analytical cleaner or runtime history engine.
Closes #117.
Changes
utils.conversion.to_price_panel/from_price_panelretain clock, typed asset IDs, nullable integer scale and explicit missing cells, including native NaN versus null. A presence mask distinguishes an absent pair from a supplied null. Conflicting mappings, duplicates and stale masks fail without caller mutation. No filling, returns calculation or inferred availability.Executed evidence
Compatibility and scope
The qualified workflow uses immutable Engineer source;published0.1.6 requires Specs<0.2 and cannot resolve with current Data. The guide records the source candidate and resolver boundary instead of claiming released-package compatibility. No consumer is a mandatory Data dependency.
No new release, tag, package publication or documentation deployment. Existing0.2.1 remains immutable. The independently reviewed-green aiohttp security update landed through PR116 as728b84c and is incorporated from current main without mixing its attribution into this implementation.
Security prerequisite PR123 landed9b366707cfad6b3844e92f0638f15e09aa13f611 after all applicable gates passed. Normal guarded main reconciliation producedce48;source/tests/docs remain byte-identical to qualifiedbfc and all new-head checks passed.
AI assistance was used for implementation, regression tests and documentation. The substantive diff, producer failure controls and consumer outputs were reviewed in this owner workflow. Merge remains conditional on all final-revision gates.