Repository navigation
Release 0.8.0, the 1.0 release candidate - #21
Merged
Merged
Conversation
Verdict: not yet. 1.0 after six blocking items shipped as a 0.8.0 release candidate, an eight-week soak with no change to the write path, and one more external review run against the candidate rather than before it. The blocking items are the ones that cannot be added after the tag: the `hi:` version key is parsed and read by nothing, so a file marked `hi: 2` is loaded and written into as HI/1; `hi check --json` packs its notes into one string with terminal indentation inside it; a family declared by two files is silently resolved to whichever sorts first; the format has no written text to freeze; and the Windows lock rests on an argument nothing tests. Plus a property test of the one promise, because all nine P1 defects were found by a reviewer and none by the suite. Also records what 1.0 freezes and what stays free, the compatibility sentence for the README, what it refuses to promise, and the adoption evidence as it is: twelve repositories in one organisation, mostly agent-captured. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dq3PAm1hpECvuNcjsCdHga
Five of six blocking items are on prep-0.8.0. The Windows identity check is not. The first-wins recommendation for a family declared by two files is withdrawn in favour of the seventh kind, for the reason DECISIONS §39 gives. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dq3PAm1hpECvuNcjsCdHga
- `hi: "1"`, `hi: '1'` and `hi: 1 # comment` are HI/1, not unknown versions. The refusal locked a whole repository over YAML punctuation `owner:` already tolerated. Tested alongside the existing version cases. - `hi seed` rewrites hi/AGENTS.md through write_atomically. A truncating write that died halfway left a file no longer identical to a shipped template, which `hi seed` would then refuse forever (FILE-8). - Windows `still_at` compares file identity (volume serial + file index via GetFileInformationByHandle) the way unix compares dev/ino, so the promise no longer rests on the delete-pending argument §34 said nothing tested. Type-checked and clippy-clean against x86_64-pc-windows-gnu; the Windows CI job is what runs it. - HI-1.md's id grammar now names family digits, a-z letter levels and the 32-bit number bound. CLAUDE.md names Report::notes. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dq3PAm1hpECvuNcjsCdHga
Cargo.toml to 0.8.0, CHANGELOG's Unreleased becomes [0.8.0] 2026-09-18 with a paragraph saying what the release is: everything three readiness reviews called blocking, HI-1.md as the contract, and 1.0 as this build after a soak with only the version changed. README Status and CLAUDE.md's Releasing section say the same. Gate: fmt, clippy, 149 + 67 + 3 tests, hi check, index-is-current, cargo publish --dry-run, all green. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dq3PAm1hpECvuNcjsCdHga
…d first Windows CI failed three seed tests. The runner checks src/seed/*.md out with CRLF, so include_str! carried CRLF bytes; two tests then built their own CRLF case from those bytes and doubled the carriage return, and one compared a file whose endings were correctly kept against the LF current text. The product code classified correctly throughout. .gitattributes pins the seed files to LF, so the bytes in every build, including the Windows release binary, equal what older releases wrote. The three tests also fold before they compare, so a checkout that ignores the attribute still passes. Reproduced locally by converting the seed files to CRLF (3 failures), then green with the fix under both endings. Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Dq3PAm1hpECvuNcjsCdHga
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.
What this is
The 0.8.0 release commit, plus the four follow-ups from the third readiness review of #20, plus the 1.0 plan itself under
docs/.Follow-ups to #20
hi: "1",hi: '1'andhi: 1 # commentare HI/1. They were refused as unknown versions, which locked the whole repository over YAML punctuationowner:already tolerated. Tested.hi seedrewriteshi/AGENTS.mdthroughwrite_atomically. A truncating write that died halfway left a file no longer identical to a shipped template, whichhi seedthen refused forever (FILE-8).still_atcompares file identity (volume serial + file index viaGetFileInformationByHandle) the way unix compares dev/ino, so the promise no longer rests on the delete-pending argument §34 said nothing tested. Type-checked and clippy-clean againstx86_64-pc-windows-gnulocally; the Windows CI job on this PR is the real run.a-zletter levels and the 32-bit number bound. CLAUDE.md namesReport::notes.Release prep
Cargo.toml0.8.0. CHANGELOGUnreleasedbecomes[0.8.0] 2026-09-18with a paragraph saying what the release is. README Status and CLAUDE.md Releasing updated.docs/1.0-plan.md: the readiness assessment, the freeze table, the promise, and a status section after Add: the blocking items two 1.0 readiness reviews agreed on #20.Gate
fmt, clippy, 149 unit + 67 cli + 3 promise tests,
hi check,index-is-current.sh,cargo publish --dry-run: all green.specsync checkandfledge plugins validatewere not runnable in this environment.After merge (not done here)
Before tagging, grep the adopter repositories for two things this release turns red: a family declared in two files, and a
hi:value other than1.🤖 Generated with Claude Code
https://claude.ai/code/session_01Dq3PAm1hpECvuNcjsCdHga
Generated by Claude Code