release: 1.2.0 — and tell consumers what changed about failing (C-111) - #299
Merged
Conversation
Bumps 1.1.1 -> 1.2.0. MINOR rather than PATCH: the delta adds a new module (delivery/findability.py), three exception types, a changed return value on store_port.upload(), and a required keyword on build_provenance. Adds CHANGELOG.md, which this repository has never had. C-111's trigger was "the next version is cut — write what changed for a consumer, or record why the number alone is enough", and this is that release. The entry leads with the three exceptions that can now escape into a launcher, because the sharp one is C-94: a delivery whose artifacts land where the consumer cannot see them previously reported success and now raises. That is the intended behaviour and still a change views-models would otherwise learn about only as an integer. Venue chosen deliberately: the root CHANGELOG.md rather than the GitHub release body, so a consumer reading the source tree at a pinned version sees it without leaving the checkout. C-111 left the venue open; this is the choice, recorded. Two falsification probes asserted this gap and both retire here — S2 from the 2026-08-21 audit and H1 from the 2026-08-25 one. They are one finding located twice, because the second audit designed probes without reading the first's stubs. Noted in the test module rather than the register: it is a lesson about the audit procedure, not about the concern. Three probes stay open and xfail: the expiry tripwire blocking releases from 2026-10-18 (S1/C-110), tag-push not publishing (S3), and the publish job shipping without running tests (S4). None blocks this release; all three are about the release path rather than the package. Register: C-111 moved to Resolved, counts 32->31 open, 80->81 resolved, verified by tests/test_register_integrity.py. Co-Authored-By: Claude Opus 5 (1M context) <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.
Bumps
1.1.1→1.2.0and adds theCHANGELOG.mdthis repo has never had.Why MINOR, not PATCH
New module
delivery/findability.py, three new exception types,store_port.upload()now returns the file id,build_provenancegained a required kwarg.Why the changelog is part of the release rather than after it
C-111's trigger is "the next version is cut". This is that release, and the delta puts three exception types on a path that escapes into a launcher:
DeliveryNotFindableErrorFindabilityUnverifiedErrorProducerClientUnavailableTornRunErrorAll deliberate. Each replaces a silent failure with a loud one. views-models would otherwise learn about them only from an integer in
VIEWS_POSTPROCESSING_PIN.Probes retired, and one lesson
S2 (2026-08-21) and H1 (2026-08-25) asserted this same gap — one finding located twice, because the second audit designed probes without reading the first's stubs. Both retire here; the lesson is recorded in the test module where the next auditor meets it.
Still open and xfail: S1 (the expiry tripwire blocks releases from 2026-10-18 — C-110), S3 (tag push doesn't publish), S4 (publish job runs no tests). None blocks this release; all three are about the release path.
Verification
507 passed, 40 xfailed, ruff clean,
test_register_integritygreen (C-111 → Resolved, 32→31 open).🤖 Generated with Claude Code