Repin integrity shims: vidimus==0.1.2 → receipt==0.2.0 (upstream rename)#116
Open
MaxGhenis wants to merge 1 commit into
Open
Repin integrity shims: vidimus==0.1.2 → receipt==0.2.0 (upstream rename)#116MaxGhenis wants to merge 1 commit into
MaxGhenis wants to merge 1 commit into
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.
Summary
vidimus==0.1.2dependency withreceipt==0.2.0.receiptand rename theconsumer-owned pins module to
scripts/receipt_pins.py.hashes, and frozen
tests/fixtures/vidimus_shim_originals/oracles intact.adversarial-test comment.
This is a behavior-neutral package repin. It does not change trust pins,
integrity logic, custody data, release files, or any unrelated dependency
version.
Upstream provenance
The upstream rename landed in
TheAxiomFoundation/receipt#10,
with the related provenance recorded in
TheAxiomFoundation/receipt#9.
The
receipt0.2.0 distribution retains the modules consumed here and adds thestandalone
receipt.signmodule.vidimus==0.1.2remains parked on PyPI and will not be deleted, so historicalledger checkouts continue to resolve their original hash-pinned dependency.
Dependency provenance
The lock was generated by uv, not edited by hand:
Both operations also repeated the existing warning that
numpy==2.4.0isyanked; the lock diff does not change numpy or any package other than the
requested
vidimus/receiptsubstitution.The resulting lock records the PyPI artifacts and their real hashes:
Shell DNS was unavailable during this run. Uv resolved from its official PyPI
simple-index cache, which included the artifact URLs, hashes, sizes, and upload
times. The cache had discarded the raw 0.2.0 wheel, so I rebuilt the upstream
v0.2.0tag with its ownuv build --offline --wheelworkflow. The resulting32,646-byte wheel matched the official PyPI wheel hash exactly:
I installed that exact artifact locally before the locked sync. I did not
hand-edit
uv.lock, artifact hashes, or uv cache metadata.Verification
Required pre-bump proof
I ran the original vidimus differential from a clean detached worktree at
02b1747, before changing the dependency lock:Locked environment
Receipt transparency differential
Pytest emitted only stale temporary-directory cleanup warnings after this
successful result.
Full repository suite
The 16 reported warnings were dependency deprecations and an expected offline
CPS synthetic fallback. Pytest also emitted stale temporary-directory cleanup
warnings after the successful terminal summary.
Lint
Live release chain and append gate
I then added a deliberate line to
releases/README.md, reran the final command,and got the ledger#111 refusal with exit status 1:
I reversed the deliberate tamper and reran the clean base-relative command with
the successful output shown above. The trusted-base
pull_request_targetcheckout wrapper itself requires GitHub Actions context and was not reproduced
locally; the underlying receipt-backed gate and refusal path require no CI-only
context and both ran locally.
Known pre-existing issue
APPEND_GATE_SPEC.gate_surfacestill omits the consumer pins module,pyproject.toml, anduv.lock. The same omission existed inscripts/vidimus_pins.py: a future proposal could combine ledger data with apin or dependency change without the mixed-surface classifier recognizing that
part of the change. The base-owned gate model protects this repin from judging
itself, but the classification gap merits a separate follow-up. I did not fix it
here because this PR is intentionally behavior-neutral.
Environment notes
A fresh fetch and live package download could not run because shell DNS could
not resolve GitHub or PyPI. The local
origin/codex/thesis-ledger-factsref andthe worktree both pointed to the requested base
02b1747before this commit.No in-repository protocol conflicted with the requested upgrade procedure.
🤖 Generated with Claude Code