release: 0.18.0 — The rest of the readers - #334
Merged
Merged
Conversation
Bumps .claude-plugin/plugin.json to 0.18.0 and closes the Unreleased section. Also gives #329 its own entry. Its prose had been appended to #322's bullet inside the already-released 0.17.0 section, so the file claimed work that shipped after the 0.17.0 tag; those two paragraphs are moved out and rewritten as a 0.18.0 entry, with the freeze-guard half of #329 documented for the first time. Co-Authored-By: Max <noreply>
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.
Two merged PRs since
v0.17.0(eeb7a62): #329 and #331. Both close the same defect class in the readersv0.17.0did not reach.The changelog was crediting v0.17.0 with work that shipped after it
#329 merged after the
v0.17.0tag commit, and its two paragraphs were appended to #322's bullet inside the released## [0.17.0]section. The tag was cut before #329 existed, so the GitHub release notes rendered from that tag do not contain those paragraphs — while the file onmaindoes. The file and the published release already disagreed, and the file gave 0.17.0 credit for a change it does not contain.So this release does not add a duplicate entry beside the old text. It moves it: the two paragraphs are removed from 0.17.0 and rewritten, together with the half that was never documented anywhere, as the 0.18.0 entry for #329. That restores agreement with the published v0.17.0 notes rather than breaking it.
The half of #329 that was undocumented
The commit subject is "the third reader of the same marker, and a freeze guard that outlived its claim", and only the first half had ever been written down.
test_case_divergence_298.pyheldscripts/post-tool-hook.shbyte-equal toorigin/main. Byte-equality asserts "nobody has edited this file since main", which is a different claim from the one #298/#299 care about, and it fails in both directions: it blocked an unrelated one-token arithmetic guard, and it goes vacuous the moment the edit it objected to lands on main. #329 replaced that arm with a direct assertion of the property — the per-tool-call path does not source the divergence library, does not call the check, and spawns nogit. The other two arms keep the byte compare; they were not what blocked.What 0.18.0 contains
post-tool-hook.shwas the third reader carrying the digits-onlycasewith no10#, at both file-sourced operands. The notice reader is the one that loses something: theifbody bash abandons is the body holding anexit 0, so the hook runs past it and the line below thefideletes the notice marker as though a transcript had been found. Both sites are pinned on behaviour rather than the diagnostic, because this hook writes tohook-errors.logand not to stderr — a stderr-only assertion is green against the unfixed hook.log "ERROR: push REJECTED …". A corrupt counter did not mis-count, it silenced the loudest report in the file.08/09were also absent from the parametrization, and the assertions could not fail on the platform they ran on.Two of the three issues had a severity or mechanism claim that did not survive measurement, and the entries say so rather than repeating the filed text.
Version
Two places, verified by sweep rather than recipe:
.claude-plugin/plugin.jsonand theCHANGELOG.mdheading. This repo has nopyproject.tomlversion field and no supertool-style four-file spread.eeb7a62touched exactly these two, and so does this.No link-reference definitions were added — this file has never had any, every issue link is inline, and
eeb7a62added none either.test_version_manifest.py(semver, manifest-vs-newest-heading equality, descending heading order): 4 passed.Noted, not fixed here
README.md:9's version badge reads0.8.3and has been frozen across nine releases. A release commit matchingeeb7a62's shape has no business touching it and no test guards it — filed separately.