Repository navigation
Reject alignment source dates that disagree with frozen inventories - #113
Merged
Merged
Conversation
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.
Remote header inspection and regional read acquisition now reject a BAM whose HTTP Last-Modified date disagrees with the numeric timestamp in its frozen inventory. Previously, an object replaced before the first request could pass when its size was unchanged. The same check rejects mismatched dates in cached header/read receipts, including legacy receipts, without network access or rewriting provenance.
The comparison shares the whole-file downloader's logic and existing one-second tolerance. New header and regional receipts expose
inventory_modification:matched,inventory_timestamp_unavailable, orlast_modified_unavailable. Missing timestamp evidence retains the documented available-evidence policy; malformed server dates and nonfinite numeric inventory times raise IntegrityError. Public acquisition signatures and scientific/read-filter behavior stay unchanged.Validation: lint passes; 416 tests pass, with 17 optional consumer tests skipped locally and covered by the consumer CI jobs. Regression tests serve actual BAM bytes from a local HTTP server, exercise inspection/extraction/linked-read recovery, reject mismatches in both directions before GET, preserve exact matching records and multiplicity, and reject mismatched cached receipts offline. Strict documentation build and wheel/sdist build pass. Version: 0.15.5.
This is the source-identity prerequisite for the remaining targeted Sid SV recovery in openvax/isovar#436. Shipped at
ded74a7eaac74f1cd9d617c2c2bf26a0c5644afc: CI is green on Python 3.9–3.14 and both consumer configurations, with documentation CI green. Clean-main release checks passed again; fresh wheel/sdist were published and both PyPI hashes verified. Osteosarc 0.15.5 is live,v0.15.5points to the merged commit, and normal PyPI installation into the Sid recovery environment succeeds.Fixes #112.