Never claim loaded-matches-disk (0.8.6) - #57
Merged
Merged
Conversation
An end-to-end run on archeion-demo showed the claim overreaches: a report recipe defined in a script got loaded-matches-disk, because Base._included_files records no run-time include, and review found more holes (a method added to Base from Main changes what a package runs with no trace in any cache header). Showing that the code which ran was the snapshot's cannot be done from inside the process, so binding_of now returns unverified where it returned a match, with the reason. loaded-differs-from-disk stays: it is a fact, not a claim of absence. The per-root loaded status is still recorded. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Contributor
|
📚 Docs preview: https://qatlashub.github.io/DataVault.jl/previews/PR57/ (updates on each push to this PR) |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
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.
Stop-gap for an overclaim in observation bindings, in place of the larger redesign in #56 (now draft).
What was wrong.
binding_ofreturnedloaded-matches-diskwhen every package loaded from the source roots matched the snapshot. That does not show the code that ran was theirs:loaded-matches-diskin an end-to-end run on archeion-demo. The "included into Main" check readsBase._included_files, which records no run-time include (checked forjulia script.jl,includeand the REPL).BasefromMainchanges what a package function computes, and leaves no trace in any cache header.Showing a match from inside the process means listing every way foreign code can get in, and that list does not close.
Change.
binding_ofnever returnsloaded-matches-disk. Where it did, it now returnsunverifiedwith the reasonNO_MATCH_CLAIMED.loaded-differs-from-diskstays, because it is a fact (the loaded package's bytes are not on disk), not a claim that nothing else ran.loadedstatus is still recorded as information.obs1-), so SweepRunner's and Pinax's tests keep passing. A reader treats aloaded-matches-diskfrom an earlier version asunverified. Archeion#48 warns on it.Tests:
test_observe.jlchecks that a fully matching package givesunverified, and thatbinding_ofon an all-match status returns the reason. I ran the touched files locally (test_observe,test_load_recorded: 46 checks pass). The full suite runs in CI.What replaces the claim, recording facts plus verifying by re-execution, is being designed separately.
🤖 Generated with Claude Code