packaging: the mismatch refusal has a live trial behind it - #305
Merged
Conversation
A local host served the real v0.2.0 release with one byte appended to the archive. The shipped script, with only its $base line redirected, refused 2/2: both hashes named, the download deleted, nothing installed. The one-byte control installed cleanly on the same pipeline. design.md section 8 carries the payment; STATE.md drops the gap. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
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.
The checksum-mismatch refusal in packaging/install.ps1 had no end-to-end live trial. This PR records the payment.
The trial ran on the MBP with PowerShell 7.6.4. A loopback python3 -m http.server served the published v0.2.0 checksums.txt beside the real archive with one byte appended. The shipped script ran with one recorded change: the $base line pointed at the local host. The OS and arch guards read environment variables, so the real function ran on this machine.
Results: the mismatch arm refused 2/2. The thrown message named both hashes and reported the deletion. No install directory and no work directory survived. The control removed the one appended byte and installed cleanly on the same pipeline.
design.md section 8 carries the dated payment with its named limits. STATE.md drops the known-gap entry per its keep-it-true rule.
🤖 Generated with Claude Code