Point the workbook download at the latest release - #62
Merged
Conversation
v3.2.0 published ozzit.xlsx, SHA256SUMS and provenance.json as release assets, so a reader no longer has to clone tens of megabytes to get a 444 KB workbook. Getting started now leads with that download and shows how to check it against the published checksum. This is the reader-facing half of #46. It does not untrack the workbook: README already reserves that for a separate reviewed change after a published asset has been independently downloaded and verified, and four verify gates plus the release bundler read the tracked file. Refs #46
Code Review by Qodo🐞 Bugs (0) 📘 Rule violations (0) 📎 Requirement gaps (0)
Great, no issues found!Qodo reviewed your code and found no material issues that require reviewTip of the day💡 Did you know, you can describe a rule in plain language on the Rules page and Qodo drafts it for you |
PR Summary by QodoDocument verified workbook downloads from the latest release
AI Description
Diagram
High-Level Assessment
Files changed (1)
|
ryanduguid
added a commit
that referenced
this pull request
Sep 1, 2026
v3.2.0 published ozzit.xlsx, SHA256SUMS and provenance.json as release assets, so Getting started now leads with that download and a checksum check rather than assuming a clone. Does not untrack the workbook: README reserves that for a separate reviewed change, and four verify gates plus prepare_release_bundle.py read the tracked file. Refs #46.
ryanduguid
added a commit
that referenced
this pull request
Sep 1, 2026
v3.2.0 published ozzit.xlsx, SHA256SUMS and provenance.json as release assets, so Getting started now leads with that download and a checksum check rather than assuming a clone. Does not untrack the workbook: README reserves that for a separate reviewed change, and four verify gates plus prepare_release_bundle.py read the tracked file. Refs #46.
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.
Refs #46. This does not close #46 — see "What is left" below.
Summary
Getting startednow leads with downloadingozzit.xlsxfromreleases/latestand checking it against the publishedSHA256SUMS, rather than assuming the reader has cloned the repository.v3.2.0 (30 Aug 2026) published all three bundle files as assets, so this is now a real path:
ozzit.xlsx(444,291 bytes),provenance.jsonandSHA256SUMS. A reader who only wants the library no longer pulls tens of megabytes of pack to get a 444 KB workbook.The new text also states the relationship the release policy already requires, so nobody has to guess which copy they are holding: the tracked workbook is the candidate the gates run against, the asset is that file copied byte-for-byte from the tagged tree, the two share a SHA-256 at that tag, and between releases the tracked copy can be ahead.
What is left of #46, and why it is not in this PR
The issue's chosen option has two halves. Publishing the assets was done by v3.2.0. Untracking
ozzit.xlsxis the other half, and it is deliberately not attempted here.README.mdalready sets the rule, and it predates this change:Beyond that instruction, the tracked file is load-bearing for CI and the release path. Verified by removing it locally and re-running the gates:
ozzit.xlsxverify_workbook.py ozzit.xlsxFileNotFoundError: 'ozzit.xlsx'verify_sources.py ozzit.xlsx srcFileNotFoundError: 'ozzit.xlsx'verify_index.py ozzit.xlsx src functions.csvFAIL: cannot read index inputsverify_afe.py ozzit.xlsx srcFAIL: 1 AFE problem(s)prepare_release_bundle.pyis the same story from the other direction:verify_repository_base()runsgit ls-files --error-unmatch -- ozzit.xlsxand fails withbase workbook must be tracked as ozzit.xlsx, then matchesgit hash-objectagainstgit_blob_sha1andgit log -1 -- ozzit.xlsxagainstlast_workbook_commit. The tool that builds the release asset reads the tracked file, so untracking it in the same pass would remove the input to its own replacement.Untracking therefore needs a companion decision about where the gates get their workbook, which is a change to the repository's provenance model rather than a file move. That is worth its own reviewed change, as the README says.
Merge method
Safe under any method. This PR touches
README.mdonly, sogit log -1 --format=%H -- ozzit.xlsxstill resolves to9decc9310cb25a8ac91a6cf3aded8704b15bb9a2andrelease/workbook-base.jsonstays valid. (For future reference: squash-merging a PR that does touch the workbook would rewrite that commit SHA and breaktest_tracked_base_manifest_matches_the_current_workbook.)No history rewrite, no force-push, no
.gitignorechange.Validation
Run on Ubuntu, Python 3.12, all ten local gates from
verify.yml:One note for anyone reproducing this locally:
test_tracked_base_manifest_matches_the_current_workbookerrors in a shallow clone, becausegit log -1 -- ozzit.xlsxcannot see the pinned commit.git fetch --depth=1000 origin mainfixes it, and it is the same reasonverify.ymlchecks out withfetch-depth: 0. It passes here against real history.The workbook is untouched:
sha256 fa491c82df8cdb693c43e8ee443a3587192cf453fe0eb55fc24e3eaf52b28caf, 443,448 bytes, matchingrelease/workbook-base.json.Generated by Claude Code